From 0b712c50e91a479d693341a4cc4b862aaeb04cb5 Mon Sep 17 00:00:00 2001 From: Peter Slattery Date: Mon, 7 Jul 2025 20:26:10 -0700 Subject: [PATCH] Added tree-sitter to project and got it building as a static library --- .gitignore | 1 + build_new/scripts/build-libs.sh | 80 + build_new/scripts/build-macos.sh | 2 - .../foreign/tree-sitter/lang/c/parser.c | 75638 ++++ .../foreign/tree-sitter/lang/cpp/parser.c | 336887 +++++++++++++++ .../foreign/tree-sitter/lang/cpp/scanner.cc | 119 + .../tree-sitter/lib/include/tree_sitter/api.h | 1478 + .../lib/include/tree_sitter/parser.h | 224 + .../foreign/tree-sitter/lib/src/alloc.c | 48 + .../foreign/tree-sitter/lib/src/alloc.h | 41 + .../foreign/tree-sitter/lib/src/array.h | 291 + .../foreign/tree-sitter/lib/src/atomic.h | 68 + .../foreign/tree-sitter/lib/src/clock.h | 146 + .../foreign/tree-sitter/lib/src/error_costs.h | 11 + .../tree-sitter/lib/src/get_changed_ranges.c | 523 + .../tree-sitter/lib/src/get_changed_ranges.h | 36 + non-source/foreign/tree-sitter/lib/src/host.h | 21 + .../foreign/tree-sitter/lib/src/language.c | 293 + .../foreign/tree-sitter/lib/src/language.h | 293 + .../foreign/tree-sitter/lib/src/length.h | 52 + .../foreign/tree-sitter/lib/src/lexer.c | 483 + .../foreign/tree-sitter/lib/src/lexer.h | 54 + non-source/foreign/tree-sitter/lib/src/lib.c | 12 + non-source/foreign/tree-sitter/lib/src/node.c | 875 + .../foreign/tree-sitter/lib/src/parser.c | 2293 + .../foreign/tree-sitter/lib/src/parser.h | 286 + .../foreign/tree-sitter/lib/src/point.h | 48 + .../tree-sitter/lib/src/portable/endian.h | 239 + .../foreign/tree-sitter/lib/src/query.c | 4353 + .../tree-sitter/lib/src/reduce_action.h | 34 + .../tree-sitter/lib/src/reusable_node.h | 95 + .../foreign/tree-sitter/lib/src/stack.c | 912 + .../foreign/tree-sitter/lib/src/stack.h | 133 + .../foreign/tree-sitter/lib/src/subtree.c | 1034 + .../foreign/tree-sitter/lib/src/subtree.h | 399 + non-source/foreign/tree-sitter/lib/src/tree.c | 170 + non-source/foreign/tree-sitter/lib/src/tree.h | 31 + .../foreign/tree-sitter/lib/src/tree_cursor.c | 716 + .../foreign/tree-sitter/lib/src/tree_cursor.h | 48 + .../foreign/tree-sitter/lib/src/ts_assert.h | 11 + .../foreign/tree-sitter/lib/src/unicode.h | 75 + .../tree-sitter/lib/src/unicode/ICU_SHA | 1 + .../tree-sitter/lib/src/unicode/LICENSE | 414 + .../tree-sitter/lib/src/unicode/README.md | 29 + .../tree-sitter/lib/src/unicode/ptypes.h | 1 + .../tree-sitter/lib/src/unicode/umachine.h | 448 + .../tree-sitter/lib/src/unicode/urename.h | 1 + .../foreign/tree-sitter/lib/src/unicode/utf.h | 1 + .../tree-sitter/lib/src/unicode/utf16.h | 733 + .../tree-sitter/lib/src/unicode/utf8.h | 881 + .../lib/src/wasm/stdlib-symbols.txt | 24 + .../foreign/tree-sitter/lib/src/wasm/stdlib.c | 113 + .../tree-sitter/lib/src/wasm/wasm-stdlib.h | 1314 + .../foreign/tree-sitter/lib/src/wasm_store.c | 1935 + .../foreign/tree-sitter/lib/src/wasm_store.h | 31 + 55 files changed, 434477 insertions(+), 2 deletions(-) create mode 100755 build_new/scripts/build-libs.sh create mode 100644 non-source/foreign/tree-sitter/lang/c/parser.c create mode 100644 non-source/foreign/tree-sitter/lang/cpp/parser.c create mode 100644 non-source/foreign/tree-sitter/lang/cpp/scanner.cc create mode 100644 non-source/foreign/tree-sitter/lib/include/tree_sitter/api.h create mode 100644 non-source/foreign/tree-sitter/lib/include/tree_sitter/parser.h create mode 100644 non-source/foreign/tree-sitter/lib/src/alloc.c create mode 100644 non-source/foreign/tree-sitter/lib/src/alloc.h create mode 100644 non-source/foreign/tree-sitter/lib/src/array.h create mode 100644 non-source/foreign/tree-sitter/lib/src/atomic.h create mode 100644 non-source/foreign/tree-sitter/lib/src/clock.h create mode 100644 non-source/foreign/tree-sitter/lib/src/error_costs.h create mode 100644 non-source/foreign/tree-sitter/lib/src/get_changed_ranges.c create mode 100644 non-source/foreign/tree-sitter/lib/src/get_changed_ranges.h create mode 100644 non-source/foreign/tree-sitter/lib/src/host.h create mode 100644 non-source/foreign/tree-sitter/lib/src/language.c create mode 100644 non-source/foreign/tree-sitter/lib/src/language.h create mode 100644 non-source/foreign/tree-sitter/lib/src/length.h create mode 100644 non-source/foreign/tree-sitter/lib/src/lexer.c create mode 100644 non-source/foreign/tree-sitter/lib/src/lexer.h create mode 100644 non-source/foreign/tree-sitter/lib/src/lib.c create mode 100644 non-source/foreign/tree-sitter/lib/src/node.c create mode 100644 non-source/foreign/tree-sitter/lib/src/parser.c create mode 100644 non-source/foreign/tree-sitter/lib/src/parser.h create mode 100644 non-source/foreign/tree-sitter/lib/src/point.h create mode 100644 non-source/foreign/tree-sitter/lib/src/portable/endian.h create mode 100644 non-source/foreign/tree-sitter/lib/src/query.c create mode 100644 non-source/foreign/tree-sitter/lib/src/reduce_action.h create mode 100644 non-source/foreign/tree-sitter/lib/src/reusable_node.h create mode 100644 non-source/foreign/tree-sitter/lib/src/stack.c create mode 100644 non-source/foreign/tree-sitter/lib/src/stack.h create mode 100644 non-source/foreign/tree-sitter/lib/src/subtree.c create mode 100644 non-source/foreign/tree-sitter/lib/src/subtree.h create mode 100644 non-source/foreign/tree-sitter/lib/src/tree.c create mode 100644 non-source/foreign/tree-sitter/lib/src/tree.h create mode 100644 non-source/foreign/tree-sitter/lib/src/tree_cursor.c create mode 100644 non-source/foreign/tree-sitter/lib/src/tree_cursor.h create mode 100644 non-source/foreign/tree-sitter/lib/src/ts_assert.h create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode.h create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/ICU_SHA create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/LICENSE create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/README.md create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/ptypes.h create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/umachine.h create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/urename.h create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/utf.h create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/utf16.h create mode 100644 non-source/foreign/tree-sitter/lib/src/unicode/utf8.h create mode 100644 non-source/foreign/tree-sitter/lib/src/wasm/stdlib-symbols.txt create mode 100644 non-source/foreign/tree-sitter/lib/src/wasm/stdlib.c create mode 100644 non-source/foreign/tree-sitter/lib/src/wasm/wasm-stdlib.h create mode 100644 non-source/foreign/tree-sitter/lib/src/wasm_store.c create mode 100644 non-source/foreign/tree-sitter/lib/src/wasm_store.h diff --git a/.gitignore b/.gitignore index b294e306..9ee91d10 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ distributions/ build_stable/ code/generated code/custom/generated +*.xcodeproj \ No newline at end of file diff --git a/build_new/scripts/build-libs.sh b/build_new/scripts/build-libs.sh new file mode 100755 index 00000000..efd5f854 --- /dev/null +++ b/build_new/scripts/build-libs.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +# ============================================================================= +# Configuration +# ============================================================================= + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +CONFIG_DIR="$SCRIPT_DIR/../config" + +# Source configuration files +source "$CONFIG_DIR/build-config.sh" +source "$HELPERS_DIR/print-routines.sh" + +# ============================================================================= +# Build Tree Sitter +# ============================================================================= + +build_tree_sitter() { + BIN_NAME="custom_4coder" + + CUSTOM_ROOT="$FOREIGN_DIR/tree-sitter" + INCLUDES=( + "-I$CUSTOM_ROOT/lib/src" + "-I$CUSTOM_ROOT/lib/include" + ) + + CLANG_OPTS=( + "-c" # Compile, don't link + "-O2" # Compile in release, regardless of 4coder build mode + "-g" # Debug info + ) + + TEMP_OUT_DIR=$BUILD_TEMP_DIR/tree-sitter + mkdir -p $TEMP_OUT_DIR + + # Build tree-sitter.lib/.a + print_step "Building tree-sitter lib" + clang $CLANG_OPTS "${INCLUDES[@]}" "$CUSTOM_ROOT/lib/src/lib.c" -o $TEMP_OUT_DIR/tree-sitter.o + print_success "Complete" + + # Lang: C++ (This needs to be two calls to clang so that you can specify the obj file names) + print_step "Building tree-sitter C++ Language Lib" + clang $CLANG_OPTS "${INCLUDES[@]}" "${CUSTOM_ROOT}/lang/cpp/parser.c" -o $TEMP_OUT_DIR/cpp_parser.o + clang $CLANG_OPTS "${INCLUDES[@]}" "${CUSTOM_ROOT}/lang/cpp/scanner.cc" -o $TEMP_OUT_DIR/cpp_scanner.o + print_success "Complete" + + # Lang: C + print_step "Building tree-sitter C Language Lib" + clang $CLANG_OPTS "${INCLUDES[@]}" "${CUSTOM_ROOT}/lang/c/parser.c" -o $TEMP_OUT_DIR/c_parser.o + print_success "Complete" + + # Link tree-sitter lib and parser obj files into a static library to link into main custom dll + print_step "Linking tree-sitter static library" + ar rcs $BUILD_TEMP_DIR/tree-sitter.a $TEMP_OUT_DIR/*.o + print_success "Completed" +} + +# ============================================================================= +# Main +# ============================================================================= + +main() { + local config="${1:-debug}" + local arch="${2:-x64}" + + print_step "macOS Build Process" + print_info "Configuration: $config" + print_info "Architecture: $arch" + + # Create build directory + mkdir -p "$BUILD_DIR" + + # Execute build steps + build_tree_sitter +} + +# Only run main if script is executed directly (not sourced) +if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then + main "$@" +fi \ No newline at end of file diff --git a/build_new/scripts/build-macos.sh b/build_new/scripts/build-macos.sh index 637b0fe9..118b9f47 100755 --- a/build_new/scripts/build-macos.sh +++ b/build_new/scripts/build-macos.sh @@ -1,6 +1,4 @@ #!/bin/bash -# build-macos.sh - macOS-specific build logic using clang -# Handles Objective-C++ files, frameworks, etc. # Usage: ./build-macos.sh [debug|release] [x64|x86|arm64] set -e # Exit on error diff --git a/non-source/foreign/tree-sitter/lang/c/parser.c b/non-source/foreign/tree-sitter/lang/c/parser.c new file mode 100644 index 00000000..9cc201e5 --- /dev/null +++ b/non-source/foreign/tree-sitter/lang/c/parser.c @@ -0,0 +1,75638 @@ +#include + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#define LANGUAGE_VERSION 13 +#define STATE_COUNT 1459 +#define LARGE_STATE_COUNT 386 +#define SYMBOL_COUNT 267 +#define ALIAS_COUNT 3 +#define TOKEN_COUNT 128 +#define EXTERNAL_TOKEN_COUNT 0 +#define FIELD_COUNT 25 +#define MAX_ALIAS_SEQUENCE_LENGTH 9 +#define PRODUCTION_ID_COUNT 83 + +enum { + sym_identifier = 1, + aux_sym_preproc_include_token1 = 2, + anon_sym_LF = 3, + aux_sym_preproc_def_token1 = 4, + anon_sym_LPAREN = 5, + anon_sym_DOT_DOT_DOT = 6, + anon_sym_COMMA = 7, + anon_sym_RPAREN = 8, + aux_sym_preproc_if_token1 = 9, + aux_sym_preproc_if_token2 = 10, + aux_sym_preproc_ifdef_token1 = 11, + aux_sym_preproc_ifdef_token2 = 12, + aux_sym_preproc_else_token1 = 13, + aux_sym_preproc_elif_token1 = 14, + sym_preproc_directive = 15, + sym_preproc_arg = 16, + anon_sym_LPAREN2 = 17, + anon_sym_defined = 18, + anon_sym_BANG = 19, + anon_sym_TILDE = 20, + anon_sym_DASH = 21, + anon_sym_PLUS = 22, + anon_sym_STAR = 23, + anon_sym_SLASH = 24, + anon_sym_PERCENT = 25, + anon_sym_PIPE_PIPE = 26, + anon_sym_AMP_AMP = 27, + anon_sym_PIPE = 28, + anon_sym_CARET = 29, + anon_sym_AMP = 30, + anon_sym_EQ_EQ = 31, + anon_sym_BANG_EQ = 32, + anon_sym_GT = 33, + anon_sym_GT_EQ = 34, + anon_sym_LT_EQ = 35, + anon_sym_LT = 36, + anon_sym_LT_LT = 37, + anon_sym_GT_GT = 38, + anon_sym_SEMI = 39, + anon_sym_typedef = 40, + anon_sym_extern = 41, + anon_sym___attribute__ = 42, + anon_sym_COLON_COLON = 43, + anon_sym_LBRACK_LBRACK = 44, + anon_sym_RBRACK_RBRACK = 45, + anon_sym___declspec = 46, + anon_sym___based = 47, + anon_sym___cdecl = 48, + anon_sym___clrcall = 49, + anon_sym___stdcall = 50, + anon_sym___fastcall = 51, + anon_sym___thiscall = 52, + anon_sym___vectorcall = 53, + sym_ms_restrict_modifier = 54, + sym_ms_unsigned_ptr_modifier = 55, + sym_ms_signed_ptr_modifier = 56, + anon_sym__unaligned = 57, + anon_sym___unaligned = 58, + anon_sym_LBRACE = 59, + anon_sym_RBRACE = 60, + anon_sym_LBRACK = 61, + anon_sym_RBRACK = 62, + anon_sym_EQ = 63, + anon_sym_static = 64, + anon_sym_auto = 65, + anon_sym_register = 66, + anon_sym_inline = 67, + anon_sym_const = 68, + anon_sym_volatile = 69, + anon_sym_restrict = 70, + anon_sym__Atomic = 71, + anon_sym_signed = 72, + anon_sym_unsigned = 73, + anon_sym_long = 74, + anon_sym_short = 75, + sym_primitive_type = 76, + anon_sym_enum = 77, + anon_sym_struct = 78, + anon_sym_union = 79, + anon_sym_COLON = 80, + anon_sym_if = 81, + anon_sym_else = 82, + anon_sym_switch = 83, + anon_sym_case = 84, + anon_sym_default = 85, + anon_sym_while = 86, + anon_sym_do = 87, + anon_sym_for = 88, + anon_sym_return = 89, + anon_sym_break = 90, + anon_sym_continue = 91, + anon_sym_goto = 92, + anon_sym_QMARK = 93, + anon_sym_STAR_EQ = 94, + anon_sym_SLASH_EQ = 95, + anon_sym_PERCENT_EQ = 96, + anon_sym_PLUS_EQ = 97, + anon_sym_DASH_EQ = 98, + anon_sym_LT_LT_EQ = 99, + anon_sym_GT_GT_EQ = 100, + anon_sym_AMP_EQ = 101, + anon_sym_CARET_EQ = 102, + anon_sym_PIPE_EQ = 103, + anon_sym_DASH_DASH = 104, + anon_sym_PLUS_PLUS = 105, + anon_sym_sizeof = 106, + anon_sym_DOT = 107, + anon_sym_DASH_GT = 108, + sym_number_literal = 109, + anon_sym_L_SQUOTE = 110, + anon_sym_u_SQUOTE = 111, + anon_sym_U_SQUOTE = 112, + anon_sym_u8_SQUOTE = 113, + anon_sym_SQUOTE = 114, + aux_sym_char_literal_token1 = 115, + anon_sym_L_DQUOTE = 116, + anon_sym_u_DQUOTE = 117, + anon_sym_U_DQUOTE = 118, + anon_sym_u8_DQUOTE = 119, + anon_sym_DQUOTE = 120, + aux_sym_string_literal_token1 = 121, + sym_escape_sequence = 122, + sym_system_lib_string = 123, + sym_true = 124, + sym_false = 125, + sym_null = 126, + sym_comment = 127, + sym_translation_unit = 128, + sym_preproc_include = 129, + sym_preproc_def = 130, + sym_preproc_function_def = 131, + sym_preproc_params = 132, + sym_preproc_call = 133, + sym_preproc_if = 134, + sym_preproc_ifdef = 135, + sym_preproc_else = 136, + sym_preproc_elif = 137, + sym_preproc_if_in_field_declaration_list = 138, + sym_preproc_ifdef_in_field_declaration_list = 139, + sym_preproc_else_in_field_declaration_list = 140, + sym_preproc_elif_in_field_declaration_list = 141, + sym__preproc_expression = 142, + sym_preproc_parenthesized_expression = 143, + sym_preproc_defined = 144, + sym_preproc_unary_expression = 145, + sym_preproc_call_expression = 146, + sym_preproc_argument_list = 147, + sym_preproc_binary_expression = 148, + sym_function_definition = 149, + sym_declaration = 150, + sym_type_definition = 151, + sym__declaration_modifiers = 152, + sym__declaration_specifiers = 153, + sym_linkage_specification = 154, + sym_attribute_specifier = 155, + sym_attribute = 156, + sym_attribute_declaration = 157, + sym_ms_declspec_modifier = 158, + sym_ms_based_modifier = 159, + sym_ms_call_modifier = 160, + sym_ms_unaligned_ptr_modifier = 161, + sym_ms_pointer_modifier = 162, + sym_declaration_list = 163, + sym__declarator = 164, + sym__field_declarator = 165, + sym__type_declarator = 166, + sym__abstract_declarator = 167, + sym_parenthesized_declarator = 168, + sym_parenthesized_field_declarator = 169, + sym_parenthesized_type_declarator = 170, + sym_abstract_parenthesized_declarator = 171, + sym_attributed_declarator = 172, + sym_attributed_field_declarator = 173, + sym_attributed_type_declarator = 174, + sym_pointer_declarator = 175, + sym_pointer_field_declarator = 176, + sym_pointer_type_declarator = 177, + sym_abstract_pointer_declarator = 178, + sym_function_declarator = 179, + sym_function_field_declarator = 180, + sym_function_type_declarator = 181, + sym_abstract_function_declarator = 182, + sym_array_declarator = 183, + sym_array_field_declarator = 184, + sym_array_type_declarator = 185, + sym_abstract_array_declarator = 186, + sym_init_declarator = 187, + sym_compound_statement = 188, + sym_storage_class_specifier = 189, + sym_type_qualifier = 190, + sym__type_specifier = 191, + sym_sized_type_specifier = 192, + sym_enum_specifier = 193, + sym_enumerator_list = 194, + sym_struct_specifier = 195, + sym_union_specifier = 196, + sym_field_declaration_list = 197, + sym__field_declaration_list_item = 198, + sym_field_declaration = 199, + sym_bitfield_clause = 200, + sym_enumerator = 201, + sym_variadic_parameter = 202, + sym_parameter_list = 203, + sym_parameter_declaration = 204, + sym_attributed_statement = 205, + sym_attributed_non_case_statement = 206, + sym_labeled_statement = 207, + sym_expression_statement = 208, + sym_if_statement = 209, + sym_switch_statement = 210, + sym_case_statement = 211, + sym_while_statement = 212, + sym_do_statement = 213, + sym_for_statement = 214, + sym_return_statement = 215, + sym_break_statement = 216, + sym_continue_statement = 217, + sym_goto_statement = 218, + sym__expression = 219, + sym_comma_expression = 220, + sym_conditional_expression = 221, + sym_assignment_expression = 222, + sym_pointer_expression = 223, + sym_unary_expression = 224, + sym_binary_expression = 225, + sym_update_expression = 226, + sym_cast_expression = 227, + sym_type_descriptor = 228, + sym_sizeof_expression = 229, + sym_subscript_expression = 230, + sym_call_expression = 231, + sym_argument_list = 232, + sym_field_expression = 233, + sym_compound_literal_expression = 234, + sym_parenthesized_expression = 235, + sym_initializer_list = 236, + sym_initializer_pair = 237, + sym_subscript_designator = 238, + sym_field_designator = 239, + sym_char_literal = 240, + sym_concatenated_string = 241, + sym_string_literal = 242, + sym__empty_declaration = 243, + sym_macro_type_specifier = 244, + aux_sym_translation_unit_repeat1 = 245, + aux_sym_preproc_params_repeat1 = 246, + aux_sym_preproc_if_in_field_declaration_list_repeat1 = 247, + aux_sym_preproc_argument_list_repeat1 = 248, + aux_sym_declaration_repeat1 = 249, + aux_sym_type_definition_repeat1 = 250, + aux_sym_type_definition_repeat2 = 251, + aux_sym__declaration_specifiers_repeat1 = 252, + aux_sym_attribute_declaration_repeat1 = 253, + aux_sym_attributed_declarator_repeat1 = 254, + aux_sym_pointer_declarator_repeat1 = 255, + aux_sym_function_declarator_repeat1 = 256, + aux_sym_sized_type_specifier_repeat1 = 257, + aux_sym_enumerator_list_repeat1 = 258, + aux_sym_field_declaration_repeat1 = 259, + aux_sym_parameter_list_repeat1 = 260, + aux_sym_case_statement_repeat1 = 261, + aux_sym_argument_list_repeat1 = 262, + aux_sym_initializer_list_repeat1 = 263, + aux_sym_initializer_pair_repeat1 = 264, + aux_sym_concatenated_string_repeat1 = 265, + aux_sym_string_literal_repeat1 = 266, + alias_sym_field_identifier = 267, + alias_sym_statement_identifier = 268, + alias_sym_type_identifier = 269, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym_identifier] = "identifier", + [aux_sym_preproc_include_token1] = "#include", + [anon_sym_LF] = "\n", + [aux_sym_preproc_def_token1] = "#define", + [anon_sym_LPAREN] = "(", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_COMMA] = ",", + [anon_sym_RPAREN] = ")", + [aux_sym_preproc_if_token1] = "#if", + [aux_sym_preproc_if_token2] = "#endif", + [aux_sym_preproc_ifdef_token1] = "#ifdef", + [aux_sym_preproc_ifdef_token2] = "#ifndef", + [aux_sym_preproc_else_token1] = "#else", + [aux_sym_preproc_elif_token1] = "#elif", + [sym_preproc_directive] = "preproc_directive", + [sym_preproc_arg] = "preproc_arg", + [anon_sym_LPAREN2] = "(", + [anon_sym_defined] = "defined", + [anon_sym_BANG] = "!", + [anon_sym_TILDE] = "~", + [anon_sym_DASH] = "-", + [anon_sym_PLUS] = "+", + [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", + [anon_sym_PERCENT] = "%", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_AMP_AMP] = "&&", + [anon_sym_PIPE] = "|", + [anon_sym_CARET] = "^", + [anon_sym_AMP] = "&", + [anon_sym_EQ_EQ] = "==", + [anon_sym_BANG_EQ] = "!=", + [anon_sym_GT] = ">", + [anon_sym_GT_EQ] = ">=", + [anon_sym_LT_EQ] = "<=", + [anon_sym_LT] = "<", + [anon_sym_LT_LT] = "<<", + [anon_sym_GT_GT] = ">>", + [anon_sym_SEMI] = ";", + [anon_sym_typedef] = "typedef", + [anon_sym_extern] = "extern", + [anon_sym___attribute__] = "__attribute__", + [anon_sym_COLON_COLON] = "::", + [anon_sym_LBRACK_LBRACK] = "[[", + [anon_sym_RBRACK_RBRACK] = "]]", + [anon_sym___declspec] = "__declspec", + [anon_sym___based] = "__based", + [anon_sym___cdecl] = "__cdecl", + [anon_sym___clrcall] = "__clrcall", + [anon_sym___stdcall] = "__stdcall", + [anon_sym___fastcall] = "__fastcall", + [anon_sym___thiscall] = "__thiscall", + [anon_sym___vectorcall] = "__vectorcall", + [sym_ms_restrict_modifier] = "ms_restrict_modifier", + [sym_ms_unsigned_ptr_modifier] = "ms_unsigned_ptr_modifier", + [sym_ms_signed_ptr_modifier] = "ms_signed_ptr_modifier", + [anon_sym__unaligned] = "_unaligned", + [anon_sym___unaligned] = "__unaligned", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", + [anon_sym_EQ] = "=", + [anon_sym_static] = "static", + [anon_sym_auto] = "auto", + [anon_sym_register] = "register", + [anon_sym_inline] = "inline", + [anon_sym_const] = "const", + [anon_sym_volatile] = "volatile", + [anon_sym_restrict] = "restrict", + [anon_sym__Atomic] = "_Atomic", + [anon_sym_signed] = "signed", + [anon_sym_unsigned] = "unsigned", + [anon_sym_long] = "long", + [anon_sym_short] = "short", + [sym_primitive_type] = "primitive_type", + [anon_sym_enum] = "enum", + [anon_sym_struct] = "struct", + [anon_sym_union] = "union", + [anon_sym_COLON] = ":", + [anon_sym_if] = "if", + [anon_sym_else] = "else", + [anon_sym_switch] = "switch", + [anon_sym_case] = "case", + [anon_sym_default] = "default", + [anon_sym_while] = "while", + [anon_sym_do] = "do", + [anon_sym_for] = "for", + [anon_sym_return] = "return", + [anon_sym_break] = "break", + [anon_sym_continue] = "continue", + [anon_sym_goto] = "goto", + [anon_sym_QMARK] = "\?", + [anon_sym_STAR_EQ] = "*=", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_PERCENT_EQ] = "%=", + [anon_sym_PLUS_EQ] = "+=", + [anon_sym_DASH_EQ] = "-=", + [anon_sym_LT_LT_EQ] = "<<=", + [anon_sym_GT_GT_EQ] = ">>=", + [anon_sym_AMP_EQ] = "&=", + [anon_sym_CARET_EQ] = "^=", + [anon_sym_PIPE_EQ] = "|=", + [anon_sym_DASH_DASH] = "--", + [anon_sym_PLUS_PLUS] = "++", + [anon_sym_sizeof] = "sizeof", + [anon_sym_DOT] = ".", + [anon_sym_DASH_GT] = "->", + [sym_number_literal] = "number_literal", + [anon_sym_L_SQUOTE] = "L'", + [anon_sym_u_SQUOTE] = "u'", + [anon_sym_U_SQUOTE] = "U'", + [anon_sym_u8_SQUOTE] = "u8'", + [anon_sym_SQUOTE] = "'", + [aux_sym_char_literal_token1] = "char_literal_token1", + [anon_sym_L_DQUOTE] = "L\"", + [anon_sym_u_DQUOTE] = "u\"", + [anon_sym_U_DQUOTE] = "U\"", + [anon_sym_u8_DQUOTE] = "u8\"", + [anon_sym_DQUOTE] = "\"", + [aux_sym_string_literal_token1] = "string_literal_token1", + [sym_escape_sequence] = "escape_sequence", + [sym_system_lib_string] = "system_lib_string", + [sym_true] = "true", + [sym_false] = "false", + [sym_null] = "null", + [sym_comment] = "comment", + [sym_translation_unit] = "translation_unit", + [sym_preproc_include] = "preproc_include", + [sym_preproc_def] = "preproc_def", + [sym_preproc_function_def] = "preproc_function_def", + [sym_preproc_params] = "preproc_params", + [sym_preproc_call] = "preproc_call", + [sym_preproc_if] = "preproc_if", + [sym_preproc_ifdef] = "preproc_ifdef", + [sym_preproc_else] = "preproc_else", + [sym_preproc_elif] = "preproc_elif", + [sym_preproc_if_in_field_declaration_list] = "preproc_if", + [sym_preproc_ifdef_in_field_declaration_list] = "preproc_ifdef", + [sym_preproc_else_in_field_declaration_list] = "preproc_else", + [sym_preproc_elif_in_field_declaration_list] = "preproc_elif", + [sym__preproc_expression] = "_preproc_expression", + [sym_preproc_parenthesized_expression] = "parenthesized_expression", + [sym_preproc_defined] = "preproc_defined", + [sym_preproc_unary_expression] = "unary_expression", + [sym_preproc_call_expression] = "call_expression", + [sym_preproc_argument_list] = "argument_list", + [sym_preproc_binary_expression] = "binary_expression", + [sym_function_definition] = "function_definition", + [sym_declaration] = "declaration", + [sym_type_definition] = "type_definition", + [sym__declaration_modifiers] = "_declaration_modifiers", + [sym__declaration_specifiers] = "_declaration_specifiers", + [sym_linkage_specification] = "linkage_specification", + [sym_attribute_specifier] = "attribute_specifier", + [sym_attribute] = "attribute", + [sym_attribute_declaration] = "attribute_declaration", + [sym_ms_declspec_modifier] = "ms_declspec_modifier", + [sym_ms_based_modifier] = "ms_based_modifier", + [sym_ms_call_modifier] = "ms_call_modifier", + [sym_ms_unaligned_ptr_modifier] = "ms_unaligned_ptr_modifier", + [sym_ms_pointer_modifier] = "ms_pointer_modifier", + [sym_declaration_list] = "declaration_list", + [sym__declarator] = "_declarator", + [sym__field_declarator] = "_field_declarator", + [sym__type_declarator] = "_type_declarator", + [sym__abstract_declarator] = "_abstract_declarator", + [sym_parenthesized_declarator] = "parenthesized_declarator", + [sym_parenthesized_field_declarator] = "parenthesized_declarator", + [sym_parenthesized_type_declarator] = "parenthesized_declarator", + [sym_abstract_parenthesized_declarator] = "abstract_parenthesized_declarator", + [sym_attributed_declarator] = "attributed_declarator", + [sym_attributed_field_declarator] = "attributed_declarator", + [sym_attributed_type_declarator] = "attributed_declarator", + [sym_pointer_declarator] = "pointer_declarator", + [sym_pointer_field_declarator] = "pointer_declarator", + [sym_pointer_type_declarator] = "pointer_declarator", + [sym_abstract_pointer_declarator] = "abstract_pointer_declarator", + [sym_function_declarator] = "function_declarator", + [sym_function_field_declarator] = "function_declarator", + [sym_function_type_declarator] = "function_declarator", + [sym_abstract_function_declarator] = "abstract_function_declarator", + [sym_array_declarator] = "array_declarator", + [sym_array_field_declarator] = "array_declarator", + [sym_array_type_declarator] = "array_declarator", + [sym_abstract_array_declarator] = "abstract_array_declarator", + [sym_init_declarator] = "init_declarator", + [sym_compound_statement] = "compound_statement", + [sym_storage_class_specifier] = "storage_class_specifier", + [sym_type_qualifier] = "type_qualifier", + [sym__type_specifier] = "_type_specifier", + [sym_sized_type_specifier] = "sized_type_specifier", + [sym_enum_specifier] = "enum_specifier", + [sym_enumerator_list] = "enumerator_list", + [sym_struct_specifier] = "struct_specifier", + [sym_union_specifier] = "union_specifier", + [sym_field_declaration_list] = "field_declaration_list", + [sym__field_declaration_list_item] = "_field_declaration_list_item", + [sym_field_declaration] = "field_declaration", + [sym_bitfield_clause] = "bitfield_clause", + [sym_enumerator] = "enumerator", + [sym_variadic_parameter] = "variadic_parameter", + [sym_parameter_list] = "parameter_list", + [sym_parameter_declaration] = "parameter_declaration", + [sym_attributed_statement] = "attributed_statement", + [sym_attributed_non_case_statement] = "attributed_statement", + [sym_labeled_statement] = "labeled_statement", + [sym_expression_statement] = "expression_statement", + [sym_if_statement] = "if_statement", + [sym_switch_statement] = "switch_statement", + [sym_case_statement] = "case_statement", + [sym_while_statement] = "while_statement", + [sym_do_statement] = "do_statement", + [sym_for_statement] = "for_statement", + [sym_return_statement] = "return_statement", + [sym_break_statement] = "break_statement", + [sym_continue_statement] = "continue_statement", + [sym_goto_statement] = "goto_statement", + [sym__expression] = "_expression", + [sym_comma_expression] = "comma_expression", + [sym_conditional_expression] = "conditional_expression", + [sym_assignment_expression] = "assignment_expression", + [sym_pointer_expression] = "pointer_expression", + [sym_unary_expression] = "unary_expression", + [sym_binary_expression] = "binary_expression", + [sym_update_expression] = "update_expression", + [sym_cast_expression] = "cast_expression", + [sym_type_descriptor] = "type_descriptor", + [sym_sizeof_expression] = "sizeof_expression", + [sym_subscript_expression] = "subscript_expression", + [sym_call_expression] = "call_expression", + [sym_argument_list] = "argument_list", + [sym_field_expression] = "field_expression", + [sym_compound_literal_expression] = "compound_literal_expression", + [sym_parenthesized_expression] = "parenthesized_expression", + [sym_initializer_list] = "initializer_list", + [sym_initializer_pair] = "initializer_pair", + [sym_subscript_designator] = "subscript_designator", + [sym_field_designator] = "field_designator", + [sym_char_literal] = "char_literal", + [sym_concatenated_string] = "concatenated_string", + [sym_string_literal] = "string_literal", + [sym__empty_declaration] = "_empty_declaration", + [sym_macro_type_specifier] = "macro_type_specifier", + [aux_sym_translation_unit_repeat1] = "translation_unit_repeat1", + [aux_sym_preproc_params_repeat1] = "preproc_params_repeat1", + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = "preproc_if_in_field_declaration_list_repeat1", + [aux_sym_preproc_argument_list_repeat1] = "preproc_argument_list_repeat1", + [aux_sym_declaration_repeat1] = "declaration_repeat1", + [aux_sym_type_definition_repeat1] = "type_definition_repeat1", + [aux_sym_type_definition_repeat2] = "type_definition_repeat2", + [aux_sym__declaration_specifiers_repeat1] = "_declaration_specifiers_repeat1", + [aux_sym_attribute_declaration_repeat1] = "attribute_declaration_repeat1", + [aux_sym_attributed_declarator_repeat1] = "attributed_declarator_repeat1", + [aux_sym_pointer_declarator_repeat1] = "pointer_declarator_repeat1", + [aux_sym_function_declarator_repeat1] = "function_declarator_repeat1", + [aux_sym_sized_type_specifier_repeat1] = "sized_type_specifier_repeat1", + [aux_sym_enumerator_list_repeat1] = "enumerator_list_repeat1", + [aux_sym_field_declaration_repeat1] = "field_declaration_repeat1", + [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", + [aux_sym_case_statement_repeat1] = "case_statement_repeat1", + [aux_sym_argument_list_repeat1] = "argument_list_repeat1", + [aux_sym_initializer_list_repeat1] = "initializer_list_repeat1", + [aux_sym_initializer_pair_repeat1] = "initializer_pair_repeat1", + [aux_sym_concatenated_string_repeat1] = "concatenated_string_repeat1", + [aux_sym_string_literal_repeat1] = "string_literal_repeat1", + [alias_sym_field_identifier] = "field_identifier", + [alias_sym_statement_identifier] = "statement_identifier", + [alias_sym_type_identifier] = "type_identifier", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym_identifier] = sym_identifier, + [aux_sym_preproc_include_token1] = aux_sym_preproc_include_token1, + [anon_sym_LF] = anon_sym_LF, + [aux_sym_preproc_def_token1] = aux_sym_preproc_def_token1, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [aux_sym_preproc_if_token1] = aux_sym_preproc_if_token1, + [aux_sym_preproc_if_token2] = aux_sym_preproc_if_token2, + [aux_sym_preproc_ifdef_token1] = aux_sym_preproc_ifdef_token1, + [aux_sym_preproc_ifdef_token2] = aux_sym_preproc_ifdef_token2, + [aux_sym_preproc_else_token1] = aux_sym_preproc_else_token1, + [aux_sym_preproc_elif_token1] = aux_sym_preproc_elif_token1, + [sym_preproc_directive] = sym_preproc_directive, + [sym_preproc_arg] = sym_preproc_arg, + [anon_sym_LPAREN2] = anon_sym_LPAREN, + [anon_sym_defined] = anon_sym_defined, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_TILDE] = anon_sym_TILDE, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_AMP] = anon_sym_AMP, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_typedef] = anon_sym_typedef, + [anon_sym_extern] = anon_sym_extern, + [anon_sym___attribute__] = anon_sym___attribute__, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, + [anon_sym_LBRACK_LBRACK] = anon_sym_LBRACK_LBRACK, + [anon_sym_RBRACK_RBRACK] = anon_sym_RBRACK_RBRACK, + [anon_sym___declspec] = anon_sym___declspec, + [anon_sym___based] = anon_sym___based, + [anon_sym___cdecl] = anon_sym___cdecl, + [anon_sym___clrcall] = anon_sym___clrcall, + [anon_sym___stdcall] = anon_sym___stdcall, + [anon_sym___fastcall] = anon_sym___fastcall, + [anon_sym___thiscall] = anon_sym___thiscall, + [anon_sym___vectorcall] = anon_sym___vectorcall, + [sym_ms_restrict_modifier] = sym_ms_restrict_modifier, + [sym_ms_unsigned_ptr_modifier] = sym_ms_unsigned_ptr_modifier, + [sym_ms_signed_ptr_modifier] = sym_ms_signed_ptr_modifier, + [anon_sym__unaligned] = anon_sym__unaligned, + [anon_sym___unaligned] = anon_sym___unaligned, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_static] = anon_sym_static, + [anon_sym_auto] = anon_sym_auto, + [anon_sym_register] = anon_sym_register, + [anon_sym_inline] = anon_sym_inline, + [anon_sym_const] = anon_sym_const, + [anon_sym_volatile] = anon_sym_volatile, + [anon_sym_restrict] = anon_sym_restrict, + [anon_sym__Atomic] = anon_sym__Atomic, + [anon_sym_signed] = anon_sym_signed, + [anon_sym_unsigned] = anon_sym_unsigned, + [anon_sym_long] = anon_sym_long, + [anon_sym_short] = anon_sym_short, + [sym_primitive_type] = sym_primitive_type, + [anon_sym_enum] = anon_sym_enum, + [anon_sym_struct] = anon_sym_struct, + [anon_sym_union] = anon_sym_union, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_if] = anon_sym_if, + [anon_sym_else] = anon_sym_else, + [anon_sym_switch] = anon_sym_switch, + [anon_sym_case] = anon_sym_case, + [anon_sym_default] = anon_sym_default, + [anon_sym_while] = anon_sym_while, + [anon_sym_do] = anon_sym_do, + [anon_sym_for] = anon_sym_for, + [anon_sym_return] = anon_sym_return, + [anon_sym_break] = anon_sym_break, + [anon_sym_continue] = anon_sym_continue, + [anon_sym_goto] = anon_sym_goto, + [anon_sym_QMARK] = anon_sym_QMARK, + [anon_sym_STAR_EQ] = anon_sym_STAR_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ, + [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, + [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ, + [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ, + [anon_sym_AMP_EQ] = anon_sym_AMP_EQ, + [anon_sym_CARET_EQ] = anon_sym_CARET_EQ, + [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ, + [anon_sym_DASH_DASH] = anon_sym_DASH_DASH, + [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, + [anon_sym_sizeof] = anon_sym_sizeof, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [sym_number_literal] = sym_number_literal, + [anon_sym_L_SQUOTE] = anon_sym_L_SQUOTE, + [anon_sym_u_SQUOTE] = anon_sym_u_SQUOTE, + [anon_sym_U_SQUOTE] = anon_sym_U_SQUOTE, + [anon_sym_u8_SQUOTE] = anon_sym_u8_SQUOTE, + [anon_sym_SQUOTE] = anon_sym_SQUOTE, + [aux_sym_char_literal_token1] = aux_sym_char_literal_token1, + [anon_sym_L_DQUOTE] = anon_sym_L_DQUOTE, + [anon_sym_u_DQUOTE] = anon_sym_u_DQUOTE, + [anon_sym_U_DQUOTE] = anon_sym_U_DQUOTE, + [anon_sym_u8_DQUOTE] = anon_sym_u8_DQUOTE, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym_string_literal_token1] = aux_sym_string_literal_token1, + [sym_escape_sequence] = sym_escape_sequence, + [sym_system_lib_string] = sym_system_lib_string, + [sym_true] = sym_true, + [sym_false] = sym_false, + [sym_null] = sym_null, + [sym_comment] = sym_comment, + [sym_translation_unit] = sym_translation_unit, + [sym_preproc_include] = sym_preproc_include, + [sym_preproc_def] = sym_preproc_def, + [sym_preproc_function_def] = sym_preproc_function_def, + [sym_preproc_params] = sym_preproc_params, + [sym_preproc_call] = sym_preproc_call, + [sym_preproc_if] = sym_preproc_if, + [sym_preproc_ifdef] = sym_preproc_ifdef, + [sym_preproc_else] = sym_preproc_else, + [sym_preproc_elif] = sym_preproc_elif, + [sym_preproc_if_in_field_declaration_list] = sym_preproc_if, + [sym_preproc_ifdef_in_field_declaration_list] = sym_preproc_ifdef, + [sym_preproc_else_in_field_declaration_list] = sym_preproc_else, + [sym_preproc_elif_in_field_declaration_list] = sym_preproc_elif, + [sym__preproc_expression] = sym__preproc_expression, + [sym_preproc_parenthesized_expression] = sym_parenthesized_expression, + [sym_preproc_defined] = sym_preproc_defined, + [sym_preproc_unary_expression] = sym_unary_expression, + [sym_preproc_call_expression] = sym_call_expression, + [sym_preproc_argument_list] = sym_argument_list, + [sym_preproc_binary_expression] = sym_binary_expression, + [sym_function_definition] = sym_function_definition, + [sym_declaration] = sym_declaration, + [sym_type_definition] = sym_type_definition, + [sym__declaration_modifiers] = sym__declaration_modifiers, + [sym__declaration_specifiers] = sym__declaration_specifiers, + [sym_linkage_specification] = sym_linkage_specification, + [sym_attribute_specifier] = sym_attribute_specifier, + [sym_attribute] = sym_attribute, + [sym_attribute_declaration] = sym_attribute_declaration, + [sym_ms_declspec_modifier] = sym_ms_declspec_modifier, + [sym_ms_based_modifier] = sym_ms_based_modifier, + [sym_ms_call_modifier] = sym_ms_call_modifier, + [sym_ms_unaligned_ptr_modifier] = sym_ms_unaligned_ptr_modifier, + [sym_ms_pointer_modifier] = sym_ms_pointer_modifier, + [sym_declaration_list] = sym_declaration_list, + [sym__declarator] = sym__declarator, + [sym__field_declarator] = sym__field_declarator, + [sym__type_declarator] = sym__type_declarator, + [sym__abstract_declarator] = sym__abstract_declarator, + [sym_parenthesized_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_field_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_type_declarator] = sym_parenthesized_declarator, + [sym_abstract_parenthesized_declarator] = sym_abstract_parenthesized_declarator, + [sym_attributed_declarator] = sym_attributed_declarator, + [sym_attributed_field_declarator] = sym_attributed_declarator, + [sym_attributed_type_declarator] = sym_attributed_declarator, + [sym_pointer_declarator] = sym_pointer_declarator, + [sym_pointer_field_declarator] = sym_pointer_declarator, + [sym_pointer_type_declarator] = sym_pointer_declarator, + [sym_abstract_pointer_declarator] = sym_abstract_pointer_declarator, + [sym_function_declarator] = sym_function_declarator, + [sym_function_field_declarator] = sym_function_declarator, + [sym_function_type_declarator] = sym_function_declarator, + [sym_abstract_function_declarator] = sym_abstract_function_declarator, + [sym_array_declarator] = sym_array_declarator, + [sym_array_field_declarator] = sym_array_declarator, + [sym_array_type_declarator] = sym_array_declarator, + [sym_abstract_array_declarator] = sym_abstract_array_declarator, + [sym_init_declarator] = sym_init_declarator, + [sym_compound_statement] = sym_compound_statement, + [sym_storage_class_specifier] = sym_storage_class_specifier, + [sym_type_qualifier] = sym_type_qualifier, + [sym__type_specifier] = sym__type_specifier, + [sym_sized_type_specifier] = sym_sized_type_specifier, + [sym_enum_specifier] = sym_enum_specifier, + [sym_enumerator_list] = sym_enumerator_list, + [sym_struct_specifier] = sym_struct_specifier, + [sym_union_specifier] = sym_union_specifier, + [sym_field_declaration_list] = sym_field_declaration_list, + [sym__field_declaration_list_item] = sym__field_declaration_list_item, + [sym_field_declaration] = sym_field_declaration, + [sym_bitfield_clause] = sym_bitfield_clause, + [sym_enumerator] = sym_enumerator, + [sym_variadic_parameter] = sym_variadic_parameter, + [sym_parameter_list] = sym_parameter_list, + [sym_parameter_declaration] = sym_parameter_declaration, + [sym_attributed_statement] = sym_attributed_statement, + [sym_attributed_non_case_statement] = sym_attributed_statement, + [sym_labeled_statement] = sym_labeled_statement, + [sym_expression_statement] = sym_expression_statement, + [sym_if_statement] = sym_if_statement, + [sym_switch_statement] = sym_switch_statement, + [sym_case_statement] = sym_case_statement, + [sym_while_statement] = sym_while_statement, + [sym_do_statement] = sym_do_statement, + [sym_for_statement] = sym_for_statement, + [sym_return_statement] = sym_return_statement, + [sym_break_statement] = sym_break_statement, + [sym_continue_statement] = sym_continue_statement, + [sym_goto_statement] = sym_goto_statement, + [sym__expression] = sym__expression, + [sym_comma_expression] = sym_comma_expression, + [sym_conditional_expression] = sym_conditional_expression, + [sym_assignment_expression] = sym_assignment_expression, + [sym_pointer_expression] = sym_pointer_expression, + [sym_unary_expression] = sym_unary_expression, + [sym_binary_expression] = sym_binary_expression, + [sym_update_expression] = sym_update_expression, + [sym_cast_expression] = sym_cast_expression, + [sym_type_descriptor] = sym_type_descriptor, + [sym_sizeof_expression] = sym_sizeof_expression, + [sym_subscript_expression] = sym_subscript_expression, + [sym_call_expression] = sym_call_expression, + [sym_argument_list] = sym_argument_list, + [sym_field_expression] = sym_field_expression, + [sym_compound_literal_expression] = sym_compound_literal_expression, + [sym_parenthesized_expression] = sym_parenthesized_expression, + [sym_initializer_list] = sym_initializer_list, + [sym_initializer_pair] = sym_initializer_pair, + [sym_subscript_designator] = sym_subscript_designator, + [sym_field_designator] = sym_field_designator, + [sym_char_literal] = sym_char_literal, + [sym_concatenated_string] = sym_concatenated_string, + [sym_string_literal] = sym_string_literal, + [sym__empty_declaration] = sym__empty_declaration, + [sym_macro_type_specifier] = sym_macro_type_specifier, + [aux_sym_translation_unit_repeat1] = aux_sym_translation_unit_repeat1, + [aux_sym_preproc_params_repeat1] = aux_sym_preproc_params_repeat1, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = aux_sym_preproc_if_in_field_declaration_list_repeat1, + [aux_sym_preproc_argument_list_repeat1] = aux_sym_preproc_argument_list_repeat1, + [aux_sym_declaration_repeat1] = aux_sym_declaration_repeat1, + [aux_sym_type_definition_repeat1] = aux_sym_type_definition_repeat1, + [aux_sym_type_definition_repeat2] = aux_sym_type_definition_repeat2, + [aux_sym__declaration_specifiers_repeat1] = aux_sym__declaration_specifiers_repeat1, + [aux_sym_attribute_declaration_repeat1] = aux_sym_attribute_declaration_repeat1, + [aux_sym_attributed_declarator_repeat1] = aux_sym_attributed_declarator_repeat1, + [aux_sym_pointer_declarator_repeat1] = aux_sym_pointer_declarator_repeat1, + [aux_sym_function_declarator_repeat1] = aux_sym_function_declarator_repeat1, + [aux_sym_sized_type_specifier_repeat1] = aux_sym_sized_type_specifier_repeat1, + [aux_sym_enumerator_list_repeat1] = aux_sym_enumerator_list_repeat1, + [aux_sym_field_declaration_repeat1] = aux_sym_field_declaration_repeat1, + [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, + [aux_sym_case_statement_repeat1] = aux_sym_case_statement_repeat1, + [aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1, + [aux_sym_initializer_list_repeat1] = aux_sym_initializer_list_repeat1, + [aux_sym_initializer_pair_repeat1] = aux_sym_initializer_pair_repeat1, + [aux_sym_concatenated_string_repeat1] = aux_sym_concatenated_string_repeat1, + [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, + [alias_sym_field_identifier] = alias_sym_field_identifier, + [alias_sym_statement_identifier] = alias_sym_statement_identifier, + [alias_sym_type_identifier] = alias_sym_type_identifier, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym_identifier] = { + .visible = true, + .named = true, + }, + [aux_sym_preproc_include_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LF] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_def_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_else_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elif_token1] = { + .visible = true, + .named = false, + }, + [sym_preproc_directive] = { + .visible = true, + .named = true, + }, + [sym_preproc_arg] = { + .visible = true, + .named = true, + }, + [anon_sym_LPAREN2] = { + .visible = true, + .named = false, + }, + [anon_sym_defined] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_TILDE] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym_typedef] = { + .visible = true, + .named = false, + }, + [anon_sym_extern] = { + .visible = true, + .named = false, + }, + [anon_sym___attribute__] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym___declspec] = { + .visible = true, + .named = false, + }, + [anon_sym___based] = { + .visible = true, + .named = false, + }, + [anon_sym___cdecl] = { + .visible = true, + .named = false, + }, + [anon_sym___clrcall] = { + .visible = true, + .named = false, + }, + [anon_sym___stdcall] = { + .visible = true, + .named = false, + }, + [anon_sym___fastcall] = { + .visible = true, + .named = false, + }, + [anon_sym___thiscall] = { + .visible = true, + .named = false, + }, + [anon_sym___vectorcall] = { + .visible = true, + .named = false, + }, + [sym_ms_restrict_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unsigned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_signed_ptr_modifier] = { + .visible = true, + .named = true, + }, + [anon_sym__unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym___unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_static] = { + .visible = true, + .named = false, + }, + [anon_sym_auto] = { + .visible = true, + .named = false, + }, + [anon_sym_register] = { + .visible = true, + .named = false, + }, + [anon_sym_inline] = { + .visible = true, + .named = false, + }, + [anon_sym_const] = { + .visible = true, + .named = false, + }, + [anon_sym_volatile] = { + .visible = true, + .named = false, + }, + [anon_sym_restrict] = { + .visible = true, + .named = false, + }, + [anon_sym__Atomic] = { + .visible = true, + .named = false, + }, + [anon_sym_signed] = { + .visible = true, + .named = false, + }, + [anon_sym_unsigned] = { + .visible = true, + .named = false, + }, + [anon_sym_long] = { + .visible = true, + .named = false, + }, + [anon_sym_short] = { + .visible = true, + .named = false, + }, + [sym_primitive_type] = { + .visible = true, + .named = true, + }, + [anon_sym_enum] = { + .visible = true, + .named = false, + }, + [anon_sym_struct] = { + .visible = true, + .named = false, + }, + [anon_sym_union] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_switch] = { + .visible = true, + .named = false, + }, + [anon_sym_case] = { + .visible = true, + .named = false, + }, + [anon_sym_default] = { + .visible = true, + .named = false, + }, + [anon_sym_while] = { + .visible = true, + .named = false, + }, + [anon_sym_do] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_return] = { + .visible = true, + .named = false, + }, + [anon_sym_break] = { + .visible = true, + .named = false, + }, + [anon_sym_continue] = { + .visible = true, + .named = false, + }, + [anon_sym_goto] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_sizeof] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [sym_number_literal] = { + .visible = true, + .named = true, + }, + [anon_sym_L_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_char_literal_token1] = { + .visible = false, + .named = false, + }, + [anon_sym_L_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_string_literal_token1] = { + .visible = false, + .named = false, + }, + [sym_escape_sequence] = { + .visible = true, + .named = true, + }, + [sym_system_lib_string] = { + .visible = true, + .named = true, + }, + [sym_true] = { + .visible = true, + .named = true, + }, + [sym_false] = { + .visible = true, + .named = true, + }, + [sym_null] = { + .visible = true, + .named = true, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [sym_translation_unit] = { + .visible = true, + .named = true, + }, + [sym_preproc_include] = { + .visible = true, + .named = true, + }, + [sym_preproc_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_function_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_params] = { + .visible = true, + .named = true, + }, + [sym_preproc_call] = { + .visible = true, + .named = true, + }, + [sym_preproc_if] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef] = { + .visible = true, + .named = true, + }, + [sym_preproc_else] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__preproc_expression] = { + .visible = false, + .named = true, + }, + [sym_preproc_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_defined] = { + .visible = true, + .named = true, + }, + [sym_preproc_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_call_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_argument_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_function_definition] = { + .visible = true, + .named = true, + }, + [sym_declaration] = { + .visible = true, + .named = true, + }, + [sym_type_definition] = { + .visible = true, + .named = true, + }, + [sym__declaration_modifiers] = { + .visible = false, + .named = true, + }, + [sym__declaration_specifiers] = { + .visible = false, + .named = true, + }, + [sym_linkage_specification] = { + .visible = true, + .named = true, + }, + [sym_attribute_specifier] = { + .visible = true, + .named = true, + }, + [sym_attribute] = { + .visible = true, + .named = true, + }, + [sym_attribute_declaration] = { + .visible = true, + .named = true, + }, + [sym_ms_declspec_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_based_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_call_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unaligned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_pointer_modifier] = { + .visible = true, + .named = true, + }, + [sym_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__field_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__type_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__abstract_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_function_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_init_declarator] = { + .visible = true, + .named = true, + }, + [sym_compound_statement] = { + .visible = true, + .named = true, + }, + [sym_storage_class_specifier] = { + .visible = true, + .named = true, + }, + [sym_type_qualifier] = { + .visible = true, + .named = true, + }, + [sym__type_specifier] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_sized_type_specifier] = { + .visible = true, + .named = true, + }, + [sym_enum_specifier] = { + .visible = true, + .named = true, + }, + [sym_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_struct_specifier] = { + .visible = true, + .named = true, + }, + [sym_union_specifier] = { + .visible = true, + .named = true, + }, + [sym_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__field_declaration_list_item] = { + .visible = false, + .named = true, + }, + [sym_field_declaration] = { + .visible = true, + .named = true, + }, + [sym_bitfield_clause] = { + .visible = true, + .named = true, + }, + [sym_enumerator] = { + .visible = true, + .named = true, + }, + [sym_variadic_parameter] = { + .visible = true, + .named = true, + }, + [sym_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_attributed_statement] = { + .visible = true, + .named = true, + }, + [sym_attributed_non_case_statement] = { + .visible = true, + .named = true, + }, + [sym_labeled_statement] = { + .visible = true, + .named = true, + }, + [sym_expression_statement] = { + .visible = true, + .named = true, + }, + [sym_if_statement] = { + .visible = true, + .named = true, + }, + [sym_switch_statement] = { + .visible = true, + .named = true, + }, + [sym_case_statement] = { + .visible = true, + .named = true, + }, + [sym_while_statement] = { + .visible = true, + .named = true, + }, + [sym_do_statement] = { + .visible = true, + .named = true, + }, + [sym_for_statement] = { + .visible = true, + .named = true, + }, + [sym_return_statement] = { + .visible = true, + .named = true, + }, + [sym_break_statement] = { + .visible = true, + .named = true, + }, + [sym_continue_statement] = { + .visible = true, + .named = true, + }, + [sym_goto_statement] = { + .visible = true, + .named = true, + }, + [sym__expression] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_comma_expression] = { + .visible = true, + .named = true, + }, + [sym_conditional_expression] = { + .visible = true, + .named = true, + }, + [sym_assignment_expression] = { + .visible = true, + .named = true, + }, + [sym_pointer_expression] = { + .visible = true, + .named = true, + }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_update_expression] = { + .visible = true, + .named = true, + }, + [sym_cast_expression] = { + .visible = true, + .named = true, + }, + [sym_type_descriptor] = { + .visible = true, + .named = true, + }, + [sym_sizeof_expression] = { + .visible = true, + .named = true, + }, + [sym_subscript_expression] = { + .visible = true, + .named = true, + }, + [sym_call_expression] = { + .visible = true, + .named = true, + }, + [sym_argument_list] = { + .visible = true, + .named = true, + }, + [sym_field_expression] = { + .visible = true, + .named = true, + }, + [sym_compound_literal_expression] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_initializer_list] = { + .visible = true, + .named = true, + }, + [sym_initializer_pair] = { + .visible = true, + .named = true, + }, + [sym_subscript_designator] = { + .visible = true, + .named = true, + }, + [sym_field_designator] = { + .visible = true, + .named = true, + }, + [sym_char_literal] = { + .visible = true, + .named = true, + }, + [sym_concatenated_string] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym__empty_declaration] = { + .visible = false, + .named = true, + }, + [sym_macro_type_specifier] = { + .visible = true, + .named = true, + }, + [aux_sym_translation_unit_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_params_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_definition_repeat2] = { + .visible = false, + .named = false, + }, + [aux_sym__declaration_specifiers_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attribute_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attributed_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_pointer_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_function_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_sized_type_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enumerator_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_field_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_case_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_pair_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_concatenated_string_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_string_literal_repeat1] = { + .visible = false, + .named = false, + }, + [alias_sym_field_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_statement_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_type_identifier] = { + .visible = true, + .named = true, + }, +}; + +enum { + field_alternative = 1, + field_argument = 2, + field_arguments = 3, + field_body = 4, + field_condition = 5, + field_consequence = 6, + field_declarator = 7, + field_designator = 8, + field_directive = 9, + field_field = 10, + field_function = 11, + field_index = 12, + field_initializer = 13, + field_label = 14, + field_left = 15, + field_name = 16, + field_operator = 17, + field_parameters = 18, + field_path = 19, + field_prefix = 20, + field_right = 21, + field_size = 22, + field_type = 23, + field_update = 24, + field_value = 25, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_alternative] = "alternative", + [field_argument] = "argument", + [field_arguments] = "arguments", + [field_body] = "body", + [field_condition] = "condition", + [field_consequence] = "consequence", + [field_declarator] = "declarator", + [field_designator] = "designator", + [field_directive] = "directive", + [field_field] = "field", + [field_function] = "function", + [field_index] = "index", + [field_initializer] = "initializer", + [field_label] = "label", + [field_left] = "left", + [field_name] = "name", + [field_operator] = "operator", + [field_parameters] = "parameters", + [field_path] = "path", + [field_prefix] = "prefix", + [field_right] = "right", + [field_size] = "size", + [field_type] = "type", + [field_update] = "update", + [field_value] = "value", +}; + +static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [2] = {.index = 0, .length = 1}, + [3] = {.index = 1, .length = 1}, + [4] = {.index = 2, .length = 2}, + [5] = {.index = 4, .length = 1}, + [6] = {.index = 5, .length = 1}, + [7] = {.index = 6, .length = 1}, + [8] = {.index = 7, .length = 1}, + [9] = {.index = 8, .length = 2}, + [10] = {.index = 10, .length = 2}, + [11] = {.index = 12, .length = 1}, + [12] = {.index = 12, .length = 1}, + [13] = {.index = 13, .length = 1}, + [14] = {.index = 5, .length = 1}, + [15] = {.index = 14, .length = 2}, + [16] = {.index = 16, .length = 2}, + [17] = {.index = 18, .length = 1}, + [18] = {.index = 19, .length = 2}, + [19] = {.index = 21, .length = 2}, + [20] = {.index = 23, .length = 1}, + [21] = {.index = 24, .length = 1}, + [22] = {.index = 25, .length = 2}, + [23] = {.index = 27, .length = 2}, + [24] = {.index = 29, .length = 1}, + [25] = {.index = 30, .length = 3}, + [26] = {.index = 33, .length = 1}, + [27] = {.index = 34, .length = 1}, + [28] = {.index = 35, .length = 2}, + [29] = {.index = 37, .length = 3}, + [30] = {.index = 40, .length = 2}, + [31] = {.index = 42, .length = 2}, + [32] = {.index = 44, .length = 3}, + [33] = {.index = 47, .length = 2}, + [34] = {.index = 49, .length = 2}, + [35] = {.index = 51, .length = 1}, + [36] = {.index = 52, .length = 2}, + [37] = {.index = 54, .length = 1}, + [38] = {.index = 55, .length = 2}, + [39] = {.index = 57, .length = 2}, + [40] = {.index = 59, .length = 2}, + [41] = {.index = 61, .length = 2}, + [43] = {.index = 63, .length = 2}, + [44] = {.index = 65, .length = 1}, + [45] = {.index = 66, .length = 2}, + [46] = {.index = 68, .length = 1}, + [47] = {.index = 69, .length = 1}, + [48] = {.index = 70, .length = 2}, + [49] = {.index = 72, .length = 3}, + [50] = {.index = 75, .length = 2}, + [51] = {.index = 77, .length = 3}, + [52] = {.index = 80, .length = 2}, + [53] = {.index = 82, .length = 3}, + [54] = {.index = 85, .length = 2}, + [55] = {.index = 87, .length = 2}, + [56] = {.index = 89, .length = 1}, + [57] = {.index = 90, .length = 2}, + [58] = {.index = 92, .length = 3}, + [59] = {.index = 95, .length = 2}, + [60] = {.index = 97, .length = 2}, + [61] = {.index = 99, .length = 3}, + [62] = {.index = 102, .length = 2}, + [63] = {.index = 104, .length = 1}, + [64] = {.index = 105, .length = 2}, + [65] = {.index = 107, .length = 3}, + [66] = {.index = 110, .length = 2}, + [67] = {.index = 112, .length = 1}, + [69] = {.index = 113, .length = 3}, + [70] = {.index = 116, .length = 1}, + [71] = {.index = 117, .length = 1}, + [72] = {.index = 118, .length = 2}, + [73] = {.index = 120, .length = 2}, + [74] = {.index = 122, .length = 1}, + [75] = {.index = 123, .length = 1}, + [76] = {.index = 124, .length = 2}, + [77] = {.index = 126, .length = 2}, + [78] = {.index = 128, .length = 2}, + [79] = {.index = 130, .length = 3}, + [80] = {.index = 133, .length = 2}, + [81] = {.index = 135, .length = 2}, + [82] = {.index = 137, .length = 3}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_type, 0}, + [1] = + {field_directive, 0}, + [2] = + {field_argument, 1}, + {field_operator, 0}, + [4] = + {field_name, 0}, + [5] = + {field_name, 1}, + [6] = + {field_body, 1}, + [7] = + {field_value, 1}, + [8] = + {field_argument, 0}, + {field_operator, 1}, + [10] = + {field_arguments, 1}, + {field_function, 0}, + [12] = + {field_type, 1}, + [13] = + {field_path, 1}, + [14] = + {field_argument, 1}, + {field_directive, 0}, + [16] = + {field_declarator, 1}, + {field_type, 0}, + [18] = + {field_parameters, 0}, + [19] = + {field_body, 2}, + {field_value, 1}, + [21] = + {field_body, 2}, + {field_name, 1}, + [23] = + {field_name, 2}, + [24] = + {field_body, 2}, + [25] = + {field_condition, 1}, + {field_consequence, 2}, + [27] = + {field_body, 2}, + {field_condition, 1}, + [29] = + {field_label, 1}, + [30] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [33] = + {field_label, 0}, + [34] = + {field_declarator, 1}, + [35] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [37] = + {field_body, 2}, + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [40] = + {field_declarator, 0}, + {field_parameters, 1}, + [42] = + {field_left, 0}, + {field_right, 2}, + [44] = + {field_argument, 0}, + {field_field, 2}, + {field_operator, 1}, + [47] = + {field_name, 1}, + {field_value, 2}, + [49] = + {field_name, 1}, + {field_parameters, 2}, + [51] = + {field_condition, 1}, + [52] = + {field_alternative, 2}, + {field_name, 1}, + [54] = + {field_type, 0, .inherited = true}, + [55] = + {field_declarator, 2}, + {field_type, 0}, + [57] = + {field_type, 1}, + {field_value, 3}, + [59] = + {field_declarator, 2}, + {field_type, 1}, + [61] = + {field_name, 2}, + {field_prefix, 0}, + [63] = + {field_body, 3}, + {field_name, 2}, + [65] = + {field_type, 2}, + [66] = + {field_name, 0}, + {field_type, 2}, + [68] = + {field_declarator, 2}, + [69] = + {field_declarator, 0}, + [70] = + {field_declarator, 0}, + {field_value, 2}, + [72] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_type, 0, .inherited = true}, + [75] = + {field_declarator, 0, .inherited = true}, + {field_declarator, 1, .inherited = true}, + [77] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 1, .inherited = true}, + [80] = + {field_argument, 0}, + {field_index, 2}, + [82] = + {field_name, 1}, + {field_parameters, 2}, + {field_value, 3}, + [85] = + {field_alternative, 3}, + {field_condition, 1}, + [87] = + {field_alternative, 3}, + {field_name, 1}, + [89] = + {field_size, 1}, + [90] = + {field_declarator, 3}, + {field_type, 1}, + [92] = + {field_declarator, 2}, + {field_declarator, 3, .inherited = true}, + {field_type, 1}, + [95] = + {field_declarator, 3}, + {field_type, 2}, + [97] = + {field_name, 0}, + {field_value, 2}, + [99] = + {field_alternative, 4}, + {field_condition, 1}, + {field_consequence, 2}, + [102] = + {field_body, 1}, + {field_condition, 3}, + [104] = + {field_declarator, 3}, + [105] = + {field_declarator, 0}, + {field_size, 2}, + [107] = + {field_alternative, 4}, + {field_condition, 0}, + {field_consequence, 2}, + [110] = + {field_alternative, 4}, + {field_condition, 1}, + [112] = + {field_size, 2}, + [113] = + {field_declarator, 3}, + {field_declarator, 4, .inherited = true}, + {field_type, 2}, + [116] = + {field_initializer, 2}, + [117] = + {field_declarator, 4}, + [118] = + {field_declarator, 0}, + {field_size, 3}, + [120] = + {field_designator, 0}, + {field_value, 2}, + [122] = + {field_update, 4}, + [123] = + {field_condition, 3}, + [124] = + {field_initializer, 2}, + {field_update, 4}, + [126] = + {field_condition, 3}, + {field_initializer, 2}, + [128] = + {field_condition, 3}, + {field_update, 5}, + [130] = + {field_condition, 3}, + {field_initializer, 2}, + {field_update, 5}, + [133] = + {field_initializer, 2}, + {field_update, 5}, + [135] = + {field_condition, 4}, + {field_initializer, 2}, + [137] = + {field_condition, 4}, + {field_initializer, 2}, + {field_update, 6}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, + [1] = { + [0] = alias_sym_type_identifier, + }, + [6] = { + [1] = alias_sym_type_identifier, + }, + [12] = { + [1] = alias_sym_type_identifier, + }, + [19] = { + [1] = alias_sym_type_identifier, + }, + [20] = { + [2] = alias_sym_type_identifier, + }, + [24] = { + [1] = alias_sym_statement_identifier, + }, + [26] = { + [0] = alias_sym_statement_identifier, + }, + [32] = { + [2] = alias_sym_field_identifier, + }, + [42] = { + [0] = alias_sym_field_identifier, + }, + [43] = { + [2] = alias_sym_type_identifier, + }, + [68] = { + [1] = alias_sym_field_identifier, + }, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + 0, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(84); + if (lookahead == '!') ADVANCE(140); + if (lookahead == '"') ADVANCE(237); + if (lookahead == '#') ADVANCE(52); + if (lookahead == '%') ADVANCE(157); + if (lookahead == '&') ADVANCE(166); + if (lookahead == '\'') ADVANCE(228); + if (lookahead == '(') ADVANCE(89); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(153); + if (lookahead == '+') ADVANCE(148); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(143); + if (lookahead == '.') ADVANCE(206); + if (lookahead == '/') ADVANCE(155); + if (lookahead == '0') ADVANCE(213); + if (lookahead == ':') ADVANCE(191); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '<') ADVANCE(173); + if (lookahead == '=') ADVANCE(189); + if (lookahead == '>') ADVANCE(169); + if (lookahead == '?') ADVANCE(192); + if (lookahead == 'L') ADVANCE(249); + if (lookahead == 'U') ADVANCE(251); + if (lookahead == '[') ADVANCE(186); + if (lookahead == '\\') SKIP(79) + if (lookahead == ']') ADVANCE(187); + if (lookahead == '^') ADVANCE(163); + if (lookahead == 'u') ADVANCE(253); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '|') ADVANCE(160); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '~') ADVANCE(141); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(82) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 1: + if (lookahead == '\n') SKIP(28) + END_STATE(); + case 2: + if (lookahead == '\n') SKIP(28) + if (lookahead == '\r') SKIP(1) + END_STATE(); + case 3: + if (lookahead == '\n') SKIP(29) + END_STATE(); + case 4: + if (lookahead == '\n') SKIP(29) + if (lookahead == '\r') SKIP(3) + END_STATE(); + case 5: + if (lookahead == '\n') SKIP(27) + END_STATE(); + case 6: + if (lookahead == '\n') SKIP(27) + if (lookahead == '\r') SKIP(5) + END_STATE(); + case 7: + if (lookahead == '\n') SKIP(33) + END_STATE(); + case 8: + if (lookahead == '\n') SKIP(33) + if (lookahead == '\r') SKIP(7) + END_STATE(); + case 9: + if (lookahead == '\n') SKIP(32) + END_STATE(); + case 10: + if (lookahead == '\n') SKIP(32) + if (lookahead == '\r') SKIP(9) + END_STATE(); + case 11: + if (lookahead == '\n') SKIP(34) + END_STATE(); + case 12: + if (lookahead == '\n') SKIP(34) + if (lookahead == '\r') SKIP(11) + END_STATE(); + case 13: + if (lookahead == '\n') SKIP(31) + END_STATE(); + case 14: + if (lookahead == '\n') SKIP(31) + if (lookahead == '\r') SKIP(13) + END_STATE(); + case 15: + if (lookahead == '\n') SKIP(17) + END_STATE(); + case 16: + if (lookahead == '\n') SKIP(17) + if (lookahead == '\r') SKIP(15) + END_STATE(); + case 17: + if (lookahead == '\n') ADVANCE(86); + if (lookahead == '!') ADVANCE(46); + if (lookahead == '%') ADVANCE(156); + if (lookahead == '&') ADVANCE(165); + if (lookahead == '(') ADVANCE(138); + if (lookahead == '*') ADVANCE(152); + if (lookahead == '+') ADVANCE(147); + if (lookahead == '-') ADVANCE(142); + if (lookahead == '/') ADVANCE(154); + if (lookahead == '<') ADVANCE(174); + if (lookahead == '=') ADVANCE(47); + if (lookahead == '>') ADVANCE(170); + if (lookahead == '\\') SKIP(16) + if (lookahead == '^') ADVANCE(162); + if (lookahead == '|') ADVANCE(161); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(17) + END_STATE(); + case 18: + if (lookahead == '\n') SKIP(30) + END_STATE(); + case 19: + if (lookahead == '\n') SKIP(30) + if (lookahead == '\r') SKIP(18) + END_STATE(); + case 20: + if (lookahead == '\n') SKIP(35) + END_STATE(); + case 21: + if (lookahead == '\n') SKIP(35) + if (lookahead == '\r') SKIP(20) + END_STATE(); + case 22: + if (lookahead == '\n') ADVANCE(87); + if (lookahead == '(') ADVANCE(89); + if (lookahead == '/') ADVANCE(131); + if (lookahead == '\\') ADVANCE(129); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(128); + if (lookahead != 0) ADVANCE(132); + END_STATE(); + case 23: + if (lookahead == '\n') ADVANCE(87); + if (lookahead == '/') ADVANCE(131); + if (lookahead == '\\') ADVANCE(129); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(128); + if (lookahead != 0) ADVANCE(132); + END_STATE(); + case 24: + if (lookahead == '\n') SKIP(36) + if (lookahead == '"') ADVANCE(237); + if (lookahead == '/') ADVANCE(238); + if (lookahead == '\\') ADVANCE(25); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(241); + if (lookahead != 0) ADVANCE(242); + END_STATE(); + case 25: + if (lookahead == '\n') ADVANCE(244); + if (lookahead == '\r') ADVANCE(243); + if (lookahead == 'U') ADVANCE(76); + if (lookahead == 'u') ADVANCE(72); + if (lookahead == 'x') ADVANCE(70); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(246); + if (lookahead != 0) ADVANCE(243); + END_STATE(); + case 26: + if (lookahead == '\n') SKIP(44) + if (lookahead == '/') ADVANCE(231); + if (lookahead == '\\') ADVANCE(230); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(232); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(229); + END_STATE(); + case 27: + if (lookahead == '!') ADVANCE(140); + if (lookahead == '"') ADVANCE(237); + if (lookahead == '#') ADVANCE(59); + if (lookahead == '%') ADVANCE(157); + if (lookahead == '&') ADVANCE(166); + if (lookahead == '\'') ADVANCE(228); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(153); + if (lookahead == '+') ADVANCE(148); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(143); + if (lookahead == '.') ADVANCE(207); + if (lookahead == '/') ADVANCE(155); + if (lookahead == '0') ADVANCE(213); + if (lookahead == ':') ADVANCE(190); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '<') ADVANCE(173); + if (lookahead == '=') ADVANCE(189); + if (lookahead == '>') ADVANCE(169); + if (lookahead == '?') ADVANCE(192); + if (lookahead == 'L') ADVANCE(249); + if (lookahead == 'U') ADVANCE(251); + if (lookahead == '[') ADVANCE(185); + if (lookahead == '\\') SKIP(6) + if (lookahead == ']') ADVANCE(187); + if (lookahead == '^') ADVANCE(163); + if (lookahead == 'u') ADVANCE(253); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '|') ADVANCE(160); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '~') ADVANCE(141); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(27) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 28: + if (lookahead == '!') ADVANCE(139); + if (lookahead == '"') ADVANCE(237); + if (lookahead == '#') ADVANCE(52); + if (lookahead == '&') ADVANCE(164); + if (lookahead == '\'') ADVANCE(228); + if (lookahead == '(') ADVANCE(138); + if (lookahead == '*') ADVANCE(152); + if (lookahead == '+') ADVANCE(149); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(144); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '/') ADVANCE(37); + if (lookahead == '0') ADVANCE(213); + if (lookahead == ':') ADVANCE(45); + if (lookahead == ';') ADVANCE(179); + if (lookahead == 'L') ADVANCE(249); + if (lookahead == 'U') ADVANCE(251); + if (lookahead == '[') ADVANCE(50); + if (lookahead == '\\') SKIP(2) + if (lookahead == ']') ADVANCE(51); + if (lookahead == 'u') ADVANCE(253); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '~') ADVANCE(141); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(28) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 29: + if (lookahead == '!') ADVANCE(139); + if (lookahead == '"') ADVANCE(237); + if (lookahead == '#') ADVANCE(54); + if (lookahead == '&') ADVANCE(164); + if (lookahead == '\'') ADVANCE(228); + if (lookahead == '(') ADVANCE(138); + if (lookahead == '*') ADVANCE(152); + if (lookahead == '+') ADVANCE(149); + if (lookahead == '-') ADVANCE(144); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '/') ADVANCE(37); + if (lookahead == '0') ADVANCE(213); + if (lookahead == ';') ADVANCE(179); + if (lookahead == 'L') ADVANCE(249); + if (lookahead == 'U') ADVANCE(251); + if (lookahead == '[') ADVANCE(50); + if (lookahead == '\\') SKIP(4) + if (lookahead == 'u') ADVANCE(253); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '~') ADVANCE(141); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(29) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 30: + if (lookahead == '!') ADVANCE(139); + if (lookahead == '\'') ADVANCE(228); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '+') ADVANCE(151); + if (lookahead == '-') ADVANCE(146); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '/') ADVANCE(37); + if (lookahead == '0') ADVANCE(213); + if (lookahead == 'L') ADVANCE(257); + if (lookahead == 'U') ADVANCE(258); + if (lookahead == '\\') SKIP(19) + if (lookahead == 'u') ADVANCE(259); + if (lookahead == '~') ADVANCE(141); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(30) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 31: + if (lookahead == '!') ADVANCE(46); + if (lookahead == '"') ADVANCE(237); + if (lookahead == '%') ADVANCE(157); + if (lookahead == '&') ADVANCE(166); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(153); + if (lookahead == '+') ADVANCE(150); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(145); + if (lookahead == '.') ADVANCE(205); + if (lookahead == '/') ADVANCE(155); + if (lookahead == ':') ADVANCE(190); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '<') ADVANCE(173); + if (lookahead == '=') ADVANCE(189); + if (lookahead == '>') ADVANCE(169); + if (lookahead == '?') ADVANCE(192); + if (lookahead == 'L') ADVANCE(250); + if (lookahead == 'U') ADVANCE(252); + if (lookahead == '[') ADVANCE(186); + if (lookahead == '\\') SKIP(14) + if (lookahead == ']') ADVANCE(187); + if (lookahead == '^') ADVANCE(163); + if (lookahead == 'u') ADVANCE(254); + if (lookahead == '|') ADVANCE(160); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(31) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 32: + if (lookahead == '!') ADVANCE(46); + if (lookahead == '#') ADVANCE(57); + if (lookahead == '%') ADVANCE(157); + if (lookahead == '&') ADVANCE(166); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(153); + if (lookahead == '+') ADVANCE(150); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(145); + if (lookahead == '.') ADVANCE(205); + if (lookahead == '/') ADVANCE(155); + if (lookahead == ':') ADVANCE(190); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '<') ADVANCE(173); + if (lookahead == '=') ADVANCE(189); + if (lookahead == '>') ADVANCE(169); + if (lookahead == '?') ADVANCE(192); + if (lookahead == '[') ADVANCE(186); + if (lookahead == '\\') SKIP(10) + if (lookahead == ']') ADVANCE(187); + if (lookahead == '^') ADVANCE(163); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '|') ADVANCE(160); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(32) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 33: + if (lookahead == '!') ADVANCE(46); + if (lookahead == '#') ADVANCE(53); + if (lookahead == '%') ADVANCE(156); + if (lookahead == '&') ADVANCE(165); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(152); + if (lookahead == '+') ADVANCE(147); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(142); + if (lookahead == '.') ADVANCE(42); + if (lookahead == '/') ADVANCE(154); + if (lookahead == ':') ADVANCE(190); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '<') ADVANCE(174); + if (lookahead == '=') ADVANCE(189); + if (lookahead == '>') ADVANCE(170); + if (lookahead == '[') ADVANCE(186); + if (lookahead == '\\') SKIP(8) + if (lookahead == '^') ADVANCE(162); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '|') ADVANCE(161); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(33) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 34: + if (lookahead == '!') ADVANCE(46); + if (lookahead == '#') ADVANCE(55); + if (lookahead == '%') ADVANCE(157); + if (lookahead == '&') ADVANCE(166); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(153); + if (lookahead == '+') ADVANCE(150); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(145); + if (lookahead == '.') ADVANCE(205); + if (lookahead == '/') ADVANCE(155); + if (lookahead == ':') ADVANCE(190); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '<') ADVANCE(173); + if (lookahead == '=') ADVANCE(189); + if (lookahead == '>') ADVANCE(169); + if (lookahead == '?') ADVANCE(192); + if (lookahead == '[') ADVANCE(186); + if (lookahead == '\\') SKIP(12) + if (lookahead == ']') ADVANCE(51); + if (lookahead == '^') ADVANCE(163); + if (lookahead == '|') ADVANCE(160); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(34) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 35: + if (lookahead == '"') ADVANCE(237); + if (lookahead == '/') ADVANCE(37); + if (lookahead == '<') ADVANCE(48); + if (lookahead == 'L') ADVANCE(250); + if (lookahead == 'U') ADVANCE(252); + if (lookahead == '\\') SKIP(21) + if (lookahead == 'u') ADVANCE(254); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(35) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 36: + if (lookahead == '"') ADVANCE(237); + if (lookahead == '/') ADVANCE(37); + if (lookahead == '\\') ADVANCE(25); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(36) + END_STATE(); + case 37: + if (lookahead == '*') ADVANCE(39); + if (lookahead == '/') ADVANCE(264); + END_STATE(); + case 38: + if (lookahead == '*') ADVANCE(38); + if (lookahead == '/') ADVANCE(262); + if (lookahead != 0) ADVANCE(39); + END_STATE(); + case 39: + if (lookahead == '*') ADVANCE(38); + if (lookahead != 0) ADVANCE(39); + END_STATE(); + case 40: + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(211); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(212); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(220); + END_STATE(); + case 41: + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(214); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 42: + if (lookahead == '.') ADVANCE(43); + END_STATE(); + case 43: + if (lookahead == '.') ADVANCE(90); + END_STATE(); + case 44: + if (lookahead == '/') ADVANCE(37); + if (lookahead == '\\') ADVANCE(25); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(44) + END_STATE(); + case 45: + if (lookahead == ':') ADVANCE(180); + END_STATE(); + case 46: + if (lookahead == '=') ADVANCE(168); + END_STATE(); + case 47: + if (lookahead == '=') ADVANCE(167); + END_STATE(); + case 48: + if (lookahead == '>') ADVANCE(247); + if (lookahead == '\\') ADVANCE(49); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(48); + END_STATE(); + case 49: + if (lookahead == '>') ADVANCE(248); + if (lookahead == '\\') ADVANCE(49); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(48); + END_STATE(); + case 50: + if (lookahead == '[') ADVANCE(181); + END_STATE(); + case 51: + if (lookahead == ']') ADVANCE(182); + END_STATE(); + case 52: + if (lookahead == 'd') ADVANCE(104); + if (lookahead == 'e') ADVANCE(120); + if (lookahead == 'i') ADVANCE(110); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(52); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 53: + if (lookahead == 'd') ADVANCE(104); + if (lookahead == 'e') ADVANCE(120); + if (lookahead == 'i') ADVANCE(111); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(53); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 54: + if (lookahead == 'd') ADVANCE(104); + if (lookahead == 'e') ADVANCE(122); + if (lookahead == 'i') ADVANCE(110); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(54); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 55: + if (lookahead == 'd') ADVANCE(104); + if (lookahead == 'e') ADVANCE(122); + if (lookahead == 'i') ADVANCE(111); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(55); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 56: + if (lookahead == 'd') ADVANCE(104); + if (lookahead == 'i') ADVANCE(110); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(56); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 57: + if (lookahead == 'd') ADVANCE(104); + if (lookahead == 'i') ADVANCE(111); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(57); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 58: + if (lookahead == 'd') ADVANCE(61); + END_STATE(); + case 59: + if (lookahead == 'e') ADVANCE(62); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(59); + END_STATE(); + case 60: + if (lookahead == 'f') ADVANCE(94); + END_STATE(); + case 61: + if (lookahead == 'i') ADVANCE(60); + END_STATE(); + case 62: + if (lookahead == 'n') ADVANCE(58); + END_STATE(); + case 63: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 64: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(209); + END_STATE(); + case 65: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(212); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(220); + END_STATE(); + case 66: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(217); + END_STATE(); + case 67: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(220); + END_STATE(); + case 68: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(210); + END_STATE(); + case 69: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(243); + END_STATE(); + case 70: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(69); + END_STATE(); + case 71: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(70); + END_STATE(); + case 72: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(71); + END_STATE(); + case 73: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(72); + END_STATE(); + case 74: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(73); + END_STATE(); + case 75: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(74); + END_STATE(); + case 76: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(75); + END_STATE(); + case 77: + if (lookahead != 0 && + lookahead != '\r') ADVANCE(264); + if (lookahead == '\r') ADVANCE(266); + END_STATE(); + case 78: + if (eof) ADVANCE(84); + if (lookahead == '\n') SKIP(82) + END_STATE(); + case 79: + if (eof) ADVANCE(84); + if (lookahead == '\n') SKIP(82) + if (lookahead == '\r') SKIP(78) + END_STATE(); + case 80: + if (eof) ADVANCE(84); + if (lookahead == '\n') SKIP(83) + END_STATE(); + case 81: + if (eof) ADVANCE(84); + if (lookahead == '\n') SKIP(83) + if (lookahead == '\r') SKIP(80) + END_STATE(); + case 82: + if (eof) ADVANCE(84); + if (lookahead == '!') ADVANCE(140); + if (lookahead == '"') ADVANCE(237); + if (lookahead == '#') ADVANCE(52); + if (lookahead == '%') ADVANCE(157); + if (lookahead == '&') ADVANCE(166); + if (lookahead == '\'') ADVANCE(228); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(153); + if (lookahead == '+') ADVANCE(148); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(143); + if (lookahead == '.') ADVANCE(206); + if (lookahead == '/') ADVANCE(155); + if (lookahead == '0') ADVANCE(213); + if (lookahead == ':') ADVANCE(191); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '<') ADVANCE(173); + if (lookahead == '=') ADVANCE(189); + if (lookahead == '>') ADVANCE(169); + if (lookahead == '?') ADVANCE(192); + if (lookahead == 'L') ADVANCE(249); + if (lookahead == 'U') ADVANCE(251); + if (lookahead == '[') ADVANCE(186); + if (lookahead == '\\') SKIP(79) + if (lookahead == ']') ADVANCE(187); + if (lookahead == '^') ADVANCE(163); + if (lookahead == 'u') ADVANCE(253); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '|') ADVANCE(160); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '~') ADVANCE(141); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(82) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 83: + if (eof) ADVANCE(84); + if (lookahead == '!') ADVANCE(139); + if (lookahead == '"') ADVANCE(237); + if (lookahead == '#') ADVANCE(56); + if (lookahead == '&') ADVANCE(164); + if (lookahead == '\'') ADVANCE(228); + if (lookahead == '(') ADVANCE(138); + if (lookahead == ')') ADVANCE(92); + if (lookahead == '*') ADVANCE(152); + if (lookahead == '+') ADVANCE(149); + if (lookahead == ',') ADVANCE(91); + if (lookahead == '-') ADVANCE(144); + if (lookahead == '.') ADVANCE(207); + if (lookahead == '/') ADVANCE(37); + if (lookahead == '0') ADVANCE(213); + if (lookahead == ':') ADVANCE(190); + if (lookahead == ';') ADVANCE(179); + if (lookahead == '=') ADVANCE(188); + if (lookahead == 'L') ADVANCE(249); + if (lookahead == 'U') ADVANCE(251); + if (lookahead == '[') ADVANCE(186); + if (lookahead == '\\') SKIP(81) + if (lookahead == ']') ADVANCE(187); + if (lookahead == 'u') ADVANCE(253); + if (lookahead == '{') ADVANCE(183); + if (lookahead == '}') ADVANCE(184); + if (lookahead == '~') ADVANCE(141); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(83) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 84: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 85: + ACCEPT_TOKEN(aux_sym_preproc_include_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 86: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(86); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(87); + if (lookahead == '\\') ADVANCE(129); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(128); + END_STATE(); + case 88: + ACCEPT_TOKEN(aux_sym_preproc_def_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 89: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 90: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 91: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 92: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 93: + ACCEPT_TOKEN(aux_sym_preproc_if_token1); + if (lookahead == 'd') ADVANCE(108); + if (lookahead == 'n') ADVANCE(103); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 94: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + END_STATE(); + case 95: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 96: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 97: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 98: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 99: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 100: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'c') ADVANCE(121); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 101: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(119); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 102: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(107); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 103: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(109); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 104: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(112); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 105: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(98); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 106: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(88); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 107: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(85); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 108: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(115); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 109: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(116); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 110: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(93); + if (lookahead == 'n') ADVANCE(100); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 111: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(93); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 112: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(117); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 113: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(99); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 114: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(95); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 115: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(96); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 116: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(97); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 117: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(123); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 118: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(113); + if (lookahead == 's') ADVANCE(105); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 119: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(114); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 120: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(118); + if (lookahead == 'n') ADVANCE(101); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 121: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(124); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 122: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(101); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 123: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(106); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 124: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'u') ADVANCE(102); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 125: + ACCEPT_TOKEN(sym_preproc_directive); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(125); + END_STATE(); + case 126: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(39); + if (lookahead == '*') ADVANCE(126); + if (lookahead == '/') ADVANCE(262); + if (lookahead == '\\') ADVANCE(133); + if (lookahead != 0) ADVANCE(127); + END_STATE(); + case 127: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(39); + if (lookahead == '*') ADVANCE(126); + if (lookahead == '\\') ADVANCE(133); + if (lookahead != 0) ADVANCE(127); + END_STATE(); + case 128: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(87); + if (lookahead == '/') ADVANCE(131); + if (lookahead == '\\') ADVANCE(129); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(128); + if (lookahead != 0) ADVANCE(132); + END_STATE(); + case 129: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(128); + if (lookahead == '\r') ADVANCE(130); + if (lookahead == '\\') ADVANCE(134); + if (lookahead != 0) ADVANCE(132); + END_STATE(); + case 130: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(128); + if (lookahead == '\\') ADVANCE(134); + if (lookahead != 0) ADVANCE(132); + END_STATE(); + case 131: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(127); + if (lookahead == '/') ADVANCE(265); + if (lookahead == '\\') ADVANCE(134); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(132); + END_STATE(); + case 132: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\\') ADVANCE(134); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(132); + END_STATE(); + case 133: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '*' && + lookahead != '\\') ADVANCE(127); + if (lookahead == '\r') ADVANCE(136); + if (lookahead == '*') ADVANCE(126); + if (lookahead == '\\') ADVANCE(133); + END_STATE(); + case 134: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '\\') ADVANCE(132); + if (lookahead == '\r') ADVANCE(137); + if (lookahead == '\\') ADVANCE(134); + END_STATE(); + case 135: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '\\') ADVANCE(265); + if (lookahead == '\r') ADVANCE(267); + if (lookahead == '\\') ADVANCE(263); + END_STATE(); + case 136: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '*' && + lookahead != '\\') ADVANCE(127); + if (lookahead == '*') ADVANCE(126); + if (lookahead == '\\') ADVANCE(133); + END_STATE(); + case 137: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(132); + if (lookahead == '\\') ADVANCE(134); + END_STATE(); + case 138: + ACCEPT_TOKEN(anon_sym_LPAREN2); + END_STATE(); + case 139: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 140: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(168); + END_STATE(); + case 141: + ACCEPT_TOKEN(anon_sym_TILDE); + END_STATE(); + case 142: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 143: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(203); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(213); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(208); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 144: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(203); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(213); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 145: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(203); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(208); + END_STATE(); + case 146: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(213); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 147: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 148: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(204); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(213); + if (lookahead == '=') ADVANCE(196); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 149: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(204); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(213); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 150: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(204); + if (lookahead == '=') ADVANCE(196); + END_STATE(); + case 151: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '.') ADVANCE(64); + if (lookahead == '0') ADVANCE(213); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 152: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 153: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(193); + END_STATE(); + case 154: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(39); + if (lookahead == '/') ADVANCE(264); + END_STATE(); + case 155: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(39); + if (lookahead == '/') ADVANCE(264); + if (lookahead == '=') ADVANCE(194); + END_STATE(); + case 156: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 157: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(195); + END_STATE(); + case 158: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 159: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 160: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(202); + if (lookahead == '|') ADVANCE(158); + END_STATE(); + case 161: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(158); + END_STATE(); + case 162: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 163: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(201); + END_STATE(); + case 164: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 165: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(159); + END_STATE(); + case 166: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(159); + if (lookahead == '=') ADVANCE(200); + END_STATE(); + case 167: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 168: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(171); + if (lookahead == '>') ADVANCE(178); + END_STATE(); + case 170: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(171); + if (lookahead == '>') ADVANCE(177); + END_STATE(); + case 171: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 172: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 173: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(176); + if (lookahead == '=') ADVANCE(172); + END_STATE(); + case 174: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(175); + if (lookahead == '=') ADVANCE(172); + END_STATE(); + case 175: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 176: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '=') ADVANCE(198); + END_STATE(); + case 177: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 178: + ACCEPT_TOKEN(anon_sym_GT_GT); + if (lookahead == '=') ADVANCE(199); + END_STATE(); + case 179: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 180: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 181: + ACCEPT_TOKEN(anon_sym_LBRACK_LBRACK); + END_STATE(); + case 182: + ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK); + END_STATE(); + case 183: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 184: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 185: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 186: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == '[') ADVANCE(181); + END_STATE(); + case 187: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 188: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 189: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(167); + END_STATE(); + case 190: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 191: + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(180); + END_STATE(); + case 192: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 193: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 194: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 195: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 196: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 197: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 198: + ACCEPT_TOKEN(anon_sym_LT_LT_EQ); + END_STATE(); + case 199: + ACCEPT_TOKEN(anon_sym_GT_GT_EQ); + END_STATE(); + case 200: + ACCEPT_TOKEN(anon_sym_AMP_EQ); + END_STATE(); + case 201: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 202: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); + END_STATE(); + case 203: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + END_STATE(); + case 204: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 205: + ACCEPT_TOKEN(anon_sym_DOT); + END_STATE(); + case 206: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(43); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(209); + END_STATE(); + case 207: + ACCEPT_TOKEN(anon_sym_DOT); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(209); + END_STATE(); + case 208: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 209: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(64); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(209); + END_STATE(); + case 210: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(68); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(210); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(210); + END_STATE(); + case 211: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(65); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(220); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'b') ADVANCE(219); + if (lookahead == 'x') ADVANCE(67); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(218); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(220); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(212); + END_STATE(); + case 212: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(65); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(220); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(218); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(220); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(212); + END_STATE(); + case 213: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(63); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'b') ADVANCE(41); + if (lookahead == 'x') ADVANCE(40); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 214: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(63); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'b') ADVANCE(63); + if (lookahead == 'x') ADVANCE(67); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 215: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(63); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(215); + END_STATE(); + case 216: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(66); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(217); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == '+' || + lookahead == '-') ADVANCE(68); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(216); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(217); + END_STATE(); + case 217: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(66); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(217); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(216); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(217); + END_STATE(); + case 218: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(67); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(220); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == '+' || + lookahead == '-') ADVANCE(68); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(218); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(220); + END_STATE(); + case 219: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(67); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(220); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(218); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(220); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(212); + END_STATE(); + case 220: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(67); + if (lookahead == '.') ADVANCE(221); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(220); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(218); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(220); + END_STATE(); + case 221: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(217); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(216); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(222); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(217); + END_STATE(); + case 222: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(210); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + if (lookahead == '+' || + lookahead == '-') ADVANCE(68); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(210); + END_STATE(); + case 223: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(223); + END_STATE(); + case 224: + ACCEPT_TOKEN(anon_sym_L_SQUOTE); + END_STATE(); + case 225: + ACCEPT_TOKEN(anon_sym_u_SQUOTE); + END_STATE(); + case 226: + ACCEPT_TOKEN(anon_sym_U_SQUOTE); + END_STATE(); + case 227: + ACCEPT_TOKEN(anon_sym_u8_SQUOTE); + END_STATE(); + case 228: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 229: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + END_STATE(); + case 230: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '\n') ADVANCE(244); + if (lookahead == '\r') ADVANCE(243); + if (lookahead == 'U') ADVANCE(76); + if (lookahead == 'u') ADVANCE(72); + if (lookahead == 'x') ADVANCE(70); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(246); + if (lookahead != 0) ADVANCE(243); + END_STATE(); + case 231: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '*') ADVANCE(39); + if (lookahead == '/') ADVANCE(264); + END_STATE(); + case 232: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '\\') ADVANCE(25); + END_STATE(); + case 233: + ACCEPT_TOKEN(anon_sym_L_DQUOTE); + END_STATE(); + case 234: + ACCEPT_TOKEN(anon_sym_u_DQUOTE); + END_STATE(); + case 235: + ACCEPT_TOKEN(anon_sym_U_DQUOTE); + END_STATE(); + case 236: + ACCEPT_TOKEN(anon_sym_u8_DQUOTE); + END_STATE(); + case 237: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 238: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(240); + if (lookahead == '/') ADVANCE(242); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(242); + END_STATE(); + case 239: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(239); + if (lookahead == '/') ADVANCE(242); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(240); + END_STATE(); + case 240: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(239); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(240); + END_STATE(); + case 241: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '/') ADVANCE(238); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(241); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(242); + END_STATE(); + case 242: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(242); + END_STATE(); + case 243: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 244: + ACCEPT_TOKEN(sym_escape_sequence); + if (lookahead == '\\') ADVANCE(25); + END_STATE(); + case 245: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(243); + END_STATE(); + case 246: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(245); + END_STATE(); + case 247: + ACCEPT_TOKEN(sym_system_lib_string); + END_STATE(); + case 248: + ACCEPT_TOKEN(sym_system_lib_string); + if (lookahead == '>') ADVANCE(247); + if (lookahead == '\\') ADVANCE(49); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(48); + END_STATE(); + case 249: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(233); + if (lookahead == '\'') ADVANCE(224); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 250: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(233); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 251: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(235); + if (lookahead == '\'') ADVANCE(226); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 252: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(235); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 253: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(234); + if (lookahead == '\'') ADVANCE(225); + if (lookahead == '8') ADVANCE(255); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 254: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(234); + if (lookahead == '8') ADVANCE(256); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 255: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(236); + if (lookahead == '\'') ADVANCE(227); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 256: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(236); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 257: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(224); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 258: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(226); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 259: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(225); + if (lookahead == '8') ADVANCE(260); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 260: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(227); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 261: + ACCEPT_TOKEN(sym_identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(261); + END_STATE(); + case 262: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 263: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(265); + if (lookahead == '\\') ADVANCE(135); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(265); + END_STATE(); + case 264: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(77); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(264); + END_STATE(); + case 265: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(135); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(265); + END_STATE(); + case 266: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(264); + if (lookahead == '\\') ADVANCE(77); + END_STATE(); + case 267: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(265); + if (lookahead == '\\') ADVANCE(135); + END_STATE(); + default: + return false; + } +} + +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (lookahead == 'F') ADVANCE(1); + if (lookahead == 'N') ADVANCE(2); + if (lookahead == 'T') ADVANCE(3); + if (lookahead == '\\') SKIP(4) + if (lookahead == '_') ADVANCE(5); + if (lookahead == 'a') ADVANCE(6); + if (lookahead == 'b') ADVANCE(7); + if (lookahead == 'c') ADVANCE(8); + if (lookahead == 'd') ADVANCE(9); + if (lookahead == 'e') ADVANCE(10); + if (lookahead == 'f') ADVANCE(11); + if (lookahead == 'g') ADVANCE(12); + if (lookahead == 'i') ADVANCE(13); + if (lookahead == 'l') ADVANCE(14); + if (lookahead == 'r') ADVANCE(15); + if (lookahead == 's') ADVANCE(16); + if (lookahead == 't') ADVANCE(17); + if (lookahead == 'u') ADVANCE(18); + if (lookahead == 'v') ADVANCE(19); + if (lookahead == 'w') ADVANCE(20); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(0) + END_STATE(); + case 1: + if (lookahead == 'A') ADVANCE(21); + END_STATE(); + case 2: + if (lookahead == 'U') ADVANCE(22); + END_STATE(); + case 3: + if (lookahead == 'R') ADVANCE(23); + END_STATE(); + case 4: + if (lookahead == '\n') SKIP(0) + if (lookahead == '\r') SKIP(24) + END_STATE(); + case 5: + if (lookahead == 'A') ADVANCE(25); + if (lookahead == '_') ADVANCE(26); + if (lookahead == 'u') ADVANCE(27); + END_STATE(); + case 6: + if (lookahead == 'u') ADVANCE(28); + END_STATE(); + case 7: + if (lookahead == 'o') ADVANCE(29); + if (lookahead == 'r') ADVANCE(30); + END_STATE(); + case 8: + if (lookahead == 'a') ADVANCE(31); + if (lookahead == 'h') ADVANCE(32); + if (lookahead == 'o') ADVANCE(33); + END_STATE(); + case 9: + if (lookahead == 'e') ADVANCE(34); + if (lookahead == 'o') ADVANCE(35); + END_STATE(); + case 10: + if (lookahead == 'l') ADVANCE(36); + if (lookahead == 'n') ADVANCE(37); + if (lookahead == 'x') ADVANCE(38); + END_STATE(); + case 11: + if (lookahead == 'a') ADVANCE(39); + if (lookahead == 'l') ADVANCE(40); + if (lookahead == 'o') ADVANCE(41); + END_STATE(); + case 12: + if (lookahead == 'o') ADVANCE(42); + END_STATE(); + case 13: + if (lookahead == 'f') ADVANCE(43); + if (lookahead == 'n') ADVANCE(44); + END_STATE(); + case 14: + if (lookahead == 'o') ADVANCE(45); + END_STATE(); + case 15: + if (lookahead == 'e') ADVANCE(46); + END_STATE(); + case 16: + if (lookahead == 'h') ADVANCE(47); + if (lookahead == 'i') ADVANCE(48); + if (lookahead == 's') ADVANCE(49); + if (lookahead == 't') ADVANCE(50); + if (lookahead == 'w') ADVANCE(51); + END_STATE(); + case 17: + if (lookahead == 'r') ADVANCE(52); + if (lookahead == 'y') ADVANCE(53); + END_STATE(); + case 18: + if (lookahead == 'i') ADVANCE(54); + if (lookahead == 'n') ADVANCE(55); + END_STATE(); + case 19: + if (lookahead == 'o') ADVANCE(56); + END_STATE(); + case 20: + if (lookahead == 'h') ADVANCE(57); + END_STATE(); + case 21: + if (lookahead == 'L') ADVANCE(58); + END_STATE(); + case 22: + if (lookahead == 'L') ADVANCE(59); + END_STATE(); + case 23: + if (lookahead == 'U') ADVANCE(60); + END_STATE(); + case 24: + if (lookahead == '\n') SKIP(0) + END_STATE(); + case 25: + if (lookahead == 't') ADVANCE(61); + END_STATE(); + case 26: + if (lookahead == 'a') ADVANCE(62); + if (lookahead == 'b') ADVANCE(63); + if (lookahead == 'c') ADVANCE(64); + if (lookahead == 'd') ADVANCE(65); + if (lookahead == 'f') ADVANCE(66); + if (lookahead == 'r') ADVANCE(67); + if (lookahead == 's') ADVANCE(68); + if (lookahead == 't') ADVANCE(69); + if (lookahead == 'u') ADVANCE(70); + if (lookahead == 'v') ADVANCE(71); + END_STATE(); + case 27: + if (lookahead == 'n') ADVANCE(72); + END_STATE(); + case 28: + if (lookahead == 't') ADVANCE(73); + END_STATE(); + case 29: + if (lookahead == 'o') ADVANCE(74); + END_STATE(); + case 30: + if (lookahead == 'e') ADVANCE(75); + END_STATE(); + case 31: + if (lookahead == 's') ADVANCE(76); + END_STATE(); + case 32: + if (lookahead == 'a') ADVANCE(77); + END_STATE(); + case 33: + if (lookahead == 'n') ADVANCE(78); + END_STATE(); + case 34: + if (lookahead == 'f') ADVANCE(79); + END_STATE(); + case 35: + ACCEPT_TOKEN(anon_sym_do); + if (lookahead == 'u') ADVANCE(80); + END_STATE(); + case 36: + if (lookahead == 's') ADVANCE(81); + END_STATE(); + case 37: + if (lookahead == 'u') ADVANCE(82); + END_STATE(); + case 38: + if (lookahead == 't') ADVANCE(83); + END_STATE(); + case 39: + if (lookahead == 'l') ADVANCE(84); + END_STATE(); + case 40: + if (lookahead == 'o') ADVANCE(85); + END_STATE(); + case 41: + if (lookahead == 'r') ADVANCE(86); + END_STATE(); + case 42: + if (lookahead == 't') ADVANCE(87); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 44: + if (lookahead == 'l') ADVANCE(88); + if (lookahead == 't') ADVANCE(89); + END_STATE(); + case 45: + if (lookahead == 'n') ADVANCE(90); + END_STATE(); + case 46: + if (lookahead == 'g') ADVANCE(91); + if (lookahead == 's') ADVANCE(92); + if (lookahead == 't') ADVANCE(93); + END_STATE(); + case 47: + if (lookahead == 'o') ADVANCE(94); + END_STATE(); + case 48: + if (lookahead == 'g') ADVANCE(95); + if (lookahead == 'z') ADVANCE(96); + END_STATE(); + case 49: + if (lookahead == 'i') ADVANCE(97); + END_STATE(); + case 50: + if (lookahead == 'a') ADVANCE(98); + if (lookahead == 'r') ADVANCE(99); + END_STATE(); + case 51: + if (lookahead == 'i') ADVANCE(100); + END_STATE(); + case 52: + if (lookahead == 'u') ADVANCE(101); + END_STATE(); + case 53: + if (lookahead == 'p') ADVANCE(102); + END_STATE(); + case 54: + if (lookahead == 'n') ADVANCE(103); + END_STATE(); + case 55: + if (lookahead == 'i') ADVANCE(104); + if (lookahead == 's') ADVANCE(105); + END_STATE(); + case 56: + if (lookahead == 'i') ADVANCE(106); + if (lookahead == 'l') ADVANCE(107); + END_STATE(); + case 57: + if (lookahead == 'i') ADVANCE(108); + END_STATE(); + case 58: + if (lookahead == 'S') ADVANCE(109); + END_STATE(); + case 59: + if (lookahead == 'L') ADVANCE(110); + END_STATE(); + case 60: + if (lookahead == 'E') ADVANCE(111); + END_STATE(); + case 61: + if (lookahead == 'o') ADVANCE(112); + END_STATE(); + case 62: + if (lookahead == 't') ADVANCE(113); + END_STATE(); + case 63: + if (lookahead == 'a') ADVANCE(114); + END_STATE(); + case 64: + if (lookahead == 'd') ADVANCE(115); + if (lookahead == 'l') ADVANCE(116); + END_STATE(); + case 65: + if (lookahead == 'e') ADVANCE(117); + END_STATE(); + case 66: + if (lookahead == 'a') ADVANCE(118); + END_STATE(); + case 67: + if (lookahead == 'e') ADVANCE(119); + END_STATE(); + case 68: + if (lookahead == 'p') ADVANCE(120); + if (lookahead == 't') ADVANCE(121); + END_STATE(); + case 69: + if (lookahead == 'h') ADVANCE(122); + END_STATE(); + case 70: + if (lookahead == 'n') ADVANCE(123); + if (lookahead == 'p') ADVANCE(124); + END_STATE(); + case 71: + if (lookahead == 'e') ADVANCE(125); + END_STATE(); + case 72: + if (lookahead == 'a') ADVANCE(126); + END_STATE(); + case 73: + if (lookahead == 'o') ADVANCE(127); + END_STATE(); + case 74: + if (lookahead == 'l') ADVANCE(128); + END_STATE(); + case 75: + if (lookahead == 'a') ADVANCE(129); + END_STATE(); + case 76: + if (lookahead == 'e') ADVANCE(130); + END_STATE(); + case 77: + if (lookahead == 'r') ADVANCE(131); + END_STATE(); + case 78: + if (lookahead == 's') ADVANCE(132); + if (lookahead == 't') ADVANCE(133); + END_STATE(); + case 79: + if (lookahead == 'a') ADVANCE(134); + if (lookahead == 'i') ADVANCE(135); + END_STATE(); + case 80: + if (lookahead == 'b') ADVANCE(136); + END_STATE(); + case 81: + if (lookahead == 'e') ADVANCE(137); + END_STATE(); + case 82: + if (lookahead == 'm') ADVANCE(138); + END_STATE(); + case 83: + if (lookahead == 'e') ADVANCE(139); + END_STATE(); + case 84: + if (lookahead == 's') ADVANCE(140); + END_STATE(); + case 85: + if (lookahead == 'a') ADVANCE(141); + END_STATE(); + case 86: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 87: + if (lookahead == 'o') ADVANCE(142); + END_STATE(); + case 88: + if (lookahead == 'i') ADVANCE(143); + END_STATE(); + case 89: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(144); + if (lookahead == '3') ADVANCE(145); + if (lookahead == '6') ADVANCE(146); + if (lookahead == '8') ADVANCE(147); + if (lookahead == 'p') ADVANCE(148); + END_STATE(); + case 90: + if (lookahead == 'g') ADVANCE(149); + END_STATE(); + case 91: + if (lookahead == 'i') ADVANCE(150); + END_STATE(); + case 92: + if (lookahead == 't') ADVANCE(151); + END_STATE(); + case 93: + if (lookahead == 'u') ADVANCE(152); + END_STATE(); + case 94: + if (lookahead == 'r') ADVANCE(153); + END_STATE(); + case 95: + if (lookahead == 'n') ADVANCE(154); + END_STATE(); + case 96: + if (lookahead == 'e') ADVANCE(155); + END_STATE(); + case 97: + if (lookahead == 'z') ADVANCE(156); + END_STATE(); + case 98: + if (lookahead == 't') ADVANCE(157); + END_STATE(); + case 99: + if (lookahead == 'u') ADVANCE(158); + END_STATE(); + case 100: + if (lookahead == 't') ADVANCE(159); + END_STATE(); + case 101: + if (lookahead == 'e') ADVANCE(111); + END_STATE(); + case 102: + if (lookahead == 'e') ADVANCE(160); + END_STATE(); + case 103: + if (lookahead == 't') ADVANCE(161); + END_STATE(); + case 104: + if (lookahead == 'o') ADVANCE(162); + END_STATE(); + case 105: + if (lookahead == 'i') ADVANCE(163); + END_STATE(); + case 106: + if (lookahead == 'd') ADVANCE(128); + END_STATE(); + case 107: + if (lookahead == 'a') ADVANCE(164); + END_STATE(); + case 108: + if (lookahead == 'l') ADVANCE(165); + END_STATE(); + case 109: + if (lookahead == 'E') ADVANCE(166); + END_STATE(); + case 110: + ACCEPT_TOKEN(sym_null); + END_STATE(); + case 111: + ACCEPT_TOKEN(sym_true); + END_STATE(); + case 112: + if (lookahead == 'm') ADVANCE(167); + END_STATE(); + case 113: + if (lookahead == 't') ADVANCE(168); + END_STATE(); + case 114: + if (lookahead == 's') ADVANCE(169); + END_STATE(); + case 115: + if (lookahead == 'e') ADVANCE(170); + END_STATE(); + case 116: + if (lookahead == 'r') ADVANCE(171); + END_STATE(); + case 117: + if (lookahead == 'c') ADVANCE(172); + END_STATE(); + case 118: + if (lookahead == 's') ADVANCE(173); + END_STATE(); + case 119: + if (lookahead == 's') ADVANCE(174); + END_STATE(); + case 120: + if (lookahead == 't') ADVANCE(175); + END_STATE(); + case 121: + if (lookahead == 'd') ADVANCE(176); + END_STATE(); + case 122: + if (lookahead == 'i') ADVANCE(177); + END_STATE(); + case 123: + if (lookahead == 'a') ADVANCE(178); + END_STATE(); + case 124: + if (lookahead == 't') ADVANCE(179); + END_STATE(); + case 125: + if (lookahead == 'c') ADVANCE(180); + END_STATE(); + case 126: + if (lookahead == 'l') ADVANCE(181); + END_STATE(); + case 127: + ACCEPT_TOKEN(anon_sym_auto); + END_STATE(); + case 128: + ACCEPT_TOKEN(sym_primitive_type); + END_STATE(); + case 129: + if (lookahead == 'k') ADVANCE(182); + END_STATE(); + case 130: + ACCEPT_TOKEN(anon_sym_case); + END_STATE(); + case 131: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(183); + if (lookahead == '3') ADVANCE(184); + if (lookahead == '6') ADVANCE(185); + if (lookahead == '8') ADVANCE(186); + if (lookahead == 'p') ADVANCE(187); + END_STATE(); + case 132: + if (lookahead == 't') ADVANCE(188); + END_STATE(); + case 133: + if (lookahead == 'i') ADVANCE(189); + END_STATE(); + case 134: + if (lookahead == 'u') ADVANCE(190); + END_STATE(); + case 135: + if (lookahead == 'n') ADVANCE(191); + END_STATE(); + case 136: + if (lookahead == 'l') ADVANCE(192); + END_STATE(); + case 137: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 138: + ACCEPT_TOKEN(anon_sym_enum); + END_STATE(); + case 139: + if (lookahead == 'r') ADVANCE(193); + END_STATE(); + case 140: + if (lookahead == 'e') ADVANCE(166); + END_STATE(); + case 141: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 142: + ACCEPT_TOKEN(anon_sym_goto); + END_STATE(); + case 143: + if (lookahead == 'n') ADVANCE(194); + END_STATE(); + case 144: + if (lookahead == '6') ADVANCE(195); + END_STATE(); + case 145: + if (lookahead == '2') ADVANCE(196); + END_STATE(); + case 146: + if (lookahead == '4') ADVANCE(197); + END_STATE(); + case 147: + if (lookahead == '_') ADVANCE(198); + END_STATE(); + case 148: + if (lookahead == 't') ADVANCE(199); + END_STATE(); + case 149: + ACCEPT_TOKEN(anon_sym_long); + END_STATE(); + case 150: + if (lookahead == 's') ADVANCE(200); + END_STATE(); + case 151: + if (lookahead == 'r') ADVANCE(201); + END_STATE(); + case 152: + if (lookahead == 'r') ADVANCE(202); + END_STATE(); + case 153: + if (lookahead == 't') ADVANCE(203); + END_STATE(); + case 154: + if (lookahead == 'e') ADVANCE(204); + END_STATE(); + case 155: + if (lookahead == '_') ADVANCE(205); + if (lookahead == 'o') ADVANCE(206); + END_STATE(); + case 156: + if (lookahead == 'e') ADVANCE(207); + END_STATE(); + case 157: + if (lookahead == 'i') ADVANCE(208); + END_STATE(); + case 158: + if (lookahead == 'c') ADVANCE(209); + END_STATE(); + case 159: + if (lookahead == 'c') ADVANCE(210); + END_STATE(); + case 160: + if (lookahead == 'd') ADVANCE(211); + END_STATE(); + case 161: + if (lookahead == '1') ADVANCE(212); + if (lookahead == '3') ADVANCE(213); + if (lookahead == '6') ADVANCE(214); + if (lookahead == '8') ADVANCE(215); + if (lookahead == 'p') ADVANCE(216); + END_STATE(); + case 162: + if (lookahead == 'n') ADVANCE(217); + END_STATE(); + case 163: + if (lookahead == 'g') ADVANCE(218); + END_STATE(); + case 164: + if (lookahead == 't') ADVANCE(219); + END_STATE(); + case 165: + if (lookahead == 'e') ADVANCE(220); + END_STATE(); + case 166: + ACCEPT_TOKEN(sym_false); + END_STATE(); + case 167: + if (lookahead == 'i') ADVANCE(221); + END_STATE(); + case 168: + if (lookahead == 'r') ADVANCE(222); + END_STATE(); + case 169: + if (lookahead == 'e') ADVANCE(223); + END_STATE(); + case 170: + if (lookahead == 'c') ADVANCE(224); + END_STATE(); + case 171: + if (lookahead == 'c') ADVANCE(225); + END_STATE(); + case 172: + if (lookahead == 'l') ADVANCE(226); + END_STATE(); + case 173: + if (lookahead == 't') ADVANCE(227); + END_STATE(); + case 174: + if (lookahead == 't') ADVANCE(228); + END_STATE(); + case 175: + if (lookahead == 'r') ADVANCE(229); + END_STATE(); + case 176: + if (lookahead == 'c') ADVANCE(230); + END_STATE(); + case 177: + if (lookahead == 's') ADVANCE(231); + END_STATE(); + case 178: + if (lookahead == 'l') ADVANCE(232); + END_STATE(); + case 179: + if (lookahead == 'r') ADVANCE(233); + END_STATE(); + case 180: + if (lookahead == 't') ADVANCE(234); + END_STATE(); + case 181: + if (lookahead == 'i') ADVANCE(235); + END_STATE(); + case 182: + ACCEPT_TOKEN(anon_sym_break); + END_STATE(); + case 183: + if (lookahead == '6') ADVANCE(236); + END_STATE(); + case 184: + if (lookahead == '2') ADVANCE(237); + END_STATE(); + case 185: + if (lookahead == '4') ADVANCE(238); + END_STATE(); + case 186: + if (lookahead == '_') ADVANCE(239); + END_STATE(); + case 187: + if (lookahead == 't') ADVANCE(240); + END_STATE(); + case 188: + ACCEPT_TOKEN(anon_sym_const); + END_STATE(); + case 189: + if (lookahead == 'n') ADVANCE(241); + END_STATE(); + case 190: + if (lookahead == 'l') ADVANCE(242); + END_STATE(); + case 191: + if (lookahead == 'e') ADVANCE(243); + END_STATE(); + case 192: + if (lookahead == 'e') ADVANCE(128); + END_STATE(); + case 193: + if (lookahead == 'n') ADVANCE(244); + END_STATE(); + case 194: + if (lookahead == 'e') ADVANCE(245); + END_STATE(); + case 195: + if (lookahead == '_') ADVANCE(246); + END_STATE(); + case 196: + if (lookahead == '_') ADVANCE(247); + END_STATE(); + case 197: + if (lookahead == '_') ADVANCE(248); + END_STATE(); + case 198: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 199: + if (lookahead == 'r') ADVANCE(249); + END_STATE(); + case 200: + if (lookahead == 't') ADVANCE(250); + END_STATE(); + case 201: + if (lookahead == 'i') ADVANCE(251); + END_STATE(); + case 202: + if (lookahead == 'n') ADVANCE(252); + END_STATE(); + case 203: + ACCEPT_TOKEN(anon_sym_short); + END_STATE(); + case 204: + if (lookahead == 'd') ADVANCE(253); + END_STATE(); + case 205: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 206: + if (lookahead == 'f') ADVANCE(254); + END_STATE(); + case 207: + if (lookahead == '_') ADVANCE(255); + END_STATE(); + case 208: + if (lookahead == 'c') ADVANCE(256); + END_STATE(); + case 209: + if (lookahead == 't') ADVANCE(257); + END_STATE(); + case 210: + if (lookahead == 'h') ADVANCE(258); + END_STATE(); + case 211: + if (lookahead == 'e') ADVANCE(259); + END_STATE(); + case 212: + if (lookahead == '6') ADVANCE(260); + END_STATE(); + case 213: + if (lookahead == '2') ADVANCE(261); + END_STATE(); + case 214: + if (lookahead == '4') ADVANCE(262); + END_STATE(); + case 215: + if (lookahead == '_') ADVANCE(263); + END_STATE(); + case 216: + if (lookahead == 't') ADVANCE(264); + END_STATE(); + case 217: + ACCEPT_TOKEN(anon_sym_union); + END_STATE(); + case 218: + if (lookahead == 'n') ADVANCE(265); + END_STATE(); + case 219: + if (lookahead == 'i') ADVANCE(266); + END_STATE(); + case 220: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 221: + if (lookahead == 'c') ADVANCE(267); + END_STATE(); + case 222: + if (lookahead == 'i') ADVANCE(268); + END_STATE(); + case 223: + if (lookahead == 'd') ADVANCE(269); + END_STATE(); + case 224: + if (lookahead == 'l') ADVANCE(270); + END_STATE(); + case 225: + if (lookahead == 'a') ADVANCE(271); + END_STATE(); + case 226: + if (lookahead == 's') ADVANCE(272); + END_STATE(); + case 227: + if (lookahead == 'c') ADVANCE(273); + END_STATE(); + case 228: + if (lookahead == 'r') ADVANCE(274); + END_STATE(); + case 229: + ACCEPT_TOKEN(sym_ms_signed_ptr_modifier); + END_STATE(); + case 230: + if (lookahead == 'a') ADVANCE(275); + END_STATE(); + case 231: + if (lookahead == 'c') ADVANCE(276); + END_STATE(); + case 232: + if (lookahead == 'i') ADVANCE(277); + END_STATE(); + case 233: + ACCEPT_TOKEN(sym_ms_unsigned_ptr_modifier); + END_STATE(); + case 234: + if (lookahead == 'o') ADVANCE(278); + END_STATE(); + case 235: + if (lookahead == 'g') ADVANCE(279); + END_STATE(); + case 236: + if (lookahead == '_') ADVANCE(280); + END_STATE(); + case 237: + if (lookahead == '_') ADVANCE(281); + END_STATE(); + case 238: + if (lookahead == '_') ADVANCE(282); + END_STATE(); + case 239: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 240: + if (lookahead == 'r') ADVANCE(283); + END_STATE(); + case 241: + if (lookahead == 'u') ADVANCE(284); + END_STATE(); + case 242: + if (lookahead == 't') ADVANCE(285); + END_STATE(); + case 243: + if (lookahead == 'd') ADVANCE(286); + END_STATE(); + case 244: + ACCEPT_TOKEN(anon_sym_extern); + END_STATE(); + case 245: + ACCEPT_TOKEN(anon_sym_inline); + END_STATE(); + case 246: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 247: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 248: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 249: + if (lookahead == '_') ADVANCE(287); + END_STATE(); + case 250: + if (lookahead == 'e') ADVANCE(288); + END_STATE(); + case 251: + if (lookahead == 'c') ADVANCE(289); + END_STATE(); + case 252: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 253: + ACCEPT_TOKEN(anon_sym_signed); + END_STATE(); + case 254: + ACCEPT_TOKEN(anon_sym_sizeof); + END_STATE(); + case 255: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 256: + ACCEPT_TOKEN(anon_sym_static); + END_STATE(); + case 257: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 258: + ACCEPT_TOKEN(anon_sym_switch); + END_STATE(); + case 259: + if (lookahead == 'f') ADVANCE(290); + END_STATE(); + case 260: + if (lookahead == '_') ADVANCE(291); + END_STATE(); + case 261: + if (lookahead == '_') ADVANCE(292); + END_STATE(); + case 262: + if (lookahead == '_') ADVANCE(293); + END_STATE(); + case 263: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 264: + if (lookahead == 'r') ADVANCE(294); + END_STATE(); + case 265: + if (lookahead == 'e') ADVANCE(295); + END_STATE(); + case 266: + if (lookahead == 'l') ADVANCE(296); + END_STATE(); + case 267: + ACCEPT_TOKEN(anon_sym__Atomic); + END_STATE(); + case 268: + if (lookahead == 'b') ADVANCE(297); + END_STATE(); + case 269: + ACCEPT_TOKEN(anon_sym___based); + END_STATE(); + case 270: + ACCEPT_TOKEN(anon_sym___cdecl); + END_STATE(); + case 271: + if (lookahead == 'l') ADVANCE(298); + END_STATE(); + case 272: + if (lookahead == 'p') ADVANCE(299); + END_STATE(); + case 273: + if (lookahead == 'a') ADVANCE(300); + END_STATE(); + case 274: + if (lookahead == 'i') ADVANCE(301); + END_STATE(); + case 275: + if (lookahead == 'l') ADVANCE(302); + END_STATE(); + case 276: + if (lookahead == 'a') ADVANCE(303); + END_STATE(); + case 277: + if (lookahead == 'g') ADVANCE(304); + END_STATE(); + case 278: + if (lookahead == 'r') ADVANCE(305); + END_STATE(); + case 279: + if (lookahead == 'n') ADVANCE(306); + END_STATE(); + case 280: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 281: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 282: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 283: + if (lookahead == '_') ADVANCE(307); + END_STATE(); + case 284: + if (lookahead == 'e') ADVANCE(308); + END_STATE(); + case 285: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 286: + ACCEPT_TOKEN(anon_sym_defined); + END_STATE(); + case 287: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 288: + if (lookahead == 'r') ADVANCE(309); + END_STATE(); + case 289: + if (lookahead == 't') ADVANCE(310); + END_STATE(); + case 290: + ACCEPT_TOKEN(anon_sym_typedef); + END_STATE(); + case 291: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 292: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 293: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 294: + if (lookahead == '_') ADVANCE(311); + END_STATE(); + case 295: + if (lookahead == 'd') ADVANCE(312); + END_STATE(); + case 296: + if (lookahead == 'e') ADVANCE(313); + END_STATE(); + case 297: + if (lookahead == 'u') ADVANCE(314); + END_STATE(); + case 298: + if (lookahead == 'l') ADVANCE(315); + END_STATE(); + case 299: + if (lookahead == 'e') ADVANCE(316); + END_STATE(); + case 300: + if (lookahead == 'l') ADVANCE(317); + END_STATE(); + case 301: + if (lookahead == 'c') ADVANCE(318); + END_STATE(); + case 302: + if (lookahead == 'l') ADVANCE(319); + END_STATE(); + case 303: + if (lookahead == 'l') ADVANCE(320); + END_STATE(); + case 304: + if (lookahead == 'n') ADVANCE(321); + END_STATE(); + case 305: + if (lookahead == 'c') ADVANCE(322); + END_STATE(); + case 306: + if (lookahead == 'e') ADVANCE(323); + END_STATE(); + case 307: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 308: + ACCEPT_TOKEN(anon_sym_continue); + END_STATE(); + case 309: + ACCEPT_TOKEN(anon_sym_register); + END_STATE(); + case 310: + ACCEPT_TOKEN(anon_sym_restrict); + END_STATE(); + case 311: + if (lookahead == 't') ADVANCE(128); + END_STATE(); + case 312: + ACCEPT_TOKEN(anon_sym_unsigned); + END_STATE(); + case 313: + ACCEPT_TOKEN(anon_sym_volatile); + END_STATE(); + case 314: + if (lookahead == 't') ADVANCE(324); + END_STATE(); + case 315: + ACCEPT_TOKEN(anon_sym___clrcall); + END_STATE(); + case 316: + if (lookahead == 'c') ADVANCE(325); + END_STATE(); + case 317: + if (lookahead == 'l') ADVANCE(326); + END_STATE(); + case 318: + if (lookahead == 't') ADVANCE(327); + END_STATE(); + case 319: + ACCEPT_TOKEN(anon_sym___stdcall); + END_STATE(); + case 320: + if (lookahead == 'l') ADVANCE(328); + END_STATE(); + case 321: + if (lookahead == 'e') ADVANCE(329); + END_STATE(); + case 322: + if (lookahead == 'a') ADVANCE(330); + END_STATE(); + case 323: + if (lookahead == 'd') ADVANCE(331); + END_STATE(); + case 324: + if (lookahead == 'e') ADVANCE(332); + END_STATE(); + case 325: + ACCEPT_TOKEN(anon_sym___declspec); + END_STATE(); + case 326: + ACCEPT_TOKEN(anon_sym___fastcall); + END_STATE(); + case 327: + ACCEPT_TOKEN(sym_ms_restrict_modifier); + END_STATE(); + case 328: + ACCEPT_TOKEN(anon_sym___thiscall); + END_STATE(); + case 329: + if (lookahead == 'd') ADVANCE(333); + END_STATE(); + case 330: + if (lookahead == 'l') ADVANCE(334); + END_STATE(); + case 331: + ACCEPT_TOKEN(anon_sym__unaligned); + END_STATE(); + case 332: + if (lookahead == '_') ADVANCE(335); + END_STATE(); + case 333: + ACCEPT_TOKEN(anon_sym___unaligned); + END_STATE(); + case 334: + if (lookahead == 'l') ADVANCE(336); + END_STATE(); + case 335: + if (lookahead == '_') ADVANCE(337); + END_STATE(); + case 336: + ACCEPT_TOKEN(anon_sym___vectorcall); + END_STATE(); + case 337: + ACCEPT_TOKEN(anon_sym___attribute__); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0}, + [1] = {.lex_state = 83}, + [2] = {.lex_state = 28}, + [3] = {.lex_state = 28}, + [4] = {.lex_state = 28}, + [5] = {.lex_state = 28}, + [6] = {.lex_state = 28}, + [7] = {.lex_state = 28}, + [8] = {.lex_state = 28}, + [9] = {.lex_state = 28}, + [10] = {.lex_state = 28}, + [11] = {.lex_state = 28}, + [12] = {.lex_state = 28}, + [13] = {.lex_state = 28}, + [14] = {.lex_state = 28}, + [15] = {.lex_state = 28}, + [16] = {.lex_state = 28}, + [17] = {.lex_state = 28}, + [18] = {.lex_state = 28}, + [19] = {.lex_state = 28}, + [20] = {.lex_state = 28}, + [21] = {.lex_state = 83}, + [22] = {.lex_state = 83}, + [23] = {.lex_state = 83}, + [24] = {.lex_state = 83}, + [25] = {.lex_state = 83}, + [26] = {.lex_state = 29}, + [27] = {.lex_state = 83}, + [28] = {.lex_state = 83}, + [29] = {.lex_state = 83}, + [30] = {.lex_state = 83}, + [31] = {.lex_state = 83}, + [32] = {.lex_state = 83}, + [33] = {.lex_state = 83}, + [34] = {.lex_state = 83}, + [35] = {.lex_state = 83}, + [36] = {.lex_state = 83}, + [37] = {.lex_state = 83}, + [38] = {.lex_state = 29}, + [39] = {.lex_state = 29}, + [40] = {.lex_state = 83}, + [41] = {.lex_state = 83}, + [42] = {.lex_state = 83}, + [43] = {.lex_state = 28}, + [44] = {.lex_state = 28}, + [45] = {.lex_state = 28}, + [46] = {.lex_state = 28}, + [47] = {.lex_state = 28}, + [48] = {.lex_state = 83}, + [49] = {.lex_state = 29}, + [50] = {.lex_state = 83}, + [51] = {.lex_state = 83}, + [52] = {.lex_state = 83}, + [53] = {.lex_state = 29}, + [54] = {.lex_state = 29}, + [55] = {.lex_state = 83}, + [56] = {.lex_state = 83}, + [57] = {.lex_state = 83}, + [58] = {.lex_state = 29}, + [59] = {.lex_state = 29}, + [60] = {.lex_state = 83}, + [61] = {.lex_state = 83}, + [62] = {.lex_state = 83}, + [63] = {.lex_state = 83}, + [64] = {.lex_state = 83}, + [65] = {.lex_state = 83}, + [66] = {.lex_state = 83}, + [67] = {.lex_state = 27}, + [68] = {.lex_state = 28}, + [69] = {.lex_state = 28}, + [70] = {.lex_state = 28}, + [71] = {.lex_state = 28}, + [72] = {.lex_state = 28}, + [73] = {.lex_state = 28}, + [74] = {.lex_state = 28}, + [75] = {.lex_state = 28}, + [76] = {.lex_state = 28}, + [77] = {.lex_state = 28}, + [78] = {.lex_state = 28}, + [79] = {.lex_state = 28}, + [80] = {.lex_state = 28}, + [81] = {.lex_state = 28}, + [82] = {.lex_state = 28}, + [83] = {.lex_state = 28}, + [84] = {.lex_state = 28}, + [85] = {.lex_state = 28}, + [86] = {.lex_state = 28}, + [87] = {.lex_state = 28}, + [88] = {.lex_state = 28}, + [89] = {.lex_state = 28}, + [90] = {.lex_state = 28}, + [91] = {.lex_state = 28}, + [92] = {.lex_state = 28}, + [93] = {.lex_state = 28}, + [94] = {.lex_state = 28}, + [95] = {.lex_state = 28}, + [96] = {.lex_state = 28}, + [97] = {.lex_state = 28}, + [98] = {.lex_state = 28}, + [99] = {.lex_state = 28}, + [100] = {.lex_state = 28}, + [101] = {.lex_state = 28}, + [102] = {.lex_state = 28}, + [103] = {.lex_state = 28}, + [104] = {.lex_state = 28}, + [105] = {.lex_state = 28}, + [106] = {.lex_state = 28}, + [107] = {.lex_state = 28}, + [108] = {.lex_state = 28}, + [109] = {.lex_state = 28}, + [110] = {.lex_state = 28}, + [111] = {.lex_state = 28}, + [112] = {.lex_state = 28}, + [113] = {.lex_state = 28}, + [114] = {.lex_state = 28}, + [115] = {.lex_state = 28}, + [116] = {.lex_state = 28}, + [117] = {.lex_state = 28}, + [118] = {.lex_state = 28}, + [119] = {.lex_state = 27}, + [120] = {.lex_state = 28}, + [121] = {.lex_state = 28}, + [122] = {.lex_state = 28}, + [123] = {.lex_state = 28}, + [124] = {.lex_state = 28}, + [125] = {.lex_state = 28}, + [126] = {.lex_state = 28}, + [127] = {.lex_state = 29}, + [128] = {.lex_state = 83}, + [129] = {.lex_state = 83}, + [130] = {.lex_state = 83}, + [131] = {.lex_state = 29}, + [132] = {.lex_state = 29}, + [133] = {.lex_state = 29}, + [134] = {.lex_state = 83}, + [135] = {.lex_state = 83}, + [136] = {.lex_state = 83}, + [137] = {.lex_state = 29}, + [138] = {.lex_state = 83}, + [139] = {.lex_state = 83}, + [140] = {.lex_state = 83}, + [141] = {.lex_state = 29}, + [142] = {.lex_state = 83}, + [143] = {.lex_state = 83}, + [144] = {.lex_state = 83}, + [145] = {.lex_state = 83}, + [146] = {.lex_state = 83}, + [147] = {.lex_state = 83}, + [148] = {.lex_state = 83}, + [149] = {.lex_state = 29}, + [150] = {.lex_state = 83}, + [151] = {.lex_state = 83}, + [152] = {.lex_state = 83}, + [153] = {.lex_state = 29}, + [154] = {.lex_state = 83}, + [155] = {.lex_state = 29}, + [156] = {.lex_state = 29}, + [157] = {.lex_state = 83}, + [158] = {.lex_state = 83}, + [159] = {.lex_state = 83}, + [160] = {.lex_state = 83}, + [161] = {.lex_state = 29}, + [162] = {.lex_state = 83}, + [163] = {.lex_state = 83}, + [164] = {.lex_state = 83}, + [165] = {.lex_state = 29}, + [166] = {.lex_state = 83}, + [167] = {.lex_state = 83}, + [168] = {.lex_state = 83}, + [169] = {.lex_state = 29}, + [170] = {.lex_state = 83}, + [171] = {.lex_state = 29}, + [172] = {.lex_state = 83}, + [173] = {.lex_state = 83}, + [174] = {.lex_state = 83}, + [175] = {.lex_state = 83}, + [176] = {.lex_state = 83}, + [177] = {.lex_state = 83}, + [178] = {.lex_state = 29}, + [179] = {.lex_state = 83}, + [180] = {.lex_state = 83}, + [181] = {.lex_state = 83}, + [182] = {.lex_state = 83}, + [183] = {.lex_state = 83}, + [184] = {.lex_state = 29}, + [185] = {.lex_state = 83}, + [186] = {.lex_state = 83}, + [187] = {.lex_state = 29}, + [188] = {.lex_state = 83}, + [189] = {.lex_state = 29}, + [190] = {.lex_state = 83}, + [191] = {.lex_state = 29}, + [192] = {.lex_state = 29}, + [193] = {.lex_state = 29}, + [194] = {.lex_state = 83}, + [195] = {.lex_state = 83}, + [196] = {.lex_state = 83}, + [197] = {.lex_state = 83}, + [198] = {.lex_state = 83}, + [199] = {.lex_state = 83}, + [200] = {.lex_state = 83}, + [201] = {.lex_state = 83}, + [202] = {.lex_state = 83}, + [203] = {.lex_state = 83}, + [204] = {.lex_state = 29}, + [205] = {.lex_state = 29}, + [206] = {.lex_state = 83}, + [207] = {.lex_state = 83}, + [208] = {.lex_state = 29}, + [209] = {.lex_state = 83}, + [210] = {.lex_state = 83}, + [211] = {.lex_state = 83}, + [212] = {.lex_state = 29}, + [213] = {.lex_state = 83}, + [214] = {.lex_state = 83}, + [215] = {.lex_state = 83}, + [216] = {.lex_state = 29}, + [217] = {.lex_state = 29}, + [218] = {.lex_state = 83}, + [219] = {.lex_state = 83}, + [220] = {.lex_state = 29}, + [221] = {.lex_state = 29}, + [222] = {.lex_state = 29}, + [223] = {.lex_state = 29}, + [224] = {.lex_state = 83}, + [225] = {.lex_state = 83}, + [226] = {.lex_state = 83}, + [227] = {.lex_state = 83}, + [228] = {.lex_state = 83}, + [229] = {.lex_state = 29}, + [230] = {.lex_state = 29}, + [231] = {.lex_state = 29}, + [232] = {.lex_state = 29}, + [233] = {.lex_state = 83}, + [234] = {.lex_state = 29}, + [235] = {.lex_state = 29}, + [236] = {.lex_state = 29}, + [237] = {.lex_state = 83}, + [238] = {.lex_state = 29}, + [239] = {.lex_state = 83}, + [240] = {.lex_state = 83}, + [241] = {.lex_state = 83}, + [242] = {.lex_state = 83}, + [243] = {.lex_state = 83}, + [244] = {.lex_state = 83}, + [245] = {.lex_state = 83}, + [246] = {.lex_state = 83}, + [247] = {.lex_state = 83}, + [248] = {.lex_state = 83}, + [249] = {.lex_state = 29}, + [250] = {.lex_state = 29}, + [251] = {.lex_state = 29}, + [252] = {.lex_state = 83}, + [253] = {.lex_state = 29}, + [254] = {.lex_state = 83}, + [255] = {.lex_state = 29}, + [256] = {.lex_state = 83}, + [257] = {.lex_state = 29}, + [258] = {.lex_state = 29}, + [259] = {.lex_state = 83}, + [260] = {.lex_state = 83}, + [261] = {.lex_state = 83}, + [262] = {.lex_state = 83}, + [263] = {.lex_state = 29}, + [264] = {.lex_state = 29}, + [265] = {.lex_state = 83}, + [266] = {.lex_state = 83}, + [267] = {.lex_state = 29}, + [268] = {.lex_state = 83}, + [269] = {.lex_state = 29}, + [270] = {.lex_state = 83}, + [271] = {.lex_state = 83}, + [272] = {.lex_state = 83}, + [273] = {.lex_state = 29}, + [274] = {.lex_state = 83}, + [275] = {.lex_state = 83}, + [276] = {.lex_state = 83}, + [277] = {.lex_state = 29}, + [278] = {.lex_state = 83}, + [279] = {.lex_state = 83}, + [280] = {.lex_state = 29}, + [281] = {.lex_state = 83}, + [282] = {.lex_state = 83}, + [283] = {.lex_state = 83}, + [284] = {.lex_state = 83}, + [285] = {.lex_state = 83}, + [286] = {.lex_state = 83}, + [287] = {.lex_state = 83}, + [288] = {.lex_state = 83}, + [289] = {.lex_state = 29}, + [290] = {.lex_state = 83}, + [291] = {.lex_state = 83}, + [292] = {.lex_state = 83}, + [293] = {.lex_state = 83}, + [294] = {.lex_state = 83}, + [295] = {.lex_state = 83}, + [296] = {.lex_state = 83}, + [297] = {.lex_state = 83}, + [298] = {.lex_state = 29}, + [299] = {.lex_state = 83}, + [300] = {.lex_state = 29}, + [301] = {.lex_state = 83}, + [302] = {.lex_state = 29}, + [303] = {.lex_state = 29}, + [304] = {.lex_state = 83}, + [305] = {.lex_state = 83}, + [306] = {.lex_state = 83}, + [307] = {.lex_state = 83}, + [308] = {.lex_state = 83}, + [309] = {.lex_state = 83}, + [310] = {.lex_state = 83}, + [311] = {.lex_state = 83}, + [312] = {.lex_state = 83}, + [313] = {.lex_state = 83}, + [314] = {.lex_state = 83}, + [315] = {.lex_state = 83}, + [316] = {.lex_state = 83}, + [317] = {.lex_state = 83}, + [318] = {.lex_state = 83}, + [319] = {.lex_state = 83}, + [320] = {.lex_state = 83}, + [321] = {.lex_state = 83}, + [322] = {.lex_state = 83}, + [323] = {.lex_state = 83}, + [324] = {.lex_state = 83}, + [325] = {.lex_state = 83}, + [326] = {.lex_state = 83}, + [327] = {.lex_state = 83}, + [328] = {.lex_state = 83}, + [329] = {.lex_state = 83}, + [330] = {.lex_state = 83}, + [331] = {.lex_state = 83}, + [332] = {.lex_state = 83}, + [333] = {.lex_state = 83}, + [334] = {.lex_state = 83}, + [335] = {.lex_state = 83}, + [336] = {.lex_state = 83}, + [337] = {.lex_state = 83}, + [338] = {.lex_state = 83}, + [339] = {.lex_state = 83}, + [340] = {.lex_state = 83}, + [341] = {.lex_state = 83}, + [342] = {.lex_state = 83}, + [343] = {.lex_state = 83}, + [344] = {.lex_state = 83}, + [345] = {.lex_state = 83}, + [346] = {.lex_state = 83}, + [347] = {.lex_state = 83}, + [348] = {.lex_state = 83}, + [349] = {.lex_state = 83}, + [350] = {.lex_state = 83}, + [351] = {.lex_state = 83}, + [352] = {.lex_state = 83}, + [353] = {.lex_state = 83}, + [354] = {.lex_state = 83}, + [355] = {.lex_state = 83}, + [356] = {.lex_state = 83}, + [357] = {.lex_state = 83}, + [358] = {.lex_state = 83}, + [359] = {.lex_state = 83}, + [360] = {.lex_state = 83}, + [361] = {.lex_state = 83}, + [362] = {.lex_state = 83}, + [363] = {.lex_state = 83}, + [364] = {.lex_state = 83}, + [365] = {.lex_state = 83}, + [366] = {.lex_state = 83}, + [367] = {.lex_state = 83}, + [368] = {.lex_state = 83}, + [369] = {.lex_state = 83}, + [370] = {.lex_state = 83}, + [371] = {.lex_state = 83}, + [372] = {.lex_state = 83}, + [373] = {.lex_state = 83}, + [374] = {.lex_state = 83}, + [375] = {.lex_state = 83}, + [376] = {.lex_state = 83}, + [377] = {.lex_state = 27}, + [378] = {.lex_state = 83}, + [379] = {.lex_state = 83}, + [380] = {.lex_state = 83}, + [381] = {.lex_state = 83}, + [382] = {.lex_state = 83}, + [383] = {.lex_state = 83}, + [384] = {.lex_state = 83}, + [385] = {.lex_state = 83}, + [386] = {.lex_state = 83}, + [387] = {.lex_state = 83}, + [388] = {.lex_state = 27}, + [389] = {.lex_state = 83}, + [390] = {.lex_state = 33}, + [391] = {.lex_state = 33}, + [392] = {.lex_state = 33}, + [393] = {.lex_state = 33}, + [394] = {.lex_state = 33}, + [395] = {.lex_state = 33}, + [396] = {.lex_state = 33}, + [397] = {.lex_state = 33}, + [398] = {.lex_state = 33}, + [399] = {.lex_state = 33}, + [400] = {.lex_state = 33}, + [401] = {.lex_state = 33}, + [402] = {.lex_state = 33}, + [403] = {.lex_state = 33}, + [404] = {.lex_state = 33}, + [405] = {.lex_state = 32}, + [406] = {.lex_state = 32}, + [407] = {.lex_state = 32}, + [408] = {.lex_state = 32}, + [409] = {.lex_state = 32}, + [410] = {.lex_state = 32}, + [411] = {.lex_state = 32}, + [412] = {.lex_state = 32}, + [413] = {.lex_state = 83}, + [414] = {.lex_state = 32}, + [415] = {.lex_state = 33}, + [416] = {.lex_state = 83}, + [417] = {.lex_state = 83}, + [418] = {.lex_state = 32}, + [419] = {.lex_state = 32}, + [420] = {.lex_state = 34}, + [421] = {.lex_state = 83}, + [422] = {.lex_state = 34}, + [423] = {.lex_state = 32}, + [424] = {.lex_state = 34}, + [425] = {.lex_state = 83}, + [426] = {.lex_state = 33}, + [427] = {.lex_state = 83}, + [428] = {.lex_state = 83}, + [429] = {.lex_state = 83}, + [430] = {.lex_state = 83}, + [431] = {.lex_state = 31}, + [432] = {.lex_state = 83}, + [433] = {.lex_state = 83}, + [434] = {.lex_state = 83}, + [435] = {.lex_state = 31}, + [436] = {.lex_state = 31}, + [437] = {.lex_state = 83}, + [438] = {.lex_state = 83}, + [439] = {.lex_state = 31}, + [440] = {.lex_state = 33}, + [441] = {.lex_state = 33}, + [442] = {.lex_state = 33}, + [443] = {.lex_state = 31}, + [444] = {.lex_state = 33}, + [445] = {.lex_state = 83}, + [446] = {.lex_state = 83}, + [447] = {.lex_state = 83}, + [448] = {.lex_state = 83}, + [449] = {.lex_state = 83}, + [450] = {.lex_state = 83}, + [451] = {.lex_state = 83}, + [452] = {.lex_state = 83}, + [453] = {.lex_state = 83}, + [454] = {.lex_state = 83}, + [455] = {.lex_state = 83}, + [456] = {.lex_state = 83}, + [457] = {.lex_state = 83}, + [458] = {.lex_state = 83}, + [459] = {.lex_state = 83}, + [460] = {.lex_state = 83}, + [461] = {.lex_state = 83}, + [462] = {.lex_state = 83}, + [463] = {.lex_state = 83}, + [464] = {.lex_state = 83}, + [465] = {.lex_state = 83}, + [466] = {.lex_state = 83}, + [467] = {.lex_state = 83}, + [468] = {.lex_state = 83}, + [469] = {.lex_state = 83}, + [470] = {.lex_state = 83}, + [471] = {.lex_state = 83}, + [472] = {.lex_state = 83}, + [473] = {.lex_state = 83}, + [474] = {.lex_state = 83}, + [475] = {.lex_state = 83}, + [476] = {.lex_state = 83}, + [477] = {.lex_state = 83}, + [478] = {.lex_state = 83}, + [479] = {.lex_state = 83}, + [480] = {.lex_state = 83}, + [481] = {.lex_state = 83}, + [482] = {.lex_state = 83}, + [483] = {.lex_state = 83}, + [484] = {.lex_state = 83}, + [485] = {.lex_state = 83}, + [486] = {.lex_state = 83}, + [487] = {.lex_state = 83}, + [488] = {.lex_state = 83}, + [489] = {.lex_state = 83}, + [490] = {.lex_state = 83}, + [491] = {.lex_state = 83}, + [492] = {.lex_state = 83}, + [493] = {.lex_state = 83}, + [494] = {.lex_state = 32}, + [495] = {.lex_state = 83}, + [496] = {.lex_state = 83}, + [497] = {.lex_state = 83}, + [498] = {.lex_state = 83}, + [499] = {.lex_state = 83}, + [500] = {.lex_state = 83}, + [501] = {.lex_state = 83}, + [502] = {.lex_state = 83}, + [503] = {.lex_state = 83}, + [504] = {.lex_state = 83}, + [505] = {.lex_state = 83}, + [506] = {.lex_state = 83}, + [507] = {.lex_state = 83}, + [508] = {.lex_state = 83}, + [509] = {.lex_state = 83}, + [510] = {.lex_state = 83}, + [511] = {.lex_state = 83}, + [512] = {.lex_state = 83}, + [513] = {.lex_state = 83}, + [514] = {.lex_state = 83}, + [515] = {.lex_state = 83}, + [516] = {.lex_state = 32}, + [517] = {.lex_state = 83}, + [518] = {.lex_state = 83}, + [519] = {.lex_state = 83}, + [520] = {.lex_state = 83}, + [521] = {.lex_state = 34}, + [522] = {.lex_state = 83}, + [523] = {.lex_state = 83}, + [524] = {.lex_state = 83}, + [525] = {.lex_state = 83}, + [526] = {.lex_state = 83}, + [527] = {.lex_state = 83}, + [528] = {.lex_state = 83}, + [529] = {.lex_state = 83}, + [530] = {.lex_state = 83}, + [531] = {.lex_state = 34}, + [532] = {.lex_state = 32}, + [533] = {.lex_state = 83}, + [534] = {.lex_state = 32}, + [535] = {.lex_state = 83}, + [536] = {.lex_state = 83}, + [537] = {.lex_state = 32}, + [538] = {.lex_state = 32}, + [539] = {.lex_state = 32}, + [540] = {.lex_state = 83}, + [541] = {.lex_state = 83}, + [542] = {.lex_state = 83}, + [543] = {.lex_state = 83}, + [544] = {.lex_state = 83}, + [545] = {.lex_state = 83}, + [546] = {.lex_state = 83}, + [547] = {.lex_state = 83}, + [548] = {.lex_state = 83}, + [549] = {.lex_state = 32}, + [550] = {.lex_state = 32}, + [551] = {.lex_state = 32}, + [552] = {.lex_state = 83}, + [553] = {.lex_state = 83}, + [554] = {.lex_state = 83}, + [555] = {.lex_state = 83}, + [556] = {.lex_state = 83}, + [557] = {.lex_state = 83}, + [558] = {.lex_state = 83}, + [559] = {.lex_state = 32}, + [560] = {.lex_state = 83}, + [561] = {.lex_state = 83}, + [562] = {.lex_state = 83}, + [563] = {.lex_state = 32}, + [564] = {.lex_state = 83}, + [565] = {.lex_state = 32}, + [566] = {.lex_state = 83}, + [567] = {.lex_state = 34}, + [568] = {.lex_state = 83}, + [569] = {.lex_state = 83}, + [570] = {.lex_state = 83}, + [571] = {.lex_state = 83}, + [572] = {.lex_state = 83}, + [573] = {.lex_state = 83}, + [574] = {.lex_state = 83}, + [575] = {.lex_state = 32}, + [576] = {.lex_state = 32}, + [577] = {.lex_state = 83}, + [578] = {.lex_state = 83}, + [579] = {.lex_state = 32}, + [580] = {.lex_state = 83}, + [581] = {.lex_state = 32}, + [582] = {.lex_state = 83}, + [583] = {.lex_state = 83}, + [584] = {.lex_state = 32}, + [585] = {.lex_state = 32}, + [586] = {.lex_state = 83}, + [587] = {.lex_state = 32}, + [588] = {.lex_state = 32}, + [589] = {.lex_state = 32}, + [590] = {.lex_state = 83}, + [591] = {.lex_state = 32}, + [592] = {.lex_state = 32}, + [593] = {.lex_state = 83}, + [594] = {.lex_state = 83}, + [595] = {.lex_state = 83}, + [596] = {.lex_state = 32}, + [597] = {.lex_state = 83}, + [598] = {.lex_state = 83}, + [599] = {.lex_state = 83}, + [600] = {.lex_state = 32}, + [601] = {.lex_state = 83}, + [602] = {.lex_state = 32}, + [603] = {.lex_state = 83}, + [604] = {.lex_state = 83}, + [605] = {.lex_state = 32}, + [606] = {.lex_state = 83}, + [607] = {.lex_state = 32}, + [608] = {.lex_state = 32}, + [609] = {.lex_state = 32}, + [610] = {.lex_state = 83}, + [611] = {.lex_state = 83}, + [612] = {.lex_state = 83}, + [613] = {.lex_state = 83}, + [614] = {.lex_state = 32}, + [615] = {.lex_state = 33}, + [616] = {.lex_state = 32}, + [617] = {.lex_state = 83}, + [618] = {.lex_state = 32}, + [619] = {.lex_state = 32}, + [620] = {.lex_state = 33}, + [621] = {.lex_state = 32}, + [622] = {.lex_state = 83}, + [623] = {.lex_state = 32}, + [624] = {.lex_state = 32}, + [625] = {.lex_state = 83}, + [626] = {.lex_state = 32}, + [627] = {.lex_state = 32}, + [628] = {.lex_state = 32}, + [629] = {.lex_state = 32}, + [630] = {.lex_state = 32}, + [631] = {.lex_state = 32}, + [632] = {.lex_state = 32}, + [633] = {.lex_state = 32}, + [634] = {.lex_state = 32}, + [635] = {.lex_state = 32}, + [636] = {.lex_state = 32}, + [637] = {.lex_state = 32}, + [638] = {.lex_state = 32}, + [639] = {.lex_state = 32}, + [640] = {.lex_state = 32}, + [641] = {.lex_state = 32}, + [642] = {.lex_state = 32}, + [643] = {.lex_state = 32}, + [644] = {.lex_state = 32}, + [645] = {.lex_state = 33}, + [646] = {.lex_state = 33}, + [647] = {.lex_state = 33}, + [648] = {.lex_state = 33}, + [649] = {.lex_state = 33}, + [650] = {.lex_state = 33}, + [651] = {.lex_state = 33}, + [652] = {.lex_state = 83}, + [653] = {.lex_state = 32}, + [654] = {.lex_state = 32}, + [655] = {.lex_state = 32}, + [656] = {.lex_state = 32}, + [657] = {.lex_state = 32}, + [658] = {.lex_state = 32}, + [659] = {.lex_state = 32}, + [660] = {.lex_state = 32}, + [661] = {.lex_state = 32}, + [662] = {.lex_state = 32}, + [663] = {.lex_state = 32}, + [664] = {.lex_state = 32}, + [665] = {.lex_state = 33}, + [666] = {.lex_state = 33}, + [667] = {.lex_state = 83}, + [668] = {.lex_state = 33}, + [669] = {.lex_state = 33}, + [670] = {.lex_state = 33}, + [671] = {.lex_state = 33}, + [672] = {.lex_state = 33}, + [673] = {.lex_state = 33}, + [674] = {.lex_state = 33}, + [675] = {.lex_state = 33}, + [676] = {.lex_state = 33}, + [677] = {.lex_state = 33}, + [678] = {.lex_state = 33}, + [679] = {.lex_state = 33}, + [680] = {.lex_state = 33}, + [681] = {.lex_state = 33}, + [682] = {.lex_state = 33}, + [683] = {.lex_state = 33}, + [684] = {.lex_state = 33}, + [685] = {.lex_state = 33}, + [686] = {.lex_state = 33}, + [687] = {.lex_state = 33}, + [688] = {.lex_state = 32}, + [689] = {.lex_state = 32}, + [690] = {.lex_state = 33}, + [691] = {.lex_state = 33}, + [692] = {.lex_state = 33}, + [693] = {.lex_state = 33}, + [694] = {.lex_state = 32}, + [695] = {.lex_state = 32}, + [696] = {.lex_state = 33}, + [697] = {.lex_state = 32}, + [698] = {.lex_state = 32}, + [699] = {.lex_state = 32}, + [700] = {.lex_state = 32}, + [701] = {.lex_state = 32}, + [702] = {.lex_state = 32}, + [703] = {.lex_state = 32}, + [704] = {.lex_state = 32}, + [705] = {.lex_state = 32}, + [706] = {.lex_state = 32}, + [707] = {.lex_state = 32}, + [708] = {.lex_state = 32}, + [709] = {.lex_state = 32}, + [710] = {.lex_state = 32}, + [711] = {.lex_state = 32}, + [712] = {.lex_state = 33}, + [713] = {.lex_state = 32}, + [714] = {.lex_state = 32}, + [715] = {.lex_state = 32}, + [716] = {.lex_state = 33}, + [717] = {.lex_state = 32}, + [718] = {.lex_state = 32}, + [719] = {.lex_state = 32}, + [720] = {.lex_state = 32}, + [721] = {.lex_state = 32}, + [722] = {.lex_state = 32}, + [723] = {.lex_state = 33}, + [724] = {.lex_state = 32}, + [725] = {.lex_state = 32}, + [726] = {.lex_state = 32}, + [727] = {.lex_state = 32}, + [728] = {.lex_state = 32}, + [729] = {.lex_state = 33}, + [730] = {.lex_state = 32}, + [731] = {.lex_state = 32}, + [732] = {.lex_state = 33}, + [733] = {.lex_state = 32}, + [734] = {.lex_state = 32}, + [735] = {.lex_state = 32}, + [736] = {.lex_state = 32}, + [737] = {.lex_state = 32}, + [738] = {.lex_state = 32}, + [739] = {.lex_state = 32}, + [740] = {.lex_state = 32}, + [741] = {.lex_state = 32}, + [742] = {.lex_state = 32}, + [743] = {.lex_state = 32}, + [744] = {.lex_state = 32}, + [745] = {.lex_state = 32}, + [746] = {.lex_state = 32}, + [747] = {.lex_state = 32}, + [748] = {.lex_state = 32}, + [749] = {.lex_state = 32}, + [750] = {.lex_state = 32}, + [751] = {.lex_state = 34}, + [752] = {.lex_state = 32}, + [753] = {.lex_state = 32}, + [754] = {.lex_state = 32}, + [755] = {.lex_state = 32}, + [756] = {.lex_state = 32}, + [757] = {.lex_state = 32}, + [758] = {.lex_state = 32}, + [759] = {.lex_state = 32}, + [760] = {.lex_state = 32}, + [761] = {.lex_state = 32}, + [762] = {.lex_state = 32}, + [763] = {.lex_state = 32}, + [764] = {.lex_state = 31}, + [765] = {.lex_state = 32}, + [766] = {.lex_state = 32}, + [767] = {.lex_state = 32}, + [768] = {.lex_state = 32}, + [769] = {.lex_state = 34}, + [770] = {.lex_state = 34}, + [771] = {.lex_state = 32}, + [772] = {.lex_state = 32}, + [773] = {.lex_state = 32}, + [774] = {.lex_state = 33}, + [775] = {.lex_state = 33}, + [776] = {.lex_state = 32}, + [777] = {.lex_state = 32}, + [778] = {.lex_state = 32}, + [779] = {.lex_state = 32}, + [780] = {.lex_state = 32}, + [781] = {.lex_state = 34}, + [782] = {.lex_state = 34}, + [783] = {.lex_state = 32}, + [784] = {.lex_state = 34}, + [785] = {.lex_state = 32}, + [786] = {.lex_state = 34}, + [787] = {.lex_state = 34}, + [788] = {.lex_state = 32}, + [789] = {.lex_state = 32}, + [790] = {.lex_state = 32}, + [791] = {.lex_state = 32}, + [792] = {.lex_state = 34}, + [793] = {.lex_state = 32}, + [794] = {.lex_state = 32}, + [795] = {.lex_state = 32}, + [796] = {.lex_state = 34}, + [797] = {.lex_state = 32}, + [798] = {.lex_state = 34}, + [799] = {.lex_state = 32}, + [800] = {.lex_state = 32}, + [801] = {.lex_state = 31}, + [802] = {.lex_state = 32}, + [803] = {.lex_state = 32}, + [804] = {.lex_state = 32}, + [805] = {.lex_state = 32}, + [806] = {.lex_state = 32}, + [807] = {.lex_state = 32}, + [808] = {.lex_state = 32}, + [809] = {.lex_state = 32}, + [810] = {.lex_state = 32}, + [811] = {.lex_state = 34}, + [812] = {.lex_state = 32}, + [813] = {.lex_state = 32}, + [814] = {.lex_state = 32}, + [815] = {.lex_state = 34}, + [816] = {.lex_state = 32}, + [817] = {.lex_state = 34}, + [818] = {.lex_state = 34}, + [819] = {.lex_state = 34}, + [820] = {.lex_state = 32}, + [821] = {.lex_state = 32}, + [822] = {.lex_state = 32}, + [823] = {.lex_state = 32}, + [824] = {.lex_state = 32}, + [825] = {.lex_state = 32}, + [826] = {.lex_state = 34}, + [827] = {.lex_state = 32}, + [828] = {.lex_state = 34}, + [829] = {.lex_state = 34}, + [830] = {.lex_state = 31}, + [831] = {.lex_state = 32}, + [832] = {.lex_state = 32}, + [833] = {.lex_state = 31}, + [834] = {.lex_state = 32}, + [835] = {.lex_state = 34}, + [836] = {.lex_state = 33}, + [837] = {.lex_state = 33}, + [838] = {.lex_state = 33}, + [839] = {.lex_state = 33}, + [840] = {.lex_state = 33}, + [841] = {.lex_state = 33}, + [842] = {.lex_state = 33}, + [843] = {.lex_state = 33}, + [844] = {.lex_state = 33}, + [845] = {.lex_state = 33}, + [846] = {.lex_state = 33}, + [847] = {.lex_state = 33}, + [848] = {.lex_state = 33}, + [849] = {.lex_state = 33}, + [850] = {.lex_state = 33}, + [851] = {.lex_state = 33}, + [852] = {.lex_state = 33}, + [853] = {.lex_state = 33}, + [854] = {.lex_state = 33}, + [855] = {.lex_state = 33}, + [856] = {.lex_state = 33}, + [857] = {.lex_state = 33}, + [858] = {.lex_state = 33}, + [859] = {.lex_state = 33}, + [860] = {.lex_state = 33}, + [861] = {.lex_state = 33}, + [862] = {.lex_state = 33}, + [863] = {.lex_state = 33}, + [864] = {.lex_state = 33}, + [865] = {.lex_state = 33}, + [866] = {.lex_state = 33}, + [867] = {.lex_state = 33}, + [868] = {.lex_state = 33}, + [869] = {.lex_state = 33}, + [870] = {.lex_state = 33}, + [871] = {.lex_state = 33}, + [872] = {.lex_state = 33}, + [873] = {.lex_state = 33}, + [874] = {.lex_state = 33}, + [875] = {.lex_state = 17}, + [876] = {.lex_state = 33}, + [877] = {.lex_state = 33}, + [878] = {.lex_state = 33}, + [879] = {.lex_state = 33}, + [880] = {.lex_state = 33}, + [881] = {.lex_state = 33}, + [882] = {.lex_state = 33}, + [883] = {.lex_state = 33}, + [884] = {.lex_state = 33}, + [885] = {.lex_state = 33}, + [886] = {.lex_state = 33}, + [887] = {.lex_state = 33}, + [888] = {.lex_state = 33}, + [889] = {.lex_state = 30}, + [890] = {.lex_state = 33}, + [891] = {.lex_state = 33}, + [892] = {.lex_state = 33}, + [893] = {.lex_state = 33}, + [894] = {.lex_state = 30}, + [895] = {.lex_state = 33}, + [896] = {.lex_state = 33}, + [897] = {.lex_state = 33}, + [898] = {.lex_state = 30}, + [899] = {.lex_state = 30}, + [900] = {.lex_state = 30}, + [901] = {.lex_state = 30}, + [902] = {.lex_state = 30}, + [903] = {.lex_state = 30}, + [904] = {.lex_state = 30}, + [905] = {.lex_state = 30}, + [906] = {.lex_state = 33}, + [907] = {.lex_state = 30}, + [908] = {.lex_state = 30}, + [909] = {.lex_state = 30}, + [910] = {.lex_state = 30}, + [911] = {.lex_state = 30}, + [912] = {.lex_state = 30}, + [913] = {.lex_state = 33}, + [914] = {.lex_state = 33}, + [915] = {.lex_state = 33}, + [916] = {.lex_state = 33}, + [917] = {.lex_state = 30}, + [918] = {.lex_state = 33}, + [919] = {.lex_state = 30}, + [920] = {.lex_state = 30}, + [921] = {.lex_state = 30}, + [922] = {.lex_state = 30}, + [923] = {.lex_state = 30}, + [924] = {.lex_state = 30}, + [925] = {.lex_state = 30}, + [926] = {.lex_state = 30}, + [927] = {.lex_state = 30}, + [928] = {.lex_state = 30}, + [929] = {.lex_state = 30}, + [930] = {.lex_state = 30}, + [931] = {.lex_state = 30}, + [932] = {.lex_state = 33}, + [933] = {.lex_state = 33}, + [934] = {.lex_state = 30}, + [935] = {.lex_state = 33}, + [936] = {.lex_state = 30}, + [937] = {.lex_state = 30}, + [938] = {.lex_state = 33}, + [939] = {.lex_state = 33}, + [940] = {.lex_state = 30}, + [941] = {.lex_state = 30}, + [942] = {.lex_state = 33}, + [943] = {.lex_state = 33}, + [944] = {.lex_state = 33}, + [945] = {.lex_state = 33}, + [946] = {.lex_state = 33}, + [947] = {.lex_state = 33}, + [948] = {.lex_state = 33}, + [949] = {.lex_state = 33}, + [950] = {.lex_state = 30}, + [951] = {.lex_state = 33}, + [952] = {.lex_state = 17}, + [953] = {.lex_state = 17}, + [954] = {.lex_state = 17}, + [955] = {.lex_state = 17}, + [956] = {.lex_state = 33}, + [957] = {.lex_state = 17}, + [958] = {.lex_state = 17}, + [959] = {.lex_state = 17}, + [960] = {.lex_state = 17}, + [961] = {.lex_state = 17}, + [962] = {.lex_state = 17}, + [963] = {.lex_state = 17}, + [964] = {.lex_state = 33}, + [965] = {.lex_state = 17}, + [966] = {.lex_state = 17}, + [967] = {.lex_state = 17}, + [968] = {.lex_state = 17}, + [969] = {.lex_state = 17}, + [970] = {.lex_state = 17}, + [971] = {.lex_state = 17}, + [972] = {.lex_state = 17}, + [973] = {.lex_state = 17}, + [974] = {.lex_state = 17}, + [975] = {.lex_state = 17}, + [976] = {.lex_state = 17}, + [977] = {.lex_state = 17}, + [978] = {.lex_state = 17}, + [979] = {.lex_state = 17}, + [980] = {.lex_state = 17}, + [981] = {.lex_state = 17}, + [982] = {.lex_state = 33}, + [983] = {.lex_state = 33}, + [984] = {.lex_state = 33}, + [985] = {.lex_state = 33}, + [986] = {.lex_state = 33}, + [987] = {.lex_state = 33}, + [988] = {.lex_state = 33}, + [989] = {.lex_state = 33}, + [990] = {.lex_state = 33}, + [991] = {.lex_state = 33}, + [992] = {.lex_state = 33}, + [993] = {.lex_state = 33}, + [994] = {.lex_state = 33}, + [995] = {.lex_state = 33}, + [996] = {.lex_state = 33}, + [997] = {.lex_state = 33}, + [998] = {.lex_state = 33}, + [999] = {.lex_state = 33}, + [1000] = {.lex_state = 33}, + [1001] = {.lex_state = 33}, + [1002] = {.lex_state = 33}, + [1003] = {.lex_state = 33}, + [1004] = {.lex_state = 33}, + [1005] = {.lex_state = 33}, + [1006] = {.lex_state = 83}, + [1007] = {.lex_state = 83}, + [1008] = {.lex_state = 33}, + [1009] = {.lex_state = 33}, + [1010] = {.lex_state = 33}, + [1011] = {.lex_state = 33}, + [1012] = {.lex_state = 33}, + [1013] = {.lex_state = 33}, + [1014] = {.lex_state = 83}, + [1015] = {.lex_state = 33}, + [1016] = {.lex_state = 83}, + [1017] = {.lex_state = 33}, + [1018] = {.lex_state = 83}, + [1019] = {.lex_state = 33}, + [1020] = {.lex_state = 33}, + [1021] = {.lex_state = 83}, + [1022] = {.lex_state = 33}, + [1023] = {.lex_state = 33}, + [1024] = {.lex_state = 33}, + [1025] = {.lex_state = 33}, + [1026] = {.lex_state = 83}, + [1027] = {.lex_state = 33}, + [1028] = {.lex_state = 33}, + [1029] = {.lex_state = 33}, + [1030] = {.lex_state = 33}, + [1031] = {.lex_state = 83}, + [1032] = {.lex_state = 33}, + [1033] = {.lex_state = 33}, + [1034] = {.lex_state = 83}, + [1035] = {.lex_state = 83}, + [1036] = {.lex_state = 33}, + [1037] = {.lex_state = 83}, + [1038] = {.lex_state = 33}, + [1039] = {.lex_state = 33}, + [1040] = {.lex_state = 33}, + [1041] = {.lex_state = 33}, + [1042] = {.lex_state = 83}, + [1043] = {.lex_state = 33}, + [1044] = {.lex_state = 33}, + [1045] = {.lex_state = 33}, + [1046] = {.lex_state = 83}, + [1047] = {.lex_state = 33}, + [1048] = {.lex_state = 83}, + [1049] = {.lex_state = 83}, + [1050] = {.lex_state = 83}, + [1051] = {.lex_state = 83}, + [1052] = {.lex_state = 83}, + [1053] = {.lex_state = 83}, + [1054] = {.lex_state = 83}, + [1055] = {.lex_state = 33}, + [1056] = {.lex_state = 33}, + [1057] = {.lex_state = 83}, + [1058] = {.lex_state = 83}, + [1059] = {.lex_state = 83}, + [1060] = {.lex_state = 35}, + [1061] = {.lex_state = 83}, + [1062] = {.lex_state = 83}, + [1063] = {.lex_state = 83}, + [1064] = {.lex_state = 35}, + [1065] = {.lex_state = 83}, + [1066] = {.lex_state = 83}, + [1067] = {.lex_state = 83}, + [1068] = {.lex_state = 35}, + [1069] = {.lex_state = 83}, + [1070] = {.lex_state = 83}, + [1071] = {.lex_state = 83}, + [1072] = {.lex_state = 83}, + [1073] = {.lex_state = 83}, + [1074] = {.lex_state = 83}, + [1075] = {.lex_state = 35}, + [1076] = {.lex_state = 83}, + [1077] = {.lex_state = 83}, + [1078] = {.lex_state = 83}, + [1079] = {.lex_state = 83}, + [1080] = {.lex_state = 83}, + [1081] = {.lex_state = 83}, + [1082] = {.lex_state = 83}, + [1083] = {.lex_state = 83}, + [1084] = {.lex_state = 83}, + [1085] = {.lex_state = 83}, + [1086] = {.lex_state = 83}, + [1087] = {.lex_state = 83}, + [1088] = {.lex_state = 83}, + [1089] = {.lex_state = 83}, + [1090] = {.lex_state = 83}, + [1091] = {.lex_state = 83}, + [1092] = {.lex_state = 83}, + [1093] = {.lex_state = 83}, + [1094] = {.lex_state = 83}, + [1095] = {.lex_state = 83}, + [1096] = {.lex_state = 83}, + [1097] = {.lex_state = 83}, + [1098] = {.lex_state = 83}, + [1099] = {.lex_state = 83}, + [1100] = {.lex_state = 83}, + [1101] = {.lex_state = 83}, + [1102] = {.lex_state = 83}, + [1103] = {.lex_state = 83}, + [1104] = {.lex_state = 83}, + [1105] = {.lex_state = 83}, + [1106] = {.lex_state = 83}, + [1107] = {.lex_state = 83}, + [1108] = {.lex_state = 83}, + [1109] = {.lex_state = 83}, + [1110] = {.lex_state = 83}, + [1111] = {.lex_state = 83}, + [1112] = {.lex_state = 83}, + [1113] = {.lex_state = 83}, + [1114] = {.lex_state = 33}, + [1115] = {.lex_state = 83}, + [1116] = {.lex_state = 33}, + [1117] = {.lex_state = 28}, + [1118] = {.lex_state = 83}, + [1119] = {.lex_state = 83}, + [1120] = {.lex_state = 22}, + [1121] = {.lex_state = 22}, + [1122] = {.lex_state = 83}, + [1123] = {.lex_state = 83}, + [1124] = {.lex_state = 22}, + [1125] = {.lex_state = 83}, + [1126] = {.lex_state = 22}, + [1127] = {.lex_state = 24}, + [1128] = {.lex_state = 83}, + [1129] = {.lex_state = 83}, + [1130] = {.lex_state = 24}, + [1131] = {.lex_state = 28}, + [1132] = {.lex_state = 24}, + [1133] = {.lex_state = 83}, + [1134] = {.lex_state = 83}, + [1135] = {.lex_state = 83}, + [1136] = {.lex_state = 83}, + [1137] = {.lex_state = 83}, + [1138] = {.lex_state = 22}, + [1139] = {.lex_state = 83}, + [1140] = {.lex_state = 83}, + [1141] = {.lex_state = 83}, + [1142] = {.lex_state = 22}, + [1143] = {.lex_state = 83}, + [1144] = {.lex_state = 33}, + [1145] = {.lex_state = 22}, + [1146] = {.lex_state = 24}, + [1147] = {.lex_state = 24}, + [1148] = {.lex_state = 83}, + [1149] = {.lex_state = 83}, + [1150] = {.lex_state = 83}, + [1151] = {.lex_state = 83}, + [1152] = {.lex_state = 24}, + [1153] = {.lex_state = 24}, + [1154] = {.lex_state = 0}, + [1155] = {.lex_state = 0}, + [1156] = {.lex_state = 0}, + [1157] = {.lex_state = 0}, + [1158] = {.lex_state = 0}, + [1159] = {.lex_state = 28}, + [1160] = {.lex_state = 0}, + [1161] = {.lex_state = 0}, + [1162] = {.lex_state = 0}, + [1163] = {.lex_state = 28}, + [1164] = {.lex_state = 0}, + [1165] = {.lex_state = 17}, + [1166] = {.lex_state = 0}, + [1167] = {.lex_state = 0}, + [1168] = {.lex_state = 0}, + [1169] = {.lex_state = 0}, + [1170] = {.lex_state = 33}, + [1171] = {.lex_state = 83}, + [1172] = {.lex_state = 17}, + [1173] = {.lex_state = 0}, + [1174] = {.lex_state = 28}, + [1175] = {.lex_state = 0}, + [1176] = {.lex_state = 28}, + [1177] = {.lex_state = 0}, + [1178] = {.lex_state = 0}, + [1179] = {.lex_state = 0}, + [1180] = {.lex_state = 0}, + [1181] = {.lex_state = 0}, + [1182] = {.lex_state = 33}, + [1183] = {.lex_state = 0}, + [1184] = {.lex_state = 0}, + [1185] = {.lex_state = 17}, + [1186] = {.lex_state = 0}, + [1187] = {.lex_state = 83}, + [1188] = {.lex_state = 0}, + [1189] = {.lex_state = 0}, + [1190] = {.lex_state = 0}, + [1191] = {.lex_state = 17}, + [1192] = {.lex_state = 28}, + [1193] = {.lex_state = 0}, + [1194] = {.lex_state = 33}, + [1195] = {.lex_state = 0}, + [1196] = {.lex_state = 28}, + [1197] = {.lex_state = 0}, + [1198] = {.lex_state = 33}, + [1199] = {.lex_state = 0}, + [1200] = {.lex_state = 0}, + [1201] = {.lex_state = 0}, + [1202] = {.lex_state = 0}, + [1203] = {.lex_state = 0}, + [1204] = {.lex_state = 33}, + [1205] = {.lex_state = 0}, + [1206] = {.lex_state = 0}, + [1207] = {.lex_state = 0}, + [1208] = {.lex_state = 33}, + [1209] = {.lex_state = 0}, + [1210] = {.lex_state = 0}, + [1211] = {.lex_state = 0}, + [1212] = {.lex_state = 28}, + [1213] = {.lex_state = 0}, + [1214] = {.lex_state = 23}, + [1215] = {.lex_state = 23}, + [1216] = {.lex_state = 0}, + [1217] = {.lex_state = 83}, + [1218] = {.lex_state = 33}, + [1219] = {.lex_state = 28}, + [1220] = {.lex_state = 33}, + [1221] = {.lex_state = 0}, + [1222] = {.lex_state = 23}, + [1223] = {.lex_state = 23}, + [1224] = {.lex_state = 83}, + [1225] = {.lex_state = 83}, + [1226] = {.lex_state = 0}, + [1227] = {.lex_state = 0}, + [1228] = {.lex_state = 23}, + [1229] = {.lex_state = 0}, + [1230] = {.lex_state = 23}, + [1231] = {.lex_state = 0}, + [1232] = {.lex_state = 0}, + [1233] = {.lex_state = 83}, + [1234] = {.lex_state = 23}, + [1235] = {.lex_state = 0}, + [1236] = {.lex_state = 0}, + [1237] = {.lex_state = 0}, + [1238] = {.lex_state = 83}, + [1239] = {.lex_state = 33}, + [1240] = {.lex_state = 23}, + [1241] = {.lex_state = 83}, + [1242] = {.lex_state = 83}, + [1243] = {.lex_state = 26}, + [1244] = {.lex_state = 33}, + [1245] = {.lex_state = 28}, + [1246] = {.lex_state = 83}, + [1247] = {.lex_state = 83}, + [1248] = {.lex_state = 83}, + [1249] = {.lex_state = 0}, + [1250] = {.lex_state = 28}, + [1251] = {.lex_state = 26}, + [1252] = {.lex_state = 33}, + [1253] = {.lex_state = 23}, + [1254] = {.lex_state = 23}, + [1255] = {.lex_state = 0}, + [1256] = {.lex_state = 83}, + [1257] = {.lex_state = 83}, + [1258] = {.lex_state = 23}, + [1259] = {.lex_state = 83}, + [1260] = {.lex_state = 0}, + [1261] = {.lex_state = 23}, + [1262] = {.lex_state = 83}, + [1263] = {.lex_state = 23}, + [1264] = {.lex_state = 23}, + [1265] = {.lex_state = 33}, + [1266] = {.lex_state = 23}, + [1267] = {.lex_state = 23}, + [1268] = {.lex_state = 26}, + [1269] = {.lex_state = 23}, + [1270] = {.lex_state = 83}, + [1271] = {.lex_state = 83}, + [1272] = {.lex_state = 83}, + [1273] = {.lex_state = 33}, + [1274] = {.lex_state = 83}, + [1275] = {.lex_state = 33}, + [1276] = {.lex_state = 17}, + [1277] = {.lex_state = 0}, + [1278] = {.lex_state = 0}, + [1279] = {.lex_state = 27}, + [1280] = {.lex_state = 0}, + [1281] = {.lex_state = 0}, + [1282] = {.lex_state = 0}, + [1283] = {.lex_state = 33}, + [1284] = {.lex_state = 0}, + [1285] = {.lex_state = 0}, + [1286] = {.lex_state = 0}, + [1287] = {.lex_state = 17}, + [1288] = {.lex_state = 0}, + [1289] = {.lex_state = 0}, + [1290] = {.lex_state = 27}, + [1291] = {.lex_state = 17}, + [1292] = {.lex_state = 17}, + [1293] = {.lex_state = 17}, + [1294] = {.lex_state = 27}, + [1295] = {.lex_state = 17}, + [1296] = {.lex_state = 0}, + [1297] = {.lex_state = 27}, + [1298] = {.lex_state = 17}, + [1299] = {.lex_state = 17}, + [1300] = {.lex_state = 0}, + [1301] = {.lex_state = 17}, + [1302] = {.lex_state = 0}, + [1303] = {.lex_state = 0}, + [1304] = {.lex_state = 17}, + [1305] = {.lex_state = 17}, + [1306] = {.lex_state = 0}, + [1307] = {.lex_state = 17}, + [1308] = {.lex_state = 83}, + [1309] = {.lex_state = 33}, + [1310] = {.lex_state = 33}, + [1311] = {.lex_state = 17}, + [1312] = {.lex_state = 27}, + [1313] = {.lex_state = 17}, + [1314] = {.lex_state = 0}, + [1315] = {.lex_state = 0}, + [1316] = {.lex_state = 33}, + [1317] = {.lex_state = 27}, + [1318] = {.lex_state = 0}, + [1319] = {.lex_state = 27}, + [1320] = {.lex_state = 0}, + [1321] = {.lex_state = 0}, + [1322] = {.lex_state = 0}, + [1323] = {.lex_state = 0}, + [1324] = {.lex_state = 27}, + [1325] = {.lex_state = 27}, + [1326] = {.lex_state = 27}, + [1327] = {.lex_state = 27}, + [1328] = {.lex_state = 0}, + [1329] = {.lex_state = 0}, + [1330] = {.lex_state = 27}, + [1331] = {.lex_state = 0}, + [1332] = {.lex_state = 0}, + [1333] = {.lex_state = 27}, + [1334] = {.lex_state = 0}, + [1335] = {.lex_state = 27}, + [1336] = {.lex_state = 0}, + [1337] = {.lex_state = 27}, + [1338] = {.lex_state = 0}, + [1339] = {.lex_state = 0}, + [1340] = {.lex_state = 0}, + [1341] = {.lex_state = 33}, + [1342] = {.lex_state = 0}, + [1343] = {.lex_state = 27}, + [1344] = {.lex_state = 33}, + [1345] = {.lex_state = 27}, + [1346] = {.lex_state = 27}, + [1347] = {.lex_state = 0}, + [1348] = {.lex_state = 0}, + [1349] = {.lex_state = 27}, + [1350] = {.lex_state = 0}, + [1351] = {.lex_state = 27}, + [1352] = {.lex_state = 27}, + [1353] = {.lex_state = 27}, + [1354] = {.lex_state = 0}, + [1355] = {.lex_state = 17}, + [1356] = {.lex_state = 27}, + [1357] = {.lex_state = 17}, + [1358] = {.lex_state = 0}, + [1359] = {.lex_state = 27}, + [1360] = {.lex_state = 33}, + [1361] = {.lex_state = 0}, + [1362] = {.lex_state = 0}, + [1363] = {.lex_state = 0}, + [1364] = {.lex_state = 0}, + [1365] = {.lex_state = 0}, + [1366] = {.lex_state = 0}, + [1367] = {.lex_state = 0}, + [1368] = {.lex_state = 33}, + [1369] = {.lex_state = 17}, + [1370] = {.lex_state = 33}, + [1371] = {.lex_state = 33}, + [1372] = {.lex_state = 17}, + [1373] = {.lex_state = 0}, + [1374] = {.lex_state = 83}, + [1375] = {.lex_state = 0}, + [1376] = {.lex_state = 0}, + [1377] = {.lex_state = 33}, + [1378] = {.lex_state = 17}, + [1379] = {.lex_state = 17}, + [1380] = {.lex_state = 0}, + [1381] = {.lex_state = 0}, + [1382] = {.lex_state = 33}, + [1383] = {.lex_state = 0}, + [1384] = {.lex_state = 0}, + [1385] = {.lex_state = 0}, + [1386] = {.lex_state = 33}, + [1387] = {.lex_state = 0}, + [1388] = {.lex_state = 0}, + [1389] = {.lex_state = 0}, + [1390] = {.lex_state = 83}, + [1391] = {.lex_state = 17}, + [1392] = {.lex_state = 27}, + [1393] = {.lex_state = 33}, + [1394] = {.lex_state = 17}, + [1395] = {.lex_state = 17}, + [1396] = {.lex_state = 33}, + [1397] = {.lex_state = 33}, + [1398] = {.lex_state = 0}, + [1399] = {.lex_state = 0}, + [1400] = {.lex_state = 33}, + [1401] = {.lex_state = 33}, + [1402] = {.lex_state = 0}, + [1403] = {.lex_state = 0}, + [1404] = {.lex_state = 0}, + [1405] = {.lex_state = 17}, + [1406] = {.lex_state = 0}, + [1407] = {.lex_state = 0}, + [1408] = {.lex_state = 0}, + [1409] = {.lex_state = 0}, + [1410] = {.lex_state = 33}, + [1411] = {.lex_state = 27}, + [1412] = {.lex_state = 27}, + [1413] = {.lex_state = 0}, + [1414] = {.lex_state = 33}, + [1415] = {.lex_state = 33}, + [1416] = {.lex_state = 33}, + [1417] = {.lex_state = 0}, + [1418] = {.lex_state = 33}, + [1419] = {.lex_state = 0}, + [1420] = {.lex_state = 0}, + [1421] = {.lex_state = 0}, + [1422] = {.lex_state = 0}, + [1423] = {.lex_state = 0}, + [1424] = {.lex_state = 17}, + [1425] = {.lex_state = 0}, + [1426] = {.lex_state = 27}, + [1427] = {.lex_state = 33}, + [1428] = {.lex_state = 27}, + [1429] = {.lex_state = 0}, + [1430] = {.lex_state = 17}, + [1431] = {.lex_state = 0}, + [1432] = {.lex_state = 0}, + [1433] = {.lex_state = 0}, + [1434] = {.lex_state = 17}, + [1435] = {.lex_state = 27}, + [1436] = {.lex_state = 33}, + [1437] = {.lex_state = 0}, + [1438] = {.lex_state = 33}, + [1439] = {.lex_state = 0}, + [1440] = {.lex_state = 83}, + [1441] = {.lex_state = 0}, + [1442] = {.lex_state = 0}, + [1443] = {.lex_state = 83}, + [1444] = {.lex_state = 0}, + [1445] = {.lex_state = 0}, + [1446] = {.lex_state = 0}, + [1447] = {.lex_state = 33}, + [1448] = {.lex_state = 0}, + [1449] = {.lex_state = 0}, + [1450] = {.lex_state = 0}, + [1451] = {.lex_state = 83}, + [1452] = {.lex_state = 27}, + [1453] = {.lex_state = 83}, + [1454] = {.lex_state = 83}, + [1455] = {.lex_state = 27}, + [1456] = {.lex_state = 83}, + [1457] = {.lex_state = 33}, + [1458] = {.lex_state = 83}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [sym_identifier] = ACTIONS(1), + [aux_sym_preproc_include_token1] = ACTIONS(1), + [aux_sym_preproc_def_token1] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [aux_sym_preproc_if_token1] = ACTIONS(1), + [aux_sym_preproc_if_token2] = ACTIONS(1), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1), + [aux_sym_preproc_else_token1] = ACTIONS(1), + [aux_sym_preproc_elif_token1] = ACTIONS(1), + [sym_preproc_directive] = ACTIONS(1), + [anon_sym_LPAREN2] = ACTIONS(1), + [anon_sym_defined] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_TILDE] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_LT_LT] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_typedef] = ACTIONS(1), + [anon_sym_extern] = ACTIONS(1), + [anon_sym___attribute__] = ACTIONS(1), + [anon_sym_COLON_COLON] = ACTIONS(1), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1), + [anon_sym___declspec] = ACTIONS(1), + [anon_sym___based] = ACTIONS(1), + [anon_sym___cdecl] = ACTIONS(1), + [anon_sym___clrcall] = ACTIONS(1), + [anon_sym___stdcall] = ACTIONS(1), + [anon_sym___fastcall] = ACTIONS(1), + [anon_sym___thiscall] = ACTIONS(1), + [anon_sym___vectorcall] = ACTIONS(1), + [sym_ms_restrict_modifier] = ACTIONS(1), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(1), + [sym_ms_signed_ptr_modifier] = ACTIONS(1), + [anon_sym__unaligned] = ACTIONS(1), + [anon_sym___unaligned] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_static] = ACTIONS(1), + [anon_sym_auto] = ACTIONS(1), + [anon_sym_register] = ACTIONS(1), + [anon_sym_inline] = ACTIONS(1), + [anon_sym_const] = ACTIONS(1), + [anon_sym_volatile] = ACTIONS(1), + [anon_sym_restrict] = ACTIONS(1), + [anon_sym__Atomic] = ACTIONS(1), + [anon_sym_signed] = ACTIONS(1), + [anon_sym_unsigned] = ACTIONS(1), + [anon_sym_long] = ACTIONS(1), + [anon_sym_short] = ACTIONS(1), + [sym_primitive_type] = ACTIONS(1), + [anon_sym_enum] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_union] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_switch] = ACTIONS(1), + [anon_sym_case] = ACTIONS(1), + [anon_sym_default] = ACTIONS(1), + [anon_sym_while] = ACTIONS(1), + [anon_sym_do] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_break] = ACTIONS(1), + [anon_sym_continue] = ACTIONS(1), + [anon_sym_goto] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_PERCENT_EQ] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_LT_LT_EQ] = ACTIONS(1), + [anon_sym_GT_GT_EQ] = ACTIONS(1), + [anon_sym_AMP_EQ] = ACTIONS(1), + [anon_sym_CARET_EQ] = ACTIONS(1), + [anon_sym_PIPE_EQ] = ACTIONS(1), + [anon_sym_DASH_DASH] = ACTIONS(1), + [anon_sym_PLUS_PLUS] = ACTIONS(1), + [anon_sym_sizeof] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [sym_number_literal] = ACTIONS(1), + [anon_sym_L_SQUOTE] = ACTIONS(1), + [anon_sym_u_SQUOTE] = ACTIONS(1), + [anon_sym_U_SQUOTE] = ACTIONS(1), + [anon_sym_u8_SQUOTE] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + [anon_sym_L_DQUOTE] = ACTIONS(1), + [anon_sym_u_DQUOTE] = ACTIONS(1), + [anon_sym_U_DQUOTE] = ACTIONS(1), + [anon_sym_u8_DQUOTE] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [sym_true] = ACTIONS(1), + [sym_false] = ACTIONS(1), + [sym_null] = ACTIONS(1), + [sym_comment] = ACTIONS(3), + }, + [1] = { + [sym_translation_unit] = STATE(1433), + [sym_preproc_include] = STATE(40), + [sym_preproc_def] = STATE(40), + [sym_preproc_function_def] = STATE(40), + [sym_preproc_call] = STATE(40), + [sym_preproc_if] = STATE(40), + [sym_preproc_ifdef] = STATE(40), + [sym_function_definition] = STATE(40), + [sym_declaration] = STATE(40), + [sym_type_definition] = STATE(40), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1015), + [sym_linkage_specification] = STATE(40), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(649), + [sym_compound_statement] = STATE(40), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(852), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(40), + [sym_labeled_statement] = STATE(40), + [sym_expression_statement] = STATE(40), + [sym_if_statement] = STATE(40), + [sym_switch_statement] = STATE(40), + [sym_case_statement] = STATE(40), + [sym_while_statement] = STATE(40), + [sym_do_statement] = STATE(40), + [sym_for_statement] = STATE(40), + [sym_return_statement] = STATE(40), + [sym_break_statement] = STATE(40), + [sym_continue_statement] = STATE(40), + [sym_goto_statement] = STATE(40), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(40), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(40), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(242), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [ts_builtin_sym_end] = ACTIONS(5), + [sym_identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(31), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [2] = { + [sym_preproc_include] = STATE(7), + [sym_preproc_def] = STATE(7), + [sym_preproc_function_def] = STATE(7), + [sym_preproc_call] = STATE(7), + [sym_preproc_if] = STATE(7), + [sym_preproc_ifdef] = STATE(7), + [sym_preproc_else] = STATE(1333), + [sym_preproc_elif] = STATE(1333), + [sym_function_definition] = STATE(7), + [sym_declaration] = STATE(7), + [sym_type_definition] = STATE(7), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(7), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(7), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(7), + [sym_labeled_statement] = STATE(7), + [sym_expression_statement] = STATE(7), + [sym_if_statement] = STATE(7), + [sym_switch_statement] = STATE(7), + [sym_case_statement] = STATE(7), + [sym_while_statement] = STATE(7), + [sym_do_statement] = STATE(7), + [sym_for_statement] = STATE(7), + [sym_return_statement] = STATE(7), + [sym_break_statement] = STATE(7), + [sym_continue_statement] = STATE(7), + [sym_goto_statement] = STATE(7), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(7), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(7), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(99), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [3] = { + [sym_preproc_include] = STATE(9), + [sym_preproc_def] = STATE(9), + [sym_preproc_function_def] = STATE(9), + [sym_preproc_call] = STATE(9), + [sym_preproc_if] = STATE(9), + [sym_preproc_ifdef] = STATE(9), + [sym_preproc_else] = STATE(1294), + [sym_preproc_elif] = STATE(1294), + [sym_function_definition] = STATE(9), + [sym_declaration] = STATE(9), + [sym_type_definition] = STATE(9), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(9), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(9), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(9), + [sym_labeled_statement] = STATE(9), + [sym_expression_statement] = STATE(9), + [sym_if_statement] = STATE(9), + [sym_switch_statement] = STATE(9), + [sym_case_statement] = STATE(9), + [sym_while_statement] = STATE(9), + [sym_do_statement] = STATE(9), + [sym_for_statement] = STATE(9), + [sym_return_statement] = STATE(9), + [sym_break_statement] = STATE(9), + [sym_continue_statement] = STATE(9), + [sym_goto_statement] = STATE(9), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(9), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(9), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(139), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [4] = { + [sym_preproc_include] = STATE(8), + [sym_preproc_def] = STATE(8), + [sym_preproc_function_def] = STATE(8), + [sym_preproc_call] = STATE(8), + [sym_preproc_if] = STATE(8), + [sym_preproc_ifdef] = STATE(8), + [sym_preproc_else] = STATE(1392), + [sym_preproc_elif] = STATE(1392), + [sym_function_definition] = STATE(8), + [sym_declaration] = STATE(8), + [sym_type_definition] = STATE(8), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(8), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(8), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(8), + [sym_labeled_statement] = STATE(8), + [sym_expression_statement] = STATE(8), + [sym_if_statement] = STATE(8), + [sym_switch_statement] = STATE(8), + [sym_case_statement] = STATE(8), + [sym_while_statement] = STATE(8), + [sym_do_statement] = STATE(8), + [sym_for_statement] = STATE(8), + [sym_return_statement] = STATE(8), + [sym_break_statement] = STATE(8), + [sym_continue_statement] = STATE(8), + [sym_goto_statement] = STATE(8), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(8), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(8), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(141), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [5] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1297), + [sym_preproc_elif] = STATE(1297), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(143), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [6] = { + [sym_preproc_include] = STATE(5), + [sym_preproc_def] = STATE(5), + [sym_preproc_function_def] = STATE(5), + [sym_preproc_call] = STATE(5), + [sym_preproc_if] = STATE(5), + [sym_preproc_ifdef] = STATE(5), + [sym_preproc_else] = STATE(1317), + [sym_preproc_elif] = STATE(1317), + [sym_function_definition] = STATE(5), + [sym_declaration] = STATE(5), + [sym_type_definition] = STATE(5), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(5), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(5), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(5), + [sym_labeled_statement] = STATE(5), + [sym_expression_statement] = STATE(5), + [sym_if_statement] = STATE(5), + [sym_switch_statement] = STATE(5), + [sym_case_statement] = STATE(5), + [sym_while_statement] = STATE(5), + [sym_do_statement] = STATE(5), + [sym_for_statement] = STATE(5), + [sym_return_statement] = STATE(5), + [sym_break_statement] = STATE(5), + [sym_continue_statement] = STATE(5), + [sym_goto_statement] = STATE(5), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(5), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(5), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(145), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [7] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1343), + [sym_preproc_elif] = STATE(1343), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(147), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [8] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1352), + [sym_preproc_elif] = STATE(1352), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(149), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [9] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1312), + [sym_preproc_elif] = STATE(1312), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(151), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [10] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1330), + [sym_preproc_elif] = STATE(1330), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [11] = { + [sym_preproc_include] = STATE(13), + [sym_preproc_def] = STATE(13), + [sym_preproc_function_def] = STATE(13), + [sym_preproc_call] = STATE(13), + [sym_preproc_if] = STATE(13), + [sym_preproc_ifdef] = STATE(13), + [sym_preproc_else] = STATE(1346), + [sym_preproc_elif] = STATE(1346), + [sym_function_definition] = STATE(13), + [sym_declaration] = STATE(13), + [sym_type_definition] = STATE(13), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(13), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(13), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(13), + [sym_labeled_statement] = STATE(13), + [sym_expression_statement] = STATE(13), + [sym_if_statement] = STATE(13), + [sym_switch_statement] = STATE(13), + [sym_case_statement] = STATE(13), + [sym_while_statement] = STATE(13), + [sym_do_statement] = STATE(13), + [sym_for_statement] = STATE(13), + [sym_return_statement] = STATE(13), + [sym_break_statement] = STATE(13), + [sym_continue_statement] = STATE(13), + [sym_goto_statement] = STATE(13), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(13), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(13), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(155), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [12] = { + [sym_preproc_include] = STATE(14), + [sym_preproc_def] = STATE(14), + [sym_preproc_function_def] = STATE(14), + [sym_preproc_call] = STATE(14), + [sym_preproc_if] = STATE(14), + [sym_preproc_ifdef] = STATE(14), + [sym_preproc_else] = STATE(1351), + [sym_preproc_elif] = STATE(1351), + [sym_function_definition] = STATE(14), + [sym_declaration] = STATE(14), + [sym_type_definition] = STATE(14), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(14), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(14), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(14), + [sym_labeled_statement] = STATE(14), + [sym_expression_statement] = STATE(14), + [sym_if_statement] = STATE(14), + [sym_switch_statement] = STATE(14), + [sym_case_statement] = STATE(14), + [sym_while_statement] = STATE(14), + [sym_do_statement] = STATE(14), + [sym_for_statement] = STATE(14), + [sym_return_statement] = STATE(14), + [sym_break_statement] = STATE(14), + [sym_continue_statement] = STATE(14), + [sym_goto_statement] = STATE(14), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(14), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(14), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(157), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [13] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1337), + [sym_preproc_elif] = STATE(1337), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(159), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [14] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1345), + [sym_preproc_elif] = STATE(1345), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(161), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [15] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1455), + [sym_preproc_elif] = STATE(1455), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(163), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [16] = { + [sym_preproc_include] = STATE(19), + [sym_preproc_def] = STATE(19), + [sym_preproc_function_def] = STATE(19), + [sym_preproc_call] = STATE(19), + [sym_preproc_if] = STATE(19), + [sym_preproc_ifdef] = STATE(19), + [sym_preproc_else] = STATE(1353), + [sym_preproc_elif] = STATE(1353), + [sym_function_definition] = STATE(19), + [sym_declaration] = STATE(19), + [sym_type_definition] = STATE(19), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(19), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(19), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(19), + [sym_labeled_statement] = STATE(19), + [sym_expression_statement] = STATE(19), + [sym_if_statement] = STATE(19), + [sym_switch_statement] = STATE(19), + [sym_case_statement] = STATE(19), + [sym_while_statement] = STATE(19), + [sym_do_statement] = STATE(19), + [sym_for_statement] = STATE(19), + [sym_return_statement] = STATE(19), + [sym_break_statement] = STATE(19), + [sym_continue_statement] = STATE(19), + [sym_goto_statement] = STATE(19), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(19), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(19), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(165), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [17] = { + [sym_preproc_include] = STATE(10), + [sym_preproc_def] = STATE(10), + [sym_preproc_function_def] = STATE(10), + [sym_preproc_call] = STATE(10), + [sym_preproc_if] = STATE(10), + [sym_preproc_ifdef] = STATE(10), + [sym_preproc_else] = STATE(1435), + [sym_preproc_elif] = STATE(1435), + [sym_function_definition] = STATE(10), + [sym_declaration] = STATE(10), + [sym_type_definition] = STATE(10), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(10), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(10), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(10), + [sym_labeled_statement] = STATE(10), + [sym_expression_statement] = STATE(10), + [sym_if_statement] = STATE(10), + [sym_switch_statement] = STATE(10), + [sym_case_statement] = STATE(10), + [sym_while_statement] = STATE(10), + [sym_do_statement] = STATE(10), + [sym_for_statement] = STATE(10), + [sym_return_statement] = STATE(10), + [sym_break_statement] = STATE(10), + [sym_continue_statement] = STATE(10), + [sym_goto_statement] = STATE(10), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(10), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(10), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(167), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [18] = { + [sym_preproc_include] = STATE(15), + [sym_preproc_def] = STATE(15), + [sym_preproc_function_def] = STATE(15), + [sym_preproc_call] = STATE(15), + [sym_preproc_if] = STATE(15), + [sym_preproc_ifdef] = STATE(15), + [sym_preproc_else] = STATE(1412), + [sym_preproc_elif] = STATE(1412), + [sym_function_definition] = STATE(15), + [sym_declaration] = STATE(15), + [sym_type_definition] = STATE(15), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(15), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(15), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(15), + [sym_labeled_statement] = STATE(15), + [sym_expression_statement] = STATE(15), + [sym_if_statement] = STATE(15), + [sym_switch_statement] = STATE(15), + [sym_case_statement] = STATE(15), + [sym_while_statement] = STATE(15), + [sym_do_statement] = STATE(15), + [sym_for_statement] = STATE(15), + [sym_return_statement] = STATE(15), + [sym_break_statement] = STATE(15), + [sym_continue_statement] = STATE(15), + [sym_goto_statement] = STATE(15), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(15), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(15), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(169), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [19] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(1319), + [sym_preproc_elif] = STATE(1319), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(91), + [aux_sym_preproc_include_token1] = ACTIONS(93), + [aux_sym_preproc_def_token1] = ACTIONS(95), + [aux_sym_preproc_if_token1] = ACTIONS(97), + [aux_sym_preproc_if_token2] = ACTIONS(171), + [aux_sym_preproc_ifdef_token1] = ACTIONS(101), + [aux_sym_preproc_ifdef_token2] = ACTIONS(101), + [aux_sym_preproc_else_token1] = ACTIONS(103), + [aux_sym_preproc_elif_token1] = ACTIONS(105), + [sym_preproc_directive] = ACTIONS(107), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(113), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [20] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1013), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(647), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(851), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(20), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(252), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(173), + [aux_sym_preproc_include_token1] = ACTIONS(176), + [aux_sym_preproc_def_token1] = ACTIONS(179), + [aux_sym_preproc_if_token1] = ACTIONS(182), + [aux_sym_preproc_if_token2] = ACTIONS(185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(187), + [aux_sym_preproc_ifdef_token2] = ACTIONS(187), + [aux_sym_preproc_else_token1] = ACTIONS(185), + [aux_sym_preproc_elif_token1] = ACTIONS(185), + [sym_preproc_directive] = ACTIONS(190), + [anon_sym_LPAREN2] = ACTIONS(193), + [anon_sym_BANG] = ACTIONS(196), + [anon_sym_TILDE] = ACTIONS(196), + [anon_sym_DASH] = ACTIONS(199), + [anon_sym_PLUS] = ACTIONS(199), + [anon_sym_STAR] = ACTIONS(202), + [anon_sym_AMP] = ACTIONS(202), + [anon_sym_SEMI] = ACTIONS(205), + [anon_sym_typedef] = ACTIONS(208), + [anon_sym_extern] = ACTIONS(211), + [anon_sym___attribute__] = ACTIONS(214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(217), + [anon_sym___declspec] = ACTIONS(220), + [anon_sym___cdecl] = ACTIONS(223), + [anon_sym___clrcall] = ACTIONS(223), + [anon_sym___stdcall] = ACTIONS(223), + [anon_sym___fastcall] = ACTIONS(223), + [anon_sym___thiscall] = ACTIONS(223), + [anon_sym___vectorcall] = ACTIONS(223), + [anon_sym_LBRACE] = ACTIONS(226), + [anon_sym_static] = ACTIONS(229), + [anon_sym_auto] = ACTIONS(229), + [anon_sym_register] = ACTIONS(229), + [anon_sym_inline] = ACTIONS(229), + [anon_sym_const] = ACTIONS(232), + [anon_sym_volatile] = ACTIONS(232), + [anon_sym_restrict] = ACTIONS(232), + [anon_sym__Atomic] = ACTIONS(232), + [anon_sym_signed] = ACTIONS(235), + [anon_sym_unsigned] = ACTIONS(235), + [anon_sym_long] = ACTIONS(235), + [anon_sym_short] = ACTIONS(235), + [sym_primitive_type] = ACTIONS(238), + [anon_sym_enum] = ACTIONS(241), + [anon_sym_struct] = ACTIONS(244), + [anon_sym_union] = ACTIONS(247), + [anon_sym_if] = ACTIONS(250), + [anon_sym_switch] = ACTIONS(253), + [anon_sym_case] = ACTIONS(256), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(262), + [anon_sym_do] = ACTIONS(265), + [anon_sym_for] = ACTIONS(268), + [anon_sym_return] = ACTIONS(271), + [anon_sym_break] = ACTIONS(274), + [anon_sym_continue] = ACTIONS(277), + [anon_sym_goto] = ACTIONS(280), + [anon_sym_DASH_DASH] = ACTIONS(283), + [anon_sym_PLUS_PLUS] = ACTIONS(283), + [anon_sym_sizeof] = ACTIONS(286), + [sym_number_literal] = ACTIONS(289), + [anon_sym_L_SQUOTE] = ACTIONS(292), + [anon_sym_u_SQUOTE] = ACTIONS(292), + [anon_sym_U_SQUOTE] = ACTIONS(292), + [anon_sym_u8_SQUOTE] = ACTIONS(292), + [anon_sym_SQUOTE] = ACTIONS(292), + [anon_sym_L_DQUOTE] = ACTIONS(295), + [anon_sym_u_DQUOTE] = ACTIONS(295), + [anon_sym_U_DQUOTE] = ACTIONS(295), + [anon_sym_u8_DQUOTE] = ACTIONS(295), + [anon_sym_DQUOTE] = ACTIONS(295), + [sym_true] = ACTIONS(298), + [sym_false] = ACTIONS(298), + [sym_null] = ACTIONS(298), + [sym_comment] = ACTIONS(3), + }, + [21] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(28), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(321), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [22] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(345), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [23] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(347), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [24] = { + [sym_preproc_include] = STATE(32), + [sym_preproc_def] = STATE(32), + [sym_preproc_function_def] = STATE(32), + [sym_preproc_call] = STATE(32), + [sym_preproc_if] = STATE(32), + [sym_preproc_ifdef] = STATE(32), + [sym_function_definition] = STATE(32), + [sym_declaration] = STATE(32), + [sym_type_definition] = STATE(32), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(32), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(32), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(32), + [sym_labeled_statement] = STATE(32), + [sym_expression_statement] = STATE(32), + [sym_if_statement] = STATE(32), + [sym_switch_statement] = STATE(32), + [sym_case_statement] = STATE(32), + [sym_while_statement] = STATE(32), + [sym_do_statement] = STATE(32), + [sym_for_statement] = STATE(32), + [sym_return_statement] = STATE(32), + [sym_break_statement] = STATE(32), + [sym_continue_statement] = STATE(32), + [sym_goto_statement] = STATE(32), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(32), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(32), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(349), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [25] = { + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(30), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(30), + [sym_labeled_statement] = STATE(30), + [sym_expression_statement] = STATE(30), + [sym_if_statement] = STATE(30), + [sym_switch_statement] = STATE(30), + [sym_case_statement] = STATE(30), + [sym_while_statement] = STATE(30), + [sym_do_statement] = STATE(30), + [sym_for_statement] = STATE(30), + [sym_return_statement] = STATE(30), + [sym_break_statement] = STATE(30), + [sym_continue_statement] = STATE(30), + [sym_goto_statement] = STATE(30), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(30), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(351), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [26] = { + [sym_preproc_include] = STATE(39), + [sym_preproc_def] = STATE(39), + [sym_preproc_function_def] = STATE(39), + [sym_preproc_call] = STATE(39), + [sym_preproc_if] = STATE(39), + [sym_preproc_ifdef] = STATE(39), + [sym_function_definition] = STATE(39), + [sym_declaration] = STATE(39), + [sym_type_definition] = STATE(39), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1008), + [sym_linkage_specification] = STATE(39), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(645), + [sym_compound_statement] = STATE(39), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(850), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(39), + [sym_labeled_statement] = STATE(39), + [sym_expression_statement] = STATE(39), + [sym_if_statement] = STATE(39), + [sym_switch_statement] = STATE(39), + [sym_case_statement] = STATE(39), + [sym_while_statement] = STATE(39), + [sym_do_statement] = STATE(39), + [sym_for_statement] = STATE(39), + [sym_return_statement] = STATE(39), + [sym_break_statement] = STATE(39), + [sym_continue_statement] = STATE(39), + [sym_goto_statement] = STATE(39), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(39), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(39), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(246), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(353), + [aux_sym_preproc_include_token1] = ACTIONS(355), + [aux_sym_preproc_def_token1] = ACTIONS(357), + [aux_sym_preproc_if_token1] = ACTIONS(359), + [aux_sym_preproc_if_token2] = ACTIONS(361), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_typedef] = ACTIONS(369), + [anon_sym_extern] = ACTIONS(371), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [27] = { + [sym_preproc_include] = STATE(33), + [sym_preproc_def] = STATE(33), + [sym_preproc_function_def] = STATE(33), + [sym_preproc_call] = STATE(33), + [sym_preproc_if] = STATE(33), + [sym_preproc_ifdef] = STATE(33), + [sym_function_definition] = STATE(33), + [sym_declaration] = STATE(33), + [sym_type_definition] = STATE(33), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(33), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(33), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(33), + [sym_labeled_statement] = STATE(33), + [sym_expression_statement] = STATE(33), + [sym_if_statement] = STATE(33), + [sym_switch_statement] = STATE(33), + [sym_case_statement] = STATE(33), + [sym_while_statement] = STATE(33), + [sym_do_statement] = STATE(33), + [sym_for_statement] = STATE(33), + [sym_return_statement] = STATE(33), + [sym_break_statement] = STATE(33), + [sym_continue_statement] = STATE(33), + [sym_goto_statement] = STATE(33), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(33), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(33), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(397), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [28] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(399), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [29] = { + [sym_preproc_include] = STATE(22), + [sym_preproc_def] = STATE(22), + [sym_preproc_function_def] = STATE(22), + [sym_preproc_call] = STATE(22), + [sym_preproc_if] = STATE(22), + [sym_preproc_ifdef] = STATE(22), + [sym_function_definition] = STATE(22), + [sym_declaration] = STATE(22), + [sym_type_definition] = STATE(22), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(22), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(22), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(22), + [sym_labeled_statement] = STATE(22), + [sym_expression_statement] = STATE(22), + [sym_if_statement] = STATE(22), + [sym_switch_statement] = STATE(22), + [sym_case_statement] = STATE(22), + [sym_while_statement] = STATE(22), + [sym_do_statement] = STATE(22), + [sym_for_statement] = STATE(22), + [sym_return_statement] = STATE(22), + [sym_break_statement] = STATE(22), + [sym_continue_statement] = STATE(22), + [sym_goto_statement] = STATE(22), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(22), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(22), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(401), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [30] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(403), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [31] = { + [sym_preproc_include] = STATE(23), + [sym_preproc_def] = STATE(23), + [sym_preproc_function_def] = STATE(23), + [sym_preproc_call] = STATE(23), + [sym_preproc_if] = STATE(23), + [sym_preproc_ifdef] = STATE(23), + [sym_function_definition] = STATE(23), + [sym_declaration] = STATE(23), + [sym_type_definition] = STATE(23), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(23), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(23), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(23), + [sym_labeled_statement] = STATE(23), + [sym_expression_statement] = STATE(23), + [sym_if_statement] = STATE(23), + [sym_switch_statement] = STATE(23), + [sym_case_statement] = STATE(23), + [sym_while_statement] = STATE(23), + [sym_do_statement] = STATE(23), + [sym_for_statement] = STATE(23), + [sym_return_statement] = STATE(23), + [sym_break_statement] = STATE(23), + [sym_continue_statement] = STATE(23), + [sym_goto_statement] = STATE(23), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(23), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(23), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(405), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [32] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(407), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [33] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(409), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [34] = { + [sym_preproc_include] = STATE(35), + [sym_preproc_def] = STATE(35), + [sym_preproc_function_def] = STATE(35), + [sym_preproc_call] = STATE(35), + [sym_preproc_if] = STATE(35), + [sym_preproc_ifdef] = STATE(35), + [sym_function_definition] = STATE(35), + [sym_declaration] = STATE(35), + [sym_type_definition] = STATE(35), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(35), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(35), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(35), + [sym_labeled_statement] = STATE(35), + [sym_expression_statement] = STATE(35), + [sym_if_statement] = STATE(35), + [sym_switch_statement] = STATE(35), + [sym_case_statement] = STATE(35), + [sym_while_statement] = STATE(35), + [sym_do_statement] = STATE(35), + [sym_for_statement] = STATE(35), + [sym_return_statement] = STATE(35), + [sym_break_statement] = STATE(35), + [sym_continue_statement] = STATE(35), + [sym_goto_statement] = STATE(35), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(35), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(35), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(411), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [35] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(413), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [36] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(415), + [aux_sym_preproc_include_token1] = ACTIONS(418), + [aux_sym_preproc_def_token1] = ACTIONS(421), + [aux_sym_preproc_if_token1] = ACTIONS(424), + [aux_sym_preproc_ifdef_token1] = ACTIONS(427), + [aux_sym_preproc_ifdef_token2] = ACTIONS(427), + [sym_preproc_directive] = ACTIONS(430), + [anon_sym_LPAREN2] = ACTIONS(193), + [anon_sym_BANG] = ACTIONS(196), + [anon_sym_TILDE] = ACTIONS(196), + [anon_sym_DASH] = ACTIONS(199), + [anon_sym_PLUS] = ACTIONS(199), + [anon_sym_STAR] = ACTIONS(202), + [anon_sym_AMP] = ACTIONS(202), + [anon_sym_SEMI] = ACTIONS(433), + [anon_sym_typedef] = ACTIONS(436), + [anon_sym_extern] = ACTIONS(439), + [anon_sym___attribute__] = ACTIONS(214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(217), + [anon_sym___declspec] = ACTIONS(220), + [anon_sym___cdecl] = ACTIONS(223), + [anon_sym___clrcall] = ACTIONS(223), + [anon_sym___stdcall] = ACTIONS(223), + [anon_sym___fastcall] = ACTIONS(223), + [anon_sym___thiscall] = ACTIONS(223), + [anon_sym___vectorcall] = ACTIONS(223), + [anon_sym_LBRACE] = ACTIONS(442), + [anon_sym_RBRACE] = ACTIONS(445), + [anon_sym_static] = ACTIONS(229), + [anon_sym_auto] = ACTIONS(229), + [anon_sym_register] = ACTIONS(229), + [anon_sym_inline] = ACTIONS(229), + [anon_sym_const] = ACTIONS(232), + [anon_sym_volatile] = ACTIONS(232), + [anon_sym_restrict] = ACTIONS(232), + [anon_sym__Atomic] = ACTIONS(232), + [anon_sym_signed] = ACTIONS(235), + [anon_sym_unsigned] = ACTIONS(235), + [anon_sym_long] = ACTIONS(235), + [anon_sym_short] = ACTIONS(235), + [sym_primitive_type] = ACTIONS(238), + [anon_sym_enum] = ACTIONS(241), + [anon_sym_struct] = ACTIONS(244), + [anon_sym_union] = ACTIONS(247), + [anon_sym_if] = ACTIONS(447), + [anon_sym_switch] = ACTIONS(450), + [anon_sym_case] = ACTIONS(453), + [anon_sym_default] = ACTIONS(456), + [anon_sym_while] = ACTIONS(459), + [anon_sym_do] = ACTIONS(462), + [anon_sym_for] = ACTIONS(465), + [anon_sym_return] = ACTIONS(468), + [anon_sym_break] = ACTIONS(471), + [anon_sym_continue] = ACTIONS(474), + [anon_sym_goto] = ACTIONS(477), + [anon_sym_DASH_DASH] = ACTIONS(283), + [anon_sym_PLUS_PLUS] = ACTIONS(283), + [anon_sym_sizeof] = ACTIONS(286), + [sym_number_literal] = ACTIONS(289), + [anon_sym_L_SQUOTE] = ACTIONS(292), + [anon_sym_u_SQUOTE] = ACTIONS(292), + [anon_sym_U_SQUOTE] = ACTIONS(292), + [anon_sym_u8_SQUOTE] = ACTIONS(292), + [anon_sym_SQUOTE] = ACTIONS(292), + [anon_sym_L_DQUOTE] = ACTIONS(295), + [anon_sym_u_DQUOTE] = ACTIONS(295), + [anon_sym_U_DQUOTE] = ACTIONS(295), + [anon_sym_u8_DQUOTE] = ACTIONS(295), + [anon_sym_DQUOTE] = ACTIONS(295), + [sym_true] = ACTIONS(298), + [sym_false] = ACTIONS(298), + [sym_null] = ACTIONS(298), + [sym_comment] = ACTIONS(3), + }, + [37] = { + [sym_preproc_include] = STATE(42), + [sym_preproc_def] = STATE(42), + [sym_preproc_function_def] = STATE(42), + [sym_preproc_call] = STATE(42), + [sym_preproc_if] = STATE(42), + [sym_preproc_ifdef] = STATE(42), + [sym_function_definition] = STATE(42), + [sym_declaration] = STATE(42), + [sym_type_definition] = STATE(42), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(42), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(42), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(42), + [sym_labeled_statement] = STATE(42), + [sym_expression_statement] = STATE(42), + [sym_if_statement] = STATE(42), + [sym_switch_statement] = STATE(42), + [sym_case_statement] = STATE(42), + [sym_while_statement] = STATE(42), + [sym_do_statement] = STATE(42), + [sym_for_statement] = STATE(42), + [sym_return_statement] = STATE(42), + [sym_break_statement] = STATE(42), + [sym_continue_statement] = STATE(42), + [sym_goto_statement] = STATE(42), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(42), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(42), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(480), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [38] = { + [sym_preproc_include] = STATE(38), + [sym_preproc_def] = STATE(38), + [sym_preproc_function_def] = STATE(38), + [sym_preproc_call] = STATE(38), + [sym_preproc_if] = STATE(38), + [sym_preproc_ifdef] = STATE(38), + [sym_function_definition] = STATE(38), + [sym_declaration] = STATE(38), + [sym_type_definition] = STATE(38), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1008), + [sym_linkage_specification] = STATE(38), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(645), + [sym_compound_statement] = STATE(38), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(850), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(38), + [sym_labeled_statement] = STATE(38), + [sym_expression_statement] = STATE(38), + [sym_if_statement] = STATE(38), + [sym_switch_statement] = STATE(38), + [sym_case_statement] = STATE(38), + [sym_while_statement] = STATE(38), + [sym_do_statement] = STATE(38), + [sym_for_statement] = STATE(38), + [sym_return_statement] = STATE(38), + [sym_break_statement] = STATE(38), + [sym_continue_statement] = STATE(38), + [sym_goto_statement] = STATE(38), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(38), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(38), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(246), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(482), + [aux_sym_preproc_include_token1] = ACTIONS(485), + [aux_sym_preproc_def_token1] = ACTIONS(488), + [aux_sym_preproc_if_token1] = ACTIONS(491), + [aux_sym_preproc_if_token2] = ACTIONS(185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(494), + [aux_sym_preproc_ifdef_token2] = ACTIONS(494), + [sym_preproc_directive] = ACTIONS(497), + [anon_sym_LPAREN2] = ACTIONS(193), + [anon_sym_BANG] = ACTIONS(196), + [anon_sym_TILDE] = ACTIONS(196), + [anon_sym_DASH] = ACTIONS(199), + [anon_sym_PLUS] = ACTIONS(199), + [anon_sym_STAR] = ACTIONS(202), + [anon_sym_AMP] = ACTIONS(202), + [anon_sym_SEMI] = ACTIONS(500), + [anon_sym_typedef] = ACTIONS(503), + [anon_sym_extern] = ACTIONS(506), + [anon_sym___attribute__] = ACTIONS(214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(217), + [anon_sym___declspec] = ACTIONS(220), + [anon_sym___cdecl] = ACTIONS(223), + [anon_sym___clrcall] = ACTIONS(223), + [anon_sym___stdcall] = ACTIONS(223), + [anon_sym___fastcall] = ACTIONS(223), + [anon_sym___thiscall] = ACTIONS(223), + [anon_sym___vectorcall] = ACTIONS(223), + [anon_sym_LBRACE] = ACTIONS(509), + [anon_sym_static] = ACTIONS(229), + [anon_sym_auto] = ACTIONS(229), + [anon_sym_register] = ACTIONS(229), + [anon_sym_inline] = ACTIONS(229), + [anon_sym_const] = ACTIONS(232), + [anon_sym_volatile] = ACTIONS(232), + [anon_sym_restrict] = ACTIONS(232), + [anon_sym__Atomic] = ACTIONS(232), + [anon_sym_signed] = ACTIONS(235), + [anon_sym_unsigned] = ACTIONS(235), + [anon_sym_long] = ACTIONS(235), + [anon_sym_short] = ACTIONS(235), + [sym_primitive_type] = ACTIONS(238), + [anon_sym_enum] = ACTIONS(241), + [anon_sym_struct] = ACTIONS(244), + [anon_sym_union] = ACTIONS(247), + [anon_sym_if] = ACTIONS(512), + [anon_sym_switch] = ACTIONS(515), + [anon_sym_case] = ACTIONS(518), + [anon_sym_default] = ACTIONS(521), + [anon_sym_while] = ACTIONS(524), + [anon_sym_do] = ACTIONS(527), + [anon_sym_for] = ACTIONS(530), + [anon_sym_return] = ACTIONS(533), + [anon_sym_break] = ACTIONS(536), + [anon_sym_continue] = ACTIONS(539), + [anon_sym_goto] = ACTIONS(542), + [anon_sym_DASH_DASH] = ACTIONS(283), + [anon_sym_PLUS_PLUS] = ACTIONS(283), + [anon_sym_sizeof] = ACTIONS(286), + [sym_number_literal] = ACTIONS(289), + [anon_sym_L_SQUOTE] = ACTIONS(292), + [anon_sym_u_SQUOTE] = ACTIONS(292), + [anon_sym_U_SQUOTE] = ACTIONS(292), + [anon_sym_u8_SQUOTE] = ACTIONS(292), + [anon_sym_SQUOTE] = ACTIONS(292), + [anon_sym_L_DQUOTE] = ACTIONS(295), + [anon_sym_u_DQUOTE] = ACTIONS(295), + [anon_sym_U_DQUOTE] = ACTIONS(295), + [anon_sym_u8_DQUOTE] = ACTIONS(295), + [anon_sym_DQUOTE] = ACTIONS(295), + [sym_true] = ACTIONS(298), + [sym_false] = ACTIONS(298), + [sym_null] = ACTIONS(298), + [sym_comment] = ACTIONS(3), + }, + [39] = { + [sym_preproc_include] = STATE(38), + [sym_preproc_def] = STATE(38), + [sym_preproc_function_def] = STATE(38), + [sym_preproc_call] = STATE(38), + [sym_preproc_if] = STATE(38), + [sym_preproc_ifdef] = STATE(38), + [sym_function_definition] = STATE(38), + [sym_declaration] = STATE(38), + [sym_type_definition] = STATE(38), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1008), + [sym_linkage_specification] = STATE(38), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(645), + [sym_compound_statement] = STATE(38), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(850), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(38), + [sym_labeled_statement] = STATE(38), + [sym_expression_statement] = STATE(38), + [sym_if_statement] = STATE(38), + [sym_switch_statement] = STATE(38), + [sym_case_statement] = STATE(38), + [sym_while_statement] = STATE(38), + [sym_do_statement] = STATE(38), + [sym_for_statement] = STATE(38), + [sym_return_statement] = STATE(38), + [sym_break_statement] = STATE(38), + [sym_continue_statement] = STATE(38), + [sym_goto_statement] = STATE(38), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(38), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(38), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(246), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(353), + [aux_sym_preproc_include_token1] = ACTIONS(355), + [aux_sym_preproc_def_token1] = ACTIONS(357), + [aux_sym_preproc_if_token1] = ACTIONS(359), + [aux_sym_preproc_if_token2] = ACTIONS(545), + [aux_sym_preproc_ifdef_token1] = ACTIONS(363), + [aux_sym_preproc_ifdef_token2] = ACTIONS(363), + [sym_preproc_directive] = ACTIONS(365), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_typedef] = ACTIONS(369), + [anon_sym_extern] = ACTIONS(371), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [40] = { + [sym_preproc_include] = STATE(41), + [sym_preproc_def] = STATE(41), + [sym_preproc_function_def] = STATE(41), + [sym_preproc_call] = STATE(41), + [sym_preproc_if] = STATE(41), + [sym_preproc_ifdef] = STATE(41), + [sym_function_definition] = STATE(41), + [sym_declaration] = STATE(41), + [sym_type_definition] = STATE(41), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1015), + [sym_linkage_specification] = STATE(41), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(649), + [sym_compound_statement] = STATE(41), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(852), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(41), + [sym_labeled_statement] = STATE(41), + [sym_expression_statement] = STATE(41), + [sym_if_statement] = STATE(41), + [sym_switch_statement] = STATE(41), + [sym_case_statement] = STATE(41), + [sym_while_statement] = STATE(41), + [sym_do_statement] = STATE(41), + [sym_for_statement] = STATE(41), + [sym_return_statement] = STATE(41), + [sym_break_statement] = STATE(41), + [sym_continue_statement] = STATE(41), + [sym_goto_statement] = STATE(41), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(41), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(41), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(242), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [ts_builtin_sym_end] = ACTIONS(547), + [sym_identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(31), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [41] = { + [sym_preproc_include] = STATE(41), + [sym_preproc_def] = STATE(41), + [sym_preproc_function_def] = STATE(41), + [sym_preproc_call] = STATE(41), + [sym_preproc_if] = STATE(41), + [sym_preproc_ifdef] = STATE(41), + [sym_function_definition] = STATE(41), + [sym_declaration] = STATE(41), + [sym_type_definition] = STATE(41), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1015), + [sym_linkage_specification] = STATE(41), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(649), + [sym_compound_statement] = STATE(41), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(852), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(41), + [sym_labeled_statement] = STATE(41), + [sym_expression_statement] = STATE(41), + [sym_if_statement] = STATE(41), + [sym_switch_statement] = STATE(41), + [sym_case_statement] = STATE(41), + [sym_while_statement] = STATE(41), + [sym_do_statement] = STATE(41), + [sym_for_statement] = STATE(41), + [sym_return_statement] = STATE(41), + [sym_break_statement] = STATE(41), + [sym_continue_statement] = STATE(41), + [sym_goto_statement] = STATE(41), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(41), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(41), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(242), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [ts_builtin_sym_end] = ACTIONS(445), + [sym_identifier] = ACTIONS(549), + [aux_sym_preproc_include_token1] = ACTIONS(552), + [aux_sym_preproc_def_token1] = ACTIONS(555), + [aux_sym_preproc_if_token1] = ACTIONS(558), + [aux_sym_preproc_ifdef_token1] = ACTIONS(561), + [aux_sym_preproc_ifdef_token2] = ACTIONS(561), + [sym_preproc_directive] = ACTIONS(564), + [anon_sym_LPAREN2] = ACTIONS(193), + [anon_sym_BANG] = ACTIONS(196), + [anon_sym_TILDE] = ACTIONS(196), + [anon_sym_DASH] = ACTIONS(199), + [anon_sym_PLUS] = ACTIONS(199), + [anon_sym_STAR] = ACTIONS(202), + [anon_sym_AMP] = ACTIONS(202), + [anon_sym_SEMI] = ACTIONS(567), + [anon_sym_typedef] = ACTIONS(570), + [anon_sym_extern] = ACTIONS(573), + [anon_sym___attribute__] = ACTIONS(214), + [anon_sym_LBRACK_LBRACK] = ACTIONS(217), + [anon_sym___declspec] = ACTIONS(220), + [anon_sym___cdecl] = ACTIONS(223), + [anon_sym___clrcall] = ACTIONS(223), + [anon_sym___stdcall] = ACTIONS(223), + [anon_sym___fastcall] = ACTIONS(223), + [anon_sym___thiscall] = ACTIONS(223), + [anon_sym___vectorcall] = ACTIONS(223), + [anon_sym_LBRACE] = ACTIONS(576), + [anon_sym_static] = ACTIONS(229), + [anon_sym_auto] = ACTIONS(229), + [anon_sym_register] = ACTIONS(229), + [anon_sym_inline] = ACTIONS(229), + [anon_sym_const] = ACTIONS(232), + [anon_sym_volatile] = ACTIONS(232), + [anon_sym_restrict] = ACTIONS(232), + [anon_sym__Atomic] = ACTIONS(232), + [anon_sym_signed] = ACTIONS(235), + [anon_sym_unsigned] = ACTIONS(235), + [anon_sym_long] = ACTIONS(235), + [anon_sym_short] = ACTIONS(235), + [sym_primitive_type] = ACTIONS(238), + [anon_sym_enum] = ACTIONS(241), + [anon_sym_struct] = ACTIONS(244), + [anon_sym_union] = ACTIONS(247), + [anon_sym_if] = ACTIONS(579), + [anon_sym_switch] = ACTIONS(582), + [anon_sym_case] = ACTIONS(585), + [anon_sym_default] = ACTIONS(588), + [anon_sym_while] = ACTIONS(591), + [anon_sym_do] = ACTIONS(594), + [anon_sym_for] = ACTIONS(597), + [anon_sym_return] = ACTIONS(600), + [anon_sym_break] = ACTIONS(603), + [anon_sym_continue] = ACTIONS(606), + [anon_sym_goto] = ACTIONS(609), + [anon_sym_DASH_DASH] = ACTIONS(283), + [anon_sym_PLUS_PLUS] = ACTIONS(283), + [anon_sym_sizeof] = ACTIONS(286), + [sym_number_literal] = ACTIONS(289), + [anon_sym_L_SQUOTE] = ACTIONS(292), + [anon_sym_u_SQUOTE] = ACTIONS(292), + [anon_sym_U_SQUOTE] = ACTIONS(292), + [anon_sym_u8_SQUOTE] = ACTIONS(292), + [anon_sym_SQUOTE] = ACTIONS(292), + [anon_sym_L_DQUOTE] = ACTIONS(295), + [anon_sym_u_DQUOTE] = ACTIONS(295), + [anon_sym_U_DQUOTE] = ACTIONS(295), + [anon_sym_u8_DQUOTE] = ACTIONS(295), + [anon_sym_DQUOTE] = ACTIONS(295), + [sym_true] = ACTIONS(298), + [sym_false] = ACTIONS(298), + [sym_null] = ACTIONS(298), + [sym_comment] = ACTIONS(3), + }, + [42] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1010), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_ms_call_modifier] = STATE(648), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(849), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym__empty_declaration] = STATE(36), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(260), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(301), + [aux_sym_preproc_include_token1] = ACTIONS(303), + [aux_sym_preproc_def_token1] = ACTIONS(305), + [aux_sym_preproc_if_token1] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(309), + [aux_sym_preproc_ifdef_token2] = ACTIONS(309), + [sym_preproc_directive] = ACTIONS(311), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(317), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(39), + [anon_sym___clrcall] = ACTIONS(39), + [anon_sym___stdcall] = ACTIONS(39), + [anon_sym___fastcall] = ACTIONS(39), + [anon_sym___thiscall] = ACTIONS(39), + [anon_sym___vectorcall] = ACTIONS(39), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(612), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [43] = { + [sym_declaration] = STATE(47), + [sym_type_definition] = STATE(47), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1012), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(47), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(47), + [sym_labeled_statement] = STATE(47), + [sym_expression_statement] = STATE(47), + [sym_if_statement] = STATE(47), + [sym_switch_statement] = STATE(47), + [sym_while_statement] = STATE(47), + [sym_do_statement] = STATE(47), + [sym_for_statement] = STATE(47), + [sym_return_statement] = STATE(47), + [sym_break_statement] = STATE(47), + [sym_continue_statement] = STATE(47), + [sym_goto_statement] = STATE(47), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(47), + [sym_identifier] = ACTIONS(614), + [aux_sym_preproc_include_token1] = ACTIONS(616), + [aux_sym_preproc_def_token1] = ACTIONS(616), + [aux_sym_preproc_if_token1] = ACTIONS(616), + [aux_sym_preproc_if_token2] = ACTIONS(616), + [aux_sym_preproc_ifdef_token1] = ACTIONS(616), + [aux_sym_preproc_ifdef_token2] = ACTIONS(616), + [aux_sym_preproc_else_token1] = ACTIONS(616), + [aux_sym_preproc_elif_token1] = ACTIONS(616), + [sym_preproc_directive] = ACTIONS(616), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(616), + [anon_sym___clrcall] = ACTIONS(616), + [anon_sym___stdcall] = ACTIONS(616), + [anon_sym___fastcall] = ACTIONS(616), + [anon_sym___thiscall] = ACTIONS(616), + [anon_sym___vectorcall] = ACTIONS(616), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_else] = ACTIONS(616), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(616), + [anon_sym_default] = ACTIONS(616), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [44] = { + [sym_declaration] = STATE(45), + [sym_type_definition] = STATE(45), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1012), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(45), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(45), + [sym_labeled_statement] = STATE(45), + [sym_expression_statement] = STATE(45), + [sym_if_statement] = STATE(45), + [sym_switch_statement] = STATE(45), + [sym_while_statement] = STATE(45), + [sym_do_statement] = STATE(45), + [sym_for_statement] = STATE(45), + [sym_return_statement] = STATE(45), + [sym_break_statement] = STATE(45), + [sym_continue_statement] = STATE(45), + [sym_goto_statement] = STATE(45), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(45), + [sym_identifier] = ACTIONS(614), + [aux_sym_preproc_include_token1] = ACTIONS(618), + [aux_sym_preproc_def_token1] = ACTIONS(618), + [aux_sym_preproc_if_token1] = ACTIONS(618), + [aux_sym_preproc_if_token2] = ACTIONS(618), + [aux_sym_preproc_ifdef_token1] = ACTIONS(618), + [aux_sym_preproc_ifdef_token2] = ACTIONS(618), + [aux_sym_preproc_else_token1] = ACTIONS(618), + [aux_sym_preproc_elif_token1] = ACTIONS(618), + [sym_preproc_directive] = ACTIONS(618), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(618), + [anon_sym___clrcall] = ACTIONS(618), + [anon_sym___stdcall] = ACTIONS(618), + [anon_sym___fastcall] = ACTIONS(618), + [anon_sym___thiscall] = ACTIONS(618), + [anon_sym___vectorcall] = ACTIONS(618), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_else] = ACTIONS(618), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(618), + [anon_sym_default] = ACTIONS(618), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [45] = { + [sym_declaration] = STATE(47), + [sym_type_definition] = STATE(47), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1012), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(47), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(47), + [sym_labeled_statement] = STATE(47), + [sym_expression_statement] = STATE(47), + [sym_if_statement] = STATE(47), + [sym_switch_statement] = STATE(47), + [sym_while_statement] = STATE(47), + [sym_do_statement] = STATE(47), + [sym_for_statement] = STATE(47), + [sym_return_statement] = STATE(47), + [sym_break_statement] = STATE(47), + [sym_continue_statement] = STATE(47), + [sym_goto_statement] = STATE(47), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(47), + [sym_identifier] = ACTIONS(614), + [aux_sym_preproc_include_token1] = ACTIONS(620), + [aux_sym_preproc_def_token1] = ACTIONS(620), + [aux_sym_preproc_if_token1] = ACTIONS(620), + [aux_sym_preproc_if_token2] = ACTIONS(620), + [aux_sym_preproc_ifdef_token1] = ACTIONS(620), + [aux_sym_preproc_ifdef_token2] = ACTIONS(620), + [aux_sym_preproc_else_token1] = ACTIONS(620), + [aux_sym_preproc_elif_token1] = ACTIONS(620), + [sym_preproc_directive] = ACTIONS(620), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(620), + [anon_sym___clrcall] = ACTIONS(620), + [anon_sym___stdcall] = ACTIONS(620), + [anon_sym___fastcall] = ACTIONS(620), + [anon_sym___thiscall] = ACTIONS(620), + [anon_sym___vectorcall] = ACTIONS(620), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_else] = ACTIONS(620), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(620), + [anon_sym_default] = ACTIONS(620), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [46] = { + [sym_declaration] = STATE(43), + [sym_type_definition] = STATE(43), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1012), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(43), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(43), + [sym_labeled_statement] = STATE(43), + [sym_expression_statement] = STATE(43), + [sym_if_statement] = STATE(43), + [sym_switch_statement] = STATE(43), + [sym_while_statement] = STATE(43), + [sym_do_statement] = STATE(43), + [sym_for_statement] = STATE(43), + [sym_return_statement] = STATE(43), + [sym_break_statement] = STATE(43), + [sym_continue_statement] = STATE(43), + [sym_goto_statement] = STATE(43), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(43), + [sym_identifier] = ACTIONS(614), + [aux_sym_preproc_include_token1] = ACTIONS(622), + [aux_sym_preproc_def_token1] = ACTIONS(622), + [aux_sym_preproc_if_token1] = ACTIONS(622), + [aux_sym_preproc_if_token2] = ACTIONS(622), + [aux_sym_preproc_ifdef_token1] = ACTIONS(622), + [aux_sym_preproc_ifdef_token2] = ACTIONS(622), + [aux_sym_preproc_else_token1] = ACTIONS(622), + [aux_sym_preproc_elif_token1] = ACTIONS(622), + [sym_preproc_directive] = ACTIONS(622), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_typedef] = ACTIONS(111), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(622), + [anon_sym___clrcall] = ACTIONS(622), + [anon_sym___stdcall] = ACTIONS(622), + [anon_sym___fastcall] = ACTIONS(622), + [anon_sym___thiscall] = ACTIONS(622), + [anon_sym___vectorcall] = ACTIONS(622), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(117), + [anon_sym_else] = ACTIONS(622), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(622), + [anon_sym_default] = ACTIONS(622), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [47] = { + [sym_declaration] = STATE(47), + [sym_type_definition] = STATE(47), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1012), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(47), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(47), + [sym_labeled_statement] = STATE(47), + [sym_expression_statement] = STATE(47), + [sym_if_statement] = STATE(47), + [sym_switch_statement] = STATE(47), + [sym_while_statement] = STATE(47), + [sym_do_statement] = STATE(47), + [sym_for_statement] = STATE(47), + [sym_return_statement] = STATE(47), + [sym_break_statement] = STATE(47), + [sym_continue_statement] = STATE(47), + [sym_goto_statement] = STATE(47), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(47), + [sym_identifier] = ACTIONS(624), + [aux_sym_preproc_include_token1] = ACTIONS(627), + [aux_sym_preproc_def_token1] = ACTIONS(627), + [aux_sym_preproc_if_token1] = ACTIONS(627), + [aux_sym_preproc_if_token2] = ACTIONS(627), + [aux_sym_preproc_ifdef_token1] = ACTIONS(627), + [aux_sym_preproc_ifdef_token2] = ACTIONS(627), + [aux_sym_preproc_else_token1] = ACTIONS(627), + [aux_sym_preproc_elif_token1] = ACTIONS(627), + [sym_preproc_directive] = ACTIONS(627), + [anon_sym_LPAREN2] = ACTIONS(629), + [anon_sym_BANG] = ACTIONS(632), + [anon_sym_TILDE] = ACTIONS(632), + [anon_sym_DASH] = ACTIONS(635), + [anon_sym_PLUS] = ACTIONS(635), + [anon_sym_STAR] = ACTIONS(638), + [anon_sym_AMP] = ACTIONS(638), + [anon_sym_SEMI] = ACTIONS(641), + [anon_sym_typedef] = ACTIONS(644), + [anon_sym_extern] = ACTIONS(647), + [anon_sym___attribute__] = ACTIONS(650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(653), + [anon_sym___declspec] = ACTIONS(656), + [anon_sym___cdecl] = ACTIONS(627), + [anon_sym___clrcall] = ACTIONS(627), + [anon_sym___stdcall] = ACTIONS(627), + [anon_sym___fastcall] = ACTIONS(627), + [anon_sym___thiscall] = ACTIONS(627), + [anon_sym___vectorcall] = ACTIONS(627), + [anon_sym_LBRACE] = ACTIONS(659), + [anon_sym_static] = ACTIONS(647), + [anon_sym_auto] = ACTIONS(647), + [anon_sym_register] = ACTIONS(647), + [anon_sym_inline] = ACTIONS(647), + [anon_sym_const] = ACTIONS(662), + [anon_sym_volatile] = ACTIONS(662), + [anon_sym_restrict] = ACTIONS(662), + [anon_sym__Atomic] = ACTIONS(662), + [anon_sym_signed] = ACTIONS(665), + [anon_sym_unsigned] = ACTIONS(665), + [anon_sym_long] = ACTIONS(665), + [anon_sym_short] = ACTIONS(665), + [sym_primitive_type] = ACTIONS(668), + [anon_sym_enum] = ACTIONS(671), + [anon_sym_struct] = ACTIONS(674), + [anon_sym_union] = ACTIONS(677), + [anon_sym_if] = ACTIONS(680), + [anon_sym_else] = ACTIONS(627), + [anon_sym_switch] = ACTIONS(683), + [anon_sym_case] = ACTIONS(627), + [anon_sym_default] = ACTIONS(627), + [anon_sym_while] = ACTIONS(686), + [anon_sym_do] = ACTIONS(689), + [anon_sym_for] = ACTIONS(692), + [anon_sym_return] = ACTIONS(695), + [anon_sym_break] = ACTIONS(698), + [anon_sym_continue] = ACTIONS(701), + [anon_sym_goto] = ACTIONS(704), + [anon_sym_DASH_DASH] = ACTIONS(707), + [anon_sym_PLUS_PLUS] = ACTIONS(707), + [anon_sym_sizeof] = ACTIONS(710), + [sym_number_literal] = ACTIONS(713), + [anon_sym_L_SQUOTE] = ACTIONS(716), + [anon_sym_u_SQUOTE] = ACTIONS(716), + [anon_sym_U_SQUOTE] = ACTIONS(716), + [anon_sym_u8_SQUOTE] = ACTIONS(716), + [anon_sym_SQUOTE] = ACTIONS(716), + [anon_sym_L_DQUOTE] = ACTIONS(719), + [anon_sym_u_DQUOTE] = ACTIONS(719), + [anon_sym_U_DQUOTE] = ACTIONS(719), + [anon_sym_u8_DQUOTE] = ACTIONS(719), + [anon_sym_DQUOTE] = ACTIONS(719), + [sym_true] = ACTIONS(722), + [sym_false] = ACTIONS(722), + [sym_null] = ACTIONS(722), + [sym_comment] = ACTIONS(3), + }, + [48] = { + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1009), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(56), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(56), + [sym_labeled_statement] = STATE(56), + [sym_expression_statement] = STATE(56), + [sym_if_statement] = STATE(56), + [sym_switch_statement] = STATE(56), + [sym_while_statement] = STATE(56), + [sym_do_statement] = STATE(56), + [sym_for_statement] = STATE(56), + [sym_return_statement] = STATE(56), + [sym_break_statement] = STATE(56), + [sym_continue_statement] = STATE(56), + [sym_goto_statement] = STATE(56), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(335), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(56), + [sym_identifier] = ACTIONS(725), + [aux_sym_preproc_include_token1] = ACTIONS(620), + [aux_sym_preproc_def_token1] = ACTIONS(620), + [aux_sym_preproc_if_token1] = ACTIONS(620), + [aux_sym_preproc_ifdef_token1] = ACTIONS(620), + [aux_sym_preproc_ifdef_token2] = ACTIONS(620), + [sym_preproc_directive] = ACTIONS(620), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(620), + [anon_sym___clrcall] = ACTIONS(620), + [anon_sym___stdcall] = ACTIONS(620), + [anon_sym___fastcall] = ACTIONS(620), + [anon_sym___thiscall] = ACTIONS(620), + [anon_sym___vectorcall] = ACTIONS(620), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(727), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_else] = ACTIONS(620), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(620), + [anon_sym_default] = ACTIONS(620), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [49] = { + [sym_declaration] = STATE(58), + [sym_type_definition] = STATE(58), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1017), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(58), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(58), + [sym_labeled_statement] = STATE(58), + [sym_expression_statement] = STATE(58), + [sym_if_statement] = STATE(58), + [sym_switch_statement] = STATE(58), + [sym_while_statement] = STATE(58), + [sym_do_statement] = STATE(58), + [sym_for_statement] = STATE(58), + [sym_return_statement] = STATE(58), + [sym_break_statement] = STATE(58), + [sym_continue_statement] = STATE(58), + [sym_goto_statement] = STATE(58), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(365), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(58), + [sym_identifier] = ACTIONS(729), + [aux_sym_preproc_include_token1] = ACTIONS(618), + [aux_sym_preproc_def_token1] = ACTIONS(618), + [aux_sym_preproc_if_token1] = ACTIONS(618), + [aux_sym_preproc_if_token2] = ACTIONS(618), + [aux_sym_preproc_ifdef_token1] = ACTIONS(618), + [aux_sym_preproc_ifdef_token2] = ACTIONS(618), + [sym_preproc_directive] = ACTIONS(618), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_typedef] = ACTIONS(369), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(618), + [anon_sym___clrcall] = ACTIONS(618), + [anon_sym___stdcall] = ACTIONS(618), + [anon_sym___fastcall] = ACTIONS(618), + [anon_sym___thiscall] = ACTIONS(618), + [anon_sym___vectorcall] = ACTIONS(618), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(375), + [anon_sym_else] = ACTIONS(618), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(618), + [anon_sym_default] = ACTIONS(618), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [50] = { + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(50), + [sym_labeled_statement] = STATE(50), + [sym_expression_statement] = STATE(50), + [sym_if_statement] = STATE(50), + [sym_switch_statement] = STATE(50), + [sym_while_statement] = STATE(50), + [sym_do_statement] = STATE(50), + [sym_for_statement] = STATE(50), + [sym_return_statement] = STATE(50), + [sym_break_statement] = STATE(50), + [sym_continue_statement] = STATE(50), + [sym_goto_statement] = STATE(50), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(317), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(50), + [ts_builtin_sym_end] = ACTIONS(731), + [sym_identifier] = ACTIONS(733), + [aux_sym_preproc_include_token1] = ACTIONS(627), + [aux_sym_preproc_def_token1] = ACTIONS(627), + [aux_sym_preproc_if_token1] = ACTIONS(627), + [aux_sym_preproc_ifdef_token1] = ACTIONS(627), + [aux_sym_preproc_ifdef_token2] = ACTIONS(627), + [sym_preproc_directive] = ACTIONS(627), + [anon_sym_LPAREN2] = ACTIONS(629), + [anon_sym_BANG] = ACTIONS(632), + [anon_sym_TILDE] = ACTIONS(632), + [anon_sym_DASH] = ACTIONS(635), + [anon_sym_PLUS] = ACTIONS(635), + [anon_sym_STAR] = ACTIONS(638), + [anon_sym_AMP] = ACTIONS(638), + [anon_sym_SEMI] = ACTIONS(736), + [anon_sym_typedef] = ACTIONS(739), + [anon_sym_extern] = ACTIONS(647), + [anon_sym___attribute__] = ACTIONS(650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(653), + [anon_sym___declspec] = ACTIONS(656), + [anon_sym___cdecl] = ACTIONS(627), + [anon_sym___clrcall] = ACTIONS(627), + [anon_sym___stdcall] = ACTIONS(627), + [anon_sym___fastcall] = ACTIONS(627), + [anon_sym___thiscall] = ACTIONS(627), + [anon_sym___vectorcall] = ACTIONS(627), + [anon_sym_LBRACE] = ACTIONS(742), + [anon_sym_static] = ACTIONS(647), + [anon_sym_auto] = ACTIONS(647), + [anon_sym_register] = ACTIONS(647), + [anon_sym_inline] = ACTIONS(647), + [anon_sym_const] = ACTIONS(662), + [anon_sym_volatile] = ACTIONS(662), + [anon_sym_restrict] = ACTIONS(662), + [anon_sym__Atomic] = ACTIONS(662), + [anon_sym_signed] = ACTIONS(665), + [anon_sym_unsigned] = ACTIONS(665), + [anon_sym_long] = ACTIONS(665), + [anon_sym_short] = ACTIONS(665), + [sym_primitive_type] = ACTIONS(668), + [anon_sym_enum] = ACTIONS(671), + [anon_sym_struct] = ACTIONS(674), + [anon_sym_union] = ACTIONS(677), + [anon_sym_if] = ACTIONS(745), + [anon_sym_else] = ACTIONS(627), + [anon_sym_switch] = ACTIONS(748), + [anon_sym_case] = ACTIONS(627), + [anon_sym_default] = ACTIONS(627), + [anon_sym_while] = ACTIONS(751), + [anon_sym_do] = ACTIONS(754), + [anon_sym_for] = ACTIONS(757), + [anon_sym_return] = ACTIONS(760), + [anon_sym_break] = ACTIONS(763), + [anon_sym_continue] = ACTIONS(766), + [anon_sym_goto] = ACTIONS(769), + [anon_sym_DASH_DASH] = ACTIONS(707), + [anon_sym_PLUS_PLUS] = ACTIONS(707), + [anon_sym_sizeof] = ACTIONS(710), + [sym_number_literal] = ACTIONS(713), + [anon_sym_L_SQUOTE] = ACTIONS(716), + [anon_sym_u_SQUOTE] = ACTIONS(716), + [anon_sym_U_SQUOTE] = ACTIONS(716), + [anon_sym_u8_SQUOTE] = ACTIONS(716), + [anon_sym_SQUOTE] = ACTIONS(716), + [anon_sym_L_DQUOTE] = ACTIONS(719), + [anon_sym_u_DQUOTE] = ACTIONS(719), + [anon_sym_U_DQUOTE] = ACTIONS(719), + [anon_sym_u8_DQUOTE] = ACTIONS(719), + [anon_sym_DQUOTE] = ACTIONS(719), + [sym_true] = ACTIONS(722), + [sym_false] = ACTIONS(722), + [sym_null] = ACTIONS(722), + [sym_comment] = ACTIONS(3), + }, + [51] = { + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(50), + [sym_labeled_statement] = STATE(50), + [sym_expression_statement] = STATE(50), + [sym_if_statement] = STATE(50), + [sym_switch_statement] = STATE(50), + [sym_while_statement] = STATE(50), + [sym_do_statement] = STATE(50), + [sym_for_statement] = STATE(50), + [sym_return_statement] = STATE(50), + [sym_break_statement] = STATE(50), + [sym_continue_statement] = STATE(50), + [sym_goto_statement] = STATE(50), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(317), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(50), + [ts_builtin_sym_end] = ACTIONS(772), + [sym_identifier] = ACTIONS(774), + [aux_sym_preproc_include_token1] = ACTIONS(616), + [aux_sym_preproc_def_token1] = ACTIONS(616), + [aux_sym_preproc_if_token1] = ACTIONS(616), + [aux_sym_preproc_ifdef_token1] = ACTIONS(616), + [aux_sym_preproc_ifdef_token2] = ACTIONS(616), + [sym_preproc_directive] = ACTIONS(616), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(616), + [anon_sym___clrcall] = ACTIONS(616), + [anon_sym___stdcall] = ACTIONS(616), + [anon_sym___fastcall] = ACTIONS(616), + [anon_sym___thiscall] = ACTIONS(616), + [anon_sym___vectorcall] = ACTIONS(616), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(57), + [anon_sym_else] = ACTIONS(616), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(616), + [anon_sym_default] = ACTIONS(616), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [52] = { + [sym_declaration] = STATE(55), + [sym_type_definition] = STATE(55), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(55), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(55), + [sym_labeled_statement] = STATE(55), + [sym_expression_statement] = STATE(55), + [sym_if_statement] = STATE(55), + [sym_switch_statement] = STATE(55), + [sym_while_statement] = STATE(55), + [sym_do_statement] = STATE(55), + [sym_for_statement] = STATE(55), + [sym_return_statement] = STATE(55), + [sym_break_statement] = STATE(55), + [sym_continue_statement] = STATE(55), + [sym_goto_statement] = STATE(55), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(317), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(55), + [ts_builtin_sym_end] = ACTIONS(776), + [sym_identifier] = ACTIONS(774), + [aux_sym_preproc_include_token1] = ACTIONS(618), + [aux_sym_preproc_def_token1] = ACTIONS(618), + [aux_sym_preproc_if_token1] = ACTIONS(618), + [aux_sym_preproc_ifdef_token1] = ACTIONS(618), + [aux_sym_preproc_ifdef_token2] = ACTIONS(618), + [sym_preproc_directive] = ACTIONS(618), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(618), + [anon_sym___clrcall] = ACTIONS(618), + [anon_sym___stdcall] = ACTIONS(618), + [anon_sym___fastcall] = ACTIONS(618), + [anon_sym___thiscall] = ACTIONS(618), + [anon_sym___vectorcall] = ACTIONS(618), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(57), + [anon_sym_else] = ACTIONS(618), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(618), + [anon_sym_default] = ACTIONS(618), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [53] = { + [sym_declaration] = STATE(54), + [sym_type_definition] = STATE(54), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1017), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(54), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(54), + [sym_labeled_statement] = STATE(54), + [sym_expression_statement] = STATE(54), + [sym_if_statement] = STATE(54), + [sym_switch_statement] = STATE(54), + [sym_while_statement] = STATE(54), + [sym_do_statement] = STATE(54), + [sym_for_statement] = STATE(54), + [sym_return_statement] = STATE(54), + [sym_break_statement] = STATE(54), + [sym_continue_statement] = STATE(54), + [sym_goto_statement] = STATE(54), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(365), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(54), + [sym_identifier] = ACTIONS(729), + [aux_sym_preproc_include_token1] = ACTIONS(616), + [aux_sym_preproc_def_token1] = ACTIONS(616), + [aux_sym_preproc_if_token1] = ACTIONS(616), + [aux_sym_preproc_if_token2] = ACTIONS(616), + [aux_sym_preproc_ifdef_token1] = ACTIONS(616), + [aux_sym_preproc_ifdef_token2] = ACTIONS(616), + [sym_preproc_directive] = ACTIONS(616), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_typedef] = ACTIONS(369), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(616), + [anon_sym___clrcall] = ACTIONS(616), + [anon_sym___stdcall] = ACTIONS(616), + [anon_sym___fastcall] = ACTIONS(616), + [anon_sym___thiscall] = ACTIONS(616), + [anon_sym___vectorcall] = ACTIONS(616), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(375), + [anon_sym_else] = ACTIONS(616), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(616), + [anon_sym_default] = ACTIONS(616), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [54] = { + [sym_declaration] = STATE(54), + [sym_type_definition] = STATE(54), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1017), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(54), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(54), + [sym_labeled_statement] = STATE(54), + [sym_expression_statement] = STATE(54), + [sym_if_statement] = STATE(54), + [sym_switch_statement] = STATE(54), + [sym_while_statement] = STATE(54), + [sym_do_statement] = STATE(54), + [sym_for_statement] = STATE(54), + [sym_return_statement] = STATE(54), + [sym_break_statement] = STATE(54), + [sym_continue_statement] = STATE(54), + [sym_goto_statement] = STATE(54), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(365), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(54), + [sym_identifier] = ACTIONS(778), + [aux_sym_preproc_include_token1] = ACTIONS(627), + [aux_sym_preproc_def_token1] = ACTIONS(627), + [aux_sym_preproc_if_token1] = ACTIONS(627), + [aux_sym_preproc_if_token2] = ACTIONS(627), + [aux_sym_preproc_ifdef_token1] = ACTIONS(627), + [aux_sym_preproc_ifdef_token2] = ACTIONS(627), + [sym_preproc_directive] = ACTIONS(627), + [anon_sym_LPAREN2] = ACTIONS(629), + [anon_sym_BANG] = ACTIONS(632), + [anon_sym_TILDE] = ACTIONS(632), + [anon_sym_DASH] = ACTIONS(635), + [anon_sym_PLUS] = ACTIONS(635), + [anon_sym_STAR] = ACTIONS(638), + [anon_sym_AMP] = ACTIONS(638), + [anon_sym_SEMI] = ACTIONS(781), + [anon_sym_typedef] = ACTIONS(784), + [anon_sym_extern] = ACTIONS(647), + [anon_sym___attribute__] = ACTIONS(650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(653), + [anon_sym___declspec] = ACTIONS(656), + [anon_sym___cdecl] = ACTIONS(627), + [anon_sym___clrcall] = ACTIONS(627), + [anon_sym___stdcall] = ACTIONS(627), + [anon_sym___fastcall] = ACTIONS(627), + [anon_sym___thiscall] = ACTIONS(627), + [anon_sym___vectorcall] = ACTIONS(627), + [anon_sym_LBRACE] = ACTIONS(787), + [anon_sym_static] = ACTIONS(647), + [anon_sym_auto] = ACTIONS(647), + [anon_sym_register] = ACTIONS(647), + [anon_sym_inline] = ACTIONS(647), + [anon_sym_const] = ACTIONS(662), + [anon_sym_volatile] = ACTIONS(662), + [anon_sym_restrict] = ACTIONS(662), + [anon_sym__Atomic] = ACTIONS(662), + [anon_sym_signed] = ACTIONS(665), + [anon_sym_unsigned] = ACTIONS(665), + [anon_sym_long] = ACTIONS(665), + [anon_sym_short] = ACTIONS(665), + [sym_primitive_type] = ACTIONS(668), + [anon_sym_enum] = ACTIONS(671), + [anon_sym_struct] = ACTIONS(674), + [anon_sym_union] = ACTIONS(677), + [anon_sym_if] = ACTIONS(790), + [anon_sym_else] = ACTIONS(627), + [anon_sym_switch] = ACTIONS(793), + [anon_sym_case] = ACTIONS(627), + [anon_sym_default] = ACTIONS(627), + [anon_sym_while] = ACTIONS(796), + [anon_sym_do] = ACTIONS(799), + [anon_sym_for] = ACTIONS(802), + [anon_sym_return] = ACTIONS(805), + [anon_sym_break] = ACTIONS(808), + [anon_sym_continue] = ACTIONS(811), + [anon_sym_goto] = ACTIONS(814), + [anon_sym_DASH_DASH] = ACTIONS(707), + [anon_sym_PLUS_PLUS] = ACTIONS(707), + [anon_sym_sizeof] = ACTIONS(710), + [sym_number_literal] = ACTIONS(713), + [anon_sym_L_SQUOTE] = ACTIONS(716), + [anon_sym_u_SQUOTE] = ACTIONS(716), + [anon_sym_U_SQUOTE] = ACTIONS(716), + [anon_sym_u8_SQUOTE] = ACTIONS(716), + [anon_sym_SQUOTE] = ACTIONS(716), + [anon_sym_L_DQUOTE] = ACTIONS(719), + [anon_sym_u_DQUOTE] = ACTIONS(719), + [anon_sym_U_DQUOTE] = ACTIONS(719), + [anon_sym_u8_DQUOTE] = ACTIONS(719), + [anon_sym_DQUOTE] = ACTIONS(719), + [sym_true] = ACTIONS(722), + [sym_false] = ACTIONS(722), + [sym_null] = ACTIONS(722), + [sym_comment] = ACTIONS(3), + }, + [55] = { + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(50), + [sym_labeled_statement] = STATE(50), + [sym_expression_statement] = STATE(50), + [sym_if_statement] = STATE(50), + [sym_switch_statement] = STATE(50), + [sym_while_statement] = STATE(50), + [sym_do_statement] = STATE(50), + [sym_for_statement] = STATE(50), + [sym_return_statement] = STATE(50), + [sym_break_statement] = STATE(50), + [sym_continue_statement] = STATE(50), + [sym_goto_statement] = STATE(50), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(317), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(50), + [ts_builtin_sym_end] = ACTIONS(727), + [sym_identifier] = ACTIONS(774), + [aux_sym_preproc_include_token1] = ACTIONS(620), + [aux_sym_preproc_def_token1] = ACTIONS(620), + [aux_sym_preproc_if_token1] = ACTIONS(620), + [aux_sym_preproc_ifdef_token1] = ACTIONS(620), + [aux_sym_preproc_ifdef_token2] = ACTIONS(620), + [sym_preproc_directive] = ACTIONS(620), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(620), + [anon_sym___clrcall] = ACTIONS(620), + [anon_sym___stdcall] = ACTIONS(620), + [anon_sym___fastcall] = ACTIONS(620), + [anon_sym___thiscall] = ACTIONS(620), + [anon_sym___vectorcall] = ACTIONS(620), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(57), + [anon_sym_else] = ACTIONS(620), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(620), + [anon_sym_default] = ACTIONS(620), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [56] = { + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1009), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(56), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(56), + [sym_labeled_statement] = STATE(56), + [sym_expression_statement] = STATE(56), + [sym_if_statement] = STATE(56), + [sym_switch_statement] = STATE(56), + [sym_while_statement] = STATE(56), + [sym_do_statement] = STATE(56), + [sym_for_statement] = STATE(56), + [sym_return_statement] = STATE(56), + [sym_break_statement] = STATE(56), + [sym_continue_statement] = STATE(56), + [sym_goto_statement] = STATE(56), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(335), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(56), + [sym_identifier] = ACTIONS(817), + [aux_sym_preproc_include_token1] = ACTIONS(627), + [aux_sym_preproc_def_token1] = ACTIONS(627), + [aux_sym_preproc_if_token1] = ACTIONS(627), + [aux_sym_preproc_ifdef_token1] = ACTIONS(627), + [aux_sym_preproc_ifdef_token2] = ACTIONS(627), + [sym_preproc_directive] = ACTIONS(627), + [anon_sym_LPAREN2] = ACTIONS(629), + [anon_sym_BANG] = ACTIONS(632), + [anon_sym_TILDE] = ACTIONS(632), + [anon_sym_DASH] = ACTIONS(635), + [anon_sym_PLUS] = ACTIONS(635), + [anon_sym_STAR] = ACTIONS(638), + [anon_sym_AMP] = ACTIONS(638), + [anon_sym_SEMI] = ACTIONS(820), + [anon_sym_typedef] = ACTIONS(823), + [anon_sym_extern] = ACTIONS(647), + [anon_sym___attribute__] = ACTIONS(650), + [anon_sym_LBRACK_LBRACK] = ACTIONS(653), + [anon_sym___declspec] = ACTIONS(656), + [anon_sym___cdecl] = ACTIONS(627), + [anon_sym___clrcall] = ACTIONS(627), + [anon_sym___stdcall] = ACTIONS(627), + [anon_sym___fastcall] = ACTIONS(627), + [anon_sym___thiscall] = ACTIONS(627), + [anon_sym___vectorcall] = ACTIONS(627), + [anon_sym_LBRACE] = ACTIONS(826), + [anon_sym_RBRACE] = ACTIONS(731), + [anon_sym_static] = ACTIONS(647), + [anon_sym_auto] = ACTIONS(647), + [anon_sym_register] = ACTIONS(647), + [anon_sym_inline] = ACTIONS(647), + [anon_sym_const] = ACTIONS(662), + [anon_sym_volatile] = ACTIONS(662), + [anon_sym_restrict] = ACTIONS(662), + [anon_sym__Atomic] = ACTIONS(662), + [anon_sym_signed] = ACTIONS(665), + [anon_sym_unsigned] = ACTIONS(665), + [anon_sym_long] = ACTIONS(665), + [anon_sym_short] = ACTIONS(665), + [sym_primitive_type] = ACTIONS(668), + [anon_sym_enum] = ACTIONS(671), + [anon_sym_struct] = ACTIONS(674), + [anon_sym_union] = ACTIONS(677), + [anon_sym_if] = ACTIONS(829), + [anon_sym_else] = ACTIONS(627), + [anon_sym_switch] = ACTIONS(832), + [anon_sym_case] = ACTIONS(627), + [anon_sym_default] = ACTIONS(627), + [anon_sym_while] = ACTIONS(835), + [anon_sym_do] = ACTIONS(838), + [anon_sym_for] = ACTIONS(841), + [anon_sym_return] = ACTIONS(844), + [anon_sym_break] = ACTIONS(847), + [anon_sym_continue] = ACTIONS(850), + [anon_sym_goto] = ACTIONS(853), + [anon_sym_DASH_DASH] = ACTIONS(707), + [anon_sym_PLUS_PLUS] = ACTIONS(707), + [anon_sym_sizeof] = ACTIONS(710), + [sym_number_literal] = ACTIONS(713), + [anon_sym_L_SQUOTE] = ACTIONS(716), + [anon_sym_u_SQUOTE] = ACTIONS(716), + [anon_sym_U_SQUOTE] = ACTIONS(716), + [anon_sym_u8_SQUOTE] = ACTIONS(716), + [anon_sym_SQUOTE] = ACTIONS(716), + [anon_sym_L_DQUOTE] = ACTIONS(719), + [anon_sym_u_DQUOTE] = ACTIONS(719), + [anon_sym_U_DQUOTE] = ACTIONS(719), + [anon_sym_u8_DQUOTE] = ACTIONS(719), + [anon_sym_DQUOTE] = ACTIONS(719), + [sym_true] = ACTIONS(722), + [sym_false] = ACTIONS(722), + [sym_null] = ACTIONS(722), + [sym_comment] = ACTIONS(3), + }, + [57] = { + [sym_declaration] = STATE(51), + [sym_type_definition] = STATE(51), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(51), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(51), + [sym_labeled_statement] = STATE(51), + [sym_expression_statement] = STATE(51), + [sym_if_statement] = STATE(51), + [sym_switch_statement] = STATE(51), + [sym_while_statement] = STATE(51), + [sym_do_statement] = STATE(51), + [sym_for_statement] = STATE(51), + [sym_return_statement] = STATE(51), + [sym_break_statement] = STATE(51), + [sym_continue_statement] = STATE(51), + [sym_goto_statement] = STATE(51), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(317), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(51), + [ts_builtin_sym_end] = ACTIONS(856), + [sym_identifier] = ACTIONS(774), + [aux_sym_preproc_include_token1] = ACTIONS(622), + [aux_sym_preproc_def_token1] = ACTIONS(622), + [aux_sym_preproc_if_token1] = ACTIONS(622), + [aux_sym_preproc_ifdef_token1] = ACTIONS(622), + [aux_sym_preproc_ifdef_token2] = ACTIONS(622), + [sym_preproc_directive] = ACTIONS(622), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_typedef] = ACTIONS(29), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(622), + [anon_sym___clrcall] = ACTIONS(622), + [anon_sym___stdcall] = ACTIONS(622), + [anon_sym___fastcall] = ACTIONS(622), + [anon_sym___thiscall] = ACTIONS(622), + [anon_sym___vectorcall] = ACTIONS(622), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(57), + [anon_sym_else] = ACTIONS(622), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(622), + [anon_sym_default] = ACTIONS(622), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [58] = { + [sym_declaration] = STATE(54), + [sym_type_definition] = STATE(54), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1017), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(54), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(54), + [sym_labeled_statement] = STATE(54), + [sym_expression_statement] = STATE(54), + [sym_if_statement] = STATE(54), + [sym_switch_statement] = STATE(54), + [sym_while_statement] = STATE(54), + [sym_do_statement] = STATE(54), + [sym_for_statement] = STATE(54), + [sym_return_statement] = STATE(54), + [sym_break_statement] = STATE(54), + [sym_continue_statement] = STATE(54), + [sym_goto_statement] = STATE(54), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(365), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(54), + [sym_identifier] = ACTIONS(729), + [aux_sym_preproc_include_token1] = ACTIONS(620), + [aux_sym_preproc_def_token1] = ACTIONS(620), + [aux_sym_preproc_if_token1] = ACTIONS(620), + [aux_sym_preproc_if_token2] = ACTIONS(620), + [aux_sym_preproc_ifdef_token1] = ACTIONS(620), + [aux_sym_preproc_ifdef_token2] = ACTIONS(620), + [sym_preproc_directive] = ACTIONS(620), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_typedef] = ACTIONS(369), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(620), + [anon_sym___clrcall] = ACTIONS(620), + [anon_sym___stdcall] = ACTIONS(620), + [anon_sym___fastcall] = ACTIONS(620), + [anon_sym___thiscall] = ACTIONS(620), + [anon_sym___vectorcall] = ACTIONS(620), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(375), + [anon_sym_else] = ACTIONS(620), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(620), + [anon_sym_default] = ACTIONS(620), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [59] = { + [sym_declaration] = STATE(53), + [sym_type_definition] = STATE(53), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1017), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(53), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(53), + [sym_labeled_statement] = STATE(53), + [sym_expression_statement] = STATE(53), + [sym_if_statement] = STATE(53), + [sym_switch_statement] = STATE(53), + [sym_while_statement] = STATE(53), + [sym_do_statement] = STATE(53), + [sym_for_statement] = STATE(53), + [sym_return_statement] = STATE(53), + [sym_break_statement] = STATE(53), + [sym_continue_statement] = STATE(53), + [sym_goto_statement] = STATE(53), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(365), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(53), + [sym_identifier] = ACTIONS(729), + [aux_sym_preproc_include_token1] = ACTIONS(622), + [aux_sym_preproc_def_token1] = ACTIONS(622), + [aux_sym_preproc_if_token1] = ACTIONS(622), + [aux_sym_preproc_if_token2] = ACTIONS(622), + [aux_sym_preproc_ifdef_token1] = ACTIONS(622), + [aux_sym_preproc_ifdef_token2] = ACTIONS(622), + [sym_preproc_directive] = ACTIONS(622), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_typedef] = ACTIONS(369), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(622), + [anon_sym___clrcall] = ACTIONS(622), + [anon_sym___stdcall] = ACTIONS(622), + [anon_sym___fastcall] = ACTIONS(622), + [anon_sym___thiscall] = ACTIONS(622), + [anon_sym___vectorcall] = ACTIONS(622), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(375), + [anon_sym_else] = ACTIONS(622), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(622), + [anon_sym_default] = ACTIONS(622), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [60] = { + [sym_declaration] = STATE(48), + [sym_type_definition] = STATE(48), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1009), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(48), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(48), + [sym_labeled_statement] = STATE(48), + [sym_expression_statement] = STATE(48), + [sym_if_statement] = STATE(48), + [sym_switch_statement] = STATE(48), + [sym_while_statement] = STATE(48), + [sym_do_statement] = STATE(48), + [sym_for_statement] = STATE(48), + [sym_return_statement] = STATE(48), + [sym_break_statement] = STATE(48), + [sym_continue_statement] = STATE(48), + [sym_goto_statement] = STATE(48), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(335), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(48), + [sym_identifier] = ACTIONS(725), + [aux_sym_preproc_include_token1] = ACTIONS(618), + [aux_sym_preproc_def_token1] = ACTIONS(618), + [aux_sym_preproc_if_token1] = ACTIONS(618), + [aux_sym_preproc_ifdef_token1] = ACTIONS(618), + [aux_sym_preproc_ifdef_token2] = ACTIONS(618), + [sym_preproc_directive] = ACTIONS(618), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(618), + [anon_sym___clrcall] = ACTIONS(618), + [anon_sym___stdcall] = ACTIONS(618), + [anon_sym___fastcall] = ACTIONS(618), + [anon_sym___thiscall] = ACTIONS(618), + [anon_sym___vectorcall] = ACTIONS(618), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(776), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_else] = ACTIONS(618), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(618), + [anon_sym_default] = ACTIONS(618), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [61] = { + [sym_declaration] = STATE(62), + [sym_type_definition] = STATE(62), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1009), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(62), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(62), + [sym_labeled_statement] = STATE(62), + [sym_expression_statement] = STATE(62), + [sym_if_statement] = STATE(62), + [sym_switch_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_do_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_return_statement] = STATE(62), + [sym_break_statement] = STATE(62), + [sym_continue_statement] = STATE(62), + [sym_goto_statement] = STATE(62), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(335), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(62), + [sym_identifier] = ACTIONS(725), + [aux_sym_preproc_include_token1] = ACTIONS(622), + [aux_sym_preproc_def_token1] = ACTIONS(622), + [aux_sym_preproc_if_token1] = ACTIONS(622), + [aux_sym_preproc_ifdef_token1] = ACTIONS(622), + [aux_sym_preproc_ifdef_token2] = ACTIONS(622), + [sym_preproc_directive] = ACTIONS(622), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(622), + [anon_sym___clrcall] = ACTIONS(622), + [anon_sym___stdcall] = ACTIONS(622), + [anon_sym___fastcall] = ACTIONS(622), + [anon_sym___thiscall] = ACTIONS(622), + [anon_sym___vectorcall] = ACTIONS(622), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(856), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_else] = ACTIONS(622), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(622), + [anon_sym_default] = ACTIONS(622), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [62] = { + [sym_declaration] = STATE(56), + [sym_type_definition] = STATE(56), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1009), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(389), + [sym_ms_declspec_modifier] = STATE(650), + [sym_compound_statement] = STATE(56), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym_attributed_non_case_statement] = STATE(56), + [sym_labeled_statement] = STATE(56), + [sym_expression_statement] = STATE(56), + [sym_if_statement] = STATE(56), + [sym_switch_statement] = STATE(56), + [sym_while_statement] = STATE(56), + [sym_do_statement] = STATE(56), + [sym_for_statement] = STATE(56), + [sym_return_statement] = STATE(56), + [sym_break_statement] = STATE(56), + [sym_continue_statement] = STATE(56), + [sym_goto_statement] = STATE(56), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_attributed_declarator_repeat1] = STATE(335), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [aux_sym_case_statement_repeat1] = STATE(56), + [sym_identifier] = ACTIONS(725), + [aux_sym_preproc_include_token1] = ACTIONS(616), + [aux_sym_preproc_def_token1] = ACTIONS(616), + [aux_sym_preproc_if_token1] = ACTIONS(616), + [aux_sym_preproc_ifdef_token1] = ACTIONS(616), + [aux_sym_preproc_ifdef_token2] = ACTIONS(616), + [sym_preproc_directive] = ACTIONS(616), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_typedef] = ACTIONS(315), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(35), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym___cdecl] = ACTIONS(616), + [anon_sym___clrcall] = ACTIONS(616), + [anon_sym___stdcall] = ACTIONS(616), + [anon_sym___fastcall] = ACTIONS(616), + [anon_sym___thiscall] = ACTIONS(616), + [anon_sym___vectorcall] = ACTIONS(616), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_RBRACE] = ACTIONS(772), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_if] = ACTIONS(323), + [anon_sym_else] = ACTIONS(616), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(616), + [anon_sym_default] = ACTIONS(616), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [63] = { + [sym_declaration] = STATE(499), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(650), + [sym_ms_declspec_modifier] = STATE(650), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(730), + [sym_comma_expression] = STATE(1366), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(858), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(860), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(862), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [64] = { + [sym_declaration] = STATE(497), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(650), + [sym_ms_declspec_modifier] = STATE(650), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(720), + [sym_comma_expression] = STATE(1442), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(858), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(864), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(862), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [65] = { + [sym_declaration] = STATE(502), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(650), + [sym_ms_declspec_modifier] = STATE(650), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(724), + [sym_comma_expression] = STATE(1432), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(858), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(866), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(862), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [66] = { + [sym_declaration] = STATE(490), + [sym__declaration_modifiers] = STATE(650), + [sym__declaration_specifiers] = STATE(1011), + [sym_attribute_specifier] = STATE(650), + [sym_attribute_declaration] = STATE(650), + [sym_ms_declspec_modifier] = STATE(650), + [sym_storage_class_specifier] = STATE(650), + [sym_type_qualifier] = STATE(650), + [sym__type_specifier] = STATE(696), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(739), + [sym_comma_expression] = STATE(1450), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym__declaration_specifiers_repeat1] = STATE(650), + [aux_sym_sized_type_specifier_repeat1] = STATE(775), + [sym_identifier] = ACTIONS(858), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(868), + [anon_sym_extern] = ACTIONS(43), + [anon_sym___attribute__] = ACTIONS(33), + [anon_sym_LBRACK_LBRACK] = ACTIONS(862), + [anon_sym___declspec] = ACTIONS(37), + [anon_sym_static] = ACTIONS(43), + [anon_sym_auto] = ACTIONS(43), + [anon_sym_register] = ACTIONS(43), + [anon_sym_inline] = ACTIONS(43), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(47), + [anon_sym_unsigned] = ACTIONS(47), + [anon_sym_long] = ACTIONS(47), + [anon_sym_short] = ACTIONS(47), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [67] = { + [sym__expression] = STATE(607), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(591), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(591), + [sym_call_expression] = STATE(591), + [sym_field_expression] = STATE(591), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(591), + [sym_initializer_list] = STATE(608), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(870), + [anon_sym_COMMA] = ACTIONS(872), + [anon_sym_RPAREN] = ACTIONS(872), + [anon_sym_LPAREN2] = ACTIONS(874), + [anon_sym_BANG] = ACTIONS(876), + [anon_sym_TILDE] = ACTIONS(878), + [anon_sym_DASH] = ACTIONS(876), + [anon_sym_PLUS] = ACTIONS(876), + [anon_sym_STAR] = ACTIONS(880), + [anon_sym_SLASH] = ACTIONS(882), + [anon_sym_PERCENT] = ACTIONS(882), + [anon_sym_PIPE_PIPE] = ACTIONS(872), + [anon_sym_AMP_AMP] = ACTIONS(872), + [anon_sym_PIPE] = ACTIONS(882), + [anon_sym_CARET] = ACTIONS(882), + [anon_sym_AMP] = ACTIONS(880), + [anon_sym_EQ_EQ] = ACTIONS(872), + [anon_sym_BANG_EQ] = ACTIONS(872), + [anon_sym_GT] = ACTIONS(882), + [anon_sym_GT_EQ] = ACTIONS(872), + [anon_sym_LT_EQ] = ACTIONS(872), + [anon_sym_LT] = ACTIONS(882), + [anon_sym_LT_LT] = ACTIONS(882), + [anon_sym_GT_GT] = ACTIONS(882), + [anon_sym_SEMI] = ACTIONS(872), + [anon_sym_LBRACE] = ACTIONS(884), + [anon_sym_RBRACE] = ACTIONS(872), + [anon_sym_LBRACK] = ACTIONS(872), + [anon_sym_EQ] = ACTIONS(882), + [anon_sym_COLON] = ACTIONS(872), + [anon_sym_QMARK] = ACTIONS(872), + [anon_sym_STAR_EQ] = ACTIONS(872), + [anon_sym_SLASH_EQ] = ACTIONS(872), + [anon_sym_PERCENT_EQ] = ACTIONS(872), + [anon_sym_PLUS_EQ] = ACTIONS(872), + [anon_sym_DASH_EQ] = ACTIONS(872), + [anon_sym_LT_LT_EQ] = ACTIONS(872), + [anon_sym_GT_GT_EQ] = ACTIONS(872), + [anon_sym_AMP_EQ] = ACTIONS(872), + [anon_sym_CARET_EQ] = ACTIONS(872), + [anon_sym_PIPE_EQ] = ACTIONS(872), + [anon_sym_DASH_DASH] = ACTIONS(886), + [anon_sym_PLUS_PLUS] = ACTIONS(886), + [anon_sym_sizeof] = ACTIONS(888), + [anon_sym_DOT] = ACTIONS(882), + [anon_sym_DASH_GT] = ACTIONS(872), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [68] = { + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_if_token2] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [aux_sym_preproc_else_token1] = ACTIONS(890), + [aux_sym_preproc_elif_token1] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [69] = { + [sym_identifier] = ACTIONS(894), + [aux_sym_preproc_include_token1] = ACTIONS(894), + [aux_sym_preproc_def_token1] = ACTIONS(894), + [aux_sym_preproc_if_token1] = ACTIONS(894), + [aux_sym_preproc_if_token2] = ACTIONS(894), + [aux_sym_preproc_ifdef_token1] = ACTIONS(894), + [aux_sym_preproc_ifdef_token2] = ACTIONS(894), + [aux_sym_preproc_else_token1] = ACTIONS(894), + [aux_sym_preproc_elif_token1] = ACTIONS(894), + [sym_preproc_directive] = ACTIONS(894), + [anon_sym_LPAREN2] = ACTIONS(896), + [anon_sym_BANG] = ACTIONS(896), + [anon_sym_TILDE] = ACTIONS(896), + [anon_sym_DASH] = ACTIONS(894), + [anon_sym_PLUS] = ACTIONS(894), + [anon_sym_STAR] = ACTIONS(896), + [anon_sym_AMP] = ACTIONS(896), + [anon_sym_SEMI] = ACTIONS(896), + [anon_sym_typedef] = ACTIONS(894), + [anon_sym_extern] = ACTIONS(894), + [anon_sym___attribute__] = ACTIONS(894), + [anon_sym_LBRACK_LBRACK] = ACTIONS(896), + [anon_sym___declspec] = ACTIONS(894), + [anon_sym___cdecl] = ACTIONS(894), + [anon_sym___clrcall] = ACTIONS(894), + [anon_sym___stdcall] = ACTIONS(894), + [anon_sym___fastcall] = ACTIONS(894), + [anon_sym___thiscall] = ACTIONS(894), + [anon_sym___vectorcall] = ACTIONS(894), + [anon_sym_LBRACE] = ACTIONS(896), + [anon_sym_static] = ACTIONS(894), + [anon_sym_auto] = ACTIONS(894), + [anon_sym_register] = ACTIONS(894), + [anon_sym_inline] = ACTIONS(894), + [anon_sym_const] = ACTIONS(894), + [anon_sym_volatile] = ACTIONS(894), + [anon_sym_restrict] = ACTIONS(894), + [anon_sym__Atomic] = ACTIONS(894), + [anon_sym_signed] = ACTIONS(894), + [anon_sym_unsigned] = ACTIONS(894), + [anon_sym_long] = ACTIONS(894), + [anon_sym_short] = ACTIONS(894), + [sym_primitive_type] = ACTIONS(894), + [anon_sym_enum] = ACTIONS(894), + [anon_sym_struct] = ACTIONS(894), + [anon_sym_union] = ACTIONS(894), + [anon_sym_if] = ACTIONS(894), + [anon_sym_else] = ACTIONS(894), + [anon_sym_switch] = ACTIONS(894), + [anon_sym_case] = ACTIONS(894), + [anon_sym_default] = ACTIONS(894), + [anon_sym_while] = ACTIONS(894), + [anon_sym_do] = ACTIONS(894), + [anon_sym_for] = ACTIONS(894), + [anon_sym_return] = ACTIONS(894), + [anon_sym_break] = ACTIONS(894), + [anon_sym_continue] = ACTIONS(894), + [anon_sym_goto] = ACTIONS(894), + [anon_sym_DASH_DASH] = ACTIONS(896), + [anon_sym_PLUS_PLUS] = ACTIONS(896), + [anon_sym_sizeof] = ACTIONS(894), + [sym_number_literal] = ACTIONS(896), + [anon_sym_L_SQUOTE] = ACTIONS(896), + [anon_sym_u_SQUOTE] = ACTIONS(896), + [anon_sym_U_SQUOTE] = ACTIONS(896), + [anon_sym_u8_SQUOTE] = ACTIONS(896), + [anon_sym_SQUOTE] = ACTIONS(896), + [anon_sym_L_DQUOTE] = ACTIONS(896), + [anon_sym_u_DQUOTE] = ACTIONS(896), + [anon_sym_U_DQUOTE] = ACTIONS(896), + [anon_sym_u8_DQUOTE] = ACTIONS(896), + [anon_sym_DQUOTE] = ACTIONS(896), + [sym_true] = ACTIONS(894), + [sym_false] = ACTIONS(894), + [sym_null] = ACTIONS(894), + [sym_comment] = ACTIONS(3), + }, + [70] = { + [sym_identifier] = ACTIONS(898), + [aux_sym_preproc_include_token1] = ACTIONS(898), + [aux_sym_preproc_def_token1] = ACTIONS(898), + [aux_sym_preproc_if_token1] = ACTIONS(898), + [aux_sym_preproc_if_token2] = ACTIONS(898), + [aux_sym_preproc_ifdef_token1] = ACTIONS(898), + [aux_sym_preproc_ifdef_token2] = ACTIONS(898), + [aux_sym_preproc_else_token1] = ACTIONS(898), + [aux_sym_preproc_elif_token1] = ACTIONS(898), + [sym_preproc_directive] = ACTIONS(898), + [anon_sym_LPAREN2] = ACTIONS(900), + [anon_sym_BANG] = ACTIONS(900), + [anon_sym_TILDE] = ACTIONS(900), + [anon_sym_DASH] = ACTIONS(898), + [anon_sym_PLUS] = ACTIONS(898), + [anon_sym_STAR] = ACTIONS(900), + [anon_sym_AMP] = ACTIONS(900), + [anon_sym_SEMI] = ACTIONS(900), + [anon_sym_typedef] = ACTIONS(898), + [anon_sym_extern] = ACTIONS(898), + [anon_sym___attribute__] = ACTIONS(898), + [anon_sym_LBRACK_LBRACK] = ACTIONS(900), + [anon_sym___declspec] = ACTIONS(898), + [anon_sym___cdecl] = ACTIONS(898), + [anon_sym___clrcall] = ACTIONS(898), + [anon_sym___stdcall] = ACTIONS(898), + [anon_sym___fastcall] = ACTIONS(898), + [anon_sym___thiscall] = ACTIONS(898), + [anon_sym___vectorcall] = ACTIONS(898), + [anon_sym_LBRACE] = ACTIONS(900), + [anon_sym_static] = ACTIONS(898), + [anon_sym_auto] = ACTIONS(898), + [anon_sym_register] = ACTIONS(898), + [anon_sym_inline] = ACTIONS(898), + [anon_sym_const] = ACTIONS(898), + [anon_sym_volatile] = ACTIONS(898), + [anon_sym_restrict] = ACTIONS(898), + [anon_sym__Atomic] = ACTIONS(898), + [anon_sym_signed] = ACTIONS(898), + [anon_sym_unsigned] = ACTIONS(898), + [anon_sym_long] = ACTIONS(898), + [anon_sym_short] = ACTIONS(898), + [sym_primitive_type] = ACTIONS(898), + [anon_sym_enum] = ACTIONS(898), + [anon_sym_struct] = ACTIONS(898), + [anon_sym_union] = ACTIONS(898), + [anon_sym_if] = ACTIONS(898), + [anon_sym_else] = ACTIONS(898), + [anon_sym_switch] = ACTIONS(898), + [anon_sym_case] = ACTIONS(898), + [anon_sym_default] = ACTIONS(898), + [anon_sym_while] = ACTIONS(898), + [anon_sym_do] = ACTIONS(898), + [anon_sym_for] = ACTIONS(898), + [anon_sym_return] = ACTIONS(898), + [anon_sym_break] = ACTIONS(898), + [anon_sym_continue] = ACTIONS(898), + [anon_sym_goto] = ACTIONS(898), + [anon_sym_DASH_DASH] = ACTIONS(900), + [anon_sym_PLUS_PLUS] = ACTIONS(900), + [anon_sym_sizeof] = ACTIONS(898), + [sym_number_literal] = ACTIONS(900), + [anon_sym_L_SQUOTE] = ACTIONS(900), + [anon_sym_u_SQUOTE] = ACTIONS(900), + [anon_sym_U_SQUOTE] = ACTIONS(900), + [anon_sym_u8_SQUOTE] = ACTIONS(900), + [anon_sym_SQUOTE] = ACTIONS(900), + [anon_sym_L_DQUOTE] = ACTIONS(900), + [anon_sym_u_DQUOTE] = ACTIONS(900), + [anon_sym_U_DQUOTE] = ACTIONS(900), + [anon_sym_u8_DQUOTE] = ACTIONS(900), + [anon_sym_DQUOTE] = ACTIONS(900), + [sym_true] = ACTIONS(898), + [sym_false] = ACTIONS(898), + [sym_null] = ACTIONS(898), + [sym_comment] = ACTIONS(3), + }, + [71] = { + [sym_identifier] = ACTIONS(902), + [aux_sym_preproc_include_token1] = ACTIONS(902), + [aux_sym_preproc_def_token1] = ACTIONS(902), + [aux_sym_preproc_if_token1] = ACTIONS(902), + [aux_sym_preproc_if_token2] = ACTIONS(902), + [aux_sym_preproc_ifdef_token1] = ACTIONS(902), + [aux_sym_preproc_ifdef_token2] = ACTIONS(902), + [aux_sym_preproc_else_token1] = ACTIONS(902), + [aux_sym_preproc_elif_token1] = ACTIONS(902), + [sym_preproc_directive] = ACTIONS(902), + [anon_sym_LPAREN2] = ACTIONS(904), + [anon_sym_BANG] = ACTIONS(904), + [anon_sym_TILDE] = ACTIONS(904), + [anon_sym_DASH] = ACTIONS(902), + [anon_sym_PLUS] = ACTIONS(902), + [anon_sym_STAR] = ACTIONS(904), + [anon_sym_AMP] = ACTIONS(904), + [anon_sym_SEMI] = ACTIONS(904), + [anon_sym_typedef] = ACTIONS(902), + [anon_sym_extern] = ACTIONS(902), + [anon_sym___attribute__] = ACTIONS(902), + [anon_sym_LBRACK_LBRACK] = ACTIONS(904), + [anon_sym___declspec] = ACTIONS(902), + [anon_sym___cdecl] = ACTIONS(902), + [anon_sym___clrcall] = ACTIONS(902), + [anon_sym___stdcall] = ACTIONS(902), + [anon_sym___fastcall] = ACTIONS(902), + [anon_sym___thiscall] = ACTIONS(902), + [anon_sym___vectorcall] = ACTIONS(902), + [anon_sym_LBRACE] = ACTIONS(904), + [anon_sym_static] = ACTIONS(902), + [anon_sym_auto] = ACTIONS(902), + [anon_sym_register] = ACTIONS(902), + [anon_sym_inline] = ACTIONS(902), + [anon_sym_const] = ACTIONS(902), + [anon_sym_volatile] = ACTIONS(902), + [anon_sym_restrict] = ACTIONS(902), + [anon_sym__Atomic] = ACTIONS(902), + [anon_sym_signed] = ACTIONS(902), + [anon_sym_unsigned] = ACTIONS(902), + [anon_sym_long] = ACTIONS(902), + [anon_sym_short] = ACTIONS(902), + [sym_primitive_type] = ACTIONS(902), + [anon_sym_enum] = ACTIONS(902), + [anon_sym_struct] = ACTIONS(902), + [anon_sym_union] = ACTIONS(902), + [anon_sym_if] = ACTIONS(902), + [anon_sym_else] = ACTIONS(902), + [anon_sym_switch] = ACTIONS(902), + [anon_sym_case] = ACTIONS(902), + [anon_sym_default] = ACTIONS(902), + [anon_sym_while] = ACTIONS(902), + [anon_sym_do] = ACTIONS(902), + [anon_sym_for] = ACTIONS(902), + [anon_sym_return] = ACTIONS(902), + [anon_sym_break] = ACTIONS(902), + [anon_sym_continue] = ACTIONS(902), + [anon_sym_goto] = ACTIONS(902), + [anon_sym_DASH_DASH] = ACTIONS(904), + [anon_sym_PLUS_PLUS] = ACTIONS(904), + [anon_sym_sizeof] = ACTIONS(902), + [sym_number_literal] = ACTIONS(904), + [anon_sym_L_SQUOTE] = ACTIONS(904), + [anon_sym_u_SQUOTE] = ACTIONS(904), + [anon_sym_U_SQUOTE] = ACTIONS(904), + [anon_sym_u8_SQUOTE] = ACTIONS(904), + [anon_sym_SQUOTE] = ACTIONS(904), + [anon_sym_L_DQUOTE] = ACTIONS(904), + [anon_sym_u_DQUOTE] = ACTIONS(904), + [anon_sym_U_DQUOTE] = ACTIONS(904), + [anon_sym_u8_DQUOTE] = ACTIONS(904), + [anon_sym_DQUOTE] = ACTIONS(904), + [sym_true] = ACTIONS(902), + [sym_false] = ACTIONS(902), + [sym_null] = ACTIONS(902), + [sym_comment] = ACTIONS(3), + }, + [72] = { + [sym_identifier] = ACTIONS(906), + [aux_sym_preproc_include_token1] = ACTIONS(906), + [aux_sym_preproc_def_token1] = ACTIONS(906), + [aux_sym_preproc_if_token1] = ACTIONS(906), + [aux_sym_preproc_if_token2] = ACTIONS(906), + [aux_sym_preproc_ifdef_token1] = ACTIONS(906), + [aux_sym_preproc_ifdef_token2] = ACTIONS(906), + [aux_sym_preproc_else_token1] = ACTIONS(906), + [aux_sym_preproc_elif_token1] = ACTIONS(906), + [sym_preproc_directive] = ACTIONS(906), + [anon_sym_LPAREN2] = ACTIONS(908), + [anon_sym_BANG] = ACTIONS(908), + [anon_sym_TILDE] = ACTIONS(908), + [anon_sym_DASH] = ACTIONS(906), + [anon_sym_PLUS] = ACTIONS(906), + [anon_sym_STAR] = ACTIONS(908), + [anon_sym_AMP] = ACTIONS(908), + [anon_sym_SEMI] = ACTIONS(908), + [anon_sym_typedef] = ACTIONS(906), + [anon_sym_extern] = ACTIONS(906), + [anon_sym___attribute__] = ACTIONS(906), + [anon_sym_LBRACK_LBRACK] = ACTIONS(908), + [anon_sym___declspec] = ACTIONS(906), + [anon_sym___cdecl] = ACTIONS(906), + [anon_sym___clrcall] = ACTIONS(906), + [anon_sym___stdcall] = ACTIONS(906), + [anon_sym___fastcall] = ACTIONS(906), + [anon_sym___thiscall] = ACTIONS(906), + [anon_sym___vectorcall] = ACTIONS(906), + [anon_sym_LBRACE] = ACTIONS(908), + [anon_sym_static] = ACTIONS(906), + [anon_sym_auto] = ACTIONS(906), + [anon_sym_register] = ACTIONS(906), + [anon_sym_inline] = ACTIONS(906), + [anon_sym_const] = ACTIONS(906), + [anon_sym_volatile] = ACTIONS(906), + [anon_sym_restrict] = ACTIONS(906), + [anon_sym__Atomic] = ACTIONS(906), + [anon_sym_signed] = ACTIONS(906), + [anon_sym_unsigned] = ACTIONS(906), + [anon_sym_long] = ACTIONS(906), + [anon_sym_short] = ACTIONS(906), + [sym_primitive_type] = ACTIONS(906), + [anon_sym_enum] = ACTIONS(906), + [anon_sym_struct] = ACTIONS(906), + [anon_sym_union] = ACTIONS(906), + [anon_sym_if] = ACTIONS(906), + [anon_sym_else] = ACTIONS(906), + [anon_sym_switch] = ACTIONS(906), + [anon_sym_case] = ACTIONS(906), + [anon_sym_default] = ACTIONS(906), + [anon_sym_while] = ACTIONS(906), + [anon_sym_do] = ACTIONS(906), + [anon_sym_for] = ACTIONS(906), + [anon_sym_return] = ACTIONS(906), + [anon_sym_break] = ACTIONS(906), + [anon_sym_continue] = ACTIONS(906), + [anon_sym_goto] = ACTIONS(906), + [anon_sym_DASH_DASH] = ACTIONS(908), + [anon_sym_PLUS_PLUS] = ACTIONS(908), + [anon_sym_sizeof] = ACTIONS(906), + [sym_number_literal] = ACTIONS(908), + [anon_sym_L_SQUOTE] = ACTIONS(908), + [anon_sym_u_SQUOTE] = ACTIONS(908), + [anon_sym_U_SQUOTE] = ACTIONS(908), + [anon_sym_u8_SQUOTE] = ACTIONS(908), + [anon_sym_SQUOTE] = ACTIONS(908), + [anon_sym_L_DQUOTE] = ACTIONS(908), + [anon_sym_u_DQUOTE] = ACTIONS(908), + [anon_sym_U_DQUOTE] = ACTIONS(908), + [anon_sym_u8_DQUOTE] = ACTIONS(908), + [anon_sym_DQUOTE] = ACTIONS(908), + [sym_true] = ACTIONS(906), + [sym_false] = ACTIONS(906), + [sym_null] = ACTIONS(906), + [sym_comment] = ACTIONS(3), + }, + [73] = { + [sym_identifier] = ACTIONS(910), + [aux_sym_preproc_include_token1] = ACTIONS(910), + [aux_sym_preproc_def_token1] = ACTIONS(910), + [aux_sym_preproc_if_token1] = ACTIONS(910), + [aux_sym_preproc_if_token2] = ACTIONS(910), + [aux_sym_preproc_ifdef_token1] = ACTIONS(910), + [aux_sym_preproc_ifdef_token2] = ACTIONS(910), + [aux_sym_preproc_else_token1] = ACTIONS(910), + [aux_sym_preproc_elif_token1] = ACTIONS(910), + [sym_preproc_directive] = ACTIONS(910), + [anon_sym_LPAREN2] = ACTIONS(912), + [anon_sym_BANG] = ACTIONS(912), + [anon_sym_TILDE] = ACTIONS(912), + [anon_sym_DASH] = ACTIONS(910), + [anon_sym_PLUS] = ACTIONS(910), + [anon_sym_STAR] = ACTIONS(912), + [anon_sym_AMP] = ACTIONS(912), + [anon_sym_SEMI] = ACTIONS(912), + [anon_sym_typedef] = ACTIONS(910), + [anon_sym_extern] = ACTIONS(910), + [anon_sym___attribute__] = ACTIONS(910), + [anon_sym_LBRACK_LBRACK] = ACTIONS(912), + [anon_sym___declspec] = ACTIONS(910), + [anon_sym___cdecl] = ACTIONS(910), + [anon_sym___clrcall] = ACTIONS(910), + [anon_sym___stdcall] = ACTIONS(910), + [anon_sym___fastcall] = ACTIONS(910), + [anon_sym___thiscall] = ACTIONS(910), + [anon_sym___vectorcall] = ACTIONS(910), + [anon_sym_LBRACE] = ACTIONS(912), + [anon_sym_static] = ACTIONS(910), + [anon_sym_auto] = ACTIONS(910), + [anon_sym_register] = ACTIONS(910), + [anon_sym_inline] = ACTIONS(910), + [anon_sym_const] = ACTIONS(910), + [anon_sym_volatile] = ACTIONS(910), + [anon_sym_restrict] = ACTIONS(910), + [anon_sym__Atomic] = ACTIONS(910), + [anon_sym_signed] = ACTIONS(910), + [anon_sym_unsigned] = ACTIONS(910), + [anon_sym_long] = ACTIONS(910), + [anon_sym_short] = ACTIONS(910), + [sym_primitive_type] = ACTIONS(910), + [anon_sym_enum] = ACTIONS(910), + [anon_sym_struct] = ACTIONS(910), + [anon_sym_union] = ACTIONS(910), + [anon_sym_if] = ACTIONS(910), + [anon_sym_else] = ACTIONS(910), + [anon_sym_switch] = ACTIONS(910), + [anon_sym_case] = ACTIONS(910), + [anon_sym_default] = ACTIONS(910), + [anon_sym_while] = ACTIONS(910), + [anon_sym_do] = ACTIONS(910), + [anon_sym_for] = ACTIONS(910), + [anon_sym_return] = ACTIONS(910), + [anon_sym_break] = ACTIONS(910), + [anon_sym_continue] = ACTIONS(910), + [anon_sym_goto] = ACTIONS(910), + [anon_sym_DASH_DASH] = ACTIONS(912), + [anon_sym_PLUS_PLUS] = ACTIONS(912), + [anon_sym_sizeof] = ACTIONS(910), + [sym_number_literal] = ACTIONS(912), + [anon_sym_L_SQUOTE] = ACTIONS(912), + [anon_sym_u_SQUOTE] = ACTIONS(912), + [anon_sym_U_SQUOTE] = ACTIONS(912), + [anon_sym_u8_SQUOTE] = ACTIONS(912), + [anon_sym_SQUOTE] = ACTIONS(912), + [anon_sym_L_DQUOTE] = ACTIONS(912), + [anon_sym_u_DQUOTE] = ACTIONS(912), + [anon_sym_U_DQUOTE] = ACTIONS(912), + [anon_sym_u8_DQUOTE] = ACTIONS(912), + [anon_sym_DQUOTE] = ACTIONS(912), + [sym_true] = ACTIONS(910), + [sym_false] = ACTIONS(910), + [sym_null] = ACTIONS(910), + [sym_comment] = ACTIONS(3), + }, + [74] = { + [sym_identifier] = ACTIONS(914), + [aux_sym_preproc_include_token1] = ACTIONS(914), + [aux_sym_preproc_def_token1] = ACTIONS(914), + [aux_sym_preproc_if_token1] = ACTIONS(914), + [aux_sym_preproc_if_token2] = ACTIONS(914), + [aux_sym_preproc_ifdef_token1] = ACTIONS(914), + [aux_sym_preproc_ifdef_token2] = ACTIONS(914), + [aux_sym_preproc_else_token1] = ACTIONS(914), + [aux_sym_preproc_elif_token1] = ACTIONS(914), + [sym_preproc_directive] = ACTIONS(914), + [anon_sym_LPAREN2] = ACTIONS(916), + [anon_sym_BANG] = ACTIONS(916), + [anon_sym_TILDE] = ACTIONS(916), + [anon_sym_DASH] = ACTIONS(914), + [anon_sym_PLUS] = ACTIONS(914), + [anon_sym_STAR] = ACTIONS(916), + [anon_sym_AMP] = ACTIONS(916), + [anon_sym_SEMI] = ACTIONS(916), + [anon_sym_typedef] = ACTIONS(914), + [anon_sym_extern] = ACTIONS(914), + [anon_sym___attribute__] = ACTIONS(914), + [anon_sym_LBRACK_LBRACK] = ACTIONS(916), + [anon_sym___declspec] = ACTIONS(914), + [anon_sym___cdecl] = ACTIONS(914), + [anon_sym___clrcall] = ACTIONS(914), + [anon_sym___stdcall] = ACTIONS(914), + [anon_sym___fastcall] = ACTIONS(914), + [anon_sym___thiscall] = ACTIONS(914), + [anon_sym___vectorcall] = ACTIONS(914), + [anon_sym_LBRACE] = ACTIONS(916), + [anon_sym_static] = ACTIONS(914), + [anon_sym_auto] = ACTIONS(914), + [anon_sym_register] = ACTIONS(914), + [anon_sym_inline] = ACTIONS(914), + [anon_sym_const] = ACTIONS(914), + [anon_sym_volatile] = ACTIONS(914), + [anon_sym_restrict] = ACTIONS(914), + [anon_sym__Atomic] = ACTIONS(914), + [anon_sym_signed] = ACTIONS(914), + [anon_sym_unsigned] = ACTIONS(914), + [anon_sym_long] = ACTIONS(914), + [anon_sym_short] = ACTIONS(914), + [sym_primitive_type] = ACTIONS(914), + [anon_sym_enum] = ACTIONS(914), + [anon_sym_struct] = ACTIONS(914), + [anon_sym_union] = ACTIONS(914), + [anon_sym_if] = ACTIONS(914), + [anon_sym_else] = ACTIONS(914), + [anon_sym_switch] = ACTIONS(914), + [anon_sym_case] = ACTIONS(914), + [anon_sym_default] = ACTIONS(914), + [anon_sym_while] = ACTIONS(914), + [anon_sym_do] = ACTIONS(914), + [anon_sym_for] = ACTIONS(914), + [anon_sym_return] = ACTIONS(914), + [anon_sym_break] = ACTIONS(914), + [anon_sym_continue] = ACTIONS(914), + [anon_sym_goto] = ACTIONS(914), + [anon_sym_DASH_DASH] = ACTIONS(916), + [anon_sym_PLUS_PLUS] = ACTIONS(916), + [anon_sym_sizeof] = ACTIONS(914), + [sym_number_literal] = ACTIONS(916), + [anon_sym_L_SQUOTE] = ACTIONS(916), + [anon_sym_u_SQUOTE] = ACTIONS(916), + [anon_sym_U_SQUOTE] = ACTIONS(916), + [anon_sym_u8_SQUOTE] = ACTIONS(916), + [anon_sym_SQUOTE] = ACTIONS(916), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(914), + [sym_false] = ACTIONS(914), + [sym_null] = ACTIONS(914), + [sym_comment] = ACTIONS(3), + }, + [75] = { + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_if_token2] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [aux_sym_preproc_else_token1] = ACTIONS(890), + [aux_sym_preproc_elif_token1] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [76] = { + [sym_identifier] = ACTIONS(918), + [aux_sym_preproc_include_token1] = ACTIONS(918), + [aux_sym_preproc_def_token1] = ACTIONS(918), + [aux_sym_preproc_if_token1] = ACTIONS(918), + [aux_sym_preproc_if_token2] = ACTIONS(918), + [aux_sym_preproc_ifdef_token1] = ACTIONS(918), + [aux_sym_preproc_ifdef_token2] = ACTIONS(918), + [aux_sym_preproc_else_token1] = ACTIONS(918), + [aux_sym_preproc_elif_token1] = ACTIONS(918), + [sym_preproc_directive] = ACTIONS(918), + [anon_sym_LPAREN2] = ACTIONS(920), + [anon_sym_BANG] = ACTIONS(920), + [anon_sym_TILDE] = ACTIONS(920), + [anon_sym_DASH] = ACTIONS(918), + [anon_sym_PLUS] = ACTIONS(918), + [anon_sym_STAR] = ACTIONS(920), + [anon_sym_AMP] = ACTIONS(920), + [anon_sym_SEMI] = ACTIONS(920), + [anon_sym_typedef] = ACTIONS(918), + [anon_sym_extern] = ACTIONS(918), + [anon_sym___attribute__] = ACTIONS(918), + [anon_sym_LBRACK_LBRACK] = ACTIONS(920), + [anon_sym___declspec] = ACTIONS(918), + [anon_sym___cdecl] = ACTIONS(918), + [anon_sym___clrcall] = ACTIONS(918), + [anon_sym___stdcall] = ACTIONS(918), + [anon_sym___fastcall] = ACTIONS(918), + [anon_sym___thiscall] = ACTIONS(918), + [anon_sym___vectorcall] = ACTIONS(918), + [anon_sym_LBRACE] = ACTIONS(920), + [anon_sym_static] = ACTIONS(918), + [anon_sym_auto] = ACTIONS(918), + [anon_sym_register] = ACTIONS(918), + [anon_sym_inline] = ACTIONS(918), + [anon_sym_const] = ACTIONS(918), + [anon_sym_volatile] = ACTIONS(918), + [anon_sym_restrict] = ACTIONS(918), + [anon_sym__Atomic] = ACTIONS(918), + [anon_sym_signed] = ACTIONS(918), + [anon_sym_unsigned] = ACTIONS(918), + [anon_sym_long] = ACTIONS(918), + [anon_sym_short] = ACTIONS(918), + [sym_primitive_type] = ACTIONS(918), + [anon_sym_enum] = ACTIONS(918), + [anon_sym_struct] = ACTIONS(918), + [anon_sym_union] = ACTIONS(918), + [anon_sym_if] = ACTIONS(918), + [anon_sym_else] = ACTIONS(922), + [anon_sym_switch] = ACTIONS(918), + [anon_sym_case] = ACTIONS(918), + [anon_sym_default] = ACTIONS(918), + [anon_sym_while] = ACTIONS(918), + [anon_sym_do] = ACTIONS(918), + [anon_sym_for] = ACTIONS(918), + [anon_sym_return] = ACTIONS(918), + [anon_sym_break] = ACTIONS(918), + [anon_sym_continue] = ACTIONS(918), + [anon_sym_goto] = ACTIONS(918), + [anon_sym_DASH_DASH] = ACTIONS(920), + [anon_sym_PLUS_PLUS] = ACTIONS(920), + [anon_sym_sizeof] = ACTIONS(918), + [sym_number_literal] = ACTIONS(920), + [anon_sym_L_SQUOTE] = ACTIONS(920), + [anon_sym_u_SQUOTE] = ACTIONS(920), + [anon_sym_U_SQUOTE] = ACTIONS(920), + [anon_sym_u8_SQUOTE] = ACTIONS(920), + [anon_sym_SQUOTE] = ACTIONS(920), + [anon_sym_L_DQUOTE] = ACTIONS(920), + [anon_sym_u_DQUOTE] = ACTIONS(920), + [anon_sym_U_DQUOTE] = ACTIONS(920), + [anon_sym_u8_DQUOTE] = ACTIONS(920), + [anon_sym_DQUOTE] = ACTIONS(920), + [sym_true] = ACTIONS(918), + [sym_false] = ACTIONS(918), + [sym_null] = ACTIONS(918), + [sym_comment] = ACTIONS(3), + }, + [77] = { + [sym_identifier] = ACTIONS(924), + [aux_sym_preproc_include_token1] = ACTIONS(924), + [aux_sym_preproc_def_token1] = ACTIONS(924), + [aux_sym_preproc_if_token1] = ACTIONS(924), + [aux_sym_preproc_if_token2] = ACTIONS(924), + [aux_sym_preproc_ifdef_token1] = ACTIONS(924), + [aux_sym_preproc_ifdef_token2] = ACTIONS(924), + [aux_sym_preproc_else_token1] = ACTIONS(924), + [aux_sym_preproc_elif_token1] = ACTIONS(924), + [sym_preproc_directive] = ACTIONS(924), + [anon_sym_LPAREN2] = ACTIONS(926), + [anon_sym_BANG] = ACTIONS(926), + [anon_sym_TILDE] = ACTIONS(926), + [anon_sym_DASH] = ACTIONS(924), + [anon_sym_PLUS] = ACTIONS(924), + [anon_sym_STAR] = ACTIONS(926), + [anon_sym_AMP] = ACTIONS(926), + [anon_sym_SEMI] = ACTIONS(926), + [anon_sym_typedef] = ACTIONS(924), + [anon_sym_extern] = ACTIONS(924), + [anon_sym___attribute__] = ACTIONS(924), + [anon_sym_LBRACK_LBRACK] = ACTIONS(926), + [anon_sym___declspec] = ACTIONS(924), + [anon_sym___cdecl] = ACTIONS(924), + [anon_sym___clrcall] = ACTIONS(924), + [anon_sym___stdcall] = ACTIONS(924), + [anon_sym___fastcall] = ACTIONS(924), + [anon_sym___thiscall] = ACTIONS(924), + [anon_sym___vectorcall] = ACTIONS(924), + [anon_sym_LBRACE] = ACTIONS(926), + [anon_sym_static] = ACTIONS(924), + [anon_sym_auto] = ACTIONS(924), + [anon_sym_register] = ACTIONS(924), + [anon_sym_inline] = ACTIONS(924), + [anon_sym_const] = ACTIONS(924), + [anon_sym_volatile] = ACTIONS(924), + [anon_sym_restrict] = ACTIONS(924), + [anon_sym__Atomic] = ACTIONS(924), + [anon_sym_signed] = ACTIONS(924), + [anon_sym_unsigned] = ACTIONS(924), + [anon_sym_long] = ACTIONS(924), + [anon_sym_short] = ACTIONS(924), + [sym_primitive_type] = ACTIONS(924), + [anon_sym_enum] = ACTIONS(924), + [anon_sym_struct] = ACTIONS(924), + [anon_sym_union] = ACTIONS(924), + [anon_sym_if] = ACTIONS(924), + [anon_sym_else] = ACTIONS(924), + [anon_sym_switch] = ACTIONS(924), + [anon_sym_case] = ACTIONS(924), + [anon_sym_default] = ACTIONS(924), + [anon_sym_while] = ACTIONS(924), + [anon_sym_do] = ACTIONS(924), + [anon_sym_for] = ACTIONS(924), + [anon_sym_return] = ACTIONS(924), + [anon_sym_break] = ACTIONS(924), + [anon_sym_continue] = ACTIONS(924), + [anon_sym_goto] = ACTIONS(924), + [anon_sym_DASH_DASH] = ACTIONS(926), + [anon_sym_PLUS_PLUS] = ACTIONS(926), + [anon_sym_sizeof] = ACTIONS(924), + [sym_number_literal] = ACTIONS(926), + [anon_sym_L_SQUOTE] = ACTIONS(926), + [anon_sym_u_SQUOTE] = ACTIONS(926), + [anon_sym_U_SQUOTE] = ACTIONS(926), + [anon_sym_u8_SQUOTE] = ACTIONS(926), + [anon_sym_SQUOTE] = ACTIONS(926), + [anon_sym_L_DQUOTE] = ACTIONS(926), + [anon_sym_u_DQUOTE] = ACTIONS(926), + [anon_sym_U_DQUOTE] = ACTIONS(926), + [anon_sym_u8_DQUOTE] = ACTIONS(926), + [anon_sym_DQUOTE] = ACTIONS(926), + [sym_true] = ACTIONS(924), + [sym_false] = ACTIONS(924), + [sym_null] = ACTIONS(924), + [sym_comment] = ACTIONS(3), + }, + [78] = { + [sym_identifier] = ACTIONS(928), + [aux_sym_preproc_include_token1] = ACTIONS(928), + [aux_sym_preproc_def_token1] = ACTIONS(928), + [aux_sym_preproc_if_token1] = ACTIONS(928), + [aux_sym_preproc_if_token2] = ACTIONS(928), + [aux_sym_preproc_ifdef_token1] = ACTIONS(928), + [aux_sym_preproc_ifdef_token2] = ACTIONS(928), + [aux_sym_preproc_else_token1] = ACTIONS(928), + [aux_sym_preproc_elif_token1] = ACTIONS(928), + [sym_preproc_directive] = ACTIONS(928), + [anon_sym_LPAREN2] = ACTIONS(930), + [anon_sym_BANG] = ACTIONS(930), + [anon_sym_TILDE] = ACTIONS(930), + [anon_sym_DASH] = ACTIONS(928), + [anon_sym_PLUS] = ACTIONS(928), + [anon_sym_STAR] = ACTIONS(930), + [anon_sym_AMP] = ACTIONS(930), + [anon_sym_SEMI] = ACTIONS(930), + [anon_sym_typedef] = ACTIONS(928), + [anon_sym_extern] = ACTIONS(928), + [anon_sym___attribute__] = ACTIONS(928), + [anon_sym_LBRACK_LBRACK] = ACTIONS(930), + [anon_sym___declspec] = ACTIONS(928), + [anon_sym___cdecl] = ACTIONS(928), + [anon_sym___clrcall] = ACTIONS(928), + [anon_sym___stdcall] = ACTIONS(928), + [anon_sym___fastcall] = ACTIONS(928), + [anon_sym___thiscall] = ACTIONS(928), + [anon_sym___vectorcall] = ACTIONS(928), + [anon_sym_LBRACE] = ACTIONS(930), + [anon_sym_static] = ACTIONS(928), + [anon_sym_auto] = ACTIONS(928), + [anon_sym_register] = ACTIONS(928), + [anon_sym_inline] = ACTIONS(928), + [anon_sym_const] = ACTIONS(928), + [anon_sym_volatile] = ACTIONS(928), + [anon_sym_restrict] = ACTIONS(928), + [anon_sym__Atomic] = ACTIONS(928), + [anon_sym_signed] = ACTIONS(928), + [anon_sym_unsigned] = ACTIONS(928), + [anon_sym_long] = ACTIONS(928), + [anon_sym_short] = ACTIONS(928), + [sym_primitive_type] = ACTIONS(928), + [anon_sym_enum] = ACTIONS(928), + [anon_sym_struct] = ACTIONS(928), + [anon_sym_union] = ACTIONS(928), + [anon_sym_if] = ACTIONS(928), + [anon_sym_else] = ACTIONS(928), + [anon_sym_switch] = ACTIONS(928), + [anon_sym_case] = ACTIONS(928), + [anon_sym_default] = ACTIONS(928), + [anon_sym_while] = ACTIONS(928), + [anon_sym_do] = ACTIONS(928), + [anon_sym_for] = ACTIONS(928), + [anon_sym_return] = ACTIONS(928), + [anon_sym_break] = ACTIONS(928), + [anon_sym_continue] = ACTIONS(928), + [anon_sym_goto] = ACTIONS(928), + [anon_sym_DASH_DASH] = ACTIONS(930), + [anon_sym_PLUS_PLUS] = ACTIONS(930), + [anon_sym_sizeof] = ACTIONS(928), + [sym_number_literal] = ACTIONS(930), + [anon_sym_L_SQUOTE] = ACTIONS(930), + [anon_sym_u_SQUOTE] = ACTIONS(930), + [anon_sym_U_SQUOTE] = ACTIONS(930), + [anon_sym_u8_SQUOTE] = ACTIONS(930), + [anon_sym_SQUOTE] = ACTIONS(930), + [anon_sym_L_DQUOTE] = ACTIONS(930), + [anon_sym_u_DQUOTE] = ACTIONS(930), + [anon_sym_U_DQUOTE] = ACTIONS(930), + [anon_sym_u8_DQUOTE] = ACTIONS(930), + [anon_sym_DQUOTE] = ACTIONS(930), + [sym_true] = ACTIONS(928), + [sym_false] = ACTIONS(928), + [sym_null] = ACTIONS(928), + [sym_comment] = ACTIONS(3), + }, + [79] = { + [sym_identifier] = ACTIONS(932), + [aux_sym_preproc_include_token1] = ACTIONS(932), + [aux_sym_preproc_def_token1] = ACTIONS(932), + [aux_sym_preproc_if_token1] = ACTIONS(932), + [aux_sym_preproc_if_token2] = ACTIONS(932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(932), + [aux_sym_preproc_else_token1] = ACTIONS(932), + [aux_sym_preproc_elif_token1] = ACTIONS(932), + [sym_preproc_directive] = ACTIONS(932), + [anon_sym_LPAREN2] = ACTIONS(934), + [anon_sym_BANG] = ACTIONS(934), + [anon_sym_TILDE] = ACTIONS(934), + [anon_sym_DASH] = ACTIONS(932), + [anon_sym_PLUS] = ACTIONS(932), + [anon_sym_STAR] = ACTIONS(934), + [anon_sym_AMP] = ACTIONS(934), + [anon_sym_SEMI] = ACTIONS(934), + [anon_sym_typedef] = ACTIONS(932), + [anon_sym_extern] = ACTIONS(932), + [anon_sym___attribute__] = ACTIONS(932), + [anon_sym_LBRACK_LBRACK] = ACTIONS(934), + [anon_sym___declspec] = ACTIONS(932), + [anon_sym___cdecl] = ACTIONS(932), + [anon_sym___clrcall] = ACTIONS(932), + [anon_sym___stdcall] = ACTIONS(932), + [anon_sym___fastcall] = ACTIONS(932), + [anon_sym___thiscall] = ACTIONS(932), + [anon_sym___vectorcall] = ACTIONS(932), + [anon_sym_LBRACE] = ACTIONS(934), + [anon_sym_static] = ACTIONS(932), + [anon_sym_auto] = ACTIONS(932), + [anon_sym_register] = ACTIONS(932), + [anon_sym_inline] = ACTIONS(932), + [anon_sym_const] = ACTIONS(932), + [anon_sym_volatile] = ACTIONS(932), + [anon_sym_restrict] = ACTIONS(932), + [anon_sym__Atomic] = ACTIONS(932), + [anon_sym_signed] = ACTIONS(932), + [anon_sym_unsigned] = ACTIONS(932), + [anon_sym_long] = ACTIONS(932), + [anon_sym_short] = ACTIONS(932), + [sym_primitive_type] = ACTIONS(932), + [anon_sym_enum] = ACTIONS(932), + [anon_sym_struct] = ACTIONS(932), + [anon_sym_union] = ACTIONS(932), + [anon_sym_if] = ACTIONS(932), + [anon_sym_else] = ACTIONS(932), + [anon_sym_switch] = ACTIONS(932), + [anon_sym_case] = ACTIONS(932), + [anon_sym_default] = ACTIONS(932), + [anon_sym_while] = ACTIONS(932), + [anon_sym_do] = ACTIONS(932), + [anon_sym_for] = ACTIONS(932), + [anon_sym_return] = ACTIONS(932), + [anon_sym_break] = ACTIONS(932), + [anon_sym_continue] = ACTIONS(932), + [anon_sym_goto] = ACTIONS(932), + [anon_sym_DASH_DASH] = ACTIONS(934), + [anon_sym_PLUS_PLUS] = ACTIONS(934), + [anon_sym_sizeof] = ACTIONS(932), + [sym_number_literal] = ACTIONS(934), + [anon_sym_L_SQUOTE] = ACTIONS(934), + [anon_sym_u_SQUOTE] = ACTIONS(934), + [anon_sym_U_SQUOTE] = ACTIONS(934), + [anon_sym_u8_SQUOTE] = ACTIONS(934), + [anon_sym_SQUOTE] = ACTIONS(934), + [anon_sym_L_DQUOTE] = ACTIONS(934), + [anon_sym_u_DQUOTE] = ACTIONS(934), + [anon_sym_U_DQUOTE] = ACTIONS(934), + [anon_sym_u8_DQUOTE] = ACTIONS(934), + [anon_sym_DQUOTE] = ACTIONS(934), + [sym_true] = ACTIONS(932), + [sym_false] = ACTIONS(932), + [sym_null] = ACTIONS(932), + [sym_comment] = ACTIONS(3), + }, + [80] = { + [sym_identifier] = ACTIONS(936), + [aux_sym_preproc_include_token1] = ACTIONS(936), + [aux_sym_preproc_def_token1] = ACTIONS(936), + [aux_sym_preproc_if_token1] = ACTIONS(936), + [aux_sym_preproc_if_token2] = ACTIONS(936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(936), + [aux_sym_preproc_else_token1] = ACTIONS(936), + [aux_sym_preproc_elif_token1] = ACTIONS(936), + [sym_preproc_directive] = ACTIONS(936), + [anon_sym_LPAREN2] = ACTIONS(938), + [anon_sym_BANG] = ACTIONS(938), + [anon_sym_TILDE] = ACTIONS(938), + [anon_sym_DASH] = ACTIONS(936), + [anon_sym_PLUS] = ACTIONS(936), + [anon_sym_STAR] = ACTIONS(938), + [anon_sym_AMP] = ACTIONS(938), + [anon_sym_SEMI] = ACTIONS(938), + [anon_sym_typedef] = ACTIONS(936), + [anon_sym_extern] = ACTIONS(936), + [anon_sym___attribute__] = ACTIONS(936), + [anon_sym_LBRACK_LBRACK] = ACTIONS(938), + [anon_sym___declspec] = ACTIONS(936), + [anon_sym___cdecl] = ACTIONS(936), + [anon_sym___clrcall] = ACTIONS(936), + [anon_sym___stdcall] = ACTIONS(936), + [anon_sym___fastcall] = ACTIONS(936), + [anon_sym___thiscall] = ACTIONS(936), + [anon_sym___vectorcall] = ACTIONS(936), + [anon_sym_LBRACE] = ACTIONS(938), + [anon_sym_static] = ACTIONS(936), + [anon_sym_auto] = ACTIONS(936), + [anon_sym_register] = ACTIONS(936), + [anon_sym_inline] = ACTIONS(936), + [anon_sym_const] = ACTIONS(936), + [anon_sym_volatile] = ACTIONS(936), + [anon_sym_restrict] = ACTIONS(936), + [anon_sym__Atomic] = ACTIONS(936), + [anon_sym_signed] = ACTIONS(936), + [anon_sym_unsigned] = ACTIONS(936), + [anon_sym_long] = ACTIONS(936), + [anon_sym_short] = ACTIONS(936), + [sym_primitive_type] = ACTIONS(936), + [anon_sym_enum] = ACTIONS(936), + [anon_sym_struct] = ACTIONS(936), + [anon_sym_union] = ACTIONS(936), + [anon_sym_if] = ACTIONS(936), + [anon_sym_else] = ACTIONS(936), + [anon_sym_switch] = ACTIONS(936), + [anon_sym_case] = ACTIONS(936), + [anon_sym_default] = ACTIONS(936), + [anon_sym_while] = ACTIONS(936), + [anon_sym_do] = ACTIONS(936), + [anon_sym_for] = ACTIONS(936), + [anon_sym_return] = ACTIONS(936), + [anon_sym_break] = ACTIONS(936), + [anon_sym_continue] = ACTIONS(936), + [anon_sym_goto] = ACTIONS(936), + [anon_sym_DASH_DASH] = ACTIONS(938), + [anon_sym_PLUS_PLUS] = ACTIONS(938), + [anon_sym_sizeof] = ACTIONS(936), + [sym_number_literal] = ACTIONS(938), + [anon_sym_L_SQUOTE] = ACTIONS(938), + [anon_sym_u_SQUOTE] = ACTIONS(938), + [anon_sym_U_SQUOTE] = ACTIONS(938), + [anon_sym_u8_SQUOTE] = ACTIONS(938), + [anon_sym_SQUOTE] = ACTIONS(938), + [anon_sym_L_DQUOTE] = ACTIONS(938), + [anon_sym_u_DQUOTE] = ACTIONS(938), + [anon_sym_U_DQUOTE] = ACTIONS(938), + [anon_sym_u8_DQUOTE] = ACTIONS(938), + [anon_sym_DQUOTE] = ACTIONS(938), + [sym_true] = ACTIONS(936), + [sym_false] = ACTIONS(936), + [sym_null] = ACTIONS(936), + [sym_comment] = ACTIONS(3), + }, + [81] = { + [sym_identifier] = ACTIONS(940), + [aux_sym_preproc_include_token1] = ACTIONS(940), + [aux_sym_preproc_def_token1] = ACTIONS(940), + [aux_sym_preproc_if_token1] = ACTIONS(940), + [aux_sym_preproc_if_token2] = ACTIONS(940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(940), + [aux_sym_preproc_else_token1] = ACTIONS(940), + [aux_sym_preproc_elif_token1] = ACTIONS(940), + [sym_preproc_directive] = ACTIONS(940), + [anon_sym_LPAREN2] = ACTIONS(942), + [anon_sym_BANG] = ACTIONS(942), + [anon_sym_TILDE] = ACTIONS(942), + [anon_sym_DASH] = ACTIONS(940), + [anon_sym_PLUS] = ACTIONS(940), + [anon_sym_STAR] = ACTIONS(942), + [anon_sym_AMP] = ACTIONS(942), + [anon_sym_SEMI] = ACTIONS(942), + [anon_sym_typedef] = ACTIONS(940), + [anon_sym_extern] = ACTIONS(940), + [anon_sym___attribute__] = ACTIONS(940), + [anon_sym_LBRACK_LBRACK] = ACTIONS(942), + [anon_sym___declspec] = ACTIONS(940), + [anon_sym___cdecl] = ACTIONS(940), + [anon_sym___clrcall] = ACTIONS(940), + [anon_sym___stdcall] = ACTIONS(940), + [anon_sym___fastcall] = ACTIONS(940), + [anon_sym___thiscall] = ACTIONS(940), + [anon_sym___vectorcall] = ACTIONS(940), + [anon_sym_LBRACE] = ACTIONS(942), + [anon_sym_static] = ACTIONS(940), + [anon_sym_auto] = ACTIONS(940), + [anon_sym_register] = ACTIONS(940), + [anon_sym_inline] = ACTIONS(940), + [anon_sym_const] = ACTIONS(940), + [anon_sym_volatile] = ACTIONS(940), + [anon_sym_restrict] = ACTIONS(940), + [anon_sym__Atomic] = ACTIONS(940), + [anon_sym_signed] = ACTIONS(940), + [anon_sym_unsigned] = ACTIONS(940), + [anon_sym_long] = ACTIONS(940), + [anon_sym_short] = ACTIONS(940), + [sym_primitive_type] = ACTIONS(940), + [anon_sym_enum] = ACTIONS(940), + [anon_sym_struct] = ACTIONS(940), + [anon_sym_union] = ACTIONS(940), + [anon_sym_if] = ACTIONS(940), + [anon_sym_else] = ACTIONS(940), + [anon_sym_switch] = ACTIONS(940), + [anon_sym_case] = ACTIONS(940), + [anon_sym_default] = ACTIONS(940), + [anon_sym_while] = ACTIONS(940), + [anon_sym_do] = ACTIONS(940), + [anon_sym_for] = ACTIONS(940), + [anon_sym_return] = ACTIONS(940), + [anon_sym_break] = ACTIONS(940), + [anon_sym_continue] = ACTIONS(940), + [anon_sym_goto] = ACTIONS(940), + [anon_sym_DASH_DASH] = ACTIONS(942), + [anon_sym_PLUS_PLUS] = ACTIONS(942), + [anon_sym_sizeof] = ACTIONS(940), + [sym_number_literal] = ACTIONS(942), + [anon_sym_L_SQUOTE] = ACTIONS(942), + [anon_sym_u_SQUOTE] = ACTIONS(942), + [anon_sym_U_SQUOTE] = ACTIONS(942), + [anon_sym_u8_SQUOTE] = ACTIONS(942), + [anon_sym_SQUOTE] = ACTIONS(942), + [anon_sym_L_DQUOTE] = ACTIONS(942), + [anon_sym_u_DQUOTE] = ACTIONS(942), + [anon_sym_U_DQUOTE] = ACTIONS(942), + [anon_sym_u8_DQUOTE] = ACTIONS(942), + [anon_sym_DQUOTE] = ACTIONS(942), + [sym_true] = ACTIONS(940), + [sym_false] = ACTIONS(940), + [sym_null] = ACTIONS(940), + [sym_comment] = ACTIONS(3), + }, + [82] = { + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_if_token2] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [aux_sym_preproc_else_token1] = ACTIONS(944), + [aux_sym_preproc_elif_token1] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [83] = { + [sym_identifier] = ACTIONS(948), + [aux_sym_preproc_include_token1] = ACTIONS(948), + [aux_sym_preproc_def_token1] = ACTIONS(948), + [aux_sym_preproc_if_token1] = ACTIONS(948), + [aux_sym_preproc_if_token2] = ACTIONS(948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(948), + [aux_sym_preproc_else_token1] = ACTIONS(948), + [aux_sym_preproc_elif_token1] = ACTIONS(948), + [sym_preproc_directive] = ACTIONS(948), + [anon_sym_LPAREN2] = ACTIONS(950), + [anon_sym_BANG] = ACTIONS(950), + [anon_sym_TILDE] = ACTIONS(950), + [anon_sym_DASH] = ACTIONS(948), + [anon_sym_PLUS] = ACTIONS(948), + [anon_sym_STAR] = ACTIONS(950), + [anon_sym_AMP] = ACTIONS(950), + [anon_sym_SEMI] = ACTIONS(950), + [anon_sym_typedef] = ACTIONS(948), + [anon_sym_extern] = ACTIONS(948), + [anon_sym___attribute__] = ACTIONS(948), + [anon_sym_LBRACK_LBRACK] = ACTIONS(950), + [anon_sym___declspec] = ACTIONS(948), + [anon_sym___cdecl] = ACTIONS(948), + [anon_sym___clrcall] = ACTIONS(948), + [anon_sym___stdcall] = ACTIONS(948), + [anon_sym___fastcall] = ACTIONS(948), + [anon_sym___thiscall] = ACTIONS(948), + [anon_sym___vectorcall] = ACTIONS(948), + [anon_sym_LBRACE] = ACTIONS(950), + [anon_sym_static] = ACTIONS(948), + [anon_sym_auto] = ACTIONS(948), + [anon_sym_register] = ACTIONS(948), + [anon_sym_inline] = ACTIONS(948), + [anon_sym_const] = ACTIONS(948), + [anon_sym_volatile] = ACTIONS(948), + [anon_sym_restrict] = ACTIONS(948), + [anon_sym__Atomic] = ACTIONS(948), + [anon_sym_signed] = ACTIONS(948), + [anon_sym_unsigned] = ACTIONS(948), + [anon_sym_long] = ACTIONS(948), + [anon_sym_short] = ACTIONS(948), + [sym_primitive_type] = ACTIONS(948), + [anon_sym_enum] = ACTIONS(948), + [anon_sym_struct] = ACTIONS(948), + [anon_sym_union] = ACTIONS(948), + [anon_sym_if] = ACTIONS(948), + [anon_sym_else] = ACTIONS(948), + [anon_sym_switch] = ACTIONS(948), + [anon_sym_case] = ACTIONS(948), + [anon_sym_default] = ACTIONS(948), + [anon_sym_while] = ACTIONS(948), + [anon_sym_do] = ACTIONS(948), + [anon_sym_for] = ACTIONS(948), + [anon_sym_return] = ACTIONS(948), + [anon_sym_break] = ACTIONS(948), + [anon_sym_continue] = ACTIONS(948), + [anon_sym_goto] = ACTIONS(948), + [anon_sym_DASH_DASH] = ACTIONS(950), + [anon_sym_PLUS_PLUS] = ACTIONS(950), + [anon_sym_sizeof] = ACTIONS(948), + [sym_number_literal] = ACTIONS(950), + [anon_sym_L_SQUOTE] = ACTIONS(950), + [anon_sym_u_SQUOTE] = ACTIONS(950), + [anon_sym_U_SQUOTE] = ACTIONS(950), + [anon_sym_u8_SQUOTE] = ACTIONS(950), + [anon_sym_SQUOTE] = ACTIONS(950), + [anon_sym_L_DQUOTE] = ACTIONS(950), + [anon_sym_u_DQUOTE] = ACTIONS(950), + [anon_sym_U_DQUOTE] = ACTIONS(950), + [anon_sym_u8_DQUOTE] = ACTIONS(950), + [anon_sym_DQUOTE] = ACTIONS(950), + [sym_true] = ACTIONS(948), + [sym_false] = ACTIONS(948), + [sym_null] = ACTIONS(948), + [sym_comment] = ACTIONS(3), + }, + [84] = { + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_if_token2] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [aux_sym_preproc_else_token1] = ACTIONS(944), + [aux_sym_preproc_elif_token1] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [85] = { + [sym_identifier] = ACTIONS(952), + [aux_sym_preproc_include_token1] = ACTIONS(952), + [aux_sym_preproc_def_token1] = ACTIONS(952), + [aux_sym_preproc_if_token1] = ACTIONS(952), + [aux_sym_preproc_if_token2] = ACTIONS(952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(952), + [aux_sym_preproc_else_token1] = ACTIONS(952), + [aux_sym_preproc_elif_token1] = ACTIONS(952), + [sym_preproc_directive] = ACTIONS(952), + [anon_sym_LPAREN2] = ACTIONS(954), + [anon_sym_BANG] = ACTIONS(954), + [anon_sym_TILDE] = ACTIONS(954), + [anon_sym_DASH] = ACTIONS(952), + [anon_sym_PLUS] = ACTIONS(952), + [anon_sym_STAR] = ACTIONS(954), + [anon_sym_AMP] = ACTIONS(954), + [anon_sym_SEMI] = ACTIONS(954), + [anon_sym_typedef] = ACTIONS(952), + [anon_sym_extern] = ACTIONS(952), + [anon_sym___attribute__] = ACTIONS(952), + [anon_sym_LBRACK_LBRACK] = ACTIONS(954), + [anon_sym___declspec] = ACTIONS(952), + [anon_sym___cdecl] = ACTIONS(952), + [anon_sym___clrcall] = ACTIONS(952), + [anon_sym___stdcall] = ACTIONS(952), + [anon_sym___fastcall] = ACTIONS(952), + [anon_sym___thiscall] = ACTIONS(952), + [anon_sym___vectorcall] = ACTIONS(952), + [anon_sym_LBRACE] = ACTIONS(954), + [anon_sym_static] = ACTIONS(952), + [anon_sym_auto] = ACTIONS(952), + [anon_sym_register] = ACTIONS(952), + [anon_sym_inline] = ACTIONS(952), + [anon_sym_const] = ACTIONS(952), + [anon_sym_volatile] = ACTIONS(952), + [anon_sym_restrict] = ACTIONS(952), + [anon_sym__Atomic] = ACTIONS(952), + [anon_sym_signed] = ACTIONS(952), + [anon_sym_unsigned] = ACTIONS(952), + [anon_sym_long] = ACTIONS(952), + [anon_sym_short] = ACTIONS(952), + [sym_primitive_type] = ACTIONS(952), + [anon_sym_enum] = ACTIONS(952), + [anon_sym_struct] = ACTIONS(952), + [anon_sym_union] = ACTIONS(952), + [anon_sym_if] = ACTIONS(952), + [anon_sym_else] = ACTIONS(952), + [anon_sym_switch] = ACTIONS(952), + [anon_sym_case] = ACTIONS(952), + [anon_sym_default] = ACTIONS(952), + [anon_sym_while] = ACTIONS(952), + [anon_sym_do] = ACTIONS(952), + [anon_sym_for] = ACTIONS(952), + [anon_sym_return] = ACTIONS(952), + [anon_sym_break] = ACTIONS(952), + [anon_sym_continue] = ACTIONS(952), + [anon_sym_goto] = ACTIONS(952), + [anon_sym_DASH_DASH] = ACTIONS(954), + [anon_sym_PLUS_PLUS] = ACTIONS(954), + [anon_sym_sizeof] = ACTIONS(952), + [sym_number_literal] = ACTIONS(954), + [anon_sym_L_SQUOTE] = ACTIONS(954), + [anon_sym_u_SQUOTE] = ACTIONS(954), + [anon_sym_U_SQUOTE] = ACTIONS(954), + [anon_sym_u8_SQUOTE] = ACTIONS(954), + [anon_sym_SQUOTE] = ACTIONS(954), + [anon_sym_L_DQUOTE] = ACTIONS(954), + [anon_sym_u_DQUOTE] = ACTIONS(954), + [anon_sym_U_DQUOTE] = ACTIONS(954), + [anon_sym_u8_DQUOTE] = ACTIONS(954), + [anon_sym_DQUOTE] = ACTIONS(954), + [sym_true] = ACTIONS(952), + [sym_false] = ACTIONS(952), + [sym_null] = ACTIONS(952), + [sym_comment] = ACTIONS(3), + }, + [86] = { + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(956), + [aux_sym_preproc_def_token1] = ACTIONS(956), + [aux_sym_preproc_if_token1] = ACTIONS(956), + [aux_sym_preproc_if_token2] = ACTIONS(956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(956), + [aux_sym_preproc_else_token1] = ACTIONS(956), + [aux_sym_preproc_elif_token1] = ACTIONS(956), + [sym_preproc_directive] = ACTIONS(956), + [anon_sym_LPAREN2] = ACTIONS(958), + [anon_sym_BANG] = ACTIONS(958), + [anon_sym_TILDE] = ACTIONS(958), + [anon_sym_DASH] = ACTIONS(956), + [anon_sym_PLUS] = ACTIONS(956), + [anon_sym_STAR] = ACTIONS(958), + [anon_sym_AMP] = ACTIONS(958), + [anon_sym_SEMI] = ACTIONS(958), + [anon_sym_typedef] = ACTIONS(956), + [anon_sym_extern] = ACTIONS(956), + [anon_sym___attribute__] = ACTIONS(956), + [anon_sym_LBRACK_LBRACK] = ACTIONS(958), + [anon_sym___declspec] = ACTIONS(956), + [anon_sym___cdecl] = ACTIONS(956), + [anon_sym___clrcall] = ACTIONS(956), + [anon_sym___stdcall] = ACTIONS(956), + [anon_sym___fastcall] = ACTIONS(956), + [anon_sym___thiscall] = ACTIONS(956), + [anon_sym___vectorcall] = ACTIONS(956), + [anon_sym_LBRACE] = ACTIONS(958), + [anon_sym_static] = ACTIONS(956), + [anon_sym_auto] = ACTIONS(956), + [anon_sym_register] = ACTIONS(956), + [anon_sym_inline] = ACTIONS(956), + [anon_sym_const] = ACTIONS(956), + [anon_sym_volatile] = ACTIONS(956), + [anon_sym_restrict] = ACTIONS(956), + [anon_sym__Atomic] = ACTIONS(956), + [anon_sym_signed] = ACTIONS(956), + [anon_sym_unsigned] = ACTIONS(956), + [anon_sym_long] = ACTIONS(956), + [anon_sym_short] = ACTIONS(956), + [sym_primitive_type] = ACTIONS(956), + [anon_sym_enum] = ACTIONS(956), + [anon_sym_struct] = ACTIONS(956), + [anon_sym_union] = ACTIONS(956), + [anon_sym_if] = ACTIONS(956), + [anon_sym_else] = ACTIONS(956), + [anon_sym_switch] = ACTIONS(956), + [anon_sym_case] = ACTIONS(956), + [anon_sym_default] = ACTIONS(956), + [anon_sym_while] = ACTIONS(956), + [anon_sym_do] = ACTIONS(956), + [anon_sym_for] = ACTIONS(956), + [anon_sym_return] = ACTIONS(956), + [anon_sym_break] = ACTIONS(956), + [anon_sym_continue] = ACTIONS(956), + [anon_sym_goto] = ACTIONS(956), + [anon_sym_DASH_DASH] = ACTIONS(958), + [anon_sym_PLUS_PLUS] = ACTIONS(958), + [anon_sym_sizeof] = ACTIONS(956), + [sym_number_literal] = ACTIONS(958), + [anon_sym_L_SQUOTE] = ACTIONS(958), + [anon_sym_u_SQUOTE] = ACTIONS(958), + [anon_sym_U_SQUOTE] = ACTIONS(958), + [anon_sym_u8_SQUOTE] = ACTIONS(958), + [anon_sym_SQUOTE] = ACTIONS(958), + [anon_sym_L_DQUOTE] = ACTIONS(958), + [anon_sym_u_DQUOTE] = ACTIONS(958), + [anon_sym_U_DQUOTE] = ACTIONS(958), + [anon_sym_u8_DQUOTE] = ACTIONS(958), + [anon_sym_DQUOTE] = ACTIONS(958), + [sym_true] = ACTIONS(956), + [sym_false] = ACTIONS(956), + [sym_null] = ACTIONS(956), + [sym_comment] = ACTIONS(3), + }, + [87] = { + [sym_identifier] = ACTIONS(960), + [aux_sym_preproc_include_token1] = ACTIONS(960), + [aux_sym_preproc_def_token1] = ACTIONS(960), + [aux_sym_preproc_if_token1] = ACTIONS(960), + [aux_sym_preproc_if_token2] = ACTIONS(960), + [aux_sym_preproc_ifdef_token1] = ACTIONS(960), + [aux_sym_preproc_ifdef_token2] = ACTIONS(960), + [aux_sym_preproc_else_token1] = ACTIONS(960), + [aux_sym_preproc_elif_token1] = ACTIONS(960), + [sym_preproc_directive] = ACTIONS(960), + [anon_sym_LPAREN2] = ACTIONS(962), + [anon_sym_BANG] = ACTIONS(962), + [anon_sym_TILDE] = ACTIONS(962), + [anon_sym_DASH] = ACTIONS(960), + [anon_sym_PLUS] = ACTIONS(960), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(962), + [anon_sym_typedef] = ACTIONS(960), + [anon_sym_extern] = ACTIONS(960), + [anon_sym___attribute__] = ACTIONS(960), + [anon_sym_LBRACK_LBRACK] = ACTIONS(962), + [anon_sym___declspec] = ACTIONS(960), + [anon_sym___cdecl] = ACTIONS(960), + [anon_sym___clrcall] = ACTIONS(960), + [anon_sym___stdcall] = ACTIONS(960), + [anon_sym___fastcall] = ACTIONS(960), + [anon_sym___thiscall] = ACTIONS(960), + [anon_sym___vectorcall] = ACTIONS(960), + [anon_sym_LBRACE] = ACTIONS(962), + [anon_sym_static] = ACTIONS(960), + [anon_sym_auto] = ACTIONS(960), + [anon_sym_register] = ACTIONS(960), + [anon_sym_inline] = ACTIONS(960), + [anon_sym_const] = ACTIONS(960), + [anon_sym_volatile] = ACTIONS(960), + [anon_sym_restrict] = ACTIONS(960), + [anon_sym__Atomic] = ACTIONS(960), + [anon_sym_signed] = ACTIONS(960), + [anon_sym_unsigned] = ACTIONS(960), + [anon_sym_long] = ACTIONS(960), + [anon_sym_short] = ACTIONS(960), + [sym_primitive_type] = ACTIONS(960), + [anon_sym_enum] = ACTIONS(960), + [anon_sym_struct] = ACTIONS(960), + [anon_sym_union] = ACTIONS(960), + [anon_sym_if] = ACTIONS(960), + [anon_sym_else] = ACTIONS(960), + [anon_sym_switch] = ACTIONS(960), + [anon_sym_case] = ACTIONS(960), + [anon_sym_default] = ACTIONS(960), + [anon_sym_while] = ACTIONS(960), + [anon_sym_do] = ACTIONS(960), + [anon_sym_for] = ACTIONS(960), + [anon_sym_return] = ACTIONS(960), + [anon_sym_break] = ACTIONS(960), + [anon_sym_continue] = ACTIONS(960), + [anon_sym_goto] = ACTIONS(960), + [anon_sym_DASH_DASH] = ACTIONS(962), + [anon_sym_PLUS_PLUS] = ACTIONS(962), + [anon_sym_sizeof] = ACTIONS(960), + [sym_number_literal] = ACTIONS(962), + [anon_sym_L_SQUOTE] = ACTIONS(962), + [anon_sym_u_SQUOTE] = ACTIONS(962), + [anon_sym_U_SQUOTE] = ACTIONS(962), + [anon_sym_u8_SQUOTE] = ACTIONS(962), + [anon_sym_SQUOTE] = ACTIONS(962), + [anon_sym_L_DQUOTE] = ACTIONS(962), + [anon_sym_u_DQUOTE] = ACTIONS(962), + [anon_sym_U_DQUOTE] = ACTIONS(962), + [anon_sym_u8_DQUOTE] = ACTIONS(962), + [anon_sym_DQUOTE] = ACTIONS(962), + [sym_true] = ACTIONS(960), + [sym_false] = ACTIONS(960), + [sym_null] = ACTIONS(960), + [sym_comment] = ACTIONS(3), + }, + [88] = { + [sym_identifier] = ACTIONS(964), + [aux_sym_preproc_include_token1] = ACTIONS(964), + [aux_sym_preproc_def_token1] = ACTIONS(964), + [aux_sym_preproc_if_token1] = ACTIONS(964), + [aux_sym_preproc_if_token2] = ACTIONS(964), + [aux_sym_preproc_ifdef_token1] = ACTIONS(964), + [aux_sym_preproc_ifdef_token2] = ACTIONS(964), + [aux_sym_preproc_else_token1] = ACTIONS(964), + [aux_sym_preproc_elif_token1] = ACTIONS(964), + [sym_preproc_directive] = ACTIONS(964), + [anon_sym_LPAREN2] = ACTIONS(966), + [anon_sym_BANG] = ACTIONS(966), + [anon_sym_TILDE] = ACTIONS(966), + [anon_sym_DASH] = ACTIONS(964), + [anon_sym_PLUS] = ACTIONS(964), + [anon_sym_STAR] = ACTIONS(966), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(966), + [anon_sym_typedef] = ACTIONS(964), + [anon_sym_extern] = ACTIONS(964), + [anon_sym___attribute__] = ACTIONS(964), + [anon_sym_LBRACK_LBRACK] = ACTIONS(966), + [anon_sym___declspec] = ACTIONS(964), + [anon_sym___cdecl] = ACTIONS(964), + [anon_sym___clrcall] = ACTIONS(964), + [anon_sym___stdcall] = ACTIONS(964), + [anon_sym___fastcall] = ACTIONS(964), + [anon_sym___thiscall] = ACTIONS(964), + [anon_sym___vectorcall] = ACTIONS(964), + [anon_sym_LBRACE] = ACTIONS(966), + [anon_sym_static] = ACTIONS(964), + [anon_sym_auto] = ACTIONS(964), + [anon_sym_register] = ACTIONS(964), + [anon_sym_inline] = ACTIONS(964), + [anon_sym_const] = ACTIONS(964), + [anon_sym_volatile] = ACTIONS(964), + [anon_sym_restrict] = ACTIONS(964), + [anon_sym__Atomic] = ACTIONS(964), + [anon_sym_signed] = ACTIONS(964), + [anon_sym_unsigned] = ACTIONS(964), + [anon_sym_long] = ACTIONS(964), + [anon_sym_short] = ACTIONS(964), + [sym_primitive_type] = ACTIONS(964), + [anon_sym_enum] = ACTIONS(964), + [anon_sym_struct] = ACTIONS(964), + [anon_sym_union] = ACTIONS(964), + [anon_sym_if] = ACTIONS(964), + [anon_sym_else] = ACTIONS(964), + [anon_sym_switch] = ACTIONS(964), + [anon_sym_case] = ACTIONS(964), + [anon_sym_default] = ACTIONS(964), + [anon_sym_while] = ACTIONS(964), + [anon_sym_do] = ACTIONS(964), + [anon_sym_for] = ACTIONS(964), + [anon_sym_return] = ACTIONS(964), + [anon_sym_break] = ACTIONS(964), + [anon_sym_continue] = ACTIONS(964), + [anon_sym_goto] = ACTIONS(964), + [anon_sym_DASH_DASH] = ACTIONS(966), + [anon_sym_PLUS_PLUS] = ACTIONS(966), + [anon_sym_sizeof] = ACTIONS(964), + [sym_number_literal] = ACTIONS(966), + [anon_sym_L_SQUOTE] = ACTIONS(966), + [anon_sym_u_SQUOTE] = ACTIONS(966), + [anon_sym_U_SQUOTE] = ACTIONS(966), + [anon_sym_u8_SQUOTE] = ACTIONS(966), + [anon_sym_SQUOTE] = ACTIONS(966), + [anon_sym_L_DQUOTE] = ACTIONS(966), + [anon_sym_u_DQUOTE] = ACTIONS(966), + [anon_sym_U_DQUOTE] = ACTIONS(966), + [anon_sym_u8_DQUOTE] = ACTIONS(966), + [anon_sym_DQUOTE] = ACTIONS(966), + [sym_true] = ACTIONS(964), + [sym_false] = ACTIONS(964), + [sym_null] = ACTIONS(964), + [sym_comment] = ACTIONS(3), + }, + [89] = { + [sym_identifier] = ACTIONS(968), + [aux_sym_preproc_include_token1] = ACTIONS(968), + [aux_sym_preproc_def_token1] = ACTIONS(968), + [aux_sym_preproc_if_token1] = ACTIONS(968), + [aux_sym_preproc_if_token2] = ACTIONS(968), + [aux_sym_preproc_ifdef_token1] = ACTIONS(968), + [aux_sym_preproc_ifdef_token2] = ACTIONS(968), + [aux_sym_preproc_else_token1] = ACTIONS(968), + [aux_sym_preproc_elif_token1] = ACTIONS(968), + [sym_preproc_directive] = ACTIONS(968), + [anon_sym_LPAREN2] = ACTIONS(970), + [anon_sym_BANG] = ACTIONS(970), + [anon_sym_TILDE] = ACTIONS(970), + [anon_sym_DASH] = ACTIONS(968), + [anon_sym_PLUS] = ACTIONS(968), + [anon_sym_STAR] = ACTIONS(970), + [anon_sym_AMP] = ACTIONS(970), + [anon_sym_SEMI] = ACTIONS(970), + [anon_sym_typedef] = ACTIONS(968), + [anon_sym_extern] = ACTIONS(968), + [anon_sym___attribute__] = ACTIONS(968), + [anon_sym_LBRACK_LBRACK] = ACTIONS(970), + [anon_sym___declspec] = ACTIONS(968), + [anon_sym___cdecl] = ACTIONS(968), + [anon_sym___clrcall] = ACTIONS(968), + [anon_sym___stdcall] = ACTIONS(968), + [anon_sym___fastcall] = ACTIONS(968), + [anon_sym___thiscall] = ACTIONS(968), + [anon_sym___vectorcall] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(970), + [anon_sym_static] = ACTIONS(968), + [anon_sym_auto] = ACTIONS(968), + [anon_sym_register] = ACTIONS(968), + [anon_sym_inline] = ACTIONS(968), + [anon_sym_const] = ACTIONS(968), + [anon_sym_volatile] = ACTIONS(968), + [anon_sym_restrict] = ACTIONS(968), + [anon_sym__Atomic] = ACTIONS(968), + [anon_sym_signed] = ACTIONS(968), + [anon_sym_unsigned] = ACTIONS(968), + [anon_sym_long] = ACTIONS(968), + [anon_sym_short] = ACTIONS(968), + [sym_primitive_type] = ACTIONS(968), + [anon_sym_enum] = ACTIONS(968), + [anon_sym_struct] = ACTIONS(968), + [anon_sym_union] = ACTIONS(968), + [anon_sym_if] = ACTIONS(968), + [anon_sym_else] = ACTIONS(968), + [anon_sym_switch] = ACTIONS(968), + [anon_sym_case] = ACTIONS(968), + [anon_sym_default] = ACTIONS(968), + [anon_sym_while] = ACTIONS(968), + [anon_sym_do] = ACTIONS(968), + [anon_sym_for] = ACTIONS(968), + [anon_sym_return] = ACTIONS(968), + [anon_sym_break] = ACTIONS(968), + [anon_sym_continue] = ACTIONS(968), + [anon_sym_goto] = ACTIONS(968), + [anon_sym_DASH_DASH] = ACTIONS(970), + [anon_sym_PLUS_PLUS] = ACTIONS(970), + [anon_sym_sizeof] = ACTIONS(968), + [sym_number_literal] = ACTIONS(970), + [anon_sym_L_SQUOTE] = ACTIONS(970), + [anon_sym_u_SQUOTE] = ACTIONS(970), + [anon_sym_U_SQUOTE] = ACTIONS(970), + [anon_sym_u8_SQUOTE] = ACTIONS(970), + [anon_sym_SQUOTE] = ACTIONS(970), + [anon_sym_L_DQUOTE] = ACTIONS(970), + [anon_sym_u_DQUOTE] = ACTIONS(970), + [anon_sym_U_DQUOTE] = ACTIONS(970), + [anon_sym_u8_DQUOTE] = ACTIONS(970), + [anon_sym_DQUOTE] = ACTIONS(970), + [sym_true] = ACTIONS(968), + [sym_false] = ACTIONS(968), + [sym_null] = ACTIONS(968), + [sym_comment] = ACTIONS(3), + }, + [90] = { + [sym_identifier] = ACTIONS(972), + [aux_sym_preproc_include_token1] = ACTIONS(972), + [aux_sym_preproc_def_token1] = ACTIONS(972), + [aux_sym_preproc_if_token1] = ACTIONS(972), + [aux_sym_preproc_if_token2] = ACTIONS(972), + [aux_sym_preproc_ifdef_token1] = ACTIONS(972), + [aux_sym_preproc_ifdef_token2] = ACTIONS(972), + [aux_sym_preproc_else_token1] = ACTIONS(972), + [aux_sym_preproc_elif_token1] = ACTIONS(972), + [sym_preproc_directive] = ACTIONS(972), + [anon_sym_LPAREN2] = ACTIONS(974), + [anon_sym_BANG] = ACTIONS(974), + [anon_sym_TILDE] = ACTIONS(974), + [anon_sym_DASH] = ACTIONS(972), + [anon_sym_PLUS] = ACTIONS(972), + [anon_sym_STAR] = ACTIONS(974), + [anon_sym_AMP] = ACTIONS(974), + [anon_sym_SEMI] = ACTIONS(974), + [anon_sym_typedef] = ACTIONS(972), + [anon_sym_extern] = ACTIONS(972), + [anon_sym___attribute__] = ACTIONS(972), + [anon_sym_LBRACK_LBRACK] = ACTIONS(974), + [anon_sym___declspec] = ACTIONS(972), + [anon_sym___cdecl] = ACTIONS(972), + [anon_sym___clrcall] = ACTIONS(972), + [anon_sym___stdcall] = ACTIONS(972), + [anon_sym___fastcall] = ACTIONS(972), + [anon_sym___thiscall] = ACTIONS(972), + [anon_sym___vectorcall] = ACTIONS(972), + [anon_sym_LBRACE] = ACTIONS(974), + [anon_sym_static] = ACTIONS(972), + [anon_sym_auto] = ACTIONS(972), + [anon_sym_register] = ACTIONS(972), + [anon_sym_inline] = ACTIONS(972), + [anon_sym_const] = ACTIONS(972), + [anon_sym_volatile] = ACTIONS(972), + [anon_sym_restrict] = ACTIONS(972), + [anon_sym__Atomic] = ACTIONS(972), + [anon_sym_signed] = ACTIONS(972), + [anon_sym_unsigned] = ACTIONS(972), + [anon_sym_long] = ACTIONS(972), + [anon_sym_short] = ACTIONS(972), + [sym_primitive_type] = ACTIONS(972), + [anon_sym_enum] = ACTIONS(972), + [anon_sym_struct] = ACTIONS(972), + [anon_sym_union] = ACTIONS(972), + [anon_sym_if] = ACTIONS(972), + [anon_sym_else] = ACTIONS(972), + [anon_sym_switch] = ACTIONS(972), + [anon_sym_case] = ACTIONS(972), + [anon_sym_default] = ACTIONS(972), + [anon_sym_while] = ACTIONS(972), + [anon_sym_do] = ACTIONS(972), + [anon_sym_for] = ACTIONS(972), + [anon_sym_return] = ACTIONS(972), + [anon_sym_break] = ACTIONS(972), + [anon_sym_continue] = ACTIONS(972), + [anon_sym_goto] = ACTIONS(972), + [anon_sym_DASH_DASH] = ACTIONS(974), + [anon_sym_PLUS_PLUS] = ACTIONS(974), + [anon_sym_sizeof] = ACTIONS(972), + [sym_number_literal] = ACTIONS(974), + [anon_sym_L_SQUOTE] = ACTIONS(974), + [anon_sym_u_SQUOTE] = ACTIONS(974), + [anon_sym_U_SQUOTE] = ACTIONS(974), + [anon_sym_u8_SQUOTE] = ACTIONS(974), + [anon_sym_SQUOTE] = ACTIONS(974), + [anon_sym_L_DQUOTE] = ACTIONS(974), + [anon_sym_u_DQUOTE] = ACTIONS(974), + [anon_sym_U_DQUOTE] = ACTIONS(974), + [anon_sym_u8_DQUOTE] = ACTIONS(974), + [anon_sym_DQUOTE] = ACTIONS(974), + [sym_true] = ACTIONS(972), + [sym_false] = ACTIONS(972), + [sym_null] = ACTIONS(972), + [sym_comment] = ACTIONS(3), + }, + [91] = { + [sym_identifier] = ACTIONS(976), + [aux_sym_preproc_include_token1] = ACTIONS(976), + [aux_sym_preproc_def_token1] = ACTIONS(976), + [aux_sym_preproc_if_token1] = ACTIONS(976), + [aux_sym_preproc_if_token2] = ACTIONS(976), + [aux_sym_preproc_ifdef_token1] = ACTIONS(976), + [aux_sym_preproc_ifdef_token2] = ACTIONS(976), + [aux_sym_preproc_else_token1] = ACTIONS(976), + [aux_sym_preproc_elif_token1] = ACTIONS(976), + [sym_preproc_directive] = ACTIONS(976), + [anon_sym_LPAREN2] = ACTIONS(978), + [anon_sym_BANG] = ACTIONS(978), + [anon_sym_TILDE] = ACTIONS(978), + [anon_sym_DASH] = ACTIONS(976), + [anon_sym_PLUS] = ACTIONS(976), + [anon_sym_STAR] = ACTIONS(978), + [anon_sym_AMP] = ACTIONS(978), + [anon_sym_SEMI] = ACTIONS(978), + [anon_sym_typedef] = ACTIONS(976), + [anon_sym_extern] = ACTIONS(976), + [anon_sym___attribute__] = ACTIONS(976), + [anon_sym_LBRACK_LBRACK] = ACTIONS(978), + [anon_sym___declspec] = ACTIONS(976), + [anon_sym___cdecl] = ACTIONS(976), + [anon_sym___clrcall] = ACTIONS(976), + [anon_sym___stdcall] = ACTIONS(976), + [anon_sym___fastcall] = ACTIONS(976), + [anon_sym___thiscall] = ACTIONS(976), + [anon_sym___vectorcall] = ACTIONS(976), + [anon_sym_LBRACE] = ACTIONS(978), + [anon_sym_static] = ACTIONS(976), + [anon_sym_auto] = ACTIONS(976), + [anon_sym_register] = ACTIONS(976), + [anon_sym_inline] = ACTIONS(976), + [anon_sym_const] = ACTIONS(976), + [anon_sym_volatile] = ACTIONS(976), + [anon_sym_restrict] = ACTIONS(976), + [anon_sym__Atomic] = ACTIONS(976), + [anon_sym_signed] = ACTIONS(976), + [anon_sym_unsigned] = ACTIONS(976), + [anon_sym_long] = ACTIONS(976), + [anon_sym_short] = ACTIONS(976), + [sym_primitive_type] = ACTIONS(976), + [anon_sym_enum] = ACTIONS(976), + [anon_sym_struct] = ACTIONS(976), + [anon_sym_union] = ACTIONS(976), + [anon_sym_if] = ACTIONS(976), + [anon_sym_else] = ACTIONS(976), + [anon_sym_switch] = ACTIONS(976), + [anon_sym_case] = ACTIONS(976), + [anon_sym_default] = ACTIONS(976), + [anon_sym_while] = ACTIONS(976), + [anon_sym_do] = ACTIONS(976), + [anon_sym_for] = ACTIONS(976), + [anon_sym_return] = ACTIONS(976), + [anon_sym_break] = ACTIONS(976), + [anon_sym_continue] = ACTIONS(976), + [anon_sym_goto] = ACTIONS(976), + [anon_sym_DASH_DASH] = ACTIONS(978), + [anon_sym_PLUS_PLUS] = ACTIONS(978), + [anon_sym_sizeof] = ACTIONS(976), + [sym_number_literal] = ACTIONS(978), + [anon_sym_L_SQUOTE] = ACTIONS(978), + [anon_sym_u_SQUOTE] = ACTIONS(978), + [anon_sym_U_SQUOTE] = ACTIONS(978), + [anon_sym_u8_SQUOTE] = ACTIONS(978), + [anon_sym_SQUOTE] = ACTIONS(978), + [anon_sym_L_DQUOTE] = ACTIONS(978), + [anon_sym_u_DQUOTE] = ACTIONS(978), + [anon_sym_U_DQUOTE] = ACTIONS(978), + [anon_sym_u8_DQUOTE] = ACTIONS(978), + [anon_sym_DQUOTE] = ACTIONS(978), + [sym_true] = ACTIONS(976), + [sym_false] = ACTIONS(976), + [sym_null] = ACTIONS(976), + [sym_comment] = ACTIONS(3), + }, + [92] = { + [sym_identifier] = ACTIONS(980), + [aux_sym_preproc_include_token1] = ACTIONS(980), + [aux_sym_preproc_def_token1] = ACTIONS(980), + [aux_sym_preproc_if_token1] = ACTIONS(980), + [aux_sym_preproc_if_token2] = ACTIONS(980), + [aux_sym_preproc_ifdef_token1] = ACTIONS(980), + [aux_sym_preproc_ifdef_token2] = ACTIONS(980), + [aux_sym_preproc_else_token1] = ACTIONS(980), + [aux_sym_preproc_elif_token1] = ACTIONS(980), + [sym_preproc_directive] = ACTIONS(980), + [anon_sym_LPAREN2] = ACTIONS(982), + [anon_sym_BANG] = ACTIONS(982), + [anon_sym_TILDE] = ACTIONS(982), + [anon_sym_DASH] = ACTIONS(980), + [anon_sym_PLUS] = ACTIONS(980), + [anon_sym_STAR] = ACTIONS(982), + [anon_sym_AMP] = ACTIONS(982), + [anon_sym_SEMI] = ACTIONS(982), + [anon_sym_typedef] = ACTIONS(980), + [anon_sym_extern] = ACTIONS(980), + [anon_sym___attribute__] = ACTIONS(980), + [anon_sym_LBRACK_LBRACK] = ACTIONS(982), + [anon_sym___declspec] = ACTIONS(980), + [anon_sym___cdecl] = ACTIONS(980), + [anon_sym___clrcall] = ACTIONS(980), + [anon_sym___stdcall] = ACTIONS(980), + [anon_sym___fastcall] = ACTIONS(980), + [anon_sym___thiscall] = ACTIONS(980), + [anon_sym___vectorcall] = ACTIONS(980), + [anon_sym_LBRACE] = ACTIONS(982), + [anon_sym_static] = ACTIONS(980), + [anon_sym_auto] = ACTIONS(980), + [anon_sym_register] = ACTIONS(980), + [anon_sym_inline] = ACTIONS(980), + [anon_sym_const] = ACTIONS(980), + [anon_sym_volatile] = ACTIONS(980), + [anon_sym_restrict] = ACTIONS(980), + [anon_sym__Atomic] = ACTIONS(980), + [anon_sym_signed] = ACTIONS(980), + [anon_sym_unsigned] = ACTIONS(980), + [anon_sym_long] = ACTIONS(980), + [anon_sym_short] = ACTIONS(980), + [sym_primitive_type] = ACTIONS(980), + [anon_sym_enum] = ACTIONS(980), + [anon_sym_struct] = ACTIONS(980), + [anon_sym_union] = ACTIONS(980), + [anon_sym_if] = ACTIONS(980), + [anon_sym_else] = ACTIONS(980), + [anon_sym_switch] = ACTIONS(980), + [anon_sym_case] = ACTIONS(980), + [anon_sym_default] = ACTIONS(980), + [anon_sym_while] = ACTIONS(980), + [anon_sym_do] = ACTIONS(980), + [anon_sym_for] = ACTIONS(980), + [anon_sym_return] = ACTIONS(980), + [anon_sym_break] = ACTIONS(980), + [anon_sym_continue] = ACTIONS(980), + [anon_sym_goto] = ACTIONS(980), + [anon_sym_DASH_DASH] = ACTIONS(982), + [anon_sym_PLUS_PLUS] = ACTIONS(982), + [anon_sym_sizeof] = ACTIONS(980), + [sym_number_literal] = ACTIONS(982), + [anon_sym_L_SQUOTE] = ACTIONS(982), + [anon_sym_u_SQUOTE] = ACTIONS(982), + [anon_sym_U_SQUOTE] = ACTIONS(982), + [anon_sym_u8_SQUOTE] = ACTIONS(982), + [anon_sym_SQUOTE] = ACTIONS(982), + [anon_sym_L_DQUOTE] = ACTIONS(982), + [anon_sym_u_DQUOTE] = ACTIONS(982), + [anon_sym_U_DQUOTE] = ACTIONS(982), + [anon_sym_u8_DQUOTE] = ACTIONS(982), + [anon_sym_DQUOTE] = ACTIONS(982), + [sym_true] = ACTIONS(980), + [sym_false] = ACTIONS(980), + [sym_null] = ACTIONS(980), + [sym_comment] = ACTIONS(3), + }, + [93] = { + [sym_identifier] = ACTIONS(984), + [aux_sym_preproc_include_token1] = ACTIONS(984), + [aux_sym_preproc_def_token1] = ACTIONS(984), + [aux_sym_preproc_if_token1] = ACTIONS(984), + [aux_sym_preproc_if_token2] = ACTIONS(984), + [aux_sym_preproc_ifdef_token1] = ACTIONS(984), + [aux_sym_preproc_ifdef_token2] = ACTIONS(984), + [aux_sym_preproc_else_token1] = ACTIONS(984), + [aux_sym_preproc_elif_token1] = ACTIONS(984), + [sym_preproc_directive] = ACTIONS(984), + [anon_sym_LPAREN2] = ACTIONS(986), + [anon_sym_BANG] = ACTIONS(986), + [anon_sym_TILDE] = ACTIONS(986), + [anon_sym_DASH] = ACTIONS(984), + [anon_sym_PLUS] = ACTIONS(984), + [anon_sym_STAR] = ACTIONS(986), + [anon_sym_AMP] = ACTIONS(986), + [anon_sym_SEMI] = ACTIONS(986), + [anon_sym_typedef] = ACTIONS(984), + [anon_sym_extern] = ACTIONS(984), + [anon_sym___attribute__] = ACTIONS(984), + [anon_sym_LBRACK_LBRACK] = ACTIONS(986), + [anon_sym___declspec] = ACTIONS(984), + [anon_sym___cdecl] = ACTIONS(984), + [anon_sym___clrcall] = ACTIONS(984), + [anon_sym___stdcall] = ACTIONS(984), + [anon_sym___fastcall] = ACTIONS(984), + [anon_sym___thiscall] = ACTIONS(984), + [anon_sym___vectorcall] = ACTIONS(984), + [anon_sym_LBRACE] = ACTIONS(986), + [anon_sym_static] = ACTIONS(984), + [anon_sym_auto] = ACTIONS(984), + [anon_sym_register] = ACTIONS(984), + [anon_sym_inline] = ACTIONS(984), + [anon_sym_const] = ACTIONS(984), + [anon_sym_volatile] = ACTIONS(984), + [anon_sym_restrict] = ACTIONS(984), + [anon_sym__Atomic] = ACTIONS(984), + [anon_sym_signed] = ACTIONS(984), + [anon_sym_unsigned] = ACTIONS(984), + [anon_sym_long] = ACTIONS(984), + [anon_sym_short] = ACTIONS(984), + [sym_primitive_type] = ACTIONS(984), + [anon_sym_enum] = ACTIONS(984), + [anon_sym_struct] = ACTIONS(984), + [anon_sym_union] = ACTIONS(984), + [anon_sym_if] = ACTIONS(984), + [anon_sym_else] = ACTIONS(984), + [anon_sym_switch] = ACTIONS(984), + [anon_sym_case] = ACTIONS(984), + [anon_sym_default] = ACTIONS(984), + [anon_sym_while] = ACTIONS(984), + [anon_sym_do] = ACTIONS(984), + [anon_sym_for] = ACTIONS(984), + [anon_sym_return] = ACTIONS(984), + [anon_sym_break] = ACTIONS(984), + [anon_sym_continue] = ACTIONS(984), + [anon_sym_goto] = ACTIONS(984), + [anon_sym_DASH_DASH] = ACTIONS(986), + [anon_sym_PLUS_PLUS] = ACTIONS(986), + [anon_sym_sizeof] = ACTIONS(984), + [sym_number_literal] = ACTIONS(986), + [anon_sym_L_SQUOTE] = ACTIONS(986), + [anon_sym_u_SQUOTE] = ACTIONS(986), + [anon_sym_U_SQUOTE] = ACTIONS(986), + [anon_sym_u8_SQUOTE] = ACTIONS(986), + [anon_sym_SQUOTE] = ACTIONS(986), + [anon_sym_L_DQUOTE] = ACTIONS(986), + [anon_sym_u_DQUOTE] = ACTIONS(986), + [anon_sym_U_DQUOTE] = ACTIONS(986), + [anon_sym_u8_DQUOTE] = ACTIONS(986), + [anon_sym_DQUOTE] = ACTIONS(986), + [sym_true] = ACTIONS(984), + [sym_false] = ACTIONS(984), + [sym_null] = ACTIONS(984), + [sym_comment] = ACTIONS(3), + }, + [94] = { + [sym_identifier] = ACTIONS(988), + [aux_sym_preproc_include_token1] = ACTIONS(988), + [aux_sym_preproc_def_token1] = ACTIONS(988), + [aux_sym_preproc_if_token1] = ACTIONS(988), + [aux_sym_preproc_if_token2] = ACTIONS(988), + [aux_sym_preproc_ifdef_token1] = ACTIONS(988), + [aux_sym_preproc_ifdef_token2] = ACTIONS(988), + [aux_sym_preproc_else_token1] = ACTIONS(988), + [aux_sym_preproc_elif_token1] = ACTIONS(988), + [sym_preproc_directive] = ACTIONS(988), + [anon_sym_LPAREN2] = ACTIONS(990), + [anon_sym_BANG] = ACTIONS(990), + [anon_sym_TILDE] = ACTIONS(990), + [anon_sym_DASH] = ACTIONS(988), + [anon_sym_PLUS] = ACTIONS(988), + [anon_sym_STAR] = ACTIONS(990), + [anon_sym_AMP] = ACTIONS(990), + [anon_sym_SEMI] = ACTIONS(990), + [anon_sym_typedef] = ACTIONS(988), + [anon_sym_extern] = ACTIONS(988), + [anon_sym___attribute__] = ACTIONS(988), + [anon_sym_LBRACK_LBRACK] = ACTIONS(990), + [anon_sym___declspec] = ACTIONS(988), + [anon_sym___cdecl] = ACTIONS(988), + [anon_sym___clrcall] = ACTIONS(988), + [anon_sym___stdcall] = ACTIONS(988), + [anon_sym___fastcall] = ACTIONS(988), + [anon_sym___thiscall] = ACTIONS(988), + [anon_sym___vectorcall] = ACTIONS(988), + [anon_sym_LBRACE] = ACTIONS(990), + [anon_sym_static] = ACTIONS(988), + [anon_sym_auto] = ACTIONS(988), + [anon_sym_register] = ACTIONS(988), + [anon_sym_inline] = ACTIONS(988), + [anon_sym_const] = ACTIONS(988), + [anon_sym_volatile] = ACTIONS(988), + [anon_sym_restrict] = ACTIONS(988), + [anon_sym__Atomic] = ACTIONS(988), + [anon_sym_signed] = ACTIONS(988), + [anon_sym_unsigned] = ACTIONS(988), + [anon_sym_long] = ACTIONS(988), + [anon_sym_short] = ACTIONS(988), + [sym_primitive_type] = ACTIONS(988), + [anon_sym_enum] = ACTIONS(988), + [anon_sym_struct] = ACTIONS(988), + [anon_sym_union] = ACTIONS(988), + [anon_sym_if] = ACTIONS(988), + [anon_sym_else] = ACTIONS(988), + [anon_sym_switch] = ACTIONS(988), + [anon_sym_case] = ACTIONS(988), + [anon_sym_default] = ACTIONS(988), + [anon_sym_while] = ACTIONS(988), + [anon_sym_do] = ACTIONS(988), + [anon_sym_for] = ACTIONS(988), + [anon_sym_return] = ACTIONS(988), + [anon_sym_break] = ACTIONS(988), + [anon_sym_continue] = ACTIONS(988), + [anon_sym_goto] = ACTIONS(988), + [anon_sym_DASH_DASH] = ACTIONS(990), + [anon_sym_PLUS_PLUS] = ACTIONS(990), + [anon_sym_sizeof] = ACTIONS(988), + [sym_number_literal] = ACTIONS(990), + [anon_sym_L_SQUOTE] = ACTIONS(990), + [anon_sym_u_SQUOTE] = ACTIONS(990), + [anon_sym_U_SQUOTE] = ACTIONS(990), + [anon_sym_u8_SQUOTE] = ACTIONS(990), + [anon_sym_SQUOTE] = ACTIONS(990), + [anon_sym_L_DQUOTE] = ACTIONS(990), + [anon_sym_u_DQUOTE] = ACTIONS(990), + [anon_sym_U_DQUOTE] = ACTIONS(990), + [anon_sym_u8_DQUOTE] = ACTIONS(990), + [anon_sym_DQUOTE] = ACTIONS(990), + [sym_true] = ACTIONS(988), + [sym_false] = ACTIONS(988), + [sym_null] = ACTIONS(988), + [sym_comment] = ACTIONS(3), + }, + [95] = { + [sym_identifier] = ACTIONS(992), + [aux_sym_preproc_include_token1] = ACTIONS(992), + [aux_sym_preproc_def_token1] = ACTIONS(992), + [aux_sym_preproc_if_token1] = ACTIONS(992), + [aux_sym_preproc_if_token2] = ACTIONS(992), + [aux_sym_preproc_ifdef_token1] = ACTIONS(992), + [aux_sym_preproc_ifdef_token2] = ACTIONS(992), + [aux_sym_preproc_else_token1] = ACTIONS(992), + [aux_sym_preproc_elif_token1] = ACTIONS(992), + [sym_preproc_directive] = ACTIONS(992), + [anon_sym_LPAREN2] = ACTIONS(994), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(992), + [anon_sym_PLUS] = ACTIONS(992), + [anon_sym_STAR] = ACTIONS(994), + [anon_sym_AMP] = ACTIONS(994), + [anon_sym_SEMI] = ACTIONS(994), + [anon_sym_typedef] = ACTIONS(992), + [anon_sym_extern] = ACTIONS(992), + [anon_sym___attribute__] = ACTIONS(992), + [anon_sym_LBRACK_LBRACK] = ACTIONS(994), + [anon_sym___declspec] = ACTIONS(992), + [anon_sym___cdecl] = ACTIONS(992), + [anon_sym___clrcall] = ACTIONS(992), + [anon_sym___stdcall] = ACTIONS(992), + [anon_sym___fastcall] = ACTIONS(992), + [anon_sym___thiscall] = ACTIONS(992), + [anon_sym___vectorcall] = ACTIONS(992), + [anon_sym_LBRACE] = ACTIONS(994), + [anon_sym_static] = ACTIONS(992), + [anon_sym_auto] = ACTIONS(992), + [anon_sym_register] = ACTIONS(992), + [anon_sym_inline] = ACTIONS(992), + [anon_sym_const] = ACTIONS(992), + [anon_sym_volatile] = ACTIONS(992), + [anon_sym_restrict] = ACTIONS(992), + [anon_sym__Atomic] = ACTIONS(992), + [anon_sym_signed] = ACTIONS(992), + [anon_sym_unsigned] = ACTIONS(992), + [anon_sym_long] = ACTIONS(992), + [anon_sym_short] = ACTIONS(992), + [sym_primitive_type] = ACTIONS(992), + [anon_sym_enum] = ACTIONS(992), + [anon_sym_struct] = ACTIONS(992), + [anon_sym_union] = ACTIONS(992), + [anon_sym_if] = ACTIONS(992), + [anon_sym_else] = ACTIONS(992), + [anon_sym_switch] = ACTIONS(992), + [anon_sym_case] = ACTIONS(992), + [anon_sym_default] = ACTIONS(992), + [anon_sym_while] = ACTIONS(992), + [anon_sym_do] = ACTIONS(992), + [anon_sym_for] = ACTIONS(992), + [anon_sym_return] = ACTIONS(992), + [anon_sym_break] = ACTIONS(992), + [anon_sym_continue] = ACTIONS(992), + [anon_sym_goto] = ACTIONS(992), + [anon_sym_DASH_DASH] = ACTIONS(994), + [anon_sym_PLUS_PLUS] = ACTIONS(994), + [anon_sym_sizeof] = ACTIONS(992), + [sym_number_literal] = ACTIONS(994), + [anon_sym_L_SQUOTE] = ACTIONS(994), + [anon_sym_u_SQUOTE] = ACTIONS(994), + [anon_sym_U_SQUOTE] = ACTIONS(994), + [anon_sym_u8_SQUOTE] = ACTIONS(994), + [anon_sym_SQUOTE] = ACTIONS(994), + [anon_sym_L_DQUOTE] = ACTIONS(994), + [anon_sym_u_DQUOTE] = ACTIONS(994), + [anon_sym_U_DQUOTE] = ACTIONS(994), + [anon_sym_u8_DQUOTE] = ACTIONS(994), + [anon_sym_DQUOTE] = ACTIONS(994), + [sym_true] = ACTIONS(992), + [sym_false] = ACTIONS(992), + [sym_null] = ACTIONS(992), + [sym_comment] = ACTIONS(3), + }, + [96] = { + [sym_identifier] = ACTIONS(996), + [aux_sym_preproc_include_token1] = ACTIONS(996), + [aux_sym_preproc_def_token1] = ACTIONS(996), + [aux_sym_preproc_if_token1] = ACTIONS(996), + [aux_sym_preproc_if_token2] = ACTIONS(996), + [aux_sym_preproc_ifdef_token1] = ACTIONS(996), + [aux_sym_preproc_ifdef_token2] = ACTIONS(996), + [aux_sym_preproc_else_token1] = ACTIONS(996), + [aux_sym_preproc_elif_token1] = ACTIONS(996), + [sym_preproc_directive] = ACTIONS(996), + [anon_sym_LPAREN2] = ACTIONS(998), + [anon_sym_BANG] = ACTIONS(998), + [anon_sym_TILDE] = ACTIONS(998), + [anon_sym_DASH] = ACTIONS(996), + [anon_sym_PLUS] = ACTIONS(996), + [anon_sym_STAR] = ACTIONS(998), + [anon_sym_AMP] = ACTIONS(998), + [anon_sym_SEMI] = ACTIONS(998), + [anon_sym_typedef] = ACTIONS(996), + [anon_sym_extern] = ACTIONS(996), + [anon_sym___attribute__] = ACTIONS(996), + [anon_sym_LBRACK_LBRACK] = ACTIONS(998), + [anon_sym___declspec] = ACTIONS(996), + [anon_sym___cdecl] = ACTIONS(996), + [anon_sym___clrcall] = ACTIONS(996), + [anon_sym___stdcall] = ACTIONS(996), + [anon_sym___fastcall] = ACTIONS(996), + [anon_sym___thiscall] = ACTIONS(996), + [anon_sym___vectorcall] = ACTIONS(996), + [anon_sym_LBRACE] = ACTIONS(998), + [anon_sym_static] = ACTIONS(996), + [anon_sym_auto] = ACTIONS(996), + [anon_sym_register] = ACTIONS(996), + [anon_sym_inline] = ACTIONS(996), + [anon_sym_const] = ACTIONS(996), + [anon_sym_volatile] = ACTIONS(996), + [anon_sym_restrict] = ACTIONS(996), + [anon_sym__Atomic] = ACTIONS(996), + [anon_sym_signed] = ACTIONS(996), + [anon_sym_unsigned] = ACTIONS(996), + [anon_sym_long] = ACTIONS(996), + [anon_sym_short] = ACTIONS(996), + [sym_primitive_type] = ACTIONS(996), + [anon_sym_enum] = ACTIONS(996), + [anon_sym_struct] = ACTIONS(996), + [anon_sym_union] = ACTIONS(996), + [anon_sym_if] = ACTIONS(996), + [anon_sym_else] = ACTIONS(996), + [anon_sym_switch] = ACTIONS(996), + [anon_sym_case] = ACTIONS(996), + [anon_sym_default] = ACTIONS(996), + [anon_sym_while] = ACTIONS(996), + [anon_sym_do] = ACTIONS(996), + [anon_sym_for] = ACTIONS(996), + [anon_sym_return] = ACTIONS(996), + [anon_sym_break] = ACTIONS(996), + [anon_sym_continue] = ACTIONS(996), + [anon_sym_goto] = ACTIONS(996), + [anon_sym_DASH_DASH] = ACTIONS(998), + [anon_sym_PLUS_PLUS] = ACTIONS(998), + [anon_sym_sizeof] = ACTIONS(996), + [sym_number_literal] = ACTIONS(998), + [anon_sym_L_SQUOTE] = ACTIONS(998), + [anon_sym_u_SQUOTE] = ACTIONS(998), + [anon_sym_U_SQUOTE] = ACTIONS(998), + [anon_sym_u8_SQUOTE] = ACTIONS(998), + [anon_sym_SQUOTE] = ACTIONS(998), + [anon_sym_L_DQUOTE] = ACTIONS(998), + [anon_sym_u_DQUOTE] = ACTIONS(998), + [anon_sym_U_DQUOTE] = ACTIONS(998), + [anon_sym_u8_DQUOTE] = ACTIONS(998), + [anon_sym_DQUOTE] = ACTIONS(998), + [sym_true] = ACTIONS(996), + [sym_false] = ACTIONS(996), + [sym_null] = ACTIONS(996), + [sym_comment] = ACTIONS(3), + }, + [97] = { + [sym_identifier] = ACTIONS(1000), + [aux_sym_preproc_include_token1] = ACTIONS(1000), + [aux_sym_preproc_def_token1] = ACTIONS(1000), + [aux_sym_preproc_if_token1] = ACTIONS(1000), + [aux_sym_preproc_if_token2] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1000), + [aux_sym_preproc_else_token1] = ACTIONS(1000), + [aux_sym_preproc_elif_token1] = ACTIONS(1000), + [sym_preproc_directive] = ACTIONS(1000), + [anon_sym_LPAREN2] = ACTIONS(1002), + [anon_sym_BANG] = ACTIONS(1002), + [anon_sym_TILDE] = ACTIONS(1002), + [anon_sym_DASH] = ACTIONS(1000), + [anon_sym_PLUS] = ACTIONS(1000), + [anon_sym_STAR] = ACTIONS(1002), + [anon_sym_AMP] = ACTIONS(1002), + [anon_sym_SEMI] = ACTIONS(1002), + [anon_sym_typedef] = ACTIONS(1000), + [anon_sym_extern] = ACTIONS(1000), + [anon_sym___attribute__] = ACTIONS(1000), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1002), + [anon_sym___declspec] = ACTIONS(1000), + [anon_sym___cdecl] = ACTIONS(1000), + [anon_sym___clrcall] = ACTIONS(1000), + [anon_sym___stdcall] = ACTIONS(1000), + [anon_sym___fastcall] = ACTIONS(1000), + [anon_sym___thiscall] = ACTIONS(1000), + [anon_sym___vectorcall] = ACTIONS(1000), + [anon_sym_LBRACE] = ACTIONS(1002), + [anon_sym_static] = ACTIONS(1000), + [anon_sym_auto] = ACTIONS(1000), + [anon_sym_register] = ACTIONS(1000), + [anon_sym_inline] = ACTIONS(1000), + [anon_sym_const] = ACTIONS(1000), + [anon_sym_volatile] = ACTIONS(1000), + [anon_sym_restrict] = ACTIONS(1000), + [anon_sym__Atomic] = ACTIONS(1000), + [anon_sym_signed] = ACTIONS(1000), + [anon_sym_unsigned] = ACTIONS(1000), + [anon_sym_long] = ACTIONS(1000), + [anon_sym_short] = ACTIONS(1000), + [sym_primitive_type] = ACTIONS(1000), + [anon_sym_enum] = ACTIONS(1000), + [anon_sym_struct] = ACTIONS(1000), + [anon_sym_union] = ACTIONS(1000), + [anon_sym_if] = ACTIONS(1000), + [anon_sym_else] = ACTIONS(1000), + [anon_sym_switch] = ACTIONS(1000), + [anon_sym_case] = ACTIONS(1000), + [anon_sym_default] = ACTIONS(1000), + [anon_sym_while] = ACTIONS(1000), + [anon_sym_do] = ACTIONS(1000), + [anon_sym_for] = ACTIONS(1000), + [anon_sym_return] = ACTIONS(1000), + [anon_sym_break] = ACTIONS(1000), + [anon_sym_continue] = ACTIONS(1000), + [anon_sym_goto] = ACTIONS(1000), + [anon_sym_DASH_DASH] = ACTIONS(1002), + [anon_sym_PLUS_PLUS] = ACTIONS(1002), + [anon_sym_sizeof] = ACTIONS(1000), + [sym_number_literal] = ACTIONS(1002), + [anon_sym_L_SQUOTE] = ACTIONS(1002), + [anon_sym_u_SQUOTE] = ACTIONS(1002), + [anon_sym_U_SQUOTE] = ACTIONS(1002), + [anon_sym_u8_SQUOTE] = ACTIONS(1002), + [anon_sym_SQUOTE] = ACTIONS(1002), + [anon_sym_L_DQUOTE] = ACTIONS(1002), + [anon_sym_u_DQUOTE] = ACTIONS(1002), + [anon_sym_U_DQUOTE] = ACTIONS(1002), + [anon_sym_u8_DQUOTE] = ACTIONS(1002), + [anon_sym_DQUOTE] = ACTIONS(1002), + [sym_true] = ACTIONS(1000), + [sym_false] = ACTIONS(1000), + [sym_null] = ACTIONS(1000), + [sym_comment] = ACTIONS(3), + }, + [98] = { + [sym_identifier] = ACTIONS(1004), + [aux_sym_preproc_include_token1] = ACTIONS(1004), + [aux_sym_preproc_def_token1] = ACTIONS(1004), + [aux_sym_preproc_if_token1] = ACTIONS(1004), + [aux_sym_preproc_if_token2] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1004), + [aux_sym_preproc_else_token1] = ACTIONS(1004), + [aux_sym_preproc_elif_token1] = ACTIONS(1004), + [sym_preproc_directive] = ACTIONS(1004), + [anon_sym_LPAREN2] = ACTIONS(1006), + [anon_sym_BANG] = ACTIONS(1006), + [anon_sym_TILDE] = ACTIONS(1006), + [anon_sym_DASH] = ACTIONS(1004), + [anon_sym_PLUS] = ACTIONS(1004), + [anon_sym_STAR] = ACTIONS(1006), + [anon_sym_AMP] = ACTIONS(1006), + [anon_sym_SEMI] = ACTIONS(1006), + [anon_sym_typedef] = ACTIONS(1004), + [anon_sym_extern] = ACTIONS(1004), + [anon_sym___attribute__] = ACTIONS(1004), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1006), + [anon_sym___declspec] = ACTIONS(1004), + [anon_sym___cdecl] = ACTIONS(1004), + [anon_sym___clrcall] = ACTIONS(1004), + [anon_sym___stdcall] = ACTIONS(1004), + [anon_sym___fastcall] = ACTIONS(1004), + [anon_sym___thiscall] = ACTIONS(1004), + [anon_sym___vectorcall] = ACTIONS(1004), + [anon_sym_LBRACE] = ACTIONS(1006), + [anon_sym_static] = ACTIONS(1004), + [anon_sym_auto] = ACTIONS(1004), + [anon_sym_register] = ACTIONS(1004), + [anon_sym_inline] = ACTIONS(1004), + [anon_sym_const] = ACTIONS(1004), + [anon_sym_volatile] = ACTIONS(1004), + [anon_sym_restrict] = ACTIONS(1004), + [anon_sym__Atomic] = ACTIONS(1004), + [anon_sym_signed] = ACTIONS(1004), + [anon_sym_unsigned] = ACTIONS(1004), + [anon_sym_long] = ACTIONS(1004), + [anon_sym_short] = ACTIONS(1004), + [sym_primitive_type] = ACTIONS(1004), + [anon_sym_enum] = ACTIONS(1004), + [anon_sym_struct] = ACTIONS(1004), + [anon_sym_union] = ACTIONS(1004), + [anon_sym_if] = ACTIONS(1004), + [anon_sym_else] = ACTIONS(1004), + [anon_sym_switch] = ACTIONS(1004), + [anon_sym_case] = ACTIONS(1004), + [anon_sym_default] = ACTIONS(1004), + [anon_sym_while] = ACTIONS(1004), + [anon_sym_do] = ACTIONS(1004), + [anon_sym_for] = ACTIONS(1004), + [anon_sym_return] = ACTIONS(1004), + [anon_sym_break] = ACTIONS(1004), + [anon_sym_continue] = ACTIONS(1004), + [anon_sym_goto] = ACTIONS(1004), + [anon_sym_DASH_DASH] = ACTIONS(1006), + [anon_sym_PLUS_PLUS] = ACTIONS(1006), + [anon_sym_sizeof] = ACTIONS(1004), + [sym_number_literal] = ACTIONS(1006), + [anon_sym_L_SQUOTE] = ACTIONS(1006), + [anon_sym_u_SQUOTE] = ACTIONS(1006), + [anon_sym_U_SQUOTE] = ACTIONS(1006), + [anon_sym_u8_SQUOTE] = ACTIONS(1006), + [anon_sym_SQUOTE] = ACTIONS(1006), + [anon_sym_L_DQUOTE] = ACTIONS(1006), + [anon_sym_u_DQUOTE] = ACTIONS(1006), + [anon_sym_U_DQUOTE] = ACTIONS(1006), + [anon_sym_u8_DQUOTE] = ACTIONS(1006), + [anon_sym_DQUOTE] = ACTIONS(1006), + [sym_true] = ACTIONS(1004), + [sym_false] = ACTIONS(1004), + [sym_null] = ACTIONS(1004), + [sym_comment] = ACTIONS(3), + }, + [99] = { + [sym_identifier] = ACTIONS(1008), + [aux_sym_preproc_include_token1] = ACTIONS(1008), + [aux_sym_preproc_def_token1] = ACTIONS(1008), + [aux_sym_preproc_if_token1] = ACTIONS(1008), + [aux_sym_preproc_if_token2] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1008), + [aux_sym_preproc_else_token1] = ACTIONS(1008), + [aux_sym_preproc_elif_token1] = ACTIONS(1008), + [sym_preproc_directive] = ACTIONS(1008), + [anon_sym_LPAREN2] = ACTIONS(1010), + [anon_sym_BANG] = ACTIONS(1010), + [anon_sym_TILDE] = ACTIONS(1010), + [anon_sym_DASH] = ACTIONS(1008), + [anon_sym_PLUS] = ACTIONS(1008), + [anon_sym_STAR] = ACTIONS(1010), + [anon_sym_AMP] = ACTIONS(1010), + [anon_sym_SEMI] = ACTIONS(1010), + [anon_sym_typedef] = ACTIONS(1008), + [anon_sym_extern] = ACTIONS(1008), + [anon_sym___attribute__] = ACTIONS(1008), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1010), + [anon_sym___declspec] = ACTIONS(1008), + [anon_sym___cdecl] = ACTIONS(1008), + [anon_sym___clrcall] = ACTIONS(1008), + [anon_sym___stdcall] = ACTIONS(1008), + [anon_sym___fastcall] = ACTIONS(1008), + [anon_sym___thiscall] = ACTIONS(1008), + [anon_sym___vectorcall] = ACTIONS(1008), + [anon_sym_LBRACE] = ACTIONS(1010), + [anon_sym_static] = ACTIONS(1008), + [anon_sym_auto] = ACTIONS(1008), + [anon_sym_register] = ACTIONS(1008), + [anon_sym_inline] = ACTIONS(1008), + [anon_sym_const] = ACTIONS(1008), + [anon_sym_volatile] = ACTIONS(1008), + [anon_sym_restrict] = ACTIONS(1008), + [anon_sym__Atomic] = ACTIONS(1008), + [anon_sym_signed] = ACTIONS(1008), + [anon_sym_unsigned] = ACTIONS(1008), + [anon_sym_long] = ACTIONS(1008), + [anon_sym_short] = ACTIONS(1008), + [sym_primitive_type] = ACTIONS(1008), + [anon_sym_enum] = ACTIONS(1008), + [anon_sym_struct] = ACTIONS(1008), + [anon_sym_union] = ACTIONS(1008), + [anon_sym_if] = ACTIONS(1008), + [anon_sym_else] = ACTIONS(1008), + [anon_sym_switch] = ACTIONS(1008), + [anon_sym_case] = ACTIONS(1008), + [anon_sym_default] = ACTIONS(1008), + [anon_sym_while] = ACTIONS(1008), + [anon_sym_do] = ACTIONS(1008), + [anon_sym_for] = ACTIONS(1008), + [anon_sym_return] = ACTIONS(1008), + [anon_sym_break] = ACTIONS(1008), + [anon_sym_continue] = ACTIONS(1008), + [anon_sym_goto] = ACTIONS(1008), + [anon_sym_DASH_DASH] = ACTIONS(1010), + [anon_sym_PLUS_PLUS] = ACTIONS(1010), + [anon_sym_sizeof] = ACTIONS(1008), + [sym_number_literal] = ACTIONS(1010), + [anon_sym_L_SQUOTE] = ACTIONS(1010), + [anon_sym_u_SQUOTE] = ACTIONS(1010), + [anon_sym_U_SQUOTE] = ACTIONS(1010), + [anon_sym_u8_SQUOTE] = ACTIONS(1010), + [anon_sym_SQUOTE] = ACTIONS(1010), + [anon_sym_L_DQUOTE] = ACTIONS(1010), + [anon_sym_u_DQUOTE] = ACTIONS(1010), + [anon_sym_U_DQUOTE] = ACTIONS(1010), + [anon_sym_u8_DQUOTE] = ACTIONS(1010), + [anon_sym_DQUOTE] = ACTIONS(1010), + [sym_true] = ACTIONS(1008), + [sym_false] = ACTIONS(1008), + [sym_null] = ACTIONS(1008), + [sym_comment] = ACTIONS(3), + }, + [100] = { + [sym_identifier] = ACTIONS(1012), + [aux_sym_preproc_include_token1] = ACTIONS(1012), + [aux_sym_preproc_def_token1] = ACTIONS(1012), + [aux_sym_preproc_if_token1] = ACTIONS(1012), + [aux_sym_preproc_if_token2] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1012), + [aux_sym_preproc_else_token1] = ACTIONS(1012), + [aux_sym_preproc_elif_token1] = ACTIONS(1012), + [sym_preproc_directive] = ACTIONS(1012), + [anon_sym_LPAREN2] = ACTIONS(1014), + [anon_sym_BANG] = ACTIONS(1014), + [anon_sym_TILDE] = ACTIONS(1014), + [anon_sym_DASH] = ACTIONS(1012), + [anon_sym_PLUS] = ACTIONS(1012), + [anon_sym_STAR] = ACTIONS(1014), + [anon_sym_AMP] = ACTIONS(1014), + [anon_sym_SEMI] = ACTIONS(1014), + [anon_sym_typedef] = ACTIONS(1012), + [anon_sym_extern] = ACTIONS(1012), + [anon_sym___attribute__] = ACTIONS(1012), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1014), + [anon_sym___declspec] = ACTIONS(1012), + [anon_sym___cdecl] = ACTIONS(1012), + [anon_sym___clrcall] = ACTIONS(1012), + [anon_sym___stdcall] = ACTIONS(1012), + [anon_sym___fastcall] = ACTIONS(1012), + [anon_sym___thiscall] = ACTIONS(1012), + [anon_sym___vectorcall] = ACTIONS(1012), + [anon_sym_LBRACE] = ACTIONS(1014), + [anon_sym_static] = ACTIONS(1012), + [anon_sym_auto] = ACTIONS(1012), + [anon_sym_register] = ACTIONS(1012), + [anon_sym_inline] = ACTIONS(1012), + [anon_sym_const] = ACTIONS(1012), + [anon_sym_volatile] = ACTIONS(1012), + [anon_sym_restrict] = ACTIONS(1012), + [anon_sym__Atomic] = ACTIONS(1012), + [anon_sym_signed] = ACTIONS(1012), + [anon_sym_unsigned] = ACTIONS(1012), + [anon_sym_long] = ACTIONS(1012), + [anon_sym_short] = ACTIONS(1012), + [sym_primitive_type] = ACTIONS(1012), + [anon_sym_enum] = ACTIONS(1012), + [anon_sym_struct] = ACTIONS(1012), + [anon_sym_union] = ACTIONS(1012), + [anon_sym_if] = ACTIONS(1012), + [anon_sym_else] = ACTIONS(1012), + [anon_sym_switch] = ACTIONS(1012), + [anon_sym_case] = ACTIONS(1012), + [anon_sym_default] = ACTIONS(1012), + [anon_sym_while] = ACTIONS(1012), + [anon_sym_do] = ACTIONS(1012), + [anon_sym_for] = ACTIONS(1012), + [anon_sym_return] = ACTIONS(1012), + [anon_sym_break] = ACTIONS(1012), + [anon_sym_continue] = ACTIONS(1012), + [anon_sym_goto] = ACTIONS(1012), + [anon_sym_DASH_DASH] = ACTIONS(1014), + [anon_sym_PLUS_PLUS] = ACTIONS(1014), + [anon_sym_sizeof] = ACTIONS(1012), + [sym_number_literal] = ACTIONS(1014), + [anon_sym_L_SQUOTE] = ACTIONS(1014), + [anon_sym_u_SQUOTE] = ACTIONS(1014), + [anon_sym_U_SQUOTE] = ACTIONS(1014), + [anon_sym_u8_SQUOTE] = ACTIONS(1014), + [anon_sym_SQUOTE] = ACTIONS(1014), + [anon_sym_L_DQUOTE] = ACTIONS(1014), + [anon_sym_u_DQUOTE] = ACTIONS(1014), + [anon_sym_U_DQUOTE] = ACTIONS(1014), + [anon_sym_u8_DQUOTE] = ACTIONS(1014), + [anon_sym_DQUOTE] = ACTIONS(1014), + [sym_true] = ACTIONS(1012), + [sym_false] = ACTIONS(1012), + [sym_null] = ACTIONS(1012), + [sym_comment] = ACTIONS(3), + }, + [101] = { + [sym_identifier] = ACTIONS(1016), + [aux_sym_preproc_include_token1] = ACTIONS(1016), + [aux_sym_preproc_def_token1] = ACTIONS(1016), + [aux_sym_preproc_if_token1] = ACTIONS(1016), + [aux_sym_preproc_if_token2] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1016), + [aux_sym_preproc_else_token1] = ACTIONS(1016), + [aux_sym_preproc_elif_token1] = ACTIONS(1016), + [sym_preproc_directive] = ACTIONS(1016), + [anon_sym_LPAREN2] = ACTIONS(1018), + [anon_sym_BANG] = ACTIONS(1018), + [anon_sym_TILDE] = ACTIONS(1018), + [anon_sym_DASH] = ACTIONS(1016), + [anon_sym_PLUS] = ACTIONS(1016), + [anon_sym_STAR] = ACTIONS(1018), + [anon_sym_AMP] = ACTIONS(1018), + [anon_sym_SEMI] = ACTIONS(1018), + [anon_sym_typedef] = ACTIONS(1016), + [anon_sym_extern] = ACTIONS(1016), + [anon_sym___attribute__] = ACTIONS(1016), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1018), + [anon_sym___declspec] = ACTIONS(1016), + [anon_sym___cdecl] = ACTIONS(1016), + [anon_sym___clrcall] = ACTIONS(1016), + [anon_sym___stdcall] = ACTIONS(1016), + [anon_sym___fastcall] = ACTIONS(1016), + [anon_sym___thiscall] = ACTIONS(1016), + [anon_sym___vectorcall] = ACTIONS(1016), + [anon_sym_LBRACE] = ACTIONS(1018), + [anon_sym_static] = ACTIONS(1016), + [anon_sym_auto] = ACTIONS(1016), + [anon_sym_register] = ACTIONS(1016), + [anon_sym_inline] = ACTIONS(1016), + [anon_sym_const] = ACTIONS(1016), + [anon_sym_volatile] = ACTIONS(1016), + [anon_sym_restrict] = ACTIONS(1016), + [anon_sym__Atomic] = ACTIONS(1016), + [anon_sym_signed] = ACTIONS(1016), + [anon_sym_unsigned] = ACTIONS(1016), + [anon_sym_long] = ACTIONS(1016), + [anon_sym_short] = ACTIONS(1016), + [sym_primitive_type] = ACTIONS(1016), + [anon_sym_enum] = ACTIONS(1016), + [anon_sym_struct] = ACTIONS(1016), + [anon_sym_union] = ACTIONS(1016), + [anon_sym_if] = ACTIONS(1016), + [anon_sym_else] = ACTIONS(1016), + [anon_sym_switch] = ACTIONS(1016), + [anon_sym_case] = ACTIONS(1016), + [anon_sym_default] = ACTIONS(1016), + [anon_sym_while] = ACTIONS(1016), + [anon_sym_do] = ACTIONS(1016), + [anon_sym_for] = ACTIONS(1016), + [anon_sym_return] = ACTIONS(1016), + [anon_sym_break] = ACTIONS(1016), + [anon_sym_continue] = ACTIONS(1016), + [anon_sym_goto] = ACTIONS(1016), + [anon_sym_DASH_DASH] = ACTIONS(1018), + [anon_sym_PLUS_PLUS] = ACTIONS(1018), + [anon_sym_sizeof] = ACTIONS(1016), + [sym_number_literal] = ACTIONS(1018), + [anon_sym_L_SQUOTE] = ACTIONS(1018), + [anon_sym_u_SQUOTE] = ACTIONS(1018), + [anon_sym_U_SQUOTE] = ACTIONS(1018), + [anon_sym_u8_SQUOTE] = ACTIONS(1018), + [anon_sym_SQUOTE] = ACTIONS(1018), + [anon_sym_L_DQUOTE] = ACTIONS(1018), + [anon_sym_u_DQUOTE] = ACTIONS(1018), + [anon_sym_U_DQUOTE] = ACTIONS(1018), + [anon_sym_u8_DQUOTE] = ACTIONS(1018), + [anon_sym_DQUOTE] = ACTIONS(1018), + [sym_true] = ACTIONS(1016), + [sym_false] = ACTIONS(1016), + [sym_null] = ACTIONS(1016), + [sym_comment] = ACTIONS(3), + }, + [102] = { + [sym_identifier] = ACTIONS(1020), + [aux_sym_preproc_include_token1] = ACTIONS(1020), + [aux_sym_preproc_def_token1] = ACTIONS(1020), + [aux_sym_preproc_if_token1] = ACTIONS(1020), + [aux_sym_preproc_if_token2] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1020), + [aux_sym_preproc_else_token1] = ACTIONS(1020), + [aux_sym_preproc_elif_token1] = ACTIONS(1020), + [sym_preproc_directive] = ACTIONS(1020), + [anon_sym_LPAREN2] = ACTIONS(1022), + [anon_sym_BANG] = ACTIONS(1022), + [anon_sym_TILDE] = ACTIONS(1022), + [anon_sym_DASH] = ACTIONS(1020), + [anon_sym_PLUS] = ACTIONS(1020), + [anon_sym_STAR] = ACTIONS(1022), + [anon_sym_AMP] = ACTIONS(1022), + [anon_sym_SEMI] = ACTIONS(1022), + [anon_sym_typedef] = ACTIONS(1020), + [anon_sym_extern] = ACTIONS(1020), + [anon_sym___attribute__] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1022), + [anon_sym___declspec] = ACTIONS(1020), + [anon_sym___cdecl] = ACTIONS(1020), + [anon_sym___clrcall] = ACTIONS(1020), + [anon_sym___stdcall] = ACTIONS(1020), + [anon_sym___fastcall] = ACTIONS(1020), + [anon_sym___thiscall] = ACTIONS(1020), + [anon_sym___vectorcall] = ACTIONS(1020), + [anon_sym_LBRACE] = ACTIONS(1022), + [anon_sym_static] = ACTIONS(1020), + [anon_sym_auto] = ACTIONS(1020), + [anon_sym_register] = ACTIONS(1020), + [anon_sym_inline] = ACTIONS(1020), + [anon_sym_const] = ACTIONS(1020), + [anon_sym_volatile] = ACTIONS(1020), + [anon_sym_restrict] = ACTIONS(1020), + [anon_sym__Atomic] = ACTIONS(1020), + [anon_sym_signed] = ACTIONS(1020), + [anon_sym_unsigned] = ACTIONS(1020), + [anon_sym_long] = ACTIONS(1020), + [anon_sym_short] = ACTIONS(1020), + [sym_primitive_type] = ACTIONS(1020), + [anon_sym_enum] = ACTIONS(1020), + [anon_sym_struct] = ACTIONS(1020), + [anon_sym_union] = ACTIONS(1020), + [anon_sym_if] = ACTIONS(1020), + [anon_sym_else] = ACTIONS(1020), + [anon_sym_switch] = ACTIONS(1020), + [anon_sym_case] = ACTIONS(1020), + [anon_sym_default] = ACTIONS(1020), + [anon_sym_while] = ACTIONS(1020), + [anon_sym_do] = ACTIONS(1020), + [anon_sym_for] = ACTIONS(1020), + [anon_sym_return] = ACTIONS(1020), + [anon_sym_break] = ACTIONS(1020), + [anon_sym_continue] = ACTIONS(1020), + [anon_sym_goto] = ACTIONS(1020), + [anon_sym_DASH_DASH] = ACTIONS(1022), + [anon_sym_PLUS_PLUS] = ACTIONS(1022), + [anon_sym_sizeof] = ACTIONS(1020), + [sym_number_literal] = ACTIONS(1022), + [anon_sym_L_SQUOTE] = ACTIONS(1022), + [anon_sym_u_SQUOTE] = ACTIONS(1022), + [anon_sym_U_SQUOTE] = ACTIONS(1022), + [anon_sym_u8_SQUOTE] = ACTIONS(1022), + [anon_sym_SQUOTE] = ACTIONS(1022), + [anon_sym_L_DQUOTE] = ACTIONS(1022), + [anon_sym_u_DQUOTE] = ACTIONS(1022), + [anon_sym_U_DQUOTE] = ACTIONS(1022), + [anon_sym_u8_DQUOTE] = ACTIONS(1022), + [anon_sym_DQUOTE] = ACTIONS(1022), + [sym_true] = ACTIONS(1020), + [sym_false] = ACTIONS(1020), + [sym_null] = ACTIONS(1020), + [sym_comment] = ACTIONS(3), + }, + [103] = { + [sym_identifier] = ACTIONS(1024), + [aux_sym_preproc_include_token1] = ACTIONS(1024), + [aux_sym_preproc_def_token1] = ACTIONS(1024), + [aux_sym_preproc_if_token1] = ACTIONS(1024), + [aux_sym_preproc_if_token2] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1024), + [aux_sym_preproc_else_token1] = ACTIONS(1024), + [aux_sym_preproc_elif_token1] = ACTIONS(1024), + [sym_preproc_directive] = ACTIONS(1024), + [anon_sym_LPAREN2] = ACTIONS(1026), + [anon_sym_BANG] = ACTIONS(1026), + [anon_sym_TILDE] = ACTIONS(1026), + [anon_sym_DASH] = ACTIONS(1024), + [anon_sym_PLUS] = ACTIONS(1024), + [anon_sym_STAR] = ACTIONS(1026), + [anon_sym_AMP] = ACTIONS(1026), + [anon_sym_SEMI] = ACTIONS(1026), + [anon_sym_typedef] = ACTIONS(1024), + [anon_sym_extern] = ACTIONS(1024), + [anon_sym___attribute__] = ACTIONS(1024), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1026), + [anon_sym___declspec] = ACTIONS(1024), + [anon_sym___cdecl] = ACTIONS(1024), + [anon_sym___clrcall] = ACTIONS(1024), + [anon_sym___stdcall] = ACTIONS(1024), + [anon_sym___fastcall] = ACTIONS(1024), + [anon_sym___thiscall] = ACTIONS(1024), + [anon_sym___vectorcall] = ACTIONS(1024), + [anon_sym_LBRACE] = ACTIONS(1026), + [anon_sym_static] = ACTIONS(1024), + [anon_sym_auto] = ACTIONS(1024), + [anon_sym_register] = ACTIONS(1024), + [anon_sym_inline] = ACTIONS(1024), + [anon_sym_const] = ACTIONS(1024), + [anon_sym_volatile] = ACTIONS(1024), + [anon_sym_restrict] = ACTIONS(1024), + [anon_sym__Atomic] = ACTIONS(1024), + [anon_sym_signed] = ACTIONS(1024), + [anon_sym_unsigned] = ACTIONS(1024), + [anon_sym_long] = ACTIONS(1024), + [anon_sym_short] = ACTIONS(1024), + [sym_primitive_type] = ACTIONS(1024), + [anon_sym_enum] = ACTIONS(1024), + [anon_sym_struct] = ACTIONS(1024), + [anon_sym_union] = ACTIONS(1024), + [anon_sym_if] = ACTIONS(1024), + [anon_sym_else] = ACTIONS(1024), + [anon_sym_switch] = ACTIONS(1024), + [anon_sym_case] = ACTIONS(1024), + [anon_sym_default] = ACTIONS(1024), + [anon_sym_while] = ACTIONS(1024), + [anon_sym_do] = ACTIONS(1024), + [anon_sym_for] = ACTIONS(1024), + [anon_sym_return] = ACTIONS(1024), + [anon_sym_break] = ACTIONS(1024), + [anon_sym_continue] = ACTIONS(1024), + [anon_sym_goto] = ACTIONS(1024), + [anon_sym_DASH_DASH] = ACTIONS(1026), + [anon_sym_PLUS_PLUS] = ACTIONS(1026), + [anon_sym_sizeof] = ACTIONS(1024), + [sym_number_literal] = ACTIONS(1026), + [anon_sym_L_SQUOTE] = ACTIONS(1026), + [anon_sym_u_SQUOTE] = ACTIONS(1026), + [anon_sym_U_SQUOTE] = ACTIONS(1026), + [anon_sym_u8_SQUOTE] = ACTIONS(1026), + [anon_sym_SQUOTE] = ACTIONS(1026), + [anon_sym_L_DQUOTE] = ACTIONS(1026), + [anon_sym_u_DQUOTE] = ACTIONS(1026), + [anon_sym_U_DQUOTE] = ACTIONS(1026), + [anon_sym_u8_DQUOTE] = ACTIONS(1026), + [anon_sym_DQUOTE] = ACTIONS(1026), + [sym_true] = ACTIONS(1024), + [sym_false] = ACTIONS(1024), + [sym_null] = ACTIONS(1024), + [sym_comment] = ACTIONS(3), + }, + [104] = { + [sym_identifier] = ACTIONS(1028), + [aux_sym_preproc_include_token1] = ACTIONS(1028), + [aux_sym_preproc_def_token1] = ACTIONS(1028), + [aux_sym_preproc_if_token1] = ACTIONS(1028), + [aux_sym_preproc_if_token2] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1028), + [aux_sym_preproc_else_token1] = ACTIONS(1028), + [aux_sym_preproc_elif_token1] = ACTIONS(1028), + [sym_preproc_directive] = ACTIONS(1028), + [anon_sym_LPAREN2] = ACTIONS(1030), + [anon_sym_BANG] = ACTIONS(1030), + [anon_sym_TILDE] = ACTIONS(1030), + [anon_sym_DASH] = ACTIONS(1028), + [anon_sym_PLUS] = ACTIONS(1028), + [anon_sym_STAR] = ACTIONS(1030), + [anon_sym_AMP] = ACTIONS(1030), + [anon_sym_SEMI] = ACTIONS(1030), + [anon_sym_typedef] = ACTIONS(1028), + [anon_sym_extern] = ACTIONS(1028), + [anon_sym___attribute__] = ACTIONS(1028), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1030), + [anon_sym___declspec] = ACTIONS(1028), + [anon_sym___cdecl] = ACTIONS(1028), + [anon_sym___clrcall] = ACTIONS(1028), + [anon_sym___stdcall] = ACTIONS(1028), + [anon_sym___fastcall] = ACTIONS(1028), + [anon_sym___thiscall] = ACTIONS(1028), + [anon_sym___vectorcall] = ACTIONS(1028), + [anon_sym_LBRACE] = ACTIONS(1030), + [anon_sym_static] = ACTIONS(1028), + [anon_sym_auto] = ACTIONS(1028), + [anon_sym_register] = ACTIONS(1028), + [anon_sym_inline] = ACTIONS(1028), + [anon_sym_const] = ACTIONS(1028), + [anon_sym_volatile] = ACTIONS(1028), + [anon_sym_restrict] = ACTIONS(1028), + [anon_sym__Atomic] = ACTIONS(1028), + [anon_sym_signed] = ACTIONS(1028), + [anon_sym_unsigned] = ACTIONS(1028), + [anon_sym_long] = ACTIONS(1028), + [anon_sym_short] = ACTIONS(1028), + [sym_primitive_type] = ACTIONS(1028), + [anon_sym_enum] = ACTIONS(1028), + [anon_sym_struct] = ACTIONS(1028), + [anon_sym_union] = ACTIONS(1028), + [anon_sym_if] = ACTIONS(1028), + [anon_sym_switch] = ACTIONS(1028), + [anon_sym_case] = ACTIONS(1028), + [anon_sym_default] = ACTIONS(1028), + [anon_sym_while] = ACTIONS(1028), + [anon_sym_do] = ACTIONS(1028), + [anon_sym_for] = ACTIONS(1028), + [anon_sym_return] = ACTIONS(1028), + [anon_sym_break] = ACTIONS(1028), + [anon_sym_continue] = ACTIONS(1028), + [anon_sym_goto] = ACTIONS(1028), + [anon_sym_DASH_DASH] = ACTIONS(1030), + [anon_sym_PLUS_PLUS] = ACTIONS(1030), + [anon_sym_sizeof] = ACTIONS(1028), + [sym_number_literal] = ACTIONS(1030), + [anon_sym_L_SQUOTE] = ACTIONS(1030), + [anon_sym_u_SQUOTE] = ACTIONS(1030), + [anon_sym_U_SQUOTE] = ACTIONS(1030), + [anon_sym_u8_SQUOTE] = ACTIONS(1030), + [anon_sym_SQUOTE] = ACTIONS(1030), + [anon_sym_L_DQUOTE] = ACTIONS(1030), + [anon_sym_u_DQUOTE] = ACTIONS(1030), + [anon_sym_U_DQUOTE] = ACTIONS(1030), + [anon_sym_u8_DQUOTE] = ACTIONS(1030), + [anon_sym_DQUOTE] = ACTIONS(1030), + [sym_true] = ACTIONS(1028), + [sym_false] = ACTIONS(1028), + [sym_null] = ACTIONS(1028), + [sym_comment] = ACTIONS(3), + }, + [105] = { + [sym_identifier] = ACTIONS(1032), + [aux_sym_preproc_include_token1] = ACTIONS(1032), + [aux_sym_preproc_def_token1] = ACTIONS(1032), + [aux_sym_preproc_if_token1] = ACTIONS(1032), + [aux_sym_preproc_if_token2] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1032), + [aux_sym_preproc_else_token1] = ACTIONS(1032), + [aux_sym_preproc_elif_token1] = ACTIONS(1032), + [sym_preproc_directive] = ACTIONS(1032), + [anon_sym_LPAREN2] = ACTIONS(1034), + [anon_sym_BANG] = ACTIONS(1034), + [anon_sym_TILDE] = ACTIONS(1034), + [anon_sym_DASH] = ACTIONS(1032), + [anon_sym_PLUS] = ACTIONS(1032), + [anon_sym_STAR] = ACTIONS(1034), + [anon_sym_AMP] = ACTIONS(1034), + [anon_sym_SEMI] = ACTIONS(1034), + [anon_sym_typedef] = ACTIONS(1032), + [anon_sym_extern] = ACTIONS(1032), + [anon_sym___attribute__] = ACTIONS(1032), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1034), + [anon_sym___declspec] = ACTIONS(1032), + [anon_sym___cdecl] = ACTIONS(1032), + [anon_sym___clrcall] = ACTIONS(1032), + [anon_sym___stdcall] = ACTIONS(1032), + [anon_sym___fastcall] = ACTIONS(1032), + [anon_sym___thiscall] = ACTIONS(1032), + [anon_sym___vectorcall] = ACTIONS(1032), + [anon_sym_LBRACE] = ACTIONS(1034), + [anon_sym_static] = ACTIONS(1032), + [anon_sym_auto] = ACTIONS(1032), + [anon_sym_register] = ACTIONS(1032), + [anon_sym_inline] = ACTIONS(1032), + [anon_sym_const] = ACTIONS(1032), + [anon_sym_volatile] = ACTIONS(1032), + [anon_sym_restrict] = ACTIONS(1032), + [anon_sym__Atomic] = ACTIONS(1032), + [anon_sym_signed] = ACTIONS(1032), + [anon_sym_unsigned] = ACTIONS(1032), + [anon_sym_long] = ACTIONS(1032), + [anon_sym_short] = ACTIONS(1032), + [sym_primitive_type] = ACTIONS(1032), + [anon_sym_enum] = ACTIONS(1032), + [anon_sym_struct] = ACTIONS(1032), + [anon_sym_union] = ACTIONS(1032), + [anon_sym_if] = ACTIONS(1032), + [anon_sym_switch] = ACTIONS(1032), + [anon_sym_case] = ACTIONS(1032), + [anon_sym_default] = ACTIONS(1032), + [anon_sym_while] = ACTIONS(1032), + [anon_sym_do] = ACTIONS(1032), + [anon_sym_for] = ACTIONS(1032), + [anon_sym_return] = ACTIONS(1032), + [anon_sym_break] = ACTIONS(1032), + [anon_sym_continue] = ACTIONS(1032), + [anon_sym_goto] = ACTIONS(1032), + [anon_sym_DASH_DASH] = ACTIONS(1034), + [anon_sym_PLUS_PLUS] = ACTIONS(1034), + [anon_sym_sizeof] = ACTIONS(1032), + [sym_number_literal] = ACTIONS(1034), + [anon_sym_L_SQUOTE] = ACTIONS(1034), + [anon_sym_u_SQUOTE] = ACTIONS(1034), + [anon_sym_U_SQUOTE] = ACTIONS(1034), + [anon_sym_u8_SQUOTE] = ACTIONS(1034), + [anon_sym_SQUOTE] = ACTIONS(1034), + [anon_sym_L_DQUOTE] = ACTIONS(1034), + [anon_sym_u_DQUOTE] = ACTIONS(1034), + [anon_sym_U_DQUOTE] = ACTIONS(1034), + [anon_sym_u8_DQUOTE] = ACTIONS(1034), + [anon_sym_DQUOTE] = ACTIONS(1034), + [sym_true] = ACTIONS(1032), + [sym_false] = ACTIONS(1032), + [sym_null] = ACTIONS(1032), + [sym_comment] = ACTIONS(3), + }, + [106] = { + [sym_identifier] = ACTIONS(1036), + [aux_sym_preproc_include_token1] = ACTIONS(1036), + [aux_sym_preproc_def_token1] = ACTIONS(1036), + [aux_sym_preproc_if_token1] = ACTIONS(1036), + [aux_sym_preproc_if_token2] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1036), + [aux_sym_preproc_else_token1] = ACTIONS(1036), + [aux_sym_preproc_elif_token1] = ACTIONS(1036), + [sym_preproc_directive] = ACTIONS(1036), + [anon_sym_LPAREN2] = ACTIONS(1038), + [anon_sym_BANG] = ACTIONS(1038), + [anon_sym_TILDE] = ACTIONS(1038), + [anon_sym_DASH] = ACTIONS(1036), + [anon_sym_PLUS] = ACTIONS(1036), + [anon_sym_STAR] = ACTIONS(1038), + [anon_sym_AMP] = ACTIONS(1038), + [anon_sym_SEMI] = ACTIONS(1038), + [anon_sym_typedef] = ACTIONS(1036), + [anon_sym_extern] = ACTIONS(1036), + [anon_sym___attribute__] = ACTIONS(1036), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1038), + [anon_sym___declspec] = ACTIONS(1036), + [anon_sym___cdecl] = ACTIONS(1036), + [anon_sym___clrcall] = ACTIONS(1036), + [anon_sym___stdcall] = ACTIONS(1036), + [anon_sym___fastcall] = ACTIONS(1036), + [anon_sym___thiscall] = ACTIONS(1036), + [anon_sym___vectorcall] = ACTIONS(1036), + [anon_sym_LBRACE] = ACTIONS(1038), + [anon_sym_static] = ACTIONS(1036), + [anon_sym_auto] = ACTIONS(1036), + [anon_sym_register] = ACTIONS(1036), + [anon_sym_inline] = ACTIONS(1036), + [anon_sym_const] = ACTIONS(1036), + [anon_sym_volatile] = ACTIONS(1036), + [anon_sym_restrict] = ACTIONS(1036), + [anon_sym__Atomic] = ACTIONS(1036), + [anon_sym_signed] = ACTIONS(1036), + [anon_sym_unsigned] = ACTIONS(1036), + [anon_sym_long] = ACTIONS(1036), + [anon_sym_short] = ACTIONS(1036), + [sym_primitive_type] = ACTIONS(1036), + [anon_sym_enum] = ACTIONS(1036), + [anon_sym_struct] = ACTIONS(1036), + [anon_sym_union] = ACTIONS(1036), + [anon_sym_if] = ACTIONS(1036), + [anon_sym_switch] = ACTIONS(1036), + [anon_sym_case] = ACTIONS(1036), + [anon_sym_default] = ACTIONS(1036), + [anon_sym_while] = ACTIONS(1036), + [anon_sym_do] = ACTIONS(1036), + [anon_sym_for] = ACTIONS(1036), + [anon_sym_return] = ACTIONS(1036), + [anon_sym_break] = ACTIONS(1036), + [anon_sym_continue] = ACTIONS(1036), + [anon_sym_goto] = ACTIONS(1036), + [anon_sym_DASH_DASH] = ACTIONS(1038), + [anon_sym_PLUS_PLUS] = ACTIONS(1038), + [anon_sym_sizeof] = ACTIONS(1036), + [sym_number_literal] = ACTIONS(1038), + [anon_sym_L_SQUOTE] = ACTIONS(1038), + [anon_sym_u_SQUOTE] = ACTIONS(1038), + [anon_sym_U_SQUOTE] = ACTIONS(1038), + [anon_sym_u8_SQUOTE] = ACTIONS(1038), + [anon_sym_SQUOTE] = ACTIONS(1038), + [anon_sym_L_DQUOTE] = ACTIONS(1038), + [anon_sym_u_DQUOTE] = ACTIONS(1038), + [anon_sym_U_DQUOTE] = ACTIONS(1038), + [anon_sym_u8_DQUOTE] = ACTIONS(1038), + [anon_sym_DQUOTE] = ACTIONS(1038), + [sym_true] = ACTIONS(1036), + [sym_false] = ACTIONS(1036), + [sym_null] = ACTIONS(1036), + [sym_comment] = ACTIONS(3), + }, + [107] = { + [sym_identifier] = ACTIONS(1040), + [aux_sym_preproc_include_token1] = ACTIONS(1040), + [aux_sym_preproc_def_token1] = ACTIONS(1040), + [aux_sym_preproc_if_token1] = ACTIONS(1040), + [aux_sym_preproc_if_token2] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1040), + [aux_sym_preproc_else_token1] = ACTIONS(1040), + [aux_sym_preproc_elif_token1] = ACTIONS(1040), + [sym_preproc_directive] = ACTIONS(1040), + [anon_sym_LPAREN2] = ACTIONS(1042), + [anon_sym_BANG] = ACTIONS(1042), + [anon_sym_TILDE] = ACTIONS(1042), + [anon_sym_DASH] = ACTIONS(1040), + [anon_sym_PLUS] = ACTIONS(1040), + [anon_sym_STAR] = ACTIONS(1042), + [anon_sym_AMP] = ACTIONS(1042), + [anon_sym_SEMI] = ACTIONS(1042), + [anon_sym_typedef] = ACTIONS(1040), + [anon_sym_extern] = ACTIONS(1040), + [anon_sym___attribute__] = ACTIONS(1040), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1042), + [anon_sym___declspec] = ACTIONS(1040), + [anon_sym___cdecl] = ACTIONS(1040), + [anon_sym___clrcall] = ACTIONS(1040), + [anon_sym___stdcall] = ACTIONS(1040), + [anon_sym___fastcall] = ACTIONS(1040), + [anon_sym___thiscall] = ACTIONS(1040), + [anon_sym___vectorcall] = ACTIONS(1040), + [anon_sym_LBRACE] = ACTIONS(1042), + [anon_sym_static] = ACTIONS(1040), + [anon_sym_auto] = ACTIONS(1040), + [anon_sym_register] = ACTIONS(1040), + [anon_sym_inline] = ACTIONS(1040), + [anon_sym_const] = ACTIONS(1040), + [anon_sym_volatile] = ACTIONS(1040), + [anon_sym_restrict] = ACTIONS(1040), + [anon_sym__Atomic] = ACTIONS(1040), + [anon_sym_signed] = ACTIONS(1040), + [anon_sym_unsigned] = ACTIONS(1040), + [anon_sym_long] = ACTIONS(1040), + [anon_sym_short] = ACTIONS(1040), + [sym_primitive_type] = ACTIONS(1040), + [anon_sym_enum] = ACTIONS(1040), + [anon_sym_struct] = ACTIONS(1040), + [anon_sym_union] = ACTIONS(1040), + [anon_sym_if] = ACTIONS(1040), + [anon_sym_switch] = ACTIONS(1040), + [anon_sym_case] = ACTIONS(1040), + [anon_sym_default] = ACTIONS(1040), + [anon_sym_while] = ACTIONS(1040), + [anon_sym_do] = ACTIONS(1040), + [anon_sym_for] = ACTIONS(1040), + [anon_sym_return] = ACTIONS(1040), + [anon_sym_break] = ACTIONS(1040), + [anon_sym_continue] = ACTIONS(1040), + [anon_sym_goto] = ACTIONS(1040), + [anon_sym_DASH_DASH] = ACTIONS(1042), + [anon_sym_PLUS_PLUS] = ACTIONS(1042), + [anon_sym_sizeof] = ACTIONS(1040), + [sym_number_literal] = ACTIONS(1042), + [anon_sym_L_SQUOTE] = ACTIONS(1042), + [anon_sym_u_SQUOTE] = ACTIONS(1042), + [anon_sym_U_SQUOTE] = ACTIONS(1042), + [anon_sym_u8_SQUOTE] = ACTIONS(1042), + [anon_sym_SQUOTE] = ACTIONS(1042), + [anon_sym_L_DQUOTE] = ACTIONS(1042), + [anon_sym_u_DQUOTE] = ACTIONS(1042), + [anon_sym_U_DQUOTE] = ACTIONS(1042), + [anon_sym_u8_DQUOTE] = ACTIONS(1042), + [anon_sym_DQUOTE] = ACTIONS(1042), + [sym_true] = ACTIONS(1040), + [sym_false] = ACTIONS(1040), + [sym_null] = ACTIONS(1040), + [sym_comment] = ACTIONS(3), + }, + [108] = { + [sym_identifier] = ACTIONS(1044), + [aux_sym_preproc_include_token1] = ACTIONS(1044), + [aux_sym_preproc_def_token1] = ACTIONS(1044), + [aux_sym_preproc_if_token1] = ACTIONS(1044), + [aux_sym_preproc_if_token2] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1044), + [aux_sym_preproc_else_token1] = ACTIONS(1044), + [aux_sym_preproc_elif_token1] = ACTIONS(1044), + [sym_preproc_directive] = ACTIONS(1044), + [anon_sym_LPAREN2] = ACTIONS(1046), + [anon_sym_BANG] = ACTIONS(1046), + [anon_sym_TILDE] = ACTIONS(1046), + [anon_sym_DASH] = ACTIONS(1044), + [anon_sym_PLUS] = ACTIONS(1044), + [anon_sym_STAR] = ACTIONS(1046), + [anon_sym_AMP] = ACTIONS(1046), + [anon_sym_SEMI] = ACTIONS(1046), + [anon_sym_typedef] = ACTIONS(1044), + [anon_sym_extern] = ACTIONS(1044), + [anon_sym___attribute__] = ACTIONS(1044), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1046), + [anon_sym___declspec] = ACTIONS(1044), + [anon_sym___cdecl] = ACTIONS(1044), + [anon_sym___clrcall] = ACTIONS(1044), + [anon_sym___stdcall] = ACTIONS(1044), + [anon_sym___fastcall] = ACTIONS(1044), + [anon_sym___thiscall] = ACTIONS(1044), + [anon_sym___vectorcall] = ACTIONS(1044), + [anon_sym_LBRACE] = ACTIONS(1046), + [anon_sym_static] = ACTIONS(1044), + [anon_sym_auto] = ACTIONS(1044), + [anon_sym_register] = ACTIONS(1044), + [anon_sym_inline] = ACTIONS(1044), + [anon_sym_const] = ACTIONS(1044), + [anon_sym_volatile] = ACTIONS(1044), + [anon_sym_restrict] = ACTIONS(1044), + [anon_sym__Atomic] = ACTIONS(1044), + [anon_sym_signed] = ACTIONS(1044), + [anon_sym_unsigned] = ACTIONS(1044), + [anon_sym_long] = ACTIONS(1044), + [anon_sym_short] = ACTIONS(1044), + [sym_primitive_type] = ACTIONS(1044), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_struct] = ACTIONS(1044), + [anon_sym_union] = ACTIONS(1044), + [anon_sym_if] = ACTIONS(1044), + [anon_sym_switch] = ACTIONS(1044), + [anon_sym_case] = ACTIONS(1044), + [anon_sym_default] = ACTIONS(1044), + [anon_sym_while] = ACTIONS(1044), + [anon_sym_do] = ACTIONS(1044), + [anon_sym_for] = ACTIONS(1044), + [anon_sym_return] = ACTIONS(1044), + [anon_sym_break] = ACTIONS(1044), + [anon_sym_continue] = ACTIONS(1044), + [anon_sym_goto] = ACTIONS(1044), + [anon_sym_DASH_DASH] = ACTIONS(1046), + [anon_sym_PLUS_PLUS] = ACTIONS(1046), + [anon_sym_sizeof] = ACTIONS(1044), + [sym_number_literal] = ACTIONS(1046), + [anon_sym_L_SQUOTE] = ACTIONS(1046), + [anon_sym_u_SQUOTE] = ACTIONS(1046), + [anon_sym_U_SQUOTE] = ACTIONS(1046), + [anon_sym_u8_SQUOTE] = ACTIONS(1046), + [anon_sym_SQUOTE] = ACTIONS(1046), + [anon_sym_L_DQUOTE] = ACTIONS(1046), + [anon_sym_u_DQUOTE] = ACTIONS(1046), + [anon_sym_U_DQUOTE] = ACTIONS(1046), + [anon_sym_u8_DQUOTE] = ACTIONS(1046), + [anon_sym_DQUOTE] = ACTIONS(1046), + [sym_true] = ACTIONS(1044), + [sym_false] = ACTIONS(1044), + [sym_null] = ACTIONS(1044), + [sym_comment] = ACTIONS(3), + }, + [109] = { + [sym_identifier] = ACTIONS(1048), + [aux_sym_preproc_include_token1] = ACTIONS(1048), + [aux_sym_preproc_def_token1] = ACTIONS(1048), + [aux_sym_preproc_if_token1] = ACTIONS(1048), + [aux_sym_preproc_if_token2] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1048), + [aux_sym_preproc_else_token1] = ACTIONS(1048), + [aux_sym_preproc_elif_token1] = ACTIONS(1048), + [sym_preproc_directive] = ACTIONS(1048), + [anon_sym_LPAREN2] = ACTIONS(1050), + [anon_sym_BANG] = ACTIONS(1050), + [anon_sym_TILDE] = ACTIONS(1050), + [anon_sym_DASH] = ACTIONS(1048), + [anon_sym_PLUS] = ACTIONS(1048), + [anon_sym_STAR] = ACTIONS(1050), + [anon_sym_AMP] = ACTIONS(1050), + [anon_sym_SEMI] = ACTIONS(1050), + [anon_sym_typedef] = ACTIONS(1048), + [anon_sym_extern] = ACTIONS(1048), + [anon_sym___attribute__] = ACTIONS(1048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1050), + [anon_sym___declspec] = ACTIONS(1048), + [anon_sym___cdecl] = ACTIONS(1048), + [anon_sym___clrcall] = ACTIONS(1048), + [anon_sym___stdcall] = ACTIONS(1048), + [anon_sym___fastcall] = ACTIONS(1048), + [anon_sym___thiscall] = ACTIONS(1048), + [anon_sym___vectorcall] = ACTIONS(1048), + [anon_sym_LBRACE] = ACTIONS(1050), + [anon_sym_static] = ACTIONS(1048), + [anon_sym_auto] = ACTIONS(1048), + [anon_sym_register] = ACTIONS(1048), + [anon_sym_inline] = ACTIONS(1048), + [anon_sym_const] = ACTIONS(1048), + [anon_sym_volatile] = ACTIONS(1048), + [anon_sym_restrict] = ACTIONS(1048), + [anon_sym__Atomic] = ACTIONS(1048), + [anon_sym_signed] = ACTIONS(1048), + [anon_sym_unsigned] = ACTIONS(1048), + [anon_sym_long] = ACTIONS(1048), + [anon_sym_short] = ACTIONS(1048), + [sym_primitive_type] = ACTIONS(1048), + [anon_sym_enum] = ACTIONS(1048), + [anon_sym_struct] = ACTIONS(1048), + [anon_sym_union] = ACTIONS(1048), + [anon_sym_if] = ACTIONS(1048), + [anon_sym_switch] = ACTIONS(1048), + [anon_sym_case] = ACTIONS(1048), + [anon_sym_default] = ACTIONS(1048), + [anon_sym_while] = ACTIONS(1048), + [anon_sym_do] = ACTIONS(1048), + [anon_sym_for] = ACTIONS(1048), + [anon_sym_return] = ACTIONS(1048), + [anon_sym_break] = ACTIONS(1048), + [anon_sym_continue] = ACTIONS(1048), + [anon_sym_goto] = ACTIONS(1048), + [anon_sym_DASH_DASH] = ACTIONS(1050), + [anon_sym_PLUS_PLUS] = ACTIONS(1050), + [anon_sym_sizeof] = ACTIONS(1048), + [sym_number_literal] = ACTIONS(1050), + [anon_sym_L_SQUOTE] = ACTIONS(1050), + [anon_sym_u_SQUOTE] = ACTIONS(1050), + [anon_sym_U_SQUOTE] = ACTIONS(1050), + [anon_sym_u8_SQUOTE] = ACTIONS(1050), + [anon_sym_SQUOTE] = ACTIONS(1050), + [anon_sym_L_DQUOTE] = ACTIONS(1050), + [anon_sym_u_DQUOTE] = ACTIONS(1050), + [anon_sym_U_DQUOTE] = ACTIONS(1050), + [anon_sym_u8_DQUOTE] = ACTIONS(1050), + [anon_sym_DQUOTE] = ACTIONS(1050), + [sym_true] = ACTIONS(1048), + [sym_false] = ACTIONS(1048), + [sym_null] = ACTIONS(1048), + [sym_comment] = ACTIONS(3), + }, + [110] = { + [sym_identifier] = ACTIONS(1052), + [aux_sym_preproc_include_token1] = ACTIONS(1052), + [aux_sym_preproc_def_token1] = ACTIONS(1052), + [aux_sym_preproc_if_token1] = ACTIONS(1052), + [aux_sym_preproc_if_token2] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1052), + [aux_sym_preproc_else_token1] = ACTIONS(1052), + [aux_sym_preproc_elif_token1] = ACTIONS(1052), + [sym_preproc_directive] = ACTIONS(1052), + [anon_sym_LPAREN2] = ACTIONS(1054), + [anon_sym_BANG] = ACTIONS(1054), + [anon_sym_TILDE] = ACTIONS(1054), + [anon_sym_DASH] = ACTIONS(1052), + [anon_sym_PLUS] = ACTIONS(1052), + [anon_sym_STAR] = ACTIONS(1054), + [anon_sym_AMP] = ACTIONS(1054), + [anon_sym_SEMI] = ACTIONS(1054), + [anon_sym_typedef] = ACTIONS(1052), + [anon_sym_extern] = ACTIONS(1052), + [anon_sym___attribute__] = ACTIONS(1052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1054), + [anon_sym___declspec] = ACTIONS(1052), + [anon_sym___cdecl] = ACTIONS(1052), + [anon_sym___clrcall] = ACTIONS(1052), + [anon_sym___stdcall] = ACTIONS(1052), + [anon_sym___fastcall] = ACTIONS(1052), + [anon_sym___thiscall] = ACTIONS(1052), + [anon_sym___vectorcall] = ACTIONS(1052), + [anon_sym_LBRACE] = ACTIONS(1054), + [anon_sym_static] = ACTIONS(1052), + [anon_sym_auto] = ACTIONS(1052), + [anon_sym_register] = ACTIONS(1052), + [anon_sym_inline] = ACTIONS(1052), + [anon_sym_const] = ACTIONS(1052), + [anon_sym_volatile] = ACTIONS(1052), + [anon_sym_restrict] = ACTIONS(1052), + [anon_sym__Atomic] = ACTIONS(1052), + [anon_sym_signed] = ACTIONS(1052), + [anon_sym_unsigned] = ACTIONS(1052), + [anon_sym_long] = ACTIONS(1052), + [anon_sym_short] = ACTIONS(1052), + [sym_primitive_type] = ACTIONS(1052), + [anon_sym_enum] = ACTIONS(1052), + [anon_sym_struct] = ACTIONS(1052), + [anon_sym_union] = ACTIONS(1052), + [anon_sym_if] = ACTIONS(1052), + [anon_sym_switch] = ACTIONS(1052), + [anon_sym_case] = ACTIONS(1052), + [anon_sym_default] = ACTIONS(1052), + [anon_sym_while] = ACTIONS(1052), + [anon_sym_do] = ACTIONS(1052), + [anon_sym_for] = ACTIONS(1052), + [anon_sym_return] = ACTIONS(1052), + [anon_sym_break] = ACTIONS(1052), + [anon_sym_continue] = ACTIONS(1052), + [anon_sym_goto] = ACTIONS(1052), + [anon_sym_DASH_DASH] = ACTIONS(1054), + [anon_sym_PLUS_PLUS] = ACTIONS(1054), + [anon_sym_sizeof] = ACTIONS(1052), + [sym_number_literal] = ACTIONS(1054), + [anon_sym_L_SQUOTE] = ACTIONS(1054), + [anon_sym_u_SQUOTE] = ACTIONS(1054), + [anon_sym_U_SQUOTE] = ACTIONS(1054), + [anon_sym_u8_SQUOTE] = ACTIONS(1054), + [anon_sym_SQUOTE] = ACTIONS(1054), + [anon_sym_L_DQUOTE] = ACTIONS(1054), + [anon_sym_u_DQUOTE] = ACTIONS(1054), + [anon_sym_U_DQUOTE] = ACTIONS(1054), + [anon_sym_u8_DQUOTE] = ACTIONS(1054), + [anon_sym_DQUOTE] = ACTIONS(1054), + [sym_true] = ACTIONS(1052), + [sym_false] = ACTIONS(1052), + [sym_null] = ACTIONS(1052), + [sym_comment] = ACTIONS(3), + }, + [111] = { + [sym_identifier] = ACTIONS(1056), + [aux_sym_preproc_include_token1] = ACTIONS(1056), + [aux_sym_preproc_def_token1] = ACTIONS(1056), + [aux_sym_preproc_if_token1] = ACTIONS(1056), + [aux_sym_preproc_if_token2] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1056), + [aux_sym_preproc_else_token1] = ACTIONS(1056), + [aux_sym_preproc_elif_token1] = ACTIONS(1056), + [sym_preproc_directive] = ACTIONS(1056), + [anon_sym_LPAREN2] = ACTIONS(1058), + [anon_sym_BANG] = ACTIONS(1058), + [anon_sym_TILDE] = ACTIONS(1058), + [anon_sym_DASH] = ACTIONS(1056), + [anon_sym_PLUS] = ACTIONS(1056), + [anon_sym_STAR] = ACTIONS(1058), + [anon_sym_AMP] = ACTIONS(1058), + [anon_sym_SEMI] = ACTIONS(1058), + [anon_sym_typedef] = ACTIONS(1056), + [anon_sym_extern] = ACTIONS(1056), + [anon_sym___attribute__] = ACTIONS(1056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1058), + [anon_sym___declspec] = ACTIONS(1056), + [anon_sym___cdecl] = ACTIONS(1056), + [anon_sym___clrcall] = ACTIONS(1056), + [anon_sym___stdcall] = ACTIONS(1056), + [anon_sym___fastcall] = ACTIONS(1056), + [anon_sym___thiscall] = ACTIONS(1056), + [anon_sym___vectorcall] = ACTIONS(1056), + [anon_sym_LBRACE] = ACTIONS(1058), + [anon_sym_static] = ACTIONS(1056), + [anon_sym_auto] = ACTIONS(1056), + [anon_sym_register] = ACTIONS(1056), + [anon_sym_inline] = ACTIONS(1056), + [anon_sym_const] = ACTIONS(1056), + [anon_sym_volatile] = ACTIONS(1056), + [anon_sym_restrict] = ACTIONS(1056), + [anon_sym__Atomic] = ACTIONS(1056), + [anon_sym_signed] = ACTIONS(1056), + [anon_sym_unsigned] = ACTIONS(1056), + [anon_sym_long] = ACTIONS(1056), + [anon_sym_short] = ACTIONS(1056), + [sym_primitive_type] = ACTIONS(1056), + [anon_sym_enum] = ACTIONS(1056), + [anon_sym_struct] = ACTIONS(1056), + [anon_sym_union] = ACTIONS(1056), + [anon_sym_if] = ACTIONS(1056), + [anon_sym_switch] = ACTIONS(1056), + [anon_sym_case] = ACTIONS(1056), + [anon_sym_default] = ACTIONS(1056), + [anon_sym_while] = ACTIONS(1056), + [anon_sym_do] = ACTIONS(1056), + [anon_sym_for] = ACTIONS(1056), + [anon_sym_return] = ACTIONS(1056), + [anon_sym_break] = ACTIONS(1056), + [anon_sym_continue] = ACTIONS(1056), + [anon_sym_goto] = ACTIONS(1056), + [anon_sym_DASH_DASH] = ACTIONS(1058), + [anon_sym_PLUS_PLUS] = ACTIONS(1058), + [anon_sym_sizeof] = ACTIONS(1056), + [sym_number_literal] = ACTIONS(1058), + [anon_sym_L_SQUOTE] = ACTIONS(1058), + [anon_sym_u_SQUOTE] = ACTIONS(1058), + [anon_sym_U_SQUOTE] = ACTIONS(1058), + [anon_sym_u8_SQUOTE] = ACTIONS(1058), + [anon_sym_SQUOTE] = ACTIONS(1058), + [anon_sym_L_DQUOTE] = ACTIONS(1058), + [anon_sym_u_DQUOTE] = ACTIONS(1058), + [anon_sym_U_DQUOTE] = ACTIONS(1058), + [anon_sym_u8_DQUOTE] = ACTIONS(1058), + [anon_sym_DQUOTE] = ACTIONS(1058), + [sym_true] = ACTIONS(1056), + [sym_false] = ACTIONS(1056), + [sym_null] = ACTIONS(1056), + [sym_comment] = ACTIONS(3), + }, + [112] = { + [sym_identifier] = ACTIONS(1060), + [aux_sym_preproc_include_token1] = ACTIONS(1060), + [aux_sym_preproc_def_token1] = ACTIONS(1060), + [aux_sym_preproc_if_token1] = ACTIONS(1060), + [aux_sym_preproc_if_token2] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1060), + [aux_sym_preproc_else_token1] = ACTIONS(1060), + [aux_sym_preproc_elif_token1] = ACTIONS(1060), + [sym_preproc_directive] = ACTIONS(1060), + [anon_sym_LPAREN2] = ACTIONS(1062), + [anon_sym_BANG] = ACTIONS(1062), + [anon_sym_TILDE] = ACTIONS(1062), + [anon_sym_DASH] = ACTIONS(1060), + [anon_sym_PLUS] = ACTIONS(1060), + [anon_sym_STAR] = ACTIONS(1062), + [anon_sym_AMP] = ACTIONS(1062), + [anon_sym_SEMI] = ACTIONS(1062), + [anon_sym_typedef] = ACTIONS(1060), + [anon_sym_extern] = ACTIONS(1060), + [anon_sym___attribute__] = ACTIONS(1060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1062), + [anon_sym___declspec] = ACTIONS(1060), + [anon_sym___cdecl] = ACTIONS(1060), + [anon_sym___clrcall] = ACTIONS(1060), + [anon_sym___stdcall] = ACTIONS(1060), + [anon_sym___fastcall] = ACTIONS(1060), + [anon_sym___thiscall] = ACTIONS(1060), + [anon_sym___vectorcall] = ACTIONS(1060), + [anon_sym_LBRACE] = ACTIONS(1062), + [anon_sym_static] = ACTIONS(1060), + [anon_sym_auto] = ACTIONS(1060), + [anon_sym_register] = ACTIONS(1060), + [anon_sym_inline] = ACTIONS(1060), + [anon_sym_const] = ACTIONS(1060), + [anon_sym_volatile] = ACTIONS(1060), + [anon_sym_restrict] = ACTIONS(1060), + [anon_sym__Atomic] = ACTIONS(1060), + [anon_sym_signed] = ACTIONS(1060), + [anon_sym_unsigned] = ACTIONS(1060), + [anon_sym_long] = ACTIONS(1060), + [anon_sym_short] = ACTIONS(1060), + [sym_primitive_type] = ACTIONS(1060), + [anon_sym_enum] = ACTIONS(1060), + [anon_sym_struct] = ACTIONS(1060), + [anon_sym_union] = ACTIONS(1060), + [anon_sym_if] = ACTIONS(1060), + [anon_sym_switch] = ACTIONS(1060), + [anon_sym_case] = ACTIONS(1060), + [anon_sym_default] = ACTIONS(1060), + [anon_sym_while] = ACTIONS(1060), + [anon_sym_do] = ACTIONS(1060), + [anon_sym_for] = ACTIONS(1060), + [anon_sym_return] = ACTIONS(1060), + [anon_sym_break] = ACTIONS(1060), + [anon_sym_continue] = ACTIONS(1060), + [anon_sym_goto] = ACTIONS(1060), + [anon_sym_DASH_DASH] = ACTIONS(1062), + [anon_sym_PLUS_PLUS] = ACTIONS(1062), + [anon_sym_sizeof] = ACTIONS(1060), + [sym_number_literal] = ACTIONS(1062), + [anon_sym_L_SQUOTE] = ACTIONS(1062), + [anon_sym_u_SQUOTE] = ACTIONS(1062), + [anon_sym_U_SQUOTE] = ACTIONS(1062), + [anon_sym_u8_SQUOTE] = ACTIONS(1062), + [anon_sym_SQUOTE] = ACTIONS(1062), + [anon_sym_L_DQUOTE] = ACTIONS(1062), + [anon_sym_u_DQUOTE] = ACTIONS(1062), + [anon_sym_U_DQUOTE] = ACTIONS(1062), + [anon_sym_u8_DQUOTE] = ACTIONS(1062), + [anon_sym_DQUOTE] = ACTIONS(1062), + [sym_true] = ACTIONS(1060), + [sym_false] = ACTIONS(1060), + [sym_null] = ACTIONS(1060), + [sym_comment] = ACTIONS(3), + }, + [113] = { + [sym_identifier] = ACTIONS(1064), + [aux_sym_preproc_include_token1] = ACTIONS(1064), + [aux_sym_preproc_def_token1] = ACTIONS(1064), + [aux_sym_preproc_if_token1] = ACTIONS(1064), + [aux_sym_preproc_if_token2] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1064), + [aux_sym_preproc_else_token1] = ACTIONS(1064), + [aux_sym_preproc_elif_token1] = ACTIONS(1064), + [sym_preproc_directive] = ACTIONS(1064), + [anon_sym_LPAREN2] = ACTIONS(1066), + [anon_sym_BANG] = ACTIONS(1066), + [anon_sym_TILDE] = ACTIONS(1066), + [anon_sym_DASH] = ACTIONS(1064), + [anon_sym_PLUS] = ACTIONS(1064), + [anon_sym_STAR] = ACTIONS(1066), + [anon_sym_AMP] = ACTIONS(1066), + [anon_sym_SEMI] = ACTIONS(1066), + [anon_sym_typedef] = ACTIONS(1064), + [anon_sym_extern] = ACTIONS(1064), + [anon_sym___attribute__] = ACTIONS(1064), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1066), + [anon_sym___declspec] = ACTIONS(1064), + [anon_sym___cdecl] = ACTIONS(1064), + [anon_sym___clrcall] = ACTIONS(1064), + [anon_sym___stdcall] = ACTIONS(1064), + [anon_sym___fastcall] = ACTIONS(1064), + [anon_sym___thiscall] = ACTIONS(1064), + [anon_sym___vectorcall] = ACTIONS(1064), + [anon_sym_LBRACE] = ACTIONS(1066), + [anon_sym_static] = ACTIONS(1064), + [anon_sym_auto] = ACTIONS(1064), + [anon_sym_register] = ACTIONS(1064), + [anon_sym_inline] = ACTIONS(1064), + [anon_sym_const] = ACTIONS(1064), + [anon_sym_volatile] = ACTIONS(1064), + [anon_sym_restrict] = ACTIONS(1064), + [anon_sym__Atomic] = ACTIONS(1064), + [anon_sym_signed] = ACTIONS(1064), + [anon_sym_unsigned] = ACTIONS(1064), + [anon_sym_long] = ACTIONS(1064), + [anon_sym_short] = ACTIONS(1064), + [sym_primitive_type] = ACTIONS(1064), + [anon_sym_enum] = ACTIONS(1064), + [anon_sym_struct] = ACTIONS(1064), + [anon_sym_union] = ACTIONS(1064), + [anon_sym_if] = ACTIONS(1064), + [anon_sym_switch] = ACTIONS(1064), + [anon_sym_case] = ACTIONS(1064), + [anon_sym_default] = ACTIONS(1064), + [anon_sym_while] = ACTIONS(1064), + [anon_sym_do] = ACTIONS(1064), + [anon_sym_for] = ACTIONS(1064), + [anon_sym_return] = ACTIONS(1064), + [anon_sym_break] = ACTIONS(1064), + [anon_sym_continue] = ACTIONS(1064), + [anon_sym_goto] = ACTIONS(1064), + [anon_sym_DASH_DASH] = ACTIONS(1066), + [anon_sym_PLUS_PLUS] = ACTIONS(1066), + [anon_sym_sizeof] = ACTIONS(1064), + [sym_number_literal] = ACTIONS(1066), + [anon_sym_L_SQUOTE] = ACTIONS(1066), + [anon_sym_u_SQUOTE] = ACTIONS(1066), + [anon_sym_U_SQUOTE] = ACTIONS(1066), + [anon_sym_u8_SQUOTE] = ACTIONS(1066), + [anon_sym_SQUOTE] = ACTIONS(1066), + [anon_sym_L_DQUOTE] = ACTIONS(1066), + [anon_sym_u_DQUOTE] = ACTIONS(1066), + [anon_sym_U_DQUOTE] = ACTIONS(1066), + [anon_sym_u8_DQUOTE] = ACTIONS(1066), + [anon_sym_DQUOTE] = ACTIONS(1066), + [sym_true] = ACTIONS(1064), + [sym_false] = ACTIONS(1064), + [sym_null] = ACTIONS(1064), + [sym_comment] = ACTIONS(3), + }, + [114] = { + [sym_identifier] = ACTIONS(1068), + [aux_sym_preproc_include_token1] = ACTIONS(1068), + [aux_sym_preproc_def_token1] = ACTIONS(1068), + [aux_sym_preproc_if_token1] = ACTIONS(1068), + [aux_sym_preproc_if_token2] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1068), + [aux_sym_preproc_else_token1] = ACTIONS(1068), + [aux_sym_preproc_elif_token1] = ACTIONS(1068), + [sym_preproc_directive] = ACTIONS(1068), + [anon_sym_LPAREN2] = ACTIONS(1070), + [anon_sym_BANG] = ACTIONS(1070), + [anon_sym_TILDE] = ACTIONS(1070), + [anon_sym_DASH] = ACTIONS(1068), + [anon_sym_PLUS] = ACTIONS(1068), + [anon_sym_STAR] = ACTIONS(1070), + [anon_sym_AMP] = ACTIONS(1070), + [anon_sym_SEMI] = ACTIONS(1070), + [anon_sym_typedef] = ACTIONS(1068), + [anon_sym_extern] = ACTIONS(1068), + [anon_sym___attribute__] = ACTIONS(1068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1070), + [anon_sym___declspec] = ACTIONS(1068), + [anon_sym___cdecl] = ACTIONS(1068), + [anon_sym___clrcall] = ACTIONS(1068), + [anon_sym___stdcall] = ACTIONS(1068), + [anon_sym___fastcall] = ACTIONS(1068), + [anon_sym___thiscall] = ACTIONS(1068), + [anon_sym___vectorcall] = ACTIONS(1068), + [anon_sym_LBRACE] = ACTIONS(1070), + [anon_sym_static] = ACTIONS(1068), + [anon_sym_auto] = ACTIONS(1068), + [anon_sym_register] = ACTIONS(1068), + [anon_sym_inline] = ACTIONS(1068), + [anon_sym_const] = ACTIONS(1068), + [anon_sym_volatile] = ACTIONS(1068), + [anon_sym_restrict] = ACTIONS(1068), + [anon_sym__Atomic] = ACTIONS(1068), + [anon_sym_signed] = ACTIONS(1068), + [anon_sym_unsigned] = ACTIONS(1068), + [anon_sym_long] = ACTIONS(1068), + [anon_sym_short] = ACTIONS(1068), + [sym_primitive_type] = ACTIONS(1068), + [anon_sym_enum] = ACTIONS(1068), + [anon_sym_struct] = ACTIONS(1068), + [anon_sym_union] = ACTIONS(1068), + [anon_sym_if] = ACTIONS(1068), + [anon_sym_switch] = ACTIONS(1068), + [anon_sym_case] = ACTIONS(1068), + [anon_sym_default] = ACTIONS(1068), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(1068), + [anon_sym_for] = ACTIONS(1068), + [anon_sym_return] = ACTIONS(1068), + [anon_sym_break] = ACTIONS(1068), + [anon_sym_continue] = ACTIONS(1068), + [anon_sym_goto] = ACTIONS(1068), + [anon_sym_DASH_DASH] = ACTIONS(1070), + [anon_sym_PLUS_PLUS] = ACTIONS(1070), + [anon_sym_sizeof] = ACTIONS(1068), + [sym_number_literal] = ACTIONS(1070), + [anon_sym_L_SQUOTE] = ACTIONS(1070), + [anon_sym_u_SQUOTE] = ACTIONS(1070), + [anon_sym_U_SQUOTE] = ACTIONS(1070), + [anon_sym_u8_SQUOTE] = ACTIONS(1070), + [anon_sym_SQUOTE] = ACTIONS(1070), + [anon_sym_L_DQUOTE] = ACTIONS(1070), + [anon_sym_u_DQUOTE] = ACTIONS(1070), + [anon_sym_U_DQUOTE] = ACTIONS(1070), + [anon_sym_u8_DQUOTE] = ACTIONS(1070), + [anon_sym_DQUOTE] = ACTIONS(1070), + [sym_true] = ACTIONS(1068), + [sym_false] = ACTIONS(1068), + [sym_null] = ACTIONS(1068), + [sym_comment] = ACTIONS(3), + }, + [115] = { + [sym_identifier] = ACTIONS(1072), + [aux_sym_preproc_include_token1] = ACTIONS(1072), + [aux_sym_preproc_def_token1] = ACTIONS(1072), + [aux_sym_preproc_if_token1] = ACTIONS(1072), + [aux_sym_preproc_if_token2] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1072), + [aux_sym_preproc_else_token1] = ACTIONS(1072), + [aux_sym_preproc_elif_token1] = ACTIONS(1072), + [sym_preproc_directive] = ACTIONS(1072), + [anon_sym_LPAREN2] = ACTIONS(1074), + [anon_sym_BANG] = ACTIONS(1074), + [anon_sym_TILDE] = ACTIONS(1074), + [anon_sym_DASH] = ACTIONS(1072), + [anon_sym_PLUS] = ACTIONS(1072), + [anon_sym_STAR] = ACTIONS(1074), + [anon_sym_AMP] = ACTIONS(1074), + [anon_sym_SEMI] = ACTIONS(1074), + [anon_sym_typedef] = ACTIONS(1072), + [anon_sym_extern] = ACTIONS(1072), + [anon_sym___attribute__] = ACTIONS(1072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1074), + [anon_sym___declspec] = ACTIONS(1072), + [anon_sym___cdecl] = ACTIONS(1072), + [anon_sym___clrcall] = ACTIONS(1072), + [anon_sym___stdcall] = ACTIONS(1072), + [anon_sym___fastcall] = ACTIONS(1072), + [anon_sym___thiscall] = ACTIONS(1072), + [anon_sym___vectorcall] = ACTIONS(1072), + [anon_sym_LBRACE] = ACTIONS(1074), + [anon_sym_static] = ACTIONS(1072), + [anon_sym_auto] = ACTIONS(1072), + [anon_sym_register] = ACTIONS(1072), + [anon_sym_inline] = ACTIONS(1072), + [anon_sym_const] = ACTIONS(1072), + [anon_sym_volatile] = ACTIONS(1072), + [anon_sym_restrict] = ACTIONS(1072), + [anon_sym__Atomic] = ACTIONS(1072), + [anon_sym_signed] = ACTIONS(1072), + [anon_sym_unsigned] = ACTIONS(1072), + [anon_sym_long] = ACTIONS(1072), + [anon_sym_short] = ACTIONS(1072), + [sym_primitive_type] = ACTIONS(1072), + [anon_sym_enum] = ACTIONS(1072), + [anon_sym_struct] = ACTIONS(1072), + [anon_sym_union] = ACTIONS(1072), + [anon_sym_if] = ACTIONS(1072), + [anon_sym_switch] = ACTIONS(1072), + [anon_sym_case] = ACTIONS(1072), + [anon_sym_default] = ACTIONS(1072), + [anon_sym_while] = ACTIONS(1072), + [anon_sym_do] = ACTIONS(1072), + [anon_sym_for] = ACTIONS(1072), + [anon_sym_return] = ACTIONS(1072), + [anon_sym_break] = ACTIONS(1072), + [anon_sym_continue] = ACTIONS(1072), + [anon_sym_goto] = ACTIONS(1072), + [anon_sym_DASH_DASH] = ACTIONS(1074), + [anon_sym_PLUS_PLUS] = ACTIONS(1074), + [anon_sym_sizeof] = ACTIONS(1072), + [sym_number_literal] = ACTIONS(1074), + [anon_sym_L_SQUOTE] = ACTIONS(1074), + [anon_sym_u_SQUOTE] = ACTIONS(1074), + [anon_sym_U_SQUOTE] = ACTIONS(1074), + [anon_sym_u8_SQUOTE] = ACTIONS(1074), + [anon_sym_SQUOTE] = ACTIONS(1074), + [anon_sym_L_DQUOTE] = ACTIONS(1074), + [anon_sym_u_DQUOTE] = ACTIONS(1074), + [anon_sym_U_DQUOTE] = ACTIONS(1074), + [anon_sym_u8_DQUOTE] = ACTIONS(1074), + [anon_sym_DQUOTE] = ACTIONS(1074), + [sym_true] = ACTIONS(1072), + [sym_false] = ACTIONS(1072), + [sym_null] = ACTIONS(1072), + [sym_comment] = ACTIONS(3), + }, + [116] = { + [sym_identifier] = ACTIONS(1076), + [aux_sym_preproc_include_token1] = ACTIONS(1076), + [aux_sym_preproc_def_token1] = ACTIONS(1076), + [aux_sym_preproc_if_token1] = ACTIONS(1076), + [aux_sym_preproc_if_token2] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1076), + [aux_sym_preproc_else_token1] = ACTIONS(1076), + [aux_sym_preproc_elif_token1] = ACTIONS(1076), + [sym_preproc_directive] = ACTIONS(1076), + [anon_sym_LPAREN2] = ACTIONS(1078), + [anon_sym_BANG] = ACTIONS(1078), + [anon_sym_TILDE] = ACTIONS(1078), + [anon_sym_DASH] = ACTIONS(1076), + [anon_sym_PLUS] = ACTIONS(1076), + [anon_sym_STAR] = ACTIONS(1078), + [anon_sym_AMP] = ACTIONS(1078), + [anon_sym_SEMI] = ACTIONS(1078), + [anon_sym_typedef] = ACTIONS(1076), + [anon_sym_extern] = ACTIONS(1076), + [anon_sym___attribute__] = ACTIONS(1076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1078), + [anon_sym___declspec] = ACTIONS(1076), + [anon_sym___cdecl] = ACTIONS(1076), + [anon_sym___clrcall] = ACTIONS(1076), + [anon_sym___stdcall] = ACTIONS(1076), + [anon_sym___fastcall] = ACTIONS(1076), + [anon_sym___thiscall] = ACTIONS(1076), + [anon_sym___vectorcall] = ACTIONS(1076), + [anon_sym_LBRACE] = ACTIONS(1078), + [anon_sym_static] = ACTIONS(1076), + [anon_sym_auto] = ACTIONS(1076), + [anon_sym_register] = ACTIONS(1076), + [anon_sym_inline] = ACTIONS(1076), + [anon_sym_const] = ACTIONS(1076), + [anon_sym_volatile] = ACTIONS(1076), + [anon_sym_restrict] = ACTIONS(1076), + [anon_sym__Atomic] = ACTIONS(1076), + [anon_sym_signed] = ACTIONS(1076), + [anon_sym_unsigned] = ACTIONS(1076), + [anon_sym_long] = ACTIONS(1076), + [anon_sym_short] = ACTIONS(1076), + [sym_primitive_type] = ACTIONS(1076), + [anon_sym_enum] = ACTIONS(1076), + [anon_sym_struct] = ACTIONS(1076), + [anon_sym_union] = ACTIONS(1076), + [anon_sym_if] = ACTIONS(1076), + [anon_sym_switch] = ACTIONS(1076), + [anon_sym_case] = ACTIONS(1076), + [anon_sym_default] = ACTIONS(1076), + [anon_sym_while] = ACTIONS(1076), + [anon_sym_do] = ACTIONS(1076), + [anon_sym_for] = ACTIONS(1076), + [anon_sym_return] = ACTIONS(1076), + [anon_sym_break] = ACTIONS(1076), + [anon_sym_continue] = ACTIONS(1076), + [anon_sym_goto] = ACTIONS(1076), + [anon_sym_DASH_DASH] = ACTIONS(1078), + [anon_sym_PLUS_PLUS] = ACTIONS(1078), + [anon_sym_sizeof] = ACTIONS(1076), + [sym_number_literal] = ACTIONS(1078), + [anon_sym_L_SQUOTE] = ACTIONS(1078), + [anon_sym_u_SQUOTE] = ACTIONS(1078), + [anon_sym_U_SQUOTE] = ACTIONS(1078), + [anon_sym_u8_SQUOTE] = ACTIONS(1078), + [anon_sym_SQUOTE] = ACTIONS(1078), + [anon_sym_L_DQUOTE] = ACTIONS(1078), + [anon_sym_u_DQUOTE] = ACTIONS(1078), + [anon_sym_U_DQUOTE] = ACTIONS(1078), + [anon_sym_u8_DQUOTE] = ACTIONS(1078), + [anon_sym_DQUOTE] = ACTIONS(1078), + [sym_true] = ACTIONS(1076), + [sym_false] = ACTIONS(1076), + [sym_null] = ACTIONS(1076), + [sym_comment] = ACTIONS(3), + }, + [117] = { + [sym_identifier] = ACTIONS(1080), + [aux_sym_preproc_include_token1] = ACTIONS(1080), + [aux_sym_preproc_def_token1] = ACTIONS(1080), + [aux_sym_preproc_if_token1] = ACTIONS(1080), + [aux_sym_preproc_if_token2] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1080), + [aux_sym_preproc_else_token1] = ACTIONS(1080), + [aux_sym_preproc_elif_token1] = ACTIONS(1080), + [sym_preproc_directive] = ACTIONS(1080), + [anon_sym_LPAREN2] = ACTIONS(1082), + [anon_sym_BANG] = ACTIONS(1082), + [anon_sym_TILDE] = ACTIONS(1082), + [anon_sym_DASH] = ACTIONS(1080), + [anon_sym_PLUS] = ACTIONS(1080), + [anon_sym_STAR] = ACTIONS(1082), + [anon_sym_AMP] = ACTIONS(1082), + [anon_sym_SEMI] = ACTIONS(1082), + [anon_sym_typedef] = ACTIONS(1080), + [anon_sym_extern] = ACTIONS(1080), + [anon_sym___attribute__] = ACTIONS(1080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1082), + [anon_sym___declspec] = ACTIONS(1080), + [anon_sym___cdecl] = ACTIONS(1080), + [anon_sym___clrcall] = ACTIONS(1080), + [anon_sym___stdcall] = ACTIONS(1080), + [anon_sym___fastcall] = ACTIONS(1080), + [anon_sym___thiscall] = ACTIONS(1080), + [anon_sym___vectorcall] = ACTIONS(1080), + [anon_sym_LBRACE] = ACTIONS(1082), + [anon_sym_static] = ACTIONS(1080), + [anon_sym_auto] = ACTIONS(1080), + [anon_sym_register] = ACTIONS(1080), + [anon_sym_inline] = ACTIONS(1080), + [anon_sym_const] = ACTIONS(1080), + [anon_sym_volatile] = ACTIONS(1080), + [anon_sym_restrict] = ACTIONS(1080), + [anon_sym__Atomic] = ACTIONS(1080), + [anon_sym_signed] = ACTIONS(1080), + [anon_sym_unsigned] = ACTIONS(1080), + [anon_sym_long] = ACTIONS(1080), + [anon_sym_short] = ACTIONS(1080), + [sym_primitive_type] = ACTIONS(1080), + [anon_sym_enum] = ACTIONS(1080), + [anon_sym_struct] = ACTIONS(1080), + [anon_sym_union] = ACTIONS(1080), + [anon_sym_if] = ACTIONS(1080), + [anon_sym_switch] = ACTIONS(1080), + [anon_sym_case] = ACTIONS(1080), + [anon_sym_default] = ACTIONS(1080), + [anon_sym_while] = ACTIONS(1080), + [anon_sym_do] = ACTIONS(1080), + [anon_sym_for] = ACTIONS(1080), + [anon_sym_return] = ACTIONS(1080), + [anon_sym_break] = ACTIONS(1080), + [anon_sym_continue] = ACTIONS(1080), + [anon_sym_goto] = ACTIONS(1080), + [anon_sym_DASH_DASH] = ACTIONS(1082), + [anon_sym_PLUS_PLUS] = ACTIONS(1082), + [anon_sym_sizeof] = ACTIONS(1080), + [sym_number_literal] = ACTIONS(1082), + [anon_sym_L_SQUOTE] = ACTIONS(1082), + [anon_sym_u_SQUOTE] = ACTIONS(1082), + [anon_sym_U_SQUOTE] = ACTIONS(1082), + [anon_sym_u8_SQUOTE] = ACTIONS(1082), + [anon_sym_SQUOTE] = ACTIONS(1082), + [anon_sym_L_DQUOTE] = ACTIONS(1082), + [anon_sym_u_DQUOTE] = ACTIONS(1082), + [anon_sym_U_DQUOTE] = ACTIONS(1082), + [anon_sym_u8_DQUOTE] = ACTIONS(1082), + [anon_sym_DQUOTE] = ACTIONS(1082), + [sym_true] = ACTIONS(1080), + [sym_false] = ACTIONS(1080), + [sym_null] = ACTIONS(1080), + [sym_comment] = ACTIONS(3), + }, + [118] = { + [sym_identifier] = ACTIONS(1084), + [aux_sym_preproc_include_token1] = ACTIONS(1084), + [aux_sym_preproc_def_token1] = ACTIONS(1084), + [aux_sym_preproc_if_token1] = ACTIONS(1084), + [aux_sym_preproc_if_token2] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1084), + [aux_sym_preproc_else_token1] = ACTIONS(1084), + [aux_sym_preproc_elif_token1] = ACTIONS(1084), + [sym_preproc_directive] = ACTIONS(1084), + [anon_sym_LPAREN2] = ACTIONS(1086), + [anon_sym_BANG] = ACTIONS(1086), + [anon_sym_TILDE] = ACTIONS(1086), + [anon_sym_DASH] = ACTIONS(1084), + [anon_sym_PLUS] = ACTIONS(1084), + [anon_sym_STAR] = ACTIONS(1086), + [anon_sym_AMP] = ACTIONS(1086), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym_typedef] = ACTIONS(1084), + [anon_sym_extern] = ACTIONS(1084), + [anon_sym___attribute__] = ACTIONS(1084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1086), + [anon_sym___declspec] = ACTIONS(1084), + [anon_sym___cdecl] = ACTIONS(1084), + [anon_sym___clrcall] = ACTIONS(1084), + [anon_sym___stdcall] = ACTIONS(1084), + [anon_sym___fastcall] = ACTIONS(1084), + [anon_sym___thiscall] = ACTIONS(1084), + [anon_sym___vectorcall] = ACTIONS(1084), + [anon_sym_LBRACE] = ACTIONS(1086), + [anon_sym_static] = ACTIONS(1084), + [anon_sym_auto] = ACTIONS(1084), + [anon_sym_register] = ACTIONS(1084), + [anon_sym_inline] = ACTIONS(1084), + [anon_sym_const] = ACTIONS(1084), + [anon_sym_volatile] = ACTIONS(1084), + [anon_sym_restrict] = ACTIONS(1084), + [anon_sym__Atomic] = ACTIONS(1084), + [anon_sym_signed] = ACTIONS(1084), + [anon_sym_unsigned] = ACTIONS(1084), + [anon_sym_long] = ACTIONS(1084), + [anon_sym_short] = ACTIONS(1084), + [sym_primitive_type] = ACTIONS(1084), + [anon_sym_enum] = ACTIONS(1084), + [anon_sym_struct] = ACTIONS(1084), + [anon_sym_union] = ACTIONS(1084), + [anon_sym_if] = ACTIONS(1084), + [anon_sym_switch] = ACTIONS(1084), + [anon_sym_case] = ACTIONS(1084), + [anon_sym_default] = ACTIONS(1084), + [anon_sym_while] = ACTIONS(1084), + [anon_sym_do] = ACTIONS(1084), + [anon_sym_for] = ACTIONS(1084), + [anon_sym_return] = ACTIONS(1084), + [anon_sym_break] = ACTIONS(1084), + [anon_sym_continue] = ACTIONS(1084), + [anon_sym_goto] = ACTIONS(1084), + [anon_sym_DASH_DASH] = ACTIONS(1086), + [anon_sym_PLUS_PLUS] = ACTIONS(1086), + [anon_sym_sizeof] = ACTIONS(1084), + [sym_number_literal] = ACTIONS(1086), + [anon_sym_L_SQUOTE] = ACTIONS(1086), + [anon_sym_u_SQUOTE] = ACTIONS(1086), + [anon_sym_U_SQUOTE] = ACTIONS(1086), + [anon_sym_u8_SQUOTE] = ACTIONS(1086), + [anon_sym_SQUOTE] = ACTIONS(1086), + [anon_sym_L_DQUOTE] = ACTIONS(1086), + [anon_sym_u_DQUOTE] = ACTIONS(1086), + [anon_sym_U_DQUOTE] = ACTIONS(1086), + [anon_sym_u8_DQUOTE] = ACTIONS(1086), + [anon_sym_DQUOTE] = ACTIONS(1086), + [sym_true] = ACTIONS(1084), + [sym_false] = ACTIONS(1084), + [sym_null] = ACTIONS(1084), + [sym_comment] = ACTIONS(3), + }, + [119] = { + [sym__expression] = STATE(634), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(591), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(591), + [sym_call_expression] = STATE(591), + [sym_field_expression] = STATE(591), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(591), + [sym_initializer_list] = STATE(608), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(870), + [anon_sym_LPAREN2] = ACTIONS(1088), + [anon_sym_BANG] = ACTIONS(1090), + [anon_sym_TILDE] = ACTIONS(1092), + [anon_sym_DASH] = ACTIONS(1090), + [anon_sym_PLUS] = ACTIONS(1090), + [anon_sym_STAR] = ACTIONS(1094), + [anon_sym_SLASH] = ACTIONS(882), + [anon_sym_PERCENT] = ACTIONS(882), + [anon_sym_PIPE_PIPE] = ACTIONS(872), + [anon_sym_AMP_AMP] = ACTIONS(872), + [anon_sym_PIPE] = ACTIONS(882), + [anon_sym_CARET] = ACTIONS(882), + [anon_sym_AMP] = ACTIONS(1094), + [anon_sym_EQ_EQ] = ACTIONS(872), + [anon_sym_BANG_EQ] = ACTIONS(872), + [anon_sym_GT] = ACTIONS(882), + [anon_sym_GT_EQ] = ACTIONS(872), + [anon_sym_LT_EQ] = ACTIONS(872), + [anon_sym_LT] = ACTIONS(882), + [anon_sym_LT_LT] = ACTIONS(882), + [anon_sym_GT_GT] = ACTIONS(882), + [anon_sym_LBRACE] = ACTIONS(884), + [anon_sym_LBRACK] = ACTIONS(872), + [anon_sym_RBRACK] = ACTIONS(872), + [anon_sym_EQ] = ACTIONS(882), + [anon_sym_QMARK] = ACTIONS(872), + [anon_sym_STAR_EQ] = ACTIONS(872), + [anon_sym_SLASH_EQ] = ACTIONS(872), + [anon_sym_PERCENT_EQ] = ACTIONS(872), + [anon_sym_PLUS_EQ] = ACTIONS(872), + [anon_sym_DASH_EQ] = ACTIONS(872), + [anon_sym_LT_LT_EQ] = ACTIONS(872), + [anon_sym_GT_GT_EQ] = ACTIONS(872), + [anon_sym_AMP_EQ] = ACTIONS(872), + [anon_sym_CARET_EQ] = ACTIONS(872), + [anon_sym_PIPE_EQ] = ACTIONS(872), + [anon_sym_DASH_DASH] = ACTIONS(1096), + [anon_sym_PLUS_PLUS] = ACTIONS(1096), + [anon_sym_sizeof] = ACTIONS(1098), + [anon_sym_DOT] = ACTIONS(882), + [anon_sym_DASH_GT] = ACTIONS(872), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [120] = { + [sym_identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token2] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [aux_sym_preproc_else_token1] = ACTIONS(1100), + [aux_sym_preproc_elif_token1] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [sym_number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [sym_null] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + }, + [121] = { + [sym_identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token2] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [aux_sym_preproc_else_token1] = ACTIONS(1104), + [aux_sym_preproc_elif_token1] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [sym_number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [sym_null] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + }, + [122] = { + [sym_identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token2] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [aux_sym_preproc_else_token1] = ACTIONS(1108), + [aux_sym_preproc_elif_token1] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [sym_number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [sym_null] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + }, + [123] = { + [sym_identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token2] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [aux_sym_preproc_else_token1] = ACTIONS(1112), + [aux_sym_preproc_elif_token1] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [sym_number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [sym_null] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + }, + [124] = { + [sym_identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token2] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [aux_sym_preproc_else_token1] = ACTIONS(1116), + [aux_sym_preproc_elif_token1] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [sym_number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [sym_null] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + }, + [125] = { + [sym_identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token2] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [aux_sym_preproc_else_token1] = ACTIONS(1120), + [aux_sym_preproc_elif_token1] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [sym_number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [sym_null] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + }, + [126] = { + [sym_identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token2] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [aux_sym_preproc_else_token1] = ACTIONS(1124), + [aux_sym_preproc_elif_token1] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [sym_number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [sym_null] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + }, + [127] = { + [sym_identifier] = ACTIONS(906), + [aux_sym_preproc_include_token1] = ACTIONS(906), + [aux_sym_preproc_def_token1] = ACTIONS(906), + [aux_sym_preproc_if_token1] = ACTIONS(906), + [aux_sym_preproc_if_token2] = ACTIONS(906), + [aux_sym_preproc_ifdef_token1] = ACTIONS(906), + [aux_sym_preproc_ifdef_token2] = ACTIONS(906), + [sym_preproc_directive] = ACTIONS(906), + [anon_sym_LPAREN2] = ACTIONS(908), + [anon_sym_BANG] = ACTIONS(908), + [anon_sym_TILDE] = ACTIONS(908), + [anon_sym_DASH] = ACTIONS(906), + [anon_sym_PLUS] = ACTIONS(906), + [anon_sym_STAR] = ACTIONS(908), + [anon_sym_AMP] = ACTIONS(908), + [anon_sym_SEMI] = ACTIONS(908), + [anon_sym_typedef] = ACTIONS(906), + [anon_sym_extern] = ACTIONS(906), + [anon_sym___attribute__] = ACTIONS(906), + [anon_sym_LBRACK_LBRACK] = ACTIONS(908), + [anon_sym___declspec] = ACTIONS(906), + [anon_sym___cdecl] = ACTIONS(906), + [anon_sym___clrcall] = ACTIONS(906), + [anon_sym___stdcall] = ACTIONS(906), + [anon_sym___fastcall] = ACTIONS(906), + [anon_sym___thiscall] = ACTIONS(906), + [anon_sym___vectorcall] = ACTIONS(906), + [anon_sym_LBRACE] = ACTIONS(908), + [anon_sym_static] = ACTIONS(906), + [anon_sym_auto] = ACTIONS(906), + [anon_sym_register] = ACTIONS(906), + [anon_sym_inline] = ACTIONS(906), + [anon_sym_const] = ACTIONS(906), + [anon_sym_volatile] = ACTIONS(906), + [anon_sym_restrict] = ACTIONS(906), + [anon_sym__Atomic] = ACTIONS(906), + [anon_sym_signed] = ACTIONS(906), + [anon_sym_unsigned] = ACTIONS(906), + [anon_sym_long] = ACTIONS(906), + [anon_sym_short] = ACTIONS(906), + [sym_primitive_type] = ACTIONS(906), + [anon_sym_enum] = ACTIONS(906), + [anon_sym_struct] = ACTIONS(906), + [anon_sym_union] = ACTIONS(906), + [anon_sym_if] = ACTIONS(906), + [anon_sym_else] = ACTIONS(906), + [anon_sym_switch] = ACTIONS(906), + [anon_sym_case] = ACTIONS(906), + [anon_sym_default] = ACTIONS(906), + [anon_sym_while] = ACTIONS(906), + [anon_sym_do] = ACTIONS(906), + [anon_sym_for] = ACTIONS(906), + [anon_sym_return] = ACTIONS(906), + [anon_sym_break] = ACTIONS(906), + [anon_sym_continue] = ACTIONS(906), + [anon_sym_goto] = ACTIONS(906), + [anon_sym_DASH_DASH] = ACTIONS(908), + [anon_sym_PLUS_PLUS] = ACTIONS(908), + [anon_sym_sizeof] = ACTIONS(906), + [sym_number_literal] = ACTIONS(908), + [anon_sym_L_SQUOTE] = ACTIONS(908), + [anon_sym_u_SQUOTE] = ACTIONS(908), + [anon_sym_U_SQUOTE] = ACTIONS(908), + [anon_sym_u8_SQUOTE] = ACTIONS(908), + [anon_sym_SQUOTE] = ACTIONS(908), + [anon_sym_L_DQUOTE] = ACTIONS(908), + [anon_sym_u_DQUOTE] = ACTIONS(908), + [anon_sym_U_DQUOTE] = ACTIONS(908), + [anon_sym_u8_DQUOTE] = ACTIONS(908), + [anon_sym_DQUOTE] = ACTIONS(908), + [sym_true] = ACTIONS(906), + [sym_false] = ACTIONS(906), + [sym_null] = ACTIONS(906), + [sym_comment] = ACTIONS(3), + }, + [128] = { + [ts_builtin_sym_end] = ACTIONS(896), + [sym_identifier] = ACTIONS(894), + [aux_sym_preproc_include_token1] = ACTIONS(894), + [aux_sym_preproc_def_token1] = ACTIONS(894), + [aux_sym_preproc_if_token1] = ACTIONS(894), + [aux_sym_preproc_ifdef_token1] = ACTIONS(894), + [aux_sym_preproc_ifdef_token2] = ACTIONS(894), + [sym_preproc_directive] = ACTIONS(894), + [anon_sym_LPAREN2] = ACTIONS(896), + [anon_sym_BANG] = ACTIONS(896), + [anon_sym_TILDE] = ACTIONS(896), + [anon_sym_DASH] = ACTIONS(894), + [anon_sym_PLUS] = ACTIONS(894), + [anon_sym_STAR] = ACTIONS(896), + [anon_sym_AMP] = ACTIONS(896), + [anon_sym_SEMI] = ACTIONS(896), + [anon_sym_typedef] = ACTIONS(894), + [anon_sym_extern] = ACTIONS(894), + [anon_sym___attribute__] = ACTIONS(894), + [anon_sym_LBRACK_LBRACK] = ACTIONS(896), + [anon_sym___declspec] = ACTIONS(894), + [anon_sym___cdecl] = ACTIONS(894), + [anon_sym___clrcall] = ACTIONS(894), + [anon_sym___stdcall] = ACTIONS(894), + [anon_sym___fastcall] = ACTIONS(894), + [anon_sym___thiscall] = ACTIONS(894), + [anon_sym___vectorcall] = ACTIONS(894), + [anon_sym_LBRACE] = ACTIONS(896), + [anon_sym_static] = ACTIONS(894), + [anon_sym_auto] = ACTIONS(894), + [anon_sym_register] = ACTIONS(894), + [anon_sym_inline] = ACTIONS(894), + [anon_sym_const] = ACTIONS(894), + [anon_sym_volatile] = ACTIONS(894), + [anon_sym_restrict] = ACTIONS(894), + [anon_sym__Atomic] = ACTIONS(894), + [anon_sym_signed] = ACTIONS(894), + [anon_sym_unsigned] = ACTIONS(894), + [anon_sym_long] = ACTIONS(894), + [anon_sym_short] = ACTIONS(894), + [sym_primitive_type] = ACTIONS(894), + [anon_sym_enum] = ACTIONS(894), + [anon_sym_struct] = ACTIONS(894), + [anon_sym_union] = ACTIONS(894), + [anon_sym_if] = ACTIONS(894), + [anon_sym_else] = ACTIONS(894), + [anon_sym_switch] = ACTIONS(894), + [anon_sym_case] = ACTIONS(894), + [anon_sym_default] = ACTIONS(894), + [anon_sym_while] = ACTIONS(894), + [anon_sym_do] = ACTIONS(894), + [anon_sym_for] = ACTIONS(894), + [anon_sym_return] = ACTIONS(894), + [anon_sym_break] = ACTIONS(894), + [anon_sym_continue] = ACTIONS(894), + [anon_sym_goto] = ACTIONS(894), + [anon_sym_DASH_DASH] = ACTIONS(896), + [anon_sym_PLUS_PLUS] = ACTIONS(896), + [anon_sym_sizeof] = ACTIONS(894), + [sym_number_literal] = ACTIONS(896), + [anon_sym_L_SQUOTE] = ACTIONS(896), + [anon_sym_u_SQUOTE] = ACTIONS(896), + [anon_sym_U_SQUOTE] = ACTIONS(896), + [anon_sym_u8_SQUOTE] = ACTIONS(896), + [anon_sym_SQUOTE] = ACTIONS(896), + [anon_sym_L_DQUOTE] = ACTIONS(896), + [anon_sym_u_DQUOTE] = ACTIONS(896), + [anon_sym_U_DQUOTE] = ACTIONS(896), + [anon_sym_u8_DQUOTE] = ACTIONS(896), + [anon_sym_DQUOTE] = ACTIONS(896), + [sym_true] = ACTIONS(894), + [sym_false] = ACTIONS(894), + [sym_null] = ACTIONS(894), + [sym_comment] = ACTIONS(3), + }, + [129] = { + [ts_builtin_sym_end] = ACTIONS(982), + [sym_identifier] = ACTIONS(980), + [aux_sym_preproc_include_token1] = ACTIONS(980), + [aux_sym_preproc_def_token1] = ACTIONS(980), + [aux_sym_preproc_if_token1] = ACTIONS(980), + [aux_sym_preproc_ifdef_token1] = ACTIONS(980), + [aux_sym_preproc_ifdef_token2] = ACTIONS(980), + [sym_preproc_directive] = ACTIONS(980), + [anon_sym_LPAREN2] = ACTIONS(982), + [anon_sym_BANG] = ACTIONS(982), + [anon_sym_TILDE] = ACTIONS(982), + [anon_sym_DASH] = ACTIONS(980), + [anon_sym_PLUS] = ACTIONS(980), + [anon_sym_STAR] = ACTIONS(982), + [anon_sym_AMP] = ACTIONS(982), + [anon_sym_SEMI] = ACTIONS(982), + [anon_sym_typedef] = ACTIONS(980), + [anon_sym_extern] = ACTIONS(980), + [anon_sym___attribute__] = ACTIONS(980), + [anon_sym_LBRACK_LBRACK] = ACTIONS(982), + [anon_sym___declspec] = ACTIONS(980), + [anon_sym___cdecl] = ACTIONS(980), + [anon_sym___clrcall] = ACTIONS(980), + [anon_sym___stdcall] = ACTIONS(980), + [anon_sym___fastcall] = ACTIONS(980), + [anon_sym___thiscall] = ACTIONS(980), + [anon_sym___vectorcall] = ACTIONS(980), + [anon_sym_LBRACE] = ACTIONS(982), + [anon_sym_static] = ACTIONS(980), + [anon_sym_auto] = ACTIONS(980), + [anon_sym_register] = ACTIONS(980), + [anon_sym_inline] = ACTIONS(980), + [anon_sym_const] = ACTIONS(980), + [anon_sym_volatile] = ACTIONS(980), + [anon_sym_restrict] = ACTIONS(980), + [anon_sym__Atomic] = ACTIONS(980), + [anon_sym_signed] = ACTIONS(980), + [anon_sym_unsigned] = ACTIONS(980), + [anon_sym_long] = ACTIONS(980), + [anon_sym_short] = ACTIONS(980), + [sym_primitive_type] = ACTIONS(980), + [anon_sym_enum] = ACTIONS(980), + [anon_sym_struct] = ACTIONS(980), + [anon_sym_union] = ACTIONS(980), + [anon_sym_if] = ACTIONS(980), + [anon_sym_else] = ACTIONS(980), + [anon_sym_switch] = ACTIONS(980), + [anon_sym_case] = ACTIONS(980), + [anon_sym_default] = ACTIONS(980), + [anon_sym_while] = ACTIONS(980), + [anon_sym_do] = ACTIONS(980), + [anon_sym_for] = ACTIONS(980), + [anon_sym_return] = ACTIONS(980), + [anon_sym_break] = ACTIONS(980), + [anon_sym_continue] = ACTIONS(980), + [anon_sym_goto] = ACTIONS(980), + [anon_sym_DASH_DASH] = ACTIONS(982), + [anon_sym_PLUS_PLUS] = ACTIONS(982), + [anon_sym_sizeof] = ACTIONS(980), + [sym_number_literal] = ACTIONS(982), + [anon_sym_L_SQUOTE] = ACTIONS(982), + [anon_sym_u_SQUOTE] = ACTIONS(982), + [anon_sym_U_SQUOTE] = ACTIONS(982), + [anon_sym_u8_SQUOTE] = ACTIONS(982), + [anon_sym_SQUOTE] = ACTIONS(982), + [anon_sym_L_DQUOTE] = ACTIONS(982), + [anon_sym_u_DQUOTE] = ACTIONS(982), + [anon_sym_U_DQUOTE] = ACTIONS(982), + [anon_sym_u8_DQUOTE] = ACTIONS(982), + [anon_sym_DQUOTE] = ACTIONS(982), + [sym_true] = ACTIONS(980), + [sym_false] = ACTIONS(980), + [sym_null] = ACTIONS(980), + [sym_comment] = ACTIONS(3), + }, + [130] = { + [ts_builtin_sym_end] = ACTIONS(974), + [sym_identifier] = ACTIONS(972), + [aux_sym_preproc_include_token1] = ACTIONS(972), + [aux_sym_preproc_def_token1] = ACTIONS(972), + [aux_sym_preproc_if_token1] = ACTIONS(972), + [aux_sym_preproc_ifdef_token1] = ACTIONS(972), + [aux_sym_preproc_ifdef_token2] = ACTIONS(972), + [sym_preproc_directive] = ACTIONS(972), + [anon_sym_LPAREN2] = ACTIONS(974), + [anon_sym_BANG] = ACTIONS(974), + [anon_sym_TILDE] = ACTIONS(974), + [anon_sym_DASH] = ACTIONS(972), + [anon_sym_PLUS] = ACTIONS(972), + [anon_sym_STAR] = ACTIONS(974), + [anon_sym_AMP] = ACTIONS(974), + [anon_sym_SEMI] = ACTIONS(974), + [anon_sym_typedef] = ACTIONS(972), + [anon_sym_extern] = ACTIONS(972), + [anon_sym___attribute__] = ACTIONS(972), + [anon_sym_LBRACK_LBRACK] = ACTIONS(974), + [anon_sym___declspec] = ACTIONS(972), + [anon_sym___cdecl] = ACTIONS(972), + [anon_sym___clrcall] = ACTIONS(972), + [anon_sym___stdcall] = ACTIONS(972), + [anon_sym___fastcall] = ACTIONS(972), + [anon_sym___thiscall] = ACTIONS(972), + [anon_sym___vectorcall] = ACTIONS(972), + [anon_sym_LBRACE] = ACTIONS(974), + [anon_sym_static] = ACTIONS(972), + [anon_sym_auto] = ACTIONS(972), + [anon_sym_register] = ACTIONS(972), + [anon_sym_inline] = ACTIONS(972), + [anon_sym_const] = ACTIONS(972), + [anon_sym_volatile] = ACTIONS(972), + [anon_sym_restrict] = ACTIONS(972), + [anon_sym__Atomic] = ACTIONS(972), + [anon_sym_signed] = ACTIONS(972), + [anon_sym_unsigned] = ACTIONS(972), + [anon_sym_long] = ACTIONS(972), + [anon_sym_short] = ACTIONS(972), + [sym_primitive_type] = ACTIONS(972), + [anon_sym_enum] = ACTIONS(972), + [anon_sym_struct] = ACTIONS(972), + [anon_sym_union] = ACTIONS(972), + [anon_sym_if] = ACTIONS(972), + [anon_sym_else] = ACTIONS(972), + [anon_sym_switch] = ACTIONS(972), + [anon_sym_case] = ACTIONS(972), + [anon_sym_default] = ACTIONS(972), + [anon_sym_while] = ACTIONS(972), + [anon_sym_do] = ACTIONS(972), + [anon_sym_for] = ACTIONS(972), + [anon_sym_return] = ACTIONS(972), + [anon_sym_break] = ACTIONS(972), + [anon_sym_continue] = ACTIONS(972), + [anon_sym_goto] = ACTIONS(972), + [anon_sym_DASH_DASH] = ACTIONS(974), + [anon_sym_PLUS_PLUS] = ACTIONS(974), + [anon_sym_sizeof] = ACTIONS(972), + [sym_number_literal] = ACTIONS(974), + [anon_sym_L_SQUOTE] = ACTIONS(974), + [anon_sym_u_SQUOTE] = ACTIONS(974), + [anon_sym_U_SQUOTE] = ACTIONS(974), + [anon_sym_u8_SQUOTE] = ACTIONS(974), + [anon_sym_SQUOTE] = ACTIONS(974), + [anon_sym_L_DQUOTE] = ACTIONS(974), + [anon_sym_u_DQUOTE] = ACTIONS(974), + [anon_sym_U_DQUOTE] = ACTIONS(974), + [anon_sym_u8_DQUOTE] = ACTIONS(974), + [anon_sym_DQUOTE] = ACTIONS(974), + [sym_true] = ACTIONS(972), + [sym_false] = ACTIONS(972), + [sym_null] = ACTIONS(972), + [sym_comment] = ACTIONS(3), + }, + [131] = { + [sym_identifier] = ACTIONS(968), + [aux_sym_preproc_include_token1] = ACTIONS(968), + [aux_sym_preproc_def_token1] = ACTIONS(968), + [aux_sym_preproc_if_token1] = ACTIONS(968), + [aux_sym_preproc_if_token2] = ACTIONS(968), + [aux_sym_preproc_ifdef_token1] = ACTIONS(968), + [aux_sym_preproc_ifdef_token2] = ACTIONS(968), + [sym_preproc_directive] = ACTIONS(968), + [anon_sym_LPAREN2] = ACTIONS(970), + [anon_sym_BANG] = ACTIONS(970), + [anon_sym_TILDE] = ACTIONS(970), + [anon_sym_DASH] = ACTIONS(968), + [anon_sym_PLUS] = ACTIONS(968), + [anon_sym_STAR] = ACTIONS(970), + [anon_sym_AMP] = ACTIONS(970), + [anon_sym_SEMI] = ACTIONS(970), + [anon_sym_typedef] = ACTIONS(968), + [anon_sym_extern] = ACTIONS(968), + [anon_sym___attribute__] = ACTIONS(968), + [anon_sym_LBRACK_LBRACK] = ACTIONS(970), + [anon_sym___declspec] = ACTIONS(968), + [anon_sym___cdecl] = ACTIONS(968), + [anon_sym___clrcall] = ACTIONS(968), + [anon_sym___stdcall] = ACTIONS(968), + [anon_sym___fastcall] = ACTIONS(968), + [anon_sym___thiscall] = ACTIONS(968), + [anon_sym___vectorcall] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(970), + [anon_sym_static] = ACTIONS(968), + [anon_sym_auto] = ACTIONS(968), + [anon_sym_register] = ACTIONS(968), + [anon_sym_inline] = ACTIONS(968), + [anon_sym_const] = ACTIONS(968), + [anon_sym_volatile] = ACTIONS(968), + [anon_sym_restrict] = ACTIONS(968), + [anon_sym__Atomic] = ACTIONS(968), + [anon_sym_signed] = ACTIONS(968), + [anon_sym_unsigned] = ACTIONS(968), + [anon_sym_long] = ACTIONS(968), + [anon_sym_short] = ACTIONS(968), + [sym_primitive_type] = ACTIONS(968), + [anon_sym_enum] = ACTIONS(968), + [anon_sym_struct] = ACTIONS(968), + [anon_sym_union] = ACTIONS(968), + [anon_sym_if] = ACTIONS(968), + [anon_sym_else] = ACTIONS(968), + [anon_sym_switch] = ACTIONS(968), + [anon_sym_case] = ACTIONS(968), + [anon_sym_default] = ACTIONS(968), + [anon_sym_while] = ACTIONS(968), + [anon_sym_do] = ACTIONS(968), + [anon_sym_for] = ACTIONS(968), + [anon_sym_return] = ACTIONS(968), + [anon_sym_break] = ACTIONS(968), + [anon_sym_continue] = ACTIONS(968), + [anon_sym_goto] = ACTIONS(968), + [anon_sym_DASH_DASH] = ACTIONS(970), + [anon_sym_PLUS_PLUS] = ACTIONS(970), + [anon_sym_sizeof] = ACTIONS(968), + [sym_number_literal] = ACTIONS(970), + [anon_sym_L_SQUOTE] = ACTIONS(970), + [anon_sym_u_SQUOTE] = ACTIONS(970), + [anon_sym_U_SQUOTE] = ACTIONS(970), + [anon_sym_u8_SQUOTE] = ACTIONS(970), + [anon_sym_SQUOTE] = ACTIONS(970), + [anon_sym_L_DQUOTE] = ACTIONS(970), + [anon_sym_u_DQUOTE] = ACTIONS(970), + [anon_sym_U_DQUOTE] = ACTIONS(970), + [anon_sym_u8_DQUOTE] = ACTIONS(970), + [anon_sym_DQUOTE] = ACTIONS(970), + [sym_true] = ACTIONS(968), + [sym_false] = ACTIONS(968), + [sym_null] = ACTIONS(968), + [sym_comment] = ACTIONS(3), + }, + [132] = { + [sym_identifier] = ACTIONS(976), + [aux_sym_preproc_include_token1] = ACTIONS(976), + [aux_sym_preproc_def_token1] = ACTIONS(976), + [aux_sym_preproc_if_token1] = ACTIONS(976), + [aux_sym_preproc_if_token2] = ACTIONS(976), + [aux_sym_preproc_ifdef_token1] = ACTIONS(976), + [aux_sym_preproc_ifdef_token2] = ACTIONS(976), + [sym_preproc_directive] = ACTIONS(976), + [anon_sym_LPAREN2] = ACTIONS(978), + [anon_sym_BANG] = ACTIONS(978), + [anon_sym_TILDE] = ACTIONS(978), + [anon_sym_DASH] = ACTIONS(976), + [anon_sym_PLUS] = ACTIONS(976), + [anon_sym_STAR] = ACTIONS(978), + [anon_sym_AMP] = ACTIONS(978), + [anon_sym_SEMI] = ACTIONS(978), + [anon_sym_typedef] = ACTIONS(976), + [anon_sym_extern] = ACTIONS(976), + [anon_sym___attribute__] = ACTIONS(976), + [anon_sym_LBRACK_LBRACK] = ACTIONS(978), + [anon_sym___declspec] = ACTIONS(976), + [anon_sym___cdecl] = ACTIONS(976), + [anon_sym___clrcall] = ACTIONS(976), + [anon_sym___stdcall] = ACTIONS(976), + [anon_sym___fastcall] = ACTIONS(976), + [anon_sym___thiscall] = ACTIONS(976), + [anon_sym___vectorcall] = ACTIONS(976), + [anon_sym_LBRACE] = ACTIONS(978), + [anon_sym_static] = ACTIONS(976), + [anon_sym_auto] = ACTIONS(976), + [anon_sym_register] = ACTIONS(976), + [anon_sym_inline] = ACTIONS(976), + [anon_sym_const] = ACTIONS(976), + [anon_sym_volatile] = ACTIONS(976), + [anon_sym_restrict] = ACTIONS(976), + [anon_sym__Atomic] = ACTIONS(976), + [anon_sym_signed] = ACTIONS(976), + [anon_sym_unsigned] = ACTIONS(976), + [anon_sym_long] = ACTIONS(976), + [anon_sym_short] = ACTIONS(976), + [sym_primitive_type] = ACTIONS(976), + [anon_sym_enum] = ACTIONS(976), + [anon_sym_struct] = ACTIONS(976), + [anon_sym_union] = ACTIONS(976), + [anon_sym_if] = ACTIONS(976), + [anon_sym_else] = ACTIONS(976), + [anon_sym_switch] = ACTIONS(976), + [anon_sym_case] = ACTIONS(976), + [anon_sym_default] = ACTIONS(976), + [anon_sym_while] = ACTIONS(976), + [anon_sym_do] = ACTIONS(976), + [anon_sym_for] = ACTIONS(976), + [anon_sym_return] = ACTIONS(976), + [anon_sym_break] = ACTIONS(976), + [anon_sym_continue] = ACTIONS(976), + [anon_sym_goto] = ACTIONS(976), + [anon_sym_DASH_DASH] = ACTIONS(978), + [anon_sym_PLUS_PLUS] = ACTIONS(978), + [anon_sym_sizeof] = ACTIONS(976), + [sym_number_literal] = ACTIONS(978), + [anon_sym_L_SQUOTE] = ACTIONS(978), + [anon_sym_u_SQUOTE] = ACTIONS(978), + [anon_sym_U_SQUOTE] = ACTIONS(978), + [anon_sym_u8_SQUOTE] = ACTIONS(978), + [anon_sym_SQUOTE] = ACTIONS(978), + [anon_sym_L_DQUOTE] = ACTIONS(978), + [anon_sym_u_DQUOTE] = ACTIONS(978), + [anon_sym_U_DQUOTE] = ACTIONS(978), + [anon_sym_u8_DQUOTE] = ACTIONS(978), + [anon_sym_DQUOTE] = ACTIONS(978), + [sym_true] = ACTIONS(976), + [sym_false] = ACTIONS(976), + [sym_null] = ACTIONS(976), + [sym_comment] = ACTIONS(3), + }, + [133] = { + [sym_identifier] = ACTIONS(996), + [aux_sym_preproc_include_token1] = ACTIONS(996), + [aux_sym_preproc_def_token1] = ACTIONS(996), + [aux_sym_preproc_if_token1] = ACTIONS(996), + [aux_sym_preproc_if_token2] = ACTIONS(996), + [aux_sym_preproc_ifdef_token1] = ACTIONS(996), + [aux_sym_preproc_ifdef_token2] = ACTIONS(996), + [sym_preproc_directive] = ACTIONS(996), + [anon_sym_LPAREN2] = ACTIONS(998), + [anon_sym_BANG] = ACTIONS(998), + [anon_sym_TILDE] = ACTIONS(998), + [anon_sym_DASH] = ACTIONS(996), + [anon_sym_PLUS] = ACTIONS(996), + [anon_sym_STAR] = ACTIONS(998), + [anon_sym_AMP] = ACTIONS(998), + [anon_sym_SEMI] = ACTIONS(998), + [anon_sym_typedef] = ACTIONS(996), + [anon_sym_extern] = ACTIONS(996), + [anon_sym___attribute__] = ACTIONS(996), + [anon_sym_LBRACK_LBRACK] = ACTIONS(998), + [anon_sym___declspec] = ACTIONS(996), + [anon_sym___cdecl] = ACTIONS(996), + [anon_sym___clrcall] = ACTIONS(996), + [anon_sym___stdcall] = ACTIONS(996), + [anon_sym___fastcall] = ACTIONS(996), + [anon_sym___thiscall] = ACTIONS(996), + [anon_sym___vectorcall] = ACTIONS(996), + [anon_sym_LBRACE] = ACTIONS(998), + [anon_sym_static] = ACTIONS(996), + [anon_sym_auto] = ACTIONS(996), + [anon_sym_register] = ACTIONS(996), + [anon_sym_inline] = ACTIONS(996), + [anon_sym_const] = ACTIONS(996), + [anon_sym_volatile] = ACTIONS(996), + [anon_sym_restrict] = ACTIONS(996), + [anon_sym__Atomic] = ACTIONS(996), + [anon_sym_signed] = ACTIONS(996), + [anon_sym_unsigned] = ACTIONS(996), + [anon_sym_long] = ACTIONS(996), + [anon_sym_short] = ACTIONS(996), + [sym_primitive_type] = ACTIONS(996), + [anon_sym_enum] = ACTIONS(996), + [anon_sym_struct] = ACTIONS(996), + [anon_sym_union] = ACTIONS(996), + [anon_sym_if] = ACTIONS(996), + [anon_sym_else] = ACTIONS(996), + [anon_sym_switch] = ACTIONS(996), + [anon_sym_case] = ACTIONS(996), + [anon_sym_default] = ACTIONS(996), + [anon_sym_while] = ACTIONS(996), + [anon_sym_do] = ACTIONS(996), + [anon_sym_for] = ACTIONS(996), + [anon_sym_return] = ACTIONS(996), + [anon_sym_break] = ACTIONS(996), + [anon_sym_continue] = ACTIONS(996), + [anon_sym_goto] = ACTIONS(996), + [anon_sym_DASH_DASH] = ACTIONS(998), + [anon_sym_PLUS_PLUS] = ACTIONS(998), + [anon_sym_sizeof] = ACTIONS(996), + [sym_number_literal] = ACTIONS(998), + [anon_sym_L_SQUOTE] = ACTIONS(998), + [anon_sym_u_SQUOTE] = ACTIONS(998), + [anon_sym_U_SQUOTE] = ACTIONS(998), + [anon_sym_u8_SQUOTE] = ACTIONS(998), + [anon_sym_SQUOTE] = ACTIONS(998), + [anon_sym_L_DQUOTE] = ACTIONS(998), + [anon_sym_u_DQUOTE] = ACTIONS(998), + [anon_sym_U_DQUOTE] = ACTIONS(998), + [anon_sym_u8_DQUOTE] = ACTIONS(998), + [anon_sym_DQUOTE] = ACTIONS(998), + [sym_true] = ACTIONS(996), + [sym_false] = ACTIONS(996), + [sym_null] = ACTIONS(996), + [sym_comment] = ACTIONS(3), + }, + [134] = { + [ts_builtin_sym_end] = ACTIONS(966), + [sym_identifier] = ACTIONS(964), + [aux_sym_preproc_include_token1] = ACTIONS(964), + [aux_sym_preproc_def_token1] = ACTIONS(964), + [aux_sym_preproc_if_token1] = ACTIONS(964), + [aux_sym_preproc_ifdef_token1] = ACTIONS(964), + [aux_sym_preproc_ifdef_token2] = ACTIONS(964), + [sym_preproc_directive] = ACTIONS(964), + [anon_sym_LPAREN2] = ACTIONS(966), + [anon_sym_BANG] = ACTIONS(966), + [anon_sym_TILDE] = ACTIONS(966), + [anon_sym_DASH] = ACTIONS(964), + [anon_sym_PLUS] = ACTIONS(964), + [anon_sym_STAR] = ACTIONS(966), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(966), + [anon_sym_typedef] = ACTIONS(964), + [anon_sym_extern] = ACTIONS(964), + [anon_sym___attribute__] = ACTIONS(964), + [anon_sym_LBRACK_LBRACK] = ACTIONS(966), + [anon_sym___declspec] = ACTIONS(964), + [anon_sym___cdecl] = ACTIONS(964), + [anon_sym___clrcall] = ACTIONS(964), + [anon_sym___stdcall] = ACTIONS(964), + [anon_sym___fastcall] = ACTIONS(964), + [anon_sym___thiscall] = ACTIONS(964), + [anon_sym___vectorcall] = ACTIONS(964), + [anon_sym_LBRACE] = ACTIONS(966), + [anon_sym_static] = ACTIONS(964), + [anon_sym_auto] = ACTIONS(964), + [anon_sym_register] = ACTIONS(964), + [anon_sym_inline] = ACTIONS(964), + [anon_sym_const] = ACTIONS(964), + [anon_sym_volatile] = ACTIONS(964), + [anon_sym_restrict] = ACTIONS(964), + [anon_sym__Atomic] = ACTIONS(964), + [anon_sym_signed] = ACTIONS(964), + [anon_sym_unsigned] = ACTIONS(964), + [anon_sym_long] = ACTIONS(964), + [anon_sym_short] = ACTIONS(964), + [sym_primitive_type] = ACTIONS(964), + [anon_sym_enum] = ACTIONS(964), + [anon_sym_struct] = ACTIONS(964), + [anon_sym_union] = ACTIONS(964), + [anon_sym_if] = ACTIONS(964), + [anon_sym_else] = ACTIONS(964), + [anon_sym_switch] = ACTIONS(964), + [anon_sym_case] = ACTIONS(964), + [anon_sym_default] = ACTIONS(964), + [anon_sym_while] = ACTIONS(964), + [anon_sym_do] = ACTIONS(964), + [anon_sym_for] = ACTIONS(964), + [anon_sym_return] = ACTIONS(964), + [anon_sym_break] = ACTIONS(964), + [anon_sym_continue] = ACTIONS(964), + [anon_sym_goto] = ACTIONS(964), + [anon_sym_DASH_DASH] = ACTIONS(966), + [anon_sym_PLUS_PLUS] = ACTIONS(966), + [anon_sym_sizeof] = ACTIONS(964), + [sym_number_literal] = ACTIONS(966), + [anon_sym_L_SQUOTE] = ACTIONS(966), + [anon_sym_u_SQUOTE] = ACTIONS(966), + [anon_sym_U_SQUOTE] = ACTIONS(966), + [anon_sym_u8_SQUOTE] = ACTIONS(966), + [anon_sym_SQUOTE] = ACTIONS(966), + [anon_sym_L_DQUOTE] = ACTIONS(966), + [anon_sym_u_DQUOTE] = ACTIONS(966), + [anon_sym_U_DQUOTE] = ACTIONS(966), + [anon_sym_u8_DQUOTE] = ACTIONS(966), + [anon_sym_DQUOTE] = ACTIONS(966), + [sym_true] = ACTIONS(964), + [sym_false] = ACTIONS(964), + [sym_null] = ACTIONS(964), + [sym_comment] = ACTIONS(3), + }, + [135] = { + [ts_builtin_sym_end] = ACTIONS(986), + [sym_identifier] = ACTIONS(984), + [aux_sym_preproc_include_token1] = ACTIONS(984), + [aux_sym_preproc_def_token1] = ACTIONS(984), + [aux_sym_preproc_if_token1] = ACTIONS(984), + [aux_sym_preproc_ifdef_token1] = ACTIONS(984), + [aux_sym_preproc_ifdef_token2] = ACTIONS(984), + [sym_preproc_directive] = ACTIONS(984), + [anon_sym_LPAREN2] = ACTIONS(986), + [anon_sym_BANG] = ACTIONS(986), + [anon_sym_TILDE] = ACTIONS(986), + [anon_sym_DASH] = ACTIONS(984), + [anon_sym_PLUS] = ACTIONS(984), + [anon_sym_STAR] = ACTIONS(986), + [anon_sym_AMP] = ACTIONS(986), + [anon_sym_SEMI] = ACTIONS(986), + [anon_sym_typedef] = ACTIONS(984), + [anon_sym_extern] = ACTIONS(984), + [anon_sym___attribute__] = ACTIONS(984), + [anon_sym_LBRACK_LBRACK] = ACTIONS(986), + [anon_sym___declspec] = ACTIONS(984), + [anon_sym___cdecl] = ACTIONS(984), + [anon_sym___clrcall] = ACTIONS(984), + [anon_sym___stdcall] = ACTIONS(984), + [anon_sym___fastcall] = ACTIONS(984), + [anon_sym___thiscall] = ACTIONS(984), + [anon_sym___vectorcall] = ACTIONS(984), + [anon_sym_LBRACE] = ACTIONS(986), + [anon_sym_static] = ACTIONS(984), + [anon_sym_auto] = ACTIONS(984), + [anon_sym_register] = ACTIONS(984), + [anon_sym_inline] = ACTIONS(984), + [anon_sym_const] = ACTIONS(984), + [anon_sym_volatile] = ACTIONS(984), + [anon_sym_restrict] = ACTIONS(984), + [anon_sym__Atomic] = ACTIONS(984), + [anon_sym_signed] = ACTIONS(984), + [anon_sym_unsigned] = ACTIONS(984), + [anon_sym_long] = ACTIONS(984), + [anon_sym_short] = ACTIONS(984), + [sym_primitive_type] = ACTIONS(984), + [anon_sym_enum] = ACTIONS(984), + [anon_sym_struct] = ACTIONS(984), + [anon_sym_union] = ACTIONS(984), + [anon_sym_if] = ACTIONS(984), + [anon_sym_else] = ACTIONS(984), + [anon_sym_switch] = ACTIONS(984), + [anon_sym_case] = ACTIONS(984), + [anon_sym_default] = ACTIONS(984), + [anon_sym_while] = ACTIONS(984), + [anon_sym_do] = ACTIONS(984), + [anon_sym_for] = ACTIONS(984), + [anon_sym_return] = ACTIONS(984), + [anon_sym_break] = ACTIONS(984), + [anon_sym_continue] = ACTIONS(984), + [anon_sym_goto] = ACTIONS(984), + [anon_sym_DASH_DASH] = ACTIONS(986), + [anon_sym_PLUS_PLUS] = ACTIONS(986), + [anon_sym_sizeof] = ACTIONS(984), + [sym_number_literal] = ACTIONS(986), + [anon_sym_L_SQUOTE] = ACTIONS(986), + [anon_sym_u_SQUOTE] = ACTIONS(986), + [anon_sym_U_SQUOTE] = ACTIONS(986), + [anon_sym_u8_SQUOTE] = ACTIONS(986), + [anon_sym_SQUOTE] = ACTIONS(986), + [anon_sym_L_DQUOTE] = ACTIONS(986), + [anon_sym_u_DQUOTE] = ACTIONS(986), + [anon_sym_U_DQUOTE] = ACTIONS(986), + [anon_sym_u8_DQUOTE] = ACTIONS(986), + [anon_sym_DQUOTE] = ACTIONS(986), + [sym_true] = ACTIONS(984), + [sym_false] = ACTIONS(984), + [sym_null] = ACTIONS(984), + [sym_comment] = ACTIONS(3), + }, + [136] = { + [ts_builtin_sym_end] = ACTIONS(916), + [sym_identifier] = ACTIONS(914), + [aux_sym_preproc_include_token1] = ACTIONS(914), + [aux_sym_preproc_def_token1] = ACTIONS(914), + [aux_sym_preproc_if_token1] = ACTIONS(914), + [aux_sym_preproc_ifdef_token1] = ACTIONS(914), + [aux_sym_preproc_ifdef_token2] = ACTIONS(914), + [sym_preproc_directive] = ACTIONS(914), + [anon_sym_LPAREN2] = ACTIONS(916), + [anon_sym_BANG] = ACTIONS(916), + [anon_sym_TILDE] = ACTIONS(916), + [anon_sym_DASH] = ACTIONS(914), + [anon_sym_PLUS] = ACTIONS(914), + [anon_sym_STAR] = ACTIONS(916), + [anon_sym_AMP] = ACTIONS(916), + [anon_sym_SEMI] = ACTIONS(916), + [anon_sym_typedef] = ACTIONS(914), + [anon_sym_extern] = ACTIONS(914), + [anon_sym___attribute__] = ACTIONS(914), + [anon_sym_LBRACK_LBRACK] = ACTIONS(916), + [anon_sym___declspec] = ACTIONS(914), + [anon_sym___cdecl] = ACTIONS(914), + [anon_sym___clrcall] = ACTIONS(914), + [anon_sym___stdcall] = ACTIONS(914), + [anon_sym___fastcall] = ACTIONS(914), + [anon_sym___thiscall] = ACTIONS(914), + [anon_sym___vectorcall] = ACTIONS(914), + [anon_sym_LBRACE] = ACTIONS(916), + [anon_sym_static] = ACTIONS(914), + [anon_sym_auto] = ACTIONS(914), + [anon_sym_register] = ACTIONS(914), + [anon_sym_inline] = ACTIONS(914), + [anon_sym_const] = ACTIONS(914), + [anon_sym_volatile] = ACTIONS(914), + [anon_sym_restrict] = ACTIONS(914), + [anon_sym__Atomic] = ACTIONS(914), + [anon_sym_signed] = ACTIONS(914), + [anon_sym_unsigned] = ACTIONS(914), + [anon_sym_long] = ACTIONS(914), + [anon_sym_short] = ACTIONS(914), + [sym_primitive_type] = ACTIONS(914), + [anon_sym_enum] = ACTIONS(914), + [anon_sym_struct] = ACTIONS(914), + [anon_sym_union] = ACTIONS(914), + [anon_sym_if] = ACTIONS(914), + [anon_sym_else] = ACTIONS(914), + [anon_sym_switch] = ACTIONS(914), + [anon_sym_case] = ACTIONS(914), + [anon_sym_default] = ACTIONS(914), + [anon_sym_while] = ACTIONS(914), + [anon_sym_do] = ACTIONS(914), + [anon_sym_for] = ACTIONS(914), + [anon_sym_return] = ACTIONS(914), + [anon_sym_break] = ACTIONS(914), + [anon_sym_continue] = ACTIONS(914), + [anon_sym_goto] = ACTIONS(914), + [anon_sym_DASH_DASH] = ACTIONS(916), + [anon_sym_PLUS_PLUS] = ACTIONS(916), + [anon_sym_sizeof] = ACTIONS(914), + [sym_number_literal] = ACTIONS(916), + [anon_sym_L_SQUOTE] = ACTIONS(916), + [anon_sym_u_SQUOTE] = ACTIONS(916), + [anon_sym_U_SQUOTE] = ACTIONS(916), + [anon_sym_u8_SQUOTE] = ACTIONS(916), + [anon_sym_SQUOTE] = ACTIONS(916), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(914), + [sym_false] = ACTIONS(914), + [sym_null] = ACTIONS(914), + [sym_comment] = ACTIONS(3), + }, + [137] = { + [sym_identifier] = ACTIONS(1000), + [aux_sym_preproc_include_token1] = ACTIONS(1000), + [aux_sym_preproc_def_token1] = ACTIONS(1000), + [aux_sym_preproc_if_token1] = ACTIONS(1000), + [aux_sym_preproc_if_token2] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1000), + [sym_preproc_directive] = ACTIONS(1000), + [anon_sym_LPAREN2] = ACTIONS(1002), + [anon_sym_BANG] = ACTIONS(1002), + [anon_sym_TILDE] = ACTIONS(1002), + [anon_sym_DASH] = ACTIONS(1000), + [anon_sym_PLUS] = ACTIONS(1000), + [anon_sym_STAR] = ACTIONS(1002), + [anon_sym_AMP] = ACTIONS(1002), + [anon_sym_SEMI] = ACTIONS(1002), + [anon_sym_typedef] = ACTIONS(1000), + [anon_sym_extern] = ACTIONS(1000), + [anon_sym___attribute__] = ACTIONS(1000), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1002), + [anon_sym___declspec] = ACTIONS(1000), + [anon_sym___cdecl] = ACTIONS(1000), + [anon_sym___clrcall] = ACTIONS(1000), + [anon_sym___stdcall] = ACTIONS(1000), + [anon_sym___fastcall] = ACTIONS(1000), + [anon_sym___thiscall] = ACTIONS(1000), + [anon_sym___vectorcall] = ACTIONS(1000), + [anon_sym_LBRACE] = ACTIONS(1002), + [anon_sym_static] = ACTIONS(1000), + [anon_sym_auto] = ACTIONS(1000), + [anon_sym_register] = ACTIONS(1000), + [anon_sym_inline] = ACTIONS(1000), + [anon_sym_const] = ACTIONS(1000), + [anon_sym_volatile] = ACTIONS(1000), + [anon_sym_restrict] = ACTIONS(1000), + [anon_sym__Atomic] = ACTIONS(1000), + [anon_sym_signed] = ACTIONS(1000), + [anon_sym_unsigned] = ACTIONS(1000), + [anon_sym_long] = ACTIONS(1000), + [anon_sym_short] = ACTIONS(1000), + [sym_primitive_type] = ACTIONS(1000), + [anon_sym_enum] = ACTIONS(1000), + [anon_sym_struct] = ACTIONS(1000), + [anon_sym_union] = ACTIONS(1000), + [anon_sym_if] = ACTIONS(1000), + [anon_sym_else] = ACTIONS(1000), + [anon_sym_switch] = ACTIONS(1000), + [anon_sym_case] = ACTIONS(1000), + [anon_sym_default] = ACTIONS(1000), + [anon_sym_while] = ACTIONS(1000), + [anon_sym_do] = ACTIONS(1000), + [anon_sym_for] = ACTIONS(1000), + [anon_sym_return] = ACTIONS(1000), + [anon_sym_break] = ACTIONS(1000), + [anon_sym_continue] = ACTIONS(1000), + [anon_sym_goto] = ACTIONS(1000), + [anon_sym_DASH_DASH] = ACTIONS(1002), + [anon_sym_PLUS_PLUS] = ACTIONS(1002), + [anon_sym_sizeof] = ACTIONS(1000), + [sym_number_literal] = ACTIONS(1002), + [anon_sym_L_SQUOTE] = ACTIONS(1002), + [anon_sym_u_SQUOTE] = ACTIONS(1002), + [anon_sym_U_SQUOTE] = ACTIONS(1002), + [anon_sym_u8_SQUOTE] = ACTIONS(1002), + [anon_sym_SQUOTE] = ACTIONS(1002), + [anon_sym_L_DQUOTE] = ACTIONS(1002), + [anon_sym_u_DQUOTE] = ACTIONS(1002), + [anon_sym_U_DQUOTE] = ACTIONS(1002), + [anon_sym_u8_DQUOTE] = ACTIONS(1002), + [anon_sym_DQUOTE] = ACTIONS(1002), + [sym_true] = ACTIONS(1000), + [sym_false] = ACTIONS(1000), + [sym_null] = ACTIONS(1000), + [sym_comment] = ACTIONS(3), + }, + [138] = { + [ts_builtin_sym_end] = ACTIONS(990), + [sym_identifier] = ACTIONS(988), + [aux_sym_preproc_include_token1] = ACTIONS(988), + [aux_sym_preproc_def_token1] = ACTIONS(988), + [aux_sym_preproc_if_token1] = ACTIONS(988), + [aux_sym_preproc_ifdef_token1] = ACTIONS(988), + [aux_sym_preproc_ifdef_token2] = ACTIONS(988), + [sym_preproc_directive] = ACTIONS(988), + [anon_sym_LPAREN2] = ACTIONS(990), + [anon_sym_BANG] = ACTIONS(990), + [anon_sym_TILDE] = ACTIONS(990), + [anon_sym_DASH] = ACTIONS(988), + [anon_sym_PLUS] = ACTIONS(988), + [anon_sym_STAR] = ACTIONS(990), + [anon_sym_AMP] = ACTIONS(990), + [anon_sym_SEMI] = ACTIONS(990), + [anon_sym_typedef] = ACTIONS(988), + [anon_sym_extern] = ACTIONS(988), + [anon_sym___attribute__] = ACTIONS(988), + [anon_sym_LBRACK_LBRACK] = ACTIONS(990), + [anon_sym___declspec] = ACTIONS(988), + [anon_sym___cdecl] = ACTIONS(988), + [anon_sym___clrcall] = ACTIONS(988), + [anon_sym___stdcall] = ACTIONS(988), + [anon_sym___fastcall] = ACTIONS(988), + [anon_sym___thiscall] = ACTIONS(988), + [anon_sym___vectorcall] = ACTIONS(988), + [anon_sym_LBRACE] = ACTIONS(990), + [anon_sym_static] = ACTIONS(988), + [anon_sym_auto] = ACTIONS(988), + [anon_sym_register] = ACTIONS(988), + [anon_sym_inline] = ACTIONS(988), + [anon_sym_const] = ACTIONS(988), + [anon_sym_volatile] = ACTIONS(988), + [anon_sym_restrict] = ACTIONS(988), + [anon_sym__Atomic] = ACTIONS(988), + [anon_sym_signed] = ACTIONS(988), + [anon_sym_unsigned] = ACTIONS(988), + [anon_sym_long] = ACTIONS(988), + [anon_sym_short] = ACTIONS(988), + [sym_primitive_type] = ACTIONS(988), + [anon_sym_enum] = ACTIONS(988), + [anon_sym_struct] = ACTIONS(988), + [anon_sym_union] = ACTIONS(988), + [anon_sym_if] = ACTIONS(988), + [anon_sym_else] = ACTIONS(988), + [anon_sym_switch] = ACTIONS(988), + [anon_sym_case] = ACTIONS(988), + [anon_sym_default] = ACTIONS(988), + [anon_sym_while] = ACTIONS(988), + [anon_sym_do] = ACTIONS(988), + [anon_sym_for] = ACTIONS(988), + [anon_sym_return] = ACTIONS(988), + [anon_sym_break] = ACTIONS(988), + [anon_sym_continue] = ACTIONS(988), + [anon_sym_goto] = ACTIONS(988), + [anon_sym_DASH_DASH] = ACTIONS(990), + [anon_sym_PLUS_PLUS] = ACTIONS(990), + [anon_sym_sizeof] = ACTIONS(988), + [sym_number_literal] = ACTIONS(990), + [anon_sym_L_SQUOTE] = ACTIONS(990), + [anon_sym_u_SQUOTE] = ACTIONS(990), + [anon_sym_U_SQUOTE] = ACTIONS(990), + [anon_sym_u8_SQUOTE] = ACTIONS(990), + [anon_sym_SQUOTE] = ACTIONS(990), + [anon_sym_L_DQUOTE] = ACTIONS(990), + [anon_sym_u_DQUOTE] = ACTIONS(990), + [anon_sym_U_DQUOTE] = ACTIONS(990), + [anon_sym_u8_DQUOTE] = ACTIONS(990), + [anon_sym_DQUOTE] = ACTIONS(990), + [sym_true] = ACTIONS(988), + [sym_false] = ACTIONS(988), + [sym_null] = ACTIONS(988), + [sym_comment] = ACTIONS(3), + }, + [139] = { + [ts_builtin_sym_end] = ACTIONS(994), + [sym_identifier] = ACTIONS(992), + [aux_sym_preproc_include_token1] = ACTIONS(992), + [aux_sym_preproc_def_token1] = ACTIONS(992), + [aux_sym_preproc_if_token1] = ACTIONS(992), + [aux_sym_preproc_ifdef_token1] = ACTIONS(992), + [aux_sym_preproc_ifdef_token2] = ACTIONS(992), + [sym_preproc_directive] = ACTIONS(992), + [anon_sym_LPAREN2] = ACTIONS(994), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(992), + [anon_sym_PLUS] = ACTIONS(992), + [anon_sym_STAR] = ACTIONS(994), + [anon_sym_AMP] = ACTIONS(994), + [anon_sym_SEMI] = ACTIONS(994), + [anon_sym_typedef] = ACTIONS(992), + [anon_sym_extern] = ACTIONS(992), + [anon_sym___attribute__] = ACTIONS(992), + [anon_sym_LBRACK_LBRACK] = ACTIONS(994), + [anon_sym___declspec] = ACTIONS(992), + [anon_sym___cdecl] = ACTIONS(992), + [anon_sym___clrcall] = ACTIONS(992), + [anon_sym___stdcall] = ACTIONS(992), + [anon_sym___fastcall] = ACTIONS(992), + [anon_sym___thiscall] = ACTIONS(992), + [anon_sym___vectorcall] = ACTIONS(992), + [anon_sym_LBRACE] = ACTIONS(994), + [anon_sym_static] = ACTIONS(992), + [anon_sym_auto] = ACTIONS(992), + [anon_sym_register] = ACTIONS(992), + [anon_sym_inline] = ACTIONS(992), + [anon_sym_const] = ACTIONS(992), + [anon_sym_volatile] = ACTIONS(992), + [anon_sym_restrict] = ACTIONS(992), + [anon_sym__Atomic] = ACTIONS(992), + [anon_sym_signed] = ACTIONS(992), + [anon_sym_unsigned] = ACTIONS(992), + [anon_sym_long] = ACTIONS(992), + [anon_sym_short] = ACTIONS(992), + [sym_primitive_type] = ACTIONS(992), + [anon_sym_enum] = ACTIONS(992), + [anon_sym_struct] = ACTIONS(992), + [anon_sym_union] = ACTIONS(992), + [anon_sym_if] = ACTIONS(992), + [anon_sym_else] = ACTIONS(992), + [anon_sym_switch] = ACTIONS(992), + [anon_sym_case] = ACTIONS(992), + [anon_sym_default] = ACTIONS(992), + [anon_sym_while] = ACTIONS(992), + [anon_sym_do] = ACTIONS(992), + [anon_sym_for] = ACTIONS(992), + [anon_sym_return] = ACTIONS(992), + [anon_sym_break] = ACTIONS(992), + [anon_sym_continue] = ACTIONS(992), + [anon_sym_goto] = ACTIONS(992), + [anon_sym_DASH_DASH] = ACTIONS(994), + [anon_sym_PLUS_PLUS] = ACTIONS(994), + [anon_sym_sizeof] = ACTIONS(992), + [sym_number_literal] = ACTIONS(994), + [anon_sym_L_SQUOTE] = ACTIONS(994), + [anon_sym_u_SQUOTE] = ACTIONS(994), + [anon_sym_U_SQUOTE] = ACTIONS(994), + [anon_sym_u8_SQUOTE] = ACTIONS(994), + [anon_sym_SQUOTE] = ACTIONS(994), + [anon_sym_L_DQUOTE] = ACTIONS(994), + [anon_sym_u_DQUOTE] = ACTIONS(994), + [anon_sym_U_DQUOTE] = ACTIONS(994), + [anon_sym_u8_DQUOTE] = ACTIONS(994), + [anon_sym_DQUOTE] = ACTIONS(994), + [sym_true] = ACTIONS(992), + [sym_false] = ACTIONS(992), + [sym_null] = ACTIONS(992), + [sym_comment] = ACTIONS(3), + }, + [140] = { + [ts_builtin_sym_end] = ACTIONS(958), + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(956), + [aux_sym_preproc_def_token1] = ACTIONS(956), + [aux_sym_preproc_if_token1] = ACTIONS(956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(956), + [sym_preproc_directive] = ACTIONS(956), + [anon_sym_LPAREN2] = ACTIONS(958), + [anon_sym_BANG] = ACTIONS(958), + [anon_sym_TILDE] = ACTIONS(958), + [anon_sym_DASH] = ACTIONS(956), + [anon_sym_PLUS] = ACTIONS(956), + [anon_sym_STAR] = ACTIONS(958), + [anon_sym_AMP] = ACTIONS(958), + [anon_sym_SEMI] = ACTIONS(958), + [anon_sym_typedef] = ACTIONS(956), + [anon_sym_extern] = ACTIONS(956), + [anon_sym___attribute__] = ACTIONS(956), + [anon_sym_LBRACK_LBRACK] = ACTIONS(958), + [anon_sym___declspec] = ACTIONS(956), + [anon_sym___cdecl] = ACTIONS(956), + [anon_sym___clrcall] = ACTIONS(956), + [anon_sym___stdcall] = ACTIONS(956), + [anon_sym___fastcall] = ACTIONS(956), + [anon_sym___thiscall] = ACTIONS(956), + [anon_sym___vectorcall] = ACTIONS(956), + [anon_sym_LBRACE] = ACTIONS(958), + [anon_sym_static] = ACTIONS(956), + [anon_sym_auto] = ACTIONS(956), + [anon_sym_register] = ACTIONS(956), + [anon_sym_inline] = ACTIONS(956), + [anon_sym_const] = ACTIONS(956), + [anon_sym_volatile] = ACTIONS(956), + [anon_sym_restrict] = ACTIONS(956), + [anon_sym__Atomic] = ACTIONS(956), + [anon_sym_signed] = ACTIONS(956), + [anon_sym_unsigned] = ACTIONS(956), + [anon_sym_long] = ACTIONS(956), + [anon_sym_short] = ACTIONS(956), + [sym_primitive_type] = ACTIONS(956), + [anon_sym_enum] = ACTIONS(956), + [anon_sym_struct] = ACTIONS(956), + [anon_sym_union] = ACTIONS(956), + [anon_sym_if] = ACTIONS(956), + [anon_sym_else] = ACTIONS(956), + [anon_sym_switch] = ACTIONS(956), + [anon_sym_case] = ACTIONS(956), + [anon_sym_default] = ACTIONS(956), + [anon_sym_while] = ACTIONS(956), + [anon_sym_do] = ACTIONS(956), + [anon_sym_for] = ACTIONS(956), + [anon_sym_return] = ACTIONS(956), + [anon_sym_break] = ACTIONS(956), + [anon_sym_continue] = ACTIONS(956), + [anon_sym_goto] = ACTIONS(956), + [anon_sym_DASH_DASH] = ACTIONS(958), + [anon_sym_PLUS_PLUS] = ACTIONS(958), + [anon_sym_sizeof] = ACTIONS(956), + [sym_number_literal] = ACTIONS(958), + [anon_sym_L_SQUOTE] = ACTIONS(958), + [anon_sym_u_SQUOTE] = ACTIONS(958), + [anon_sym_U_SQUOTE] = ACTIONS(958), + [anon_sym_u8_SQUOTE] = ACTIONS(958), + [anon_sym_SQUOTE] = ACTIONS(958), + [anon_sym_L_DQUOTE] = ACTIONS(958), + [anon_sym_u_DQUOTE] = ACTIONS(958), + [anon_sym_U_DQUOTE] = ACTIONS(958), + [anon_sym_u8_DQUOTE] = ACTIONS(958), + [anon_sym_DQUOTE] = ACTIONS(958), + [sym_true] = ACTIONS(956), + [sym_false] = ACTIONS(956), + [sym_null] = ACTIONS(956), + [sym_comment] = ACTIONS(3), + }, + [141] = { + [sym_identifier] = ACTIONS(914), + [aux_sym_preproc_include_token1] = ACTIONS(914), + [aux_sym_preproc_def_token1] = ACTIONS(914), + [aux_sym_preproc_if_token1] = ACTIONS(914), + [aux_sym_preproc_if_token2] = ACTIONS(914), + [aux_sym_preproc_ifdef_token1] = ACTIONS(914), + [aux_sym_preproc_ifdef_token2] = ACTIONS(914), + [sym_preproc_directive] = ACTIONS(914), + [anon_sym_LPAREN2] = ACTIONS(916), + [anon_sym_BANG] = ACTIONS(916), + [anon_sym_TILDE] = ACTIONS(916), + [anon_sym_DASH] = ACTIONS(914), + [anon_sym_PLUS] = ACTIONS(914), + [anon_sym_STAR] = ACTIONS(916), + [anon_sym_AMP] = ACTIONS(916), + [anon_sym_SEMI] = ACTIONS(916), + [anon_sym_typedef] = ACTIONS(914), + [anon_sym_extern] = ACTIONS(914), + [anon_sym___attribute__] = ACTIONS(914), + [anon_sym_LBRACK_LBRACK] = ACTIONS(916), + [anon_sym___declspec] = ACTIONS(914), + [anon_sym___cdecl] = ACTIONS(914), + [anon_sym___clrcall] = ACTIONS(914), + [anon_sym___stdcall] = ACTIONS(914), + [anon_sym___fastcall] = ACTIONS(914), + [anon_sym___thiscall] = ACTIONS(914), + [anon_sym___vectorcall] = ACTIONS(914), + [anon_sym_LBRACE] = ACTIONS(916), + [anon_sym_static] = ACTIONS(914), + [anon_sym_auto] = ACTIONS(914), + [anon_sym_register] = ACTIONS(914), + [anon_sym_inline] = ACTIONS(914), + [anon_sym_const] = ACTIONS(914), + [anon_sym_volatile] = ACTIONS(914), + [anon_sym_restrict] = ACTIONS(914), + [anon_sym__Atomic] = ACTIONS(914), + [anon_sym_signed] = ACTIONS(914), + [anon_sym_unsigned] = ACTIONS(914), + [anon_sym_long] = ACTIONS(914), + [anon_sym_short] = ACTIONS(914), + [sym_primitive_type] = ACTIONS(914), + [anon_sym_enum] = ACTIONS(914), + [anon_sym_struct] = ACTIONS(914), + [anon_sym_union] = ACTIONS(914), + [anon_sym_if] = ACTIONS(914), + [anon_sym_else] = ACTIONS(914), + [anon_sym_switch] = ACTIONS(914), + [anon_sym_case] = ACTIONS(914), + [anon_sym_default] = ACTIONS(914), + [anon_sym_while] = ACTIONS(914), + [anon_sym_do] = ACTIONS(914), + [anon_sym_for] = ACTIONS(914), + [anon_sym_return] = ACTIONS(914), + [anon_sym_break] = ACTIONS(914), + [anon_sym_continue] = ACTIONS(914), + [anon_sym_goto] = ACTIONS(914), + [anon_sym_DASH_DASH] = ACTIONS(916), + [anon_sym_PLUS_PLUS] = ACTIONS(916), + [anon_sym_sizeof] = ACTIONS(914), + [sym_number_literal] = ACTIONS(916), + [anon_sym_L_SQUOTE] = ACTIONS(916), + [anon_sym_u_SQUOTE] = ACTIONS(916), + [anon_sym_U_SQUOTE] = ACTIONS(916), + [anon_sym_u8_SQUOTE] = ACTIONS(916), + [anon_sym_SQUOTE] = ACTIONS(916), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(914), + [sym_false] = ACTIONS(914), + [sym_null] = ACTIONS(914), + [sym_comment] = ACTIONS(3), + }, + [142] = { + [ts_builtin_sym_end] = ACTIONS(946), + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [143] = { + [ts_builtin_sym_end] = ACTIONS(1006), + [sym_identifier] = ACTIONS(1004), + [aux_sym_preproc_include_token1] = ACTIONS(1004), + [aux_sym_preproc_def_token1] = ACTIONS(1004), + [aux_sym_preproc_if_token1] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1004), + [sym_preproc_directive] = ACTIONS(1004), + [anon_sym_LPAREN2] = ACTIONS(1006), + [anon_sym_BANG] = ACTIONS(1006), + [anon_sym_TILDE] = ACTIONS(1006), + [anon_sym_DASH] = ACTIONS(1004), + [anon_sym_PLUS] = ACTIONS(1004), + [anon_sym_STAR] = ACTIONS(1006), + [anon_sym_AMP] = ACTIONS(1006), + [anon_sym_SEMI] = ACTIONS(1006), + [anon_sym_typedef] = ACTIONS(1004), + [anon_sym_extern] = ACTIONS(1004), + [anon_sym___attribute__] = ACTIONS(1004), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1006), + [anon_sym___declspec] = ACTIONS(1004), + [anon_sym___cdecl] = ACTIONS(1004), + [anon_sym___clrcall] = ACTIONS(1004), + [anon_sym___stdcall] = ACTIONS(1004), + [anon_sym___fastcall] = ACTIONS(1004), + [anon_sym___thiscall] = ACTIONS(1004), + [anon_sym___vectorcall] = ACTIONS(1004), + [anon_sym_LBRACE] = ACTIONS(1006), + [anon_sym_static] = ACTIONS(1004), + [anon_sym_auto] = ACTIONS(1004), + [anon_sym_register] = ACTIONS(1004), + [anon_sym_inline] = ACTIONS(1004), + [anon_sym_const] = ACTIONS(1004), + [anon_sym_volatile] = ACTIONS(1004), + [anon_sym_restrict] = ACTIONS(1004), + [anon_sym__Atomic] = ACTIONS(1004), + [anon_sym_signed] = ACTIONS(1004), + [anon_sym_unsigned] = ACTIONS(1004), + [anon_sym_long] = ACTIONS(1004), + [anon_sym_short] = ACTIONS(1004), + [sym_primitive_type] = ACTIONS(1004), + [anon_sym_enum] = ACTIONS(1004), + [anon_sym_struct] = ACTIONS(1004), + [anon_sym_union] = ACTIONS(1004), + [anon_sym_if] = ACTIONS(1004), + [anon_sym_else] = ACTIONS(1004), + [anon_sym_switch] = ACTIONS(1004), + [anon_sym_case] = ACTIONS(1004), + [anon_sym_default] = ACTIONS(1004), + [anon_sym_while] = ACTIONS(1004), + [anon_sym_do] = ACTIONS(1004), + [anon_sym_for] = ACTIONS(1004), + [anon_sym_return] = ACTIONS(1004), + [anon_sym_break] = ACTIONS(1004), + [anon_sym_continue] = ACTIONS(1004), + [anon_sym_goto] = ACTIONS(1004), + [anon_sym_DASH_DASH] = ACTIONS(1006), + [anon_sym_PLUS_PLUS] = ACTIONS(1006), + [anon_sym_sizeof] = ACTIONS(1004), + [sym_number_literal] = ACTIONS(1006), + [anon_sym_L_SQUOTE] = ACTIONS(1006), + [anon_sym_u_SQUOTE] = ACTIONS(1006), + [anon_sym_U_SQUOTE] = ACTIONS(1006), + [anon_sym_u8_SQUOTE] = ACTIONS(1006), + [anon_sym_SQUOTE] = ACTIONS(1006), + [anon_sym_L_DQUOTE] = ACTIONS(1006), + [anon_sym_u_DQUOTE] = ACTIONS(1006), + [anon_sym_U_DQUOTE] = ACTIONS(1006), + [anon_sym_u8_DQUOTE] = ACTIONS(1006), + [anon_sym_DQUOTE] = ACTIONS(1006), + [sym_true] = ACTIONS(1004), + [sym_false] = ACTIONS(1004), + [sym_null] = ACTIONS(1004), + [sym_comment] = ACTIONS(3), + }, + [144] = { + [ts_builtin_sym_end] = ACTIONS(946), + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [145] = { + [ts_builtin_sym_end] = ACTIONS(1010), + [sym_identifier] = ACTIONS(1008), + [aux_sym_preproc_include_token1] = ACTIONS(1008), + [aux_sym_preproc_def_token1] = ACTIONS(1008), + [aux_sym_preproc_if_token1] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1008), + [sym_preproc_directive] = ACTIONS(1008), + [anon_sym_LPAREN2] = ACTIONS(1010), + [anon_sym_BANG] = ACTIONS(1010), + [anon_sym_TILDE] = ACTIONS(1010), + [anon_sym_DASH] = ACTIONS(1008), + [anon_sym_PLUS] = ACTIONS(1008), + [anon_sym_STAR] = ACTIONS(1010), + [anon_sym_AMP] = ACTIONS(1010), + [anon_sym_SEMI] = ACTIONS(1010), + [anon_sym_typedef] = ACTIONS(1008), + [anon_sym_extern] = ACTIONS(1008), + [anon_sym___attribute__] = ACTIONS(1008), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1010), + [anon_sym___declspec] = ACTIONS(1008), + [anon_sym___cdecl] = ACTIONS(1008), + [anon_sym___clrcall] = ACTIONS(1008), + [anon_sym___stdcall] = ACTIONS(1008), + [anon_sym___fastcall] = ACTIONS(1008), + [anon_sym___thiscall] = ACTIONS(1008), + [anon_sym___vectorcall] = ACTIONS(1008), + [anon_sym_LBRACE] = ACTIONS(1010), + [anon_sym_static] = ACTIONS(1008), + [anon_sym_auto] = ACTIONS(1008), + [anon_sym_register] = ACTIONS(1008), + [anon_sym_inline] = ACTIONS(1008), + [anon_sym_const] = ACTIONS(1008), + [anon_sym_volatile] = ACTIONS(1008), + [anon_sym_restrict] = ACTIONS(1008), + [anon_sym__Atomic] = ACTIONS(1008), + [anon_sym_signed] = ACTIONS(1008), + [anon_sym_unsigned] = ACTIONS(1008), + [anon_sym_long] = ACTIONS(1008), + [anon_sym_short] = ACTIONS(1008), + [sym_primitive_type] = ACTIONS(1008), + [anon_sym_enum] = ACTIONS(1008), + [anon_sym_struct] = ACTIONS(1008), + [anon_sym_union] = ACTIONS(1008), + [anon_sym_if] = ACTIONS(1008), + [anon_sym_else] = ACTIONS(1008), + [anon_sym_switch] = ACTIONS(1008), + [anon_sym_case] = ACTIONS(1008), + [anon_sym_default] = ACTIONS(1008), + [anon_sym_while] = ACTIONS(1008), + [anon_sym_do] = ACTIONS(1008), + [anon_sym_for] = ACTIONS(1008), + [anon_sym_return] = ACTIONS(1008), + [anon_sym_break] = ACTIONS(1008), + [anon_sym_continue] = ACTIONS(1008), + [anon_sym_goto] = ACTIONS(1008), + [anon_sym_DASH_DASH] = ACTIONS(1010), + [anon_sym_PLUS_PLUS] = ACTIONS(1010), + [anon_sym_sizeof] = ACTIONS(1008), + [sym_number_literal] = ACTIONS(1010), + [anon_sym_L_SQUOTE] = ACTIONS(1010), + [anon_sym_u_SQUOTE] = ACTIONS(1010), + [anon_sym_U_SQUOTE] = ACTIONS(1010), + [anon_sym_u8_SQUOTE] = ACTIONS(1010), + [anon_sym_SQUOTE] = ACTIONS(1010), + [anon_sym_L_DQUOTE] = ACTIONS(1010), + [anon_sym_u_DQUOTE] = ACTIONS(1010), + [anon_sym_U_DQUOTE] = ACTIONS(1010), + [anon_sym_u8_DQUOTE] = ACTIONS(1010), + [anon_sym_DQUOTE] = ACTIONS(1010), + [sym_true] = ACTIONS(1008), + [sym_false] = ACTIONS(1008), + [sym_null] = ACTIONS(1008), + [sym_comment] = ACTIONS(3), + }, + [146] = { + [ts_builtin_sym_end] = ACTIONS(1014), + [sym_identifier] = ACTIONS(1012), + [aux_sym_preproc_include_token1] = ACTIONS(1012), + [aux_sym_preproc_def_token1] = ACTIONS(1012), + [aux_sym_preproc_if_token1] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1012), + [sym_preproc_directive] = ACTIONS(1012), + [anon_sym_LPAREN2] = ACTIONS(1014), + [anon_sym_BANG] = ACTIONS(1014), + [anon_sym_TILDE] = ACTIONS(1014), + [anon_sym_DASH] = ACTIONS(1012), + [anon_sym_PLUS] = ACTIONS(1012), + [anon_sym_STAR] = ACTIONS(1014), + [anon_sym_AMP] = ACTIONS(1014), + [anon_sym_SEMI] = ACTIONS(1014), + [anon_sym_typedef] = ACTIONS(1012), + [anon_sym_extern] = ACTIONS(1012), + [anon_sym___attribute__] = ACTIONS(1012), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1014), + [anon_sym___declspec] = ACTIONS(1012), + [anon_sym___cdecl] = ACTIONS(1012), + [anon_sym___clrcall] = ACTIONS(1012), + [anon_sym___stdcall] = ACTIONS(1012), + [anon_sym___fastcall] = ACTIONS(1012), + [anon_sym___thiscall] = ACTIONS(1012), + [anon_sym___vectorcall] = ACTIONS(1012), + [anon_sym_LBRACE] = ACTIONS(1014), + [anon_sym_static] = ACTIONS(1012), + [anon_sym_auto] = ACTIONS(1012), + [anon_sym_register] = ACTIONS(1012), + [anon_sym_inline] = ACTIONS(1012), + [anon_sym_const] = ACTIONS(1012), + [anon_sym_volatile] = ACTIONS(1012), + [anon_sym_restrict] = ACTIONS(1012), + [anon_sym__Atomic] = ACTIONS(1012), + [anon_sym_signed] = ACTIONS(1012), + [anon_sym_unsigned] = ACTIONS(1012), + [anon_sym_long] = ACTIONS(1012), + [anon_sym_short] = ACTIONS(1012), + [sym_primitive_type] = ACTIONS(1012), + [anon_sym_enum] = ACTIONS(1012), + [anon_sym_struct] = ACTIONS(1012), + [anon_sym_union] = ACTIONS(1012), + [anon_sym_if] = ACTIONS(1012), + [anon_sym_else] = ACTIONS(1012), + [anon_sym_switch] = ACTIONS(1012), + [anon_sym_case] = ACTIONS(1012), + [anon_sym_default] = ACTIONS(1012), + [anon_sym_while] = ACTIONS(1012), + [anon_sym_do] = ACTIONS(1012), + [anon_sym_for] = ACTIONS(1012), + [anon_sym_return] = ACTIONS(1012), + [anon_sym_break] = ACTIONS(1012), + [anon_sym_continue] = ACTIONS(1012), + [anon_sym_goto] = ACTIONS(1012), + [anon_sym_DASH_DASH] = ACTIONS(1014), + [anon_sym_PLUS_PLUS] = ACTIONS(1014), + [anon_sym_sizeof] = ACTIONS(1012), + [sym_number_literal] = ACTIONS(1014), + [anon_sym_L_SQUOTE] = ACTIONS(1014), + [anon_sym_u_SQUOTE] = ACTIONS(1014), + [anon_sym_U_SQUOTE] = ACTIONS(1014), + [anon_sym_u8_SQUOTE] = ACTIONS(1014), + [anon_sym_SQUOTE] = ACTIONS(1014), + [anon_sym_L_DQUOTE] = ACTIONS(1014), + [anon_sym_u_DQUOTE] = ACTIONS(1014), + [anon_sym_U_DQUOTE] = ACTIONS(1014), + [anon_sym_u8_DQUOTE] = ACTIONS(1014), + [anon_sym_DQUOTE] = ACTIONS(1014), + [sym_true] = ACTIONS(1012), + [sym_false] = ACTIONS(1012), + [sym_null] = ACTIONS(1012), + [sym_comment] = ACTIONS(3), + }, + [147] = { + [ts_builtin_sym_end] = ACTIONS(1022), + [sym_identifier] = ACTIONS(1020), + [aux_sym_preproc_include_token1] = ACTIONS(1020), + [aux_sym_preproc_def_token1] = ACTIONS(1020), + [aux_sym_preproc_if_token1] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1020), + [sym_preproc_directive] = ACTIONS(1020), + [anon_sym_LPAREN2] = ACTIONS(1022), + [anon_sym_BANG] = ACTIONS(1022), + [anon_sym_TILDE] = ACTIONS(1022), + [anon_sym_DASH] = ACTIONS(1020), + [anon_sym_PLUS] = ACTIONS(1020), + [anon_sym_STAR] = ACTIONS(1022), + [anon_sym_AMP] = ACTIONS(1022), + [anon_sym_SEMI] = ACTIONS(1022), + [anon_sym_typedef] = ACTIONS(1020), + [anon_sym_extern] = ACTIONS(1020), + [anon_sym___attribute__] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1022), + [anon_sym___declspec] = ACTIONS(1020), + [anon_sym___cdecl] = ACTIONS(1020), + [anon_sym___clrcall] = ACTIONS(1020), + [anon_sym___stdcall] = ACTIONS(1020), + [anon_sym___fastcall] = ACTIONS(1020), + [anon_sym___thiscall] = ACTIONS(1020), + [anon_sym___vectorcall] = ACTIONS(1020), + [anon_sym_LBRACE] = ACTIONS(1022), + [anon_sym_static] = ACTIONS(1020), + [anon_sym_auto] = ACTIONS(1020), + [anon_sym_register] = ACTIONS(1020), + [anon_sym_inline] = ACTIONS(1020), + [anon_sym_const] = ACTIONS(1020), + [anon_sym_volatile] = ACTIONS(1020), + [anon_sym_restrict] = ACTIONS(1020), + [anon_sym__Atomic] = ACTIONS(1020), + [anon_sym_signed] = ACTIONS(1020), + [anon_sym_unsigned] = ACTIONS(1020), + [anon_sym_long] = ACTIONS(1020), + [anon_sym_short] = ACTIONS(1020), + [sym_primitive_type] = ACTIONS(1020), + [anon_sym_enum] = ACTIONS(1020), + [anon_sym_struct] = ACTIONS(1020), + [anon_sym_union] = ACTIONS(1020), + [anon_sym_if] = ACTIONS(1020), + [anon_sym_else] = ACTIONS(1020), + [anon_sym_switch] = ACTIONS(1020), + [anon_sym_case] = ACTIONS(1020), + [anon_sym_default] = ACTIONS(1020), + [anon_sym_while] = ACTIONS(1020), + [anon_sym_do] = ACTIONS(1020), + [anon_sym_for] = ACTIONS(1020), + [anon_sym_return] = ACTIONS(1020), + [anon_sym_break] = ACTIONS(1020), + [anon_sym_continue] = ACTIONS(1020), + [anon_sym_goto] = ACTIONS(1020), + [anon_sym_DASH_DASH] = ACTIONS(1022), + [anon_sym_PLUS_PLUS] = ACTIONS(1022), + [anon_sym_sizeof] = ACTIONS(1020), + [sym_number_literal] = ACTIONS(1022), + [anon_sym_L_SQUOTE] = ACTIONS(1022), + [anon_sym_u_SQUOTE] = ACTIONS(1022), + [anon_sym_U_SQUOTE] = ACTIONS(1022), + [anon_sym_u8_SQUOTE] = ACTIONS(1022), + [anon_sym_SQUOTE] = ACTIONS(1022), + [anon_sym_L_DQUOTE] = ACTIONS(1022), + [anon_sym_u_DQUOTE] = ACTIONS(1022), + [anon_sym_U_DQUOTE] = ACTIONS(1022), + [anon_sym_u8_DQUOTE] = ACTIONS(1022), + [anon_sym_DQUOTE] = ACTIONS(1022), + [sym_true] = ACTIONS(1020), + [sym_false] = ACTIONS(1020), + [sym_null] = ACTIONS(1020), + [sym_comment] = ACTIONS(3), + }, + [148] = { + [ts_builtin_sym_end] = ACTIONS(1026), + [sym_identifier] = ACTIONS(1024), + [aux_sym_preproc_include_token1] = ACTIONS(1024), + [aux_sym_preproc_def_token1] = ACTIONS(1024), + [aux_sym_preproc_if_token1] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1024), + [sym_preproc_directive] = ACTIONS(1024), + [anon_sym_LPAREN2] = ACTIONS(1026), + [anon_sym_BANG] = ACTIONS(1026), + [anon_sym_TILDE] = ACTIONS(1026), + [anon_sym_DASH] = ACTIONS(1024), + [anon_sym_PLUS] = ACTIONS(1024), + [anon_sym_STAR] = ACTIONS(1026), + [anon_sym_AMP] = ACTIONS(1026), + [anon_sym_SEMI] = ACTIONS(1026), + [anon_sym_typedef] = ACTIONS(1024), + [anon_sym_extern] = ACTIONS(1024), + [anon_sym___attribute__] = ACTIONS(1024), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1026), + [anon_sym___declspec] = ACTIONS(1024), + [anon_sym___cdecl] = ACTIONS(1024), + [anon_sym___clrcall] = ACTIONS(1024), + [anon_sym___stdcall] = ACTIONS(1024), + [anon_sym___fastcall] = ACTIONS(1024), + [anon_sym___thiscall] = ACTIONS(1024), + [anon_sym___vectorcall] = ACTIONS(1024), + [anon_sym_LBRACE] = ACTIONS(1026), + [anon_sym_static] = ACTIONS(1024), + [anon_sym_auto] = ACTIONS(1024), + [anon_sym_register] = ACTIONS(1024), + [anon_sym_inline] = ACTIONS(1024), + [anon_sym_const] = ACTIONS(1024), + [anon_sym_volatile] = ACTIONS(1024), + [anon_sym_restrict] = ACTIONS(1024), + [anon_sym__Atomic] = ACTIONS(1024), + [anon_sym_signed] = ACTIONS(1024), + [anon_sym_unsigned] = ACTIONS(1024), + [anon_sym_long] = ACTIONS(1024), + [anon_sym_short] = ACTIONS(1024), + [sym_primitive_type] = ACTIONS(1024), + [anon_sym_enum] = ACTIONS(1024), + [anon_sym_struct] = ACTIONS(1024), + [anon_sym_union] = ACTIONS(1024), + [anon_sym_if] = ACTIONS(1024), + [anon_sym_else] = ACTIONS(1024), + [anon_sym_switch] = ACTIONS(1024), + [anon_sym_case] = ACTIONS(1024), + [anon_sym_default] = ACTIONS(1024), + [anon_sym_while] = ACTIONS(1024), + [anon_sym_do] = ACTIONS(1024), + [anon_sym_for] = ACTIONS(1024), + [anon_sym_return] = ACTIONS(1024), + [anon_sym_break] = ACTIONS(1024), + [anon_sym_continue] = ACTIONS(1024), + [anon_sym_goto] = ACTIONS(1024), + [anon_sym_DASH_DASH] = ACTIONS(1026), + [anon_sym_PLUS_PLUS] = ACTIONS(1026), + [anon_sym_sizeof] = ACTIONS(1024), + [sym_number_literal] = ACTIONS(1026), + [anon_sym_L_SQUOTE] = ACTIONS(1026), + [anon_sym_u_SQUOTE] = ACTIONS(1026), + [anon_sym_U_SQUOTE] = ACTIONS(1026), + [anon_sym_u8_SQUOTE] = ACTIONS(1026), + [anon_sym_SQUOTE] = ACTIONS(1026), + [anon_sym_L_DQUOTE] = ACTIONS(1026), + [anon_sym_u_DQUOTE] = ACTIONS(1026), + [anon_sym_U_DQUOTE] = ACTIONS(1026), + [anon_sym_u8_DQUOTE] = ACTIONS(1026), + [anon_sym_DQUOTE] = ACTIONS(1026), + [sym_true] = ACTIONS(1024), + [sym_false] = ACTIONS(1024), + [sym_null] = ACTIONS(1024), + [sym_comment] = ACTIONS(3), + }, + [149] = { + [sym_identifier] = ACTIONS(924), + [aux_sym_preproc_include_token1] = ACTIONS(924), + [aux_sym_preproc_def_token1] = ACTIONS(924), + [aux_sym_preproc_if_token1] = ACTIONS(924), + [aux_sym_preproc_if_token2] = ACTIONS(924), + [aux_sym_preproc_ifdef_token1] = ACTIONS(924), + [aux_sym_preproc_ifdef_token2] = ACTIONS(924), + [sym_preproc_directive] = ACTIONS(924), + [anon_sym_LPAREN2] = ACTIONS(926), + [anon_sym_BANG] = ACTIONS(926), + [anon_sym_TILDE] = ACTIONS(926), + [anon_sym_DASH] = ACTIONS(924), + [anon_sym_PLUS] = ACTIONS(924), + [anon_sym_STAR] = ACTIONS(926), + [anon_sym_AMP] = ACTIONS(926), + [anon_sym_SEMI] = ACTIONS(926), + [anon_sym_typedef] = ACTIONS(924), + [anon_sym_extern] = ACTIONS(924), + [anon_sym___attribute__] = ACTIONS(924), + [anon_sym_LBRACK_LBRACK] = ACTIONS(926), + [anon_sym___declspec] = ACTIONS(924), + [anon_sym___cdecl] = ACTIONS(924), + [anon_sym___clrcall] = ACTIONS(924), + [anon_sym___stdcall] = ACTIONS(924), + [anon_sym___fastcall] = ACTIONS(924), + [anon_sym___thiscall] = ACTIONS(924), + [anon_sym___vectorcall] = ACTIONS(924), + [anon_sym_LBRACE] = ACTIONS(926), + [anon_sym_static] = ACTIONS(924), + [anon_sym_auto] = ACTIONS(924), + [anon_sym_register] = ACTIONS(924), + [anon_sym_inline] = ACTIONS(924), + [anon_sym_const] = ACTIONS(924), + [anon_sym_volatile] = ACTIONS(924), + [anon_sym_restrict] = ACTIONS(924), + [anon_sym__Atomic] = ACTIONS(924), + [anon_sym_signed] = ACTIONS(924), + [anon_sym_unsigned] = ACTIONS(924), + [anon_sym_long] = ACTIONS(924), + [anon_sym_short] = ACTIONS(924), + [sym_primitive_type] = ACTIONS(924), + [anon_sym_enum] = ACTIONS(924), + [anon_sym_struct] = ACTIONS(924), + [anon_sym_union] = ACTIONS(924), + [anon_sym_if] = ACTIONS(924), + [anon_sym_else] = ACTIONS(924), + [anon_sym_switch] = ACTIONS(924), + [anon_sym_case] = ACTIONS(924), + [anon_sym_default] = ACTIONS(924), + [anon_sym_while] = ACTIONS(924), + [anon_sym_do] = ACTIONS(924), + [anon_sym_for] = ACTIONS(924), + [anon_sym_return] = ACTIONS(924), + [anon_sym_break] = ACTIONS(924), + [anon_sym_continue] = ACTIONS(924), + [anon_sym_goto] = ACTIONS(924), + [anon_sym_DASH_DASH] = ACTIONS(926), + [anon_sym_PLUS_PLUS] = ACTIONS(926), + [anon_sym_sizeof] = ACTIONS(924), + [sym_number_literal] = ACTIONS(926), + [anon_sym_L_SQUOTE] = ACTIONS(926), + [anon_sym_u_SQUOTE] = ACTIONS(926), + [anon_sym_U_SQUOTE] = ACTIONS(926), + [anon_sym_u8_SQUOTE] = ACTIONS(926), + [anon_sym_SQUOTE] = ACTIONS(926), + [anon_sym_L_DQUOTE] = ACTIONS(926), + [anon_sym_u_DQUOTE] = ACTIONS(926), + [anon_sym_U_DQUOTE] = ACTIONS(926), + [anon_sym_u8_DQUOTE] = ACTIONS(926), + [anon_sym_DQUOTE] = ACTIONS(926), + [sym_true] = ACTIONS(924), + [sym_false] = ACTIONS(924), + [sym_null] = ACTIONS(924), + [sym_comment] = ACTIONS(3), + }, + [150] = { + [ts_builtin_sym_end] = ACTIONS(934), + [sym_identifier] = ACTIONS(932), + [aux_sym_preproc_include_token1] = ACTIONS(932), + [aux_sym_preproc_def_token1] = ACTIONS(932), + [aux_sym_preproc_if_token1] = ACTIONS(932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(932), + [sym_preproc_directive] = ACTIONS(932), + [anon_sym_LPAREN2] = ACTIONS(934), + [anon_sym_BANG] = ACTIONS(934), + [anon_sym_TILDE] = ACTIONS(934), + [anon_sym_DASH] = ACTIONS(932), + [anon_sym_PLUS] = ACTIONS(932), + [anon_sym_STAR] = ACTIONS(934), + [anon_sym_AMP] = ACTIONS(934), + [anon_sym_SEMI] = ACTIONS(934), + [anon_sym_typedef] = ACTIONS(932), + [anon_sym_extern] = ACTIONS(932), + [anon_sym___attribute__] = ACTIONS(932), + [anon_sym_LBRACK_LBRACK] = ACTIONS(934), + [anon_sym___declspec] = ACTIONS(932), + [anon_sym___cdecl] = ACTIONS(932), + [anon_sym___clrcall] = ACTIONS(932), + [anon_sym___stdcall] = ACTIONS(932), + [anon_sym___fastcall] = ACTIONS(932), + [anon_sym___thiscall] = ACTIONS(932), + [anon_sym___vectorcall] = ACTIONS(932), + [anon_sym_LBRACE] = ACTIONS(934), + [anon_sym_static] = ACTIONS(932), + [anon_sym_auto] = ACTIONS(932), + [anon_sym_register] = ACTIONS(932), + [anon_sym_inline] = ACTIONS(932), + [anon_sym_const] = ACTIONS(932), + [anon_sym_volatile] = ACTIONS(932), + [anon_sym_restrict] = ACTIONS(932), + [anon_sym__Atomic] = ACTIONS(932), + [anon_sym_signed] = ACTIONS(932), + [anon_sym_unsigned] = ACTIONS(932), + [anon_sym_long] = ACTIONS(932), + [anon_sym_short] = ACTIONS(932), + [sym_primitive_type] = ACTIONS(932), + [anon_sym_enum] = ACTIONS(932), + [anon_sym_struct] = ACTIONS(932), + [anon_sym_union] = ACTIONS(932), + [anon_sym_if] = ACTIONS(932), + [anon_sym_else] = ACTIONS(932), + [anon_sym_switch] = ACTIONS(932), + [anon_sym_case] = ACTIONS(932), + [anon_sym_default] = ACTIONS(932), + [anon_sym_while] = ACTIONS(932), + [anon_sym_do] = ACTIONS(932), + [anon_sym_for] = ACTIONS(932), + [anon_sym_return] = ACTIONS(932), + [anon_sym_break] = ACTIONS(932), + [anon_sym_continue] = ACTIONS(932), + [anon_sym_goto] = ACTIONS(932), + [anon_sym_DASH_DASH] = ACTIONS(934), + [anon_sym_PLUS_PLUS] = ACTIONS(934), + [anon_sym_sizeof] = ACTIONS(932), + [sym_number_literal] = ACTIONS(934), + [anon_sym_L_SQUOTE] = ACTIONS(934), + [anon_sym_u_SQUOTE] = ACTIONS(934), + [anon_sym_U_SQUOTE] = ACTIONS(934), + [anon_sym_u8_SQUOTE] = ACTIONS(934), + [anon_sym_SQUOTE] = ACTIONS(934), + [anon_sym_L_DQUOTE] = ACTIONS(934), + [anon_sym_u_DQUOTE] = ACTIONS(934), + [anon_sym_U_DQUOTE] = ACTIONS(934), + [anon_sym_u8_DQUOTE] = ACTIONS(934), + [anon_sym_DQUOTE] = ACTIONS(934), + [sym_true] = ACTIONS(932), + [sym_false] = ACTIONS(932), + [sym_null] = ACTIONS(932), + [sym_comment] = ACTIONS(3), + }, + [151] = { + [ts_builtin_sym_end] = ACTIONS(938), + [sym_identifier] = ACTIONS(936), + [aux_sym_preproc_include_token1] = ACTIONS(936), + [aux_sym_preproc_def_token1] = ACTIONS(936), + [aux_sym_preproc_if_token1] = ACTIONS(936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(936), + [sym_preproc_directive] = ACTIONS(936), + [anon_sym_LPAREN2] = ACTIONS(938), + [anon_sym_BANG] = ACTIONS(938), + [anon_sym_TILDE] = ACTIONS(938), + [anon_sym_DASH] = ACTIONS(936), + [anon_sym_PLUS] = ACTIONS(936), + [anon_sym_STAR] = ACTIONS(938), + [anon_sym_AMP] = ACTIONS(938), + [anon_sym_SEMI] = ACTIONS(938), + [anon_sym_typedef] = ACTIONS(936), + [anon_sym_extern] = ACTIONS(936), + [anon_sym___attribute__] = ACTIONS(936), + [anon_sym_LBRACK_LBRACK] = ACTIONS(938), + [anon_sym___declspec] = ACTIONS(936), + [anon_sym___cdecl] = ACTIONS(936), + [anon_sym___clrcall] = ACTIONS(936), + [anon_sym___stdcall] = ACTIONS(936), + [anon_sym___fastcall] = ACTIONS(936), + [anon_sym___thiscall] = ACTIONS(936), + [anon_sym___vectorcall] = ACTIONS(936), + [anon_sym_LBRACE] = ACTIONS(938), + [anon_sym_static] = ACTIONS(936), + [anon_sym_auto] = ACTIONS(936), + [anon_sym_register] = ACTIONS(936), + [anon_sym_inline] = ACTIONS(936), + [anon_sym_const] = ACTIONS(936), + [anon_sym_volatile] = ACTIONS(936), + [anon_sym_restrict] = ACTIONS(936), + [anon_sym__Atomic] = ACTIONS(936), + [anon_sym_signed] = ACTIONS(936), + [anon_sym_unsigned] = ACTIONS(936), + [anon_sym_long] = ACTIONS(936), + [anon_sym_short] = ACTIONS(936), + [sym_primitive_type] = ACTIONS(936), + [anon_sym_enum] = ACTIONS(936), + [anon_sym_struct] = ACTIONS(936), + [anon_sym_union] = ACTIONS(936), + [anon_sym_if] = ACTIONS(936), + [anon_sym_else] = ACTIONS(936), + [anon_sym_switch] = ACTIONS(936), + [anon_sym_case] = ACTIONS(936), + [anon_sym_default] = ACTIONS(936), + [anon_sym_while] = ACTIONS(936), + [anon_sym_do] = ACTIONS(936), + [anon_sym_for] = ACTIONS(936), + [anon_sym_return] = ACTIONS(936), + [anon_sym_break] = ACTIONS(936), + [anon_sym_continue] = ACTIONS(936), + [anon_sym_goto] = ACTIONS(936), + [anon_sym_DASH_DASH] = ACTIONS(938), + [anon_sym_PLUS_PLUS] = ACTIONS(938), + [anon_sym_sizeof] = ACTIONS(936), + [sym_number_literal] = ACTIONS(938), + [anon_sym_L_SQUOTE] = ACTIONS(938), + [anon_sym_u_SQUOTE] = ACTIONS(938), + [anon_sym_U_SQUOTE] = ACTIONS(938), + [anon_sym_u8_SQUOTE] = ACTIONS(938), + [anon_sym_SQUOTE] = ACTIONS(938), + [anon_sym_L_DQUOTE] = ACTIONS(938), + [anon_sym_u_DQUOTE] = ACTIONS(938), + [anon_sym_U_DQUOTE] = ACTIONS(938), + [anon_sym_u8_DQUOTE] = ACTIONS(938), + [anon_sym_DQUOTE] = ACTIONS(938), + [sym_true] = ACTIONS(936), + [sym_false] = ACTIONS(936), + [sym_null] = ACTIONS(936), + [sym_comment] = ACTIONS(3), + }, + [152] = { + [ts_builtin_sym_end] = ACTIONS(942), + [sym_identifier] = ACTIONS(940), + [aux_sym_preproc_include_token1] = ACTIONS(940), + [aux_sym_preproc_def_token1] = ACTIONS(940), + [aux_sym_preproc_if_token1] = ACTIONS(940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(940), + [sym_preproc_directive] = ACTIONS(940), + [anon_sym_LPAREN2] = ACTIONS(942), + [anon_sym_BANG] = ACTIONS(942), + [anon_sym_TILDE] = ACTIONS(942), + [anon_sym_DASH] = ACTIONS(940), + [anon_sym_PLUS] = ACTIONS(940), + [anon_sym_STAR] = ACTIONS(942), + [anon_sym_AMP] = ACTIONS(942), + [anon_sym_SEMI] = ACTIONS(942), + [anon_sym_typedef] = ACTIONS(940), + [anon_sym_extern] = ACTIONS(940), + [anon_sym___attribute__] = ACTIONS(940), + [anon_sym_LBRACK_LBRACK] = ACTIONS(942), + [anon_sym___declspec] = ACTIONS(940), + [anon_sym___cdecl] = ACTIONS(940), + [anon_sym___clrcall] = ACTIONS(940), + [anon_sym___stdcall] = ACTIONS(940), + [anon_sym___fastcall] = ACTIONS(940), + [anon_sym___thiscall] = ACTIONS(940), + [anon_sym___vectorcall] = ACTIONS(940), + [anon_sym_LBRACE] = ACTIONS(942), + [anon_sym_static] = ACTIONS(940), + [anon_sym_auto] = ACTIONS(940), + [anon_sym_register] = ACTIONS(940), + [anon_sym_inline] = ACTIONS(940), + [anon_sym_const] = ACTIONS(940), + [anon_sym_volatile] = ACTIONS(940), + [anon_sym_restrict] = ACTIONS(940), + [anon_sym__Atomic] = ACTIONS(940), + [anon_sym_signed] = ACTIONS(940), + [anon_sym_unsigned] = ACTIONS(940), + [anon_sym_long] = ACTIONS(940), + [anon_sym_short] = ACTIONS(940), + [sym_primitive_type] = ACTIONS(940), + [anon_sym_enum] = ACTIONS(940), + [anon_sym_struct] = ACTIONS(940), + [anon_sym_union] = ACTIONS(940), + [anon_sym_if] = ACTIONS(940), + [anon_sym_else] = ACTIONS(940), + [anon_sym_switch] = ACTIONS(940), + [anon_sym_case] = ACTIONS(940), + [anon_sym_default] = ACTIONS(940), + [anon_sym_while] = ACTIONS(940), + [anon_sym_do] = ACTIONS(940), + [anon_sym_for] = ACTIONS(940), + [anon_sym_return] = ACTIONS(940), + [anon_sym_break] = ACTIONS(940), + [anon_sym_continue] = ACTIONS(940), + [anon_sym_goto] = ACTIONS(940), + [anon_sym_DASH_DASH] = ACTIONS(942), + [anon_sym_PLUS_PLUS] = ACTIONS(942), + [anon_sym_sizeof] = ACTIONS(940), + [sym_number_literal] = ACTIONS(942), + [anon_sym_L_SQUOTE] = ACTIONS(942), + [anon_sym_u_SQUOTE] = ACTIONS(942), + [anon_sym_U_SQUOTE] = ACTIONS(942), + [anon_sym_u8_SQUOTE] = ACTIONS(942), + [anon_sym_SQUOTE] = ACTIONS(942), + [anon_sym_L_DQUOTE] = ACTIONS(942), + [anon_sym_u_DQUOTE] = ACTIONS(942), + [anon_sym_U_DQUOTE] = ACTIONS(942), + [anon_sym_u8_DQUOTE] = ACTIONS(942), + [anon_sym_DQUOTE] = ACTIONS(942), + [sym_true] = ACTIONS(940), + [sym_false] = ACTIONS(940), + [sym_null] = ACTIONS(940), + [sym_comment] = ACTIONS(3), + }, + [153] = { + [sym_identifier] = ACTIONS(918), + [aux_sym_preproc_include_token1] = ACTIONS(918), + [aux_sym_preproc_def_token1] = ACTIONS(918), + [aux_sym_preproc_if_token1] = ACTIONS(918), + [aux_sym_preproc_if_token2] = ACTIONS(918), + [aux_sym_preproc_ifdef_token1] = ACTIONS(918), + [aux_sym_preproc_ifdef_token2] = ACTIONS(918), + [sym_preproc_directive] = ACTIONS(918), + [anon_sym_LPAREN2] = ACTIONS(920), + [anon_sym_BANG] = ACTIONS(920), + [anon_sym_TILDE] = ACTIONS(920), + [anon_sym_DASH] = ACTIONS(918), + [anon_sym_PLUS] = ACTIONS(918), + [anon_sym_STAR] = ACTIONS(920), + [anon_sym_AMP] = ACTIONS(920), + [anon_sym_SEMI] = ACTIONS(920), + [anon_sym_typedef] = ACTIONS(918), + [anon_sym_extern] = ACTIONS(918), + [anon_sym___attribute__] = ACTIONS(918), + [anon_sym_LBRACK_LBRACK] = ACTIONS(920), + [anon_sym___declspec] = ACTIONS(918), + [anon_sym___cdecl] = ACTIONS(918), + [anon_sym___clrcall] = ACTIONS(918), + [anon_sym___stdcall] = ACTIONS(918), + [anon_sym___fastcall] = ACTIONS(918), + [anon_sym___thiscall] = ACTIONS(918), + [anon_sym___vectorcall] = ACTIONS(918), + [anon_sym_LBRACE] = ACTIONS(920), + [anon_sym_static] = ACTIONS(918), + [anon_sym_auto] = ACTIONS(918), + [anon_sym_register] = ACTIONS(918), + [anon_sym_inline] = ACTIONS(918), + [anon_sym_const] = ACTIONS(918), + [anon_sym_volatile] = ACTIONS(918), + [anon_sym_restrict] = ACTIONS(918), + [anon_sym__Atomic] = ACTIONS(918), + [anon_sym_signed] = ACTIONS(918), + [anon_sym_unsigned] = ACTIONS(918), + [anon_sym_long] = ACTIONS(918), + [anon_sym_short] = ACTIONS(918), + [sym_primitive_type] = ACTIONS(918), + [anon_sym_enum] = ACTIONS(918), + [anon_sym_struct] = ACTIONS(918), + [anon_sym_union] = ACTIONS(918), + [anon_sym_if] = ACTIONS(918), + [anon_sym_else] = ACTIONS(1128), + [anon_sym_switch] = ACTIONS(918), + [anon_sym_case] = ACTIONS(918), + [anon_sym_default] = ACTIONS(918), + [anon_sym_while] = ACTIONS(918), + [anon_sym_do] = ACTIONS(918), + [anon_sym_for] = ACTIONS(918), + [anon_sym_return] = ACTIONS(918), + [anon_sym_break] = ACTIONS(918), + [anon_sym_continue] = ACTIONS(918), + [anon_sym_goto] = ACTIONS(918), + [anon_sym_DASH_DASH] = ACTIONS(920), + [anon_sym_PLUS_PLUS] = ACTIONS(920), + [anon_sym_sizeof] = ACTIONS(918), + [sym_number_literal] = ACTIONS(920), + [anon_sym_L_SQUOTE] = ACTIONS(920), + [anon_sym_u_SQUOTE] = ACTIONS(920), + [anon_sym_U_SQUOTE] = ACTIONS(920), + [anon_sym_u8_SQUOTE] = ACTIONS(920), + [anon_sym_SQUOTE] = ACTIONS(920), + [anon_sym_L_DQUOTE] = ACTIONS(920), + [anon_sym_u_DQUOTE] = ACTIONS(920), + [anon_sym_U_DQUOTE] = ACTIONS(920), + [anon_sym_u8_DQUOTE] = ACTIONS(920), + [anon_sym_DQUOTE] = ACTIONS(920), + [sym_true] = ACTIONS(918), + [sym_false] = ACTIONS(918), + [sym_null] = ACTIONS(918), + [sym_comment] = ACTIONS(3), + }, + [154] = { + [ts_builtin_sym_end] = ACTIONS(950), + [sym_identifier] = ACTIONS(948), + [aux_sym_preproc_include_token1] = ACTIONS(948), + [aux_sym_preproc_def_token1] = ACTIONS(948), + [aux_sym_preproc_if_token1] = ACTIONS(948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(948), + [sym_preproc_directive] = ACTIONS(948), + [anon_sym_LPAREN2] = ACTIONS(950), + [anon_sym_BANG] = ACTIONS(950), + [anon_sym_TILDE] = ACTIONS(950), + [anon_sym_DASH] = ACTIONS(948), + [anon_sym_PLUS] = ACTIONS(948), + [anon_sym_STAR] = ACTIONS(950), + [anon_sym_AMP] = ACTIONS(950), + [anon_sym_SEMI] = ACTIONS(950), + [anon_sym_typedef] = ACTIONS(948), + [anon_sym_extern] = ACTIONS(948), + [anon_sym___attribute__] = ACTIONS(948), + [anon_sym_LBRACK_LBRACK] = ACTIONS(950), + [anon_sym___declspec] = ACTIONS(948), + [anon_sym___cdecl] = ACTIONS(948), + [anon_sym___clrcall] = ACTIONS(948), + [anon_sym___stdcall] = ACTIONS(948), + [anon_sym___fastcall] = ACTIONS(948), + [anon_sym___thiscall] = ACTIONS(948), + [anon_sym___vectorcall] = ACTIONS(948), + [anon_sym_LBRACE] = ACTIONS(950), + [anon_sym_static] = ACTIONS(948), + [anon_sym_auto] = ACTIONS(948), + [anon_sym_register] = ACTIONS(948), + [anon_sym_inline] = ACTIONS(948), + [anon_sym_const] = ACTIONS(948), + [anon_sym_volatile] = ACTIONS(948), + [anon_sym_restrict] = ACTIONS(948), + [anon_sym__Atomic] = ACTIONS(948), + [anon_sym_signed] = ACTIONS(948), + [anon_sym_unsigned] = ACTIONS(948), + [anon_sym_long] = ACTIONS(948), + [anon_sym_short] = ACTIONS(948), + [sym_primitive_type] = ACTIONS(948), + [anon_sym_enum] = ACTIONS(948), + [anon_sym_struct] = ACTIONS(948), + [anon_sym_union] = ACTIONS(948), + [anon_sym_if] = ACTIONS(948), + [anon_sym_else] = ACTIONS(948), + [anon_sym_switch] = ACTIONS(948), + [anon_sym_case] = ACTIONS(948), + [anon_sym_default] = ACTIONS(948), + [anon_sym_while] = ACTIONS(948), + [anon_sym_do] = ACTIONS(948), + [anon_sym_for] = ACTIONS(948), + [anon_sym_return] = ACTIONS(948), + [anon_sym_break] = ACTIONS(948), + [anon_sym_continue] = ACTIONS(948), + [anon_sym_goto] = ACTIONS(948), + [anon_sym_DASH_DASH] = ACTIONS(950), + [anon_sym_PLUS_PLUS] = ACTIONS(950), + [anon_sym_sizeof] = ACTIONS(948), + [sym_number_literal] = ACTIONS(950), + [anon_sym_L_SQUOTE] = ACTIONS(950), + [anon_sym_u_SQUOTE] = ACTIONS(950), + [anon_sym_U_SQUOTE] = ACTIONS(950), + [anon_sym_u8_SQUOTE] = ACTIONS(950), + [anon_sym_SQUOTE] = ACTIONS(950), + [anon_sym_L_DQUOTE] = ACTIONS(950), + [anon_sym_u_DQUOTE] = ACTIONS(950), + [anon_sym_U_DQUOTE] = ACTIONS(950), + [anon_sym_u8_DQUOTE] = ACTIONS(950), + [anon_sym_DQUOTE] = ACTIONS(950), + [sym_true] = ACTIONS(948), + [sym_false] = ACTIONS(948), + [sym_null] = ACTIONS(948), + [sym_comment] = ACTIONS(3), + }, + [155] = { + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(956), + [aux_sym_preproc_def_token1] = ACTIONS(956), + [aux_sym_preproc_if_token1] = ACTIONS(956), + [aux_sym_preproc_if_token2] = ACTIONS(956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(956), + [sym_preproc_directive] = ACTIONS(956), + [anon_sym_LPAREN2] = ACTIONS(958), + [anon_sym_BANG] = ACTIONS(958), + [anon_sym_TILDE] = ACTIONS(958), + [anon_sym_DASH] = ACTIONS(956), + [anon_sym_PLUS] = ACTIONS(956), + [anon_sym_STAR] = ACTIONS(958), + [anon_sym_AMP] = ACTIONS(958), + [anon_sym_SEMI] = ACTIONS(958), + [anon_sym_typedef] = ACTIONS(956), + [anon_sym_extern] = ACTIONS(956), + [anon_sym___attribute__] = ACTIONS(956), + [anon_sym_LBRACK_LBRACK] = ACTIONS(958), + [anon_sym___declspec] = ACTIONS(956), + [anon_sym___cdecl] = ACTIONS(956), + [anon_sym___clrcall] = ACTIONS(956), + [anon_sym___stdcall] = ACTIONS(956), + [anon_sym___fastcall] = ACTIONS(956), + [anon_sym___thiscall] = ACTIONS(956), + [anon_sym___vectorcall] = ACTIONS(956), + [anon_sym_LBRACE] = ACTIONS(958), + [anon_sym_static] = ACTIONS(956), + [anon_sym_auto] = ACTIONS(956), + [anon_sym_register] = ACTIONS(956), + [anon_sym_inline] = ACTIONS(956), + [anon_sym_const] = ACTIONS(956), + [anon_sym_volatile] = ACTIONS(956), + [anon_sym_restrict] = ACTIONS(956), + [anon_sym__Atomic] = ACTIONS(956), + [anon_sym_signed] = ACTIONS(956), + [anon_sym_unsigned] = ACTIONS(956), + [anon_sym_long] = ACTIONS(956), + [anon_sym_short] = ACTIONS(956), + [sym_primitive_type] = ACTIONS(956), + [anon_sym_enum] = ACTIONS(956), + [anon_sym_struct] = ACTIONS(956), + [anon_sym_union] = ACTIONS(956), + [anon_sym_if] = ACTIONS(956), + [anon_sym_else] = ACTIONS(956), + [anon_sym_switch] = ACTIONS(956), + [anon_sym_case] = ACTIONS(956), + [anon_sym_default] = ACTIONS(956), + [anon_sym_while] = ACTIONS(956), + [anon_sym_do] = ACTIONS(956), + [anon_sym_for] = ACTIONS(956), + [anon_sym_return] = ACTIONS(956), + [anon_sym_break] = ACTIONS(956), + [anon_sym_continue] = ACTIONS(956), + [anon_sym_goto] = ACTIONS(956), + [anon_sym_DASH_DASH] = ACTIONS(958), + [anon_sym_PLUS_PLUS] = ACTIONS(958), + [anon_sym_sizeof] = ACTIONS(956), + [sym_number_literal] = ACTIONS(958), + [anon_sym_L_SQUOTE] = ACTIONS(958), + [anon_sym_u_SQUOTE] = ACTIONS(958), + [anon_sym_U_SQUOTE] = ACTIONS(958), + [anon_sym_u8_SQUOTE] = ACTIONS(958), + [anon_sym_SQUOTE] = ACTIONS(958), + [anon_sym_L_DQUOTE] = ACTIONS(958), + [anon_sym_u_DQUOTE] = ACTIONS(958), + [anon_sym_U_DQUOTE] = ACTIONS(958), + [anon_sym_u8_DQUOTE] = ACTIONS(958), + [anon_sym_DQUOTE] = ACTIONS(958), + [sym_true] = ACTIONS(956), + [sym_false] = ACTIONS(956), + [sym_null] = ACTIONS(956), + [sym_comment] = ACTIONS(3), + }, + [156] = { + [sym_identifier] = ACTIONS(952), + [aux_sym_preproc_include_token1] = ACTIONS(952), + [aux_sym_preproc_def_token1] = ACTIONS(952), + [aux_sym_preproc_if_token1] = ACTIONS(952), + [aux_sym_preproc_if_token2] = ACTIONS(952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(952), + [sym_preproc_directive] = ACTIONS(952), + [anon_sym_LPAREN2] = ACTIONS(954), + [anon_sym_BANG] = ACTIONS(954), + [anon_sym_TILDE] = ACTIONS(954), + [anon_sym_DASH] = ACTIONS(952), + [anon_sym_PLUS] = ACTIONS(952), + [anon_sym_STAR] = ACTIONS(954), + [anon_sym_AMP] = ACTIONS(954), + [anon_sym_SEMI] = ACTIONS(954), + [anon_sym_typedef] = ACTIONS(952), + [anon_sym_extern] = ACTIONS(952), + [anon_sym___attribute__] = ACTIONS(952), + [anon_sym_LBRACK_LBRACK] = ACTIONS(954), + [anon_sym___declspec] = ACTIONS(952), + [anon_sym___cdecl] = ACTIONS(952), + [anon_sym___clrcall] = ACTIONS(952), + [anon_sym___stdcall] = ACTIONS(952), + [anon_sym___fastcall] = ACTIONS(952), + [anon_sym___thiscall] = ACTIONS(952), + [anon_sym___vectorcall] = ACTIONS(952), + [anon_sym_LBRACE] = ACTIONS(954), + [anon_sym_static] = ACTIONS(952), + [anon_sym_auto] = ACTIONS(952), + [anon_sym_register] = ACTIONS(952), + [anon_sym_inline] = ACTIONS(952), + [anon_sym_const] = ACTIONS(952), + [anon_sym_volatile] = ACTIONS(952), + [anon_sym_restrict] = ACTIONS(952), + [anon_sym__Atomic] = ACTIONS(952), + [anon_sym_signed] = ACTIONS(952), + [anon_sym_unsigned] = ACTIONS(952), + [anon_sym_long] = ACTIONS(952), + [anon_sym_short] = ACTIONS(952), + [sym_primitive_type] = ACTIONS(952), + [anon_sym_enum] = ACTIONS(952), + [anon_sym_struct] = ACTIONS(952), + [anon_sym_union] = ACTIONS(952), + [anon_sym_if] = ACTIONS(952), + [anon_sym_else] = ACTIONS(952), + [anon_sym_switch] = ACTIONS(952), + [anon_sym_case] = ACTIONS(952), + [anon_sym_default] = ACTIONS(952), + [anon_sym_while] = ACTIONS(952), + [anon_sym_do] = ACTIONS(952), + [anon_sym_for] = ACTIONS(952), + [anon_sym_return] = ACTIONS(952), + [anon_sym_break] = ACTIONS(952), + [anon_sym_continue] = ACTIONS(952), + [anon_sym_goto] = ACTIONS(952), + [anon_sym_DASH_DASH] = ACTIONS(954), + [anon_sym_PLUS_PLUS] = ACTIONS(954), + [anon_sym_sizeof] = ACTIONS(952), + [sym_number_literal] = ACTIONS(954), + [anon_sym_L_SQUOTE] = ACTIONS(954), + [anon_sym_u_SQUOTE] = ACTIONS(954), + [anon_sym_U_SQUOTE] = ACTIONS(954), + [anon_sym_u8_SQUOTE] = ACTIONS(954), + [anon_sym_SQUOTE] = ACTIONS(954), + [anon_sym_L_DQUOTE] = ACTIONS(954), + [anon_sym_u_DQUOTE] = ACTIONS(954), + [anon_sym_U_DQUOTE] = ACTIONS(954), + [anon_sym_u8_DQUOTE] = ACTIONS(954), + [anon_sym_DQUOTE] = ACTIONS(954), + [sym_true] = ACTIONS(952), + [sym_false] = ACTIONS(952), + [sym_null] = ACTIONS(952), + [sym_comment] = ACTIONS(3), + }, + [157] = { + [ts_builtin_sym_end] = ACTIONS(962), + [sym_identifier] = ACTIONS(960), + [aux_sym_preproc_include_token1] = ACTIONS(960), + [aux_sym_preproc_def_token1] = ACTIONS(960), + [aux_sym_preproc_if_token1] = ACTIONS(960), + [aux_sym_preproc_ifdef_token1] = ACTIONS(960), + [aux_sym_preproc_ifdef_token2] = ACTIONS(960), + [sym_preproc_directive] = ACTIONS(960), + [anon_sym_LPAREN2] = ACTIONS(962), + [anon_sym_BANG] = ACTIONS(962), + [anon_sym_TILDE] = ACTIONS(962), + [anon_sym_DASH] = ACTIONS(960), + [anon_sym_PLUS] = ACTIONS(960), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(962), + [anon_sym_typedef] = ACTIONS(960), + [anon_sym_extern] = ACTIONS(960), + [anon_sym___attribute__] = ACTIONS(960), + [anon_sym_LBRACK_LBRACK] = ACTIONS(962), + [anon_sym___declspec] = ACTIONS(960), + [anon_sym___cdecl] = ACTIONS(960), + [anon_sym___clrcall] = ACTIONS(960), + [anon_sym___stdcall] = ACTIONS(960), + [anon_sym___fastcall] = ACTIONS(960), + [anon_sym___thiscall] = ACTIONS(960), + [anon_sym___vectorcall] = ACTIONS(960), + [anon_sym_LBRACE] = ACTIONS(962), + [anon_sym_static] = ACTIONS(960), + [anon_sym_auto] = ACTIONS(960), + [anon_sym_register] = ACTIONS(960), + [anon_sym_inline] = ACTIONS(960), + [anon_sym_const] = ACTIONS(960), + [anon_sym_volatile] = ACTIONS(960), + [anon_sym_restrict] = ACTIONS(960), + [anon_sym__Atomic] = ACTIONS(960), + [anon_sym_signed] = ACTIONS(960), + [anon_sym_unsigned] = ACTIONS(960), + [anon_sym_long] = ACTIONS(960), + [anon_sym_short] = ACTIONS(960), + [sym_primitive_type] = ACTIONS(960), + [anon_sym_enum] = ACTIONS(960), + [anon_sym_struct] = ACTIONS(960), + [anon_sym_union] = ACTIONS(960), + [anon_sym_if] = ACTIONS(960), + [anon_sym_else] = ACTIONS(960), + [anon_sym_switch] = ACTIONS(960), + [anon_sym_case] = ACTIONS(960), + [anon_sym_default] = ACTIONS(960), + [anon_sym_while] = ACTIONS(960), + [anon_sym_do] = ACTIONS(960), + [anon_sym_for] = ACTIONS(960), + [anon_sym_return] = ACTIONS(960), + [anon_sym_break] = ACTIONS(960), + [anon_sym_continue] = ACTIONS(960), + [anon_sym_goto] = ACTIONS(960), + [anon_sym_DASH_DASH] = ACTIONS(962), + [anon_sym_PLUS_PLUS] = ACTIONS(962), + [anon_sym_sizeof] = ACTIONS(960), + [sym_number_literal] = ACTIONS(962), + [anon_sym_L_SQUOTE] = ACTIONS(962), + [anon_sym_u_SQUOTE] = ACTIONS(962), + [anon_sym_U_SQUOTE] = ACTIONS(962), + [anon_sym_u8_SQUOTE] = ACTIONS(962), + [anon_sym_SQUOTE] = ACTIONS(962), + [anon_sym_L_DQUOTE] = ACTIONS(962), + [anon_sym_u_DQUOTE] = ACTIONS(962), + [anon_sym_U_DQUOTE] = ACTIONS(962), + [anon_sym_u8_DQUOTE] = ACTIONS(962), + [anon_sym_DQUOTE] = ACTIONS(962), + [sym_true] = ACTIONS(960), + [sym_false] = ACTIONS(960), + [sym_null] = ACTIONS(960), + [sym_comment] = ACTIONS(3), + }, + [158] = { + [ts_builtin_sym_end] = ACTIONS(1018), + [sym_identifier] = ACTIONS(1016), + [aux_sym_preproc_include_token1] = ACTIONS(1016), + [aux_sym_preproc_def_token1] = ACTIONS(1016), + [aux_sym_preproc_if_token1] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1016), + [sym_preproc_directive] = ACTIONS(1016), + [anon_sym_LPAREN2] = ACTIONS(1018), + [anon_sym_BANG] = ACTIONS(1018), + [anon_sym_TILDE] = ACTIONS(1018), + [anon_sym_DASH] = ACTIONS(1016), + [anon_sym_PLUS] = ACTIONS(1016), + [anon_sym_STAR] = ACTIONS(1018), + [anon_sym_AMP] = ACTIONS(1018), + [anon_sym_SEMI] = ACTIONS(1018), + [anon_sym_typedef] = ACTIONS(1016), + [anon_sym_extern] = ACTIONS(1016), + [anon_sym___attribute__] = ACTIONS(1016), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1018), + [anon_sym___declspec] = ACTIONS(1016), + [anon_sym___cdecl] = ACTIONS(1016), + [anon_sym___clrcall] = ACTIONS(1016), + [anon_sym___stdcall] = ACTIONS(1016), + [anon_sym___fastcall] = ACTIONS(1016), + [anon_sym___thiscall] = ACTIONS(1016), + [anon_sym___vectorcall] = ACTIONS(1016), + [anon_sym_LBRACE] = ACTIONS(1018), + [anon_sym_static] = ACTIONS(1016), + [anon_sym_auto] = ACTIONS(1016), + [anon_sym_register] = ACTIONS(1016), + [anon_sym_inline] = ACTIONS(1016), + [anon_sym_const] = ACTIONS(1016), + [anon_sym_volatile] = ACTIONS(1016), + [anon_sym_restrict] = ACTIONS(1016), + [anon_sym__Atomic] = ACTIONS(1016), + [anon_sym_signed] = ACTIONS(1016), + [anon_sym_unsigned] = ACTIONS(1016), + [anon_sym_long] = ACTIONS(1016), + [anon_sym_short] = ACTIONS(1016), + [sym_primitive_type] = ACTIONS(1016), + [anon_sym_enum] = ACTIONS(1016), + [anon_sym_struct] = ACTIONS(1016), + [anon_sym_union] = ACTIONS(1016), + [anon_sym_if] = ACTIONS(1016), + [anon_sym_else] = ACTIONS(1016), + [anon_sym_switch] = ACTIONS(1016), + [anon_sym_case] = ACTIONS(1016), + [anon_sym_default] = ACTIONS(1016), + [anon_sym_while] = ACTIONS(1016), + [anon_sym_do] = ACTIONS(1016), + [anon_sym_for] = ACTIONS(1016), + [anon_sym_return] = ACTIONS(1016), + [anon_sym_break] = ACTIONS(1016), + [anon_sym_continue] = ACTIONS(1016), + [anon_sym_goto] = ACTIONS(1016), + [anon_sym_DASH_DASH] = ACTIONS(1018), + [anon_sym_PLUS_PLUS] = ACTIONS(1018), + [anon_sym_sizeof] = ACTIONS(1016), + [sym_number_literal] = ACTIONS(1018), + [anon_sym_L_SQUOTE] = ACTIONS(1018), + [anon_sym_u_SQUOTE] = ACTIONS(1018), + [anon_sym_U_SQUOTE] = ACTIONS(1018), + [anon_sym_u8_SQUOTE] = ACTIONS(1018), + [anon_sym_SQUOTE] = ACTIONS(1018), + [anon_sym_L_DQUOTE] = ACTIONS(1018), + [anon_sym_u_DQUOTE] = ACTIONS(1018), + [anon_sym_U_DQUOTE] = ACTIONS(1018), + [anon_sym_u8_DQUOTE] = ACTIONS(1018), + [anon_sym_DQUOTE] = ACTIONS(1018), + [sym_true] = ACTIONS(1016), + [sym_false] = ACTIONS(1016), + [sym_null] = ACTIONS(1016), + [sym_comment] = ACTIONS(3), + }, + [159] = { + [sym_identifier] = ACTIONS(914), + [aux_sym_preproc_include_token1] = ACTIONS(914), + [aux_sym_preproc_def_token1] = ACTIONS(914), + [aux_sym_preproc_if_token1] = ACTIONS(914), + [aux_sym_preproc_ifdef_token1] = ACTIONS(914), + [aux_sym_preproc_ifdef_token2] = ACTIONS(914), + [sym_preproc_directive] = ACTIONS(914), + [anon_sym_LPAREN2] = ACTIONS(916), + [anon_sym_BANG] = ACTIONS(916), + [anon_sym_TILDE] = ACTIONS(916), + [anon_sym_DASH] = ACTIONS(914), + [anon_sym_PLUS] = ACTIONS(914), + [anon_sym_STAR] = ACTIONS(916), + [anon_sym_AMP] = ACTIONS(916), + [anon_sym_SEMI] = ACTIONS(916), + [anon_sym_typedef] = ACTIONS(914), + [anon_sym_extern] = ACTIONS(914), + [anon_sym___attribute__] = ACTIONS(914), + [anon_sym_LBRACK_LBRACK] = ACTIONS(916), + [anon_sym___declspec] = ACTIONS(914), + [anon_sym___cdecl] = ACTIONS(914), + [anon_sym___clrcall] = ACTIONS(914), + [anon_sym___stdcall] = ACTIONS(914), + [anon_sym___fastcall] = ACTIONS(914), + [anon_sym___thiscall] = ACTIONS(914), + [anon_sym___vectorcall] = ACTIONS(914), + [anon_sym_LBRACE] = ACTIONS(916), + [anon_sym_RBRACE] = ACTIONS(916), + [anon_sym_static] = ACTIONS(914), + [anon_sym_auto] = ACTIONS(914), + [anon_sym_register] = ACTIONS(914), + [anon_sym_inline] = ACTIONS(914), + [anon_sym_const] = ACTIONS(914), + [anon_sym_volatile] = ACTIONS(914), + [anon_sym_restrict] = ACTIONS(914), + [anon_sym__Atomic] = ACTIONS(914), + [anon_sym_signed] = ACTIONS(914), + [anon_sym_unsigned] = ACTIONS(914), + [anon_sym_long] = ACTIONS(914), + [anon_sym_short] = ACTIONS(914), + [sym_primitive_type] = ACTIONS(914), + [anon_sym_enum] = ACTIONS(914), + [anon_sym_struct] = ACTIONS(914), + [anon_sym_union] = ACTIONS(914), + [anon_sym_if] = ACTIONS(914), + [anon_sym_else] = ACTIONS(914), + [anon_sym_switch] = ACTIONS(914), + [anon_sym_case] = ACTIONS(914), + [anon_sym_default] = ACTIONS(914), + [anon_sym_while] = ACTIONS(914), + [anon_sym_do] = ACTIONS(914), + [anon_sym_for] = ACTIONS(914), + [anon_sym_return] = ACTIONS(914), + [anon_sym_break] = ACTIONS(914), + [anon_sym_continue] = ACTIONS(914), + [anon_sym_goto] = ACTIONS(914), + [anon_sym_DASH_DASH] = ACTIONS(916), + [anon_sym_PLUS_PLUS] = ACTIONS(916), + [anon_sym_sizeof] = ACTIONS(914), + [sym_number_literal] = ACTIONS(916), + [anon_sym_L_SQUOTE] = ACTIONS(916), + [anon_sym_u_SQUOTE] = ACTIONS(916), + [anon_sym_U_SQUOTE] = ACTIONS(916), + [anon_sym_u8_SQUOTE] = ACTIONS(916), + [anon_sym_SQUOTE] = ACTIONS(916), + [anon_sym_L_DQUOTE] = ACTIONS(916), + [anon_sym_u_DQUOTE] = ACTIONS(916), + [anon_sym_U_DQUOTE] = ACTIONS(916), + [anon_sym_u8_DQUOTE] = ACTIONS(916), + [anon_sym_DQUOTE] = ACTIONS(916), + [sym_true] = ACTIONS(914), + [sym_false] = ACTIONS(914), + [sym_null] = ACTIONS(914), + [sym_comment] = ACTIONS(3), + }, + [160] = { + [sym_identifier] = ACTIONS(1000), + [aux_sym_preproc_include_token1] = ACTIONS(1000), + [aux_sym_preproc_def_token1] = ACTIONS(1000), + [aux_sym_preproc_if_token1] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1000), + [sym_preproc_directive] = ACTIONS(1000), + [anon_sym_LPAREN2] = ACTIONS(1002), + [anon_sym_BANG] = ACTIONS(1002), + [anon_sym_TILDE] = ACTIONS(1002), + [anon_sym_DASH] = ACTIONS(1000), + [anon_sym_PLUS] = ACTIONS(1000), + [anon_sym_STAR] = ACTIONS(1002), + [anon_sym_AMP] = ACTIONS(1002), + [anon_sym_SEMI] = ACTIONS(1002), + [anon_sym_typedef] = ACTIONS(1000), + [anon_sym_extern] = ACTIONS(1000), + [anon_sym___attribute__] = ACTIONS(1000), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1002), + [anon_sym___declspec] = ACTIONS(1000), + [anon_sym___cdecl] = ACTIONS(1000), + [anon_sym___clrcall] = ACTIONS(1000), + [anon_sym___stdcall] = ACTIONS(1000), + [anon_sym___fastcall] = ACTIONS(1000), + [anon_sym___thiscall] = ACTIONS(1000), + [anon_sym___vectorcall] = ACTIONS(1000), + [anon_sym_LBRACE] = ACTIONS(1002), + [anon_sym_RBRACE] = ACTIONS(1002), + [anon_sym_static] = ACTIONS(1000), + [anon_sym_auto] = ACTIONS(1000), + [anon_sym_register] = ACTIONS(1000), + [anon_sym_inline] = ACTIONS(1000), + [anon_sym_const] = ACTIONS(1000), + [anon_sym_volatile] = ACTIONS(1000), + [anon_sym_restrict] = ACTIONS(1000), + [anon_sym__Atomic] = ACTIONS(1000), + [anon_sym_signed] = ACTIONS(1000), + [anon_sym_unsigned] = ACTIONS(1000), + [anon_sym_long] = ACTIONS(1000), + [anon_sym_short] = ACTIONS(1000), + [sym_primitive_type] = ACTIONS(1000), + [anon_sym_enum] = ACTIONS(1000), + [anon_sym_struct] = ACTIONS(1000), + [anon_sym_union] = ACTIONS(1000), + [anon_sym_if] = ACTIONS(1000), + [anon_sym_else] = ACTIONS(1000), + [anon_sym_switch] = ACTIONS(1000), + [anon_sym_case] = ACTIONS(1000), + [anon_sym_default] = ACTIONS(1000), + [anon_sym_while] = ACTIONS(1000), + [anon_sym_do] = ACTIONS(1000), + [anon_sym_for] = ACTIONS(1000), + [anon_sym_return] = ACTIONS(1000), + [anon_sym_break] = ACTIONS(1000), + [anon_sym_continue] = ACTIONS(1000), + [anon_sym_goto] = ACTIONS(1000), + [anon_sym_DASH_DASH] = ACTIONS(1002), + [anon_sym_PLUS_PLUS] = ACTIONS(1002), + [anon_sym_sizeof] = ACTIONS(1000), + [sym_number_literal] = ACTIONS(1002), + [anon_sym_L_SQUOTE] = ACTIONS(1002), + [anon_sym_u_SQUOTE] = ACTIONS(1002), + [anon_sym_U_SQUOTE] = ACTIONS(1002), + [anon_sym_u8_SQUOTE] = ACTIONS(1002), + [anon_sym_SQUOTE] = ACTIONS(1002), + [anon_sym_L_DQUOTE] = ACTIONS(1002), + [anon_sym_u_DQUOTE] = ACTIONS(1002), + [anon_sym_U_DQUOTE] = ACTIONS(1002), + [anon_sym_u8_DQUOTE] = ACTIONS(1002), + [anon_sym_DQUOTE] = ACTIONS(1002), + [sym_true] = ACTIONS(1000), + [sym_false] = ACTIONS(1000), + [sym_null] = ACTIONS(1000), + [sym_comment] = ACTIONS(3), + }, + [161] = { + [sym_identifier] = ACTIONS(898), + [aux_sym_preproc_include_token1] = ACTIONS(898), + [aux_sym_preproc_def_token1] = ACTIONS(898), + [aux_sym_preproc_if_token1] = ACTIONS(898), + [aux_sym_preproc_if_token2] = ACTIONS(898), + [aux_sym_preproc_ifdef_token1] = ACTIONS(898), + [aux_sym_preproc_ifdef_token2] = ACTIONS(898), + [sym_preproc_directive] = ACTIONS(898), + [anon_sym_LPAREN2] = ACTIONS(900), + [anon_sym_BANG] = ACTIONS(900), + [anon_sym_TILDE] = ACTIONS(900), + [anon_sym_DASH] = ACTIONS(898), + [anon_sym_PLUS] = ACTIONS(898), + [anon_sym_STAR] = ACTIONS(900), + [anon_sym_AMP] = ACTIONS(900), + [anon_sym_SEMI] = ACTIONS(900), + [anon_sym_typedef] = ACTIONS(898), + [anon_sym_extern] = ACTIONS(898), + [anon_sym___attribute__] = ACTIONS(898), + [anon_sym_LBRACK_LBRACK] = ACTIONS(900), + [anon_sym___declspec] = ACTIONS(898), + [anon_sym___cdecl] = ACTIONS(898), + [anon_sym___clrcall] = ACTIONS(898), + [anon_sym___stdcall] = ACTIONS(898), + [anon_sym___fastcall] = ACTIONS(898), + [anon_sym___thiscall] = ACTIONS(898), + [anon_sym___vectorcall] = ACTIONS(898), + [anon_sym_LBRACE] = ACTIONS(900), + [anon_sym_static] = ACTIONS(898), + [anon_sym_auto] = ACTIONS(898), + [anon_sym_register] = ACTIONS(898), + [anon_sym_inline] = ACTIONS(898), + [anon_sym_const] = ACTIONS(898), + [anon_sym_volatile] = ACTIONS(898), + [anon_sym_restrict] = ACTIONS(898), + [anon_sym__Atomic] = ACTIONS(898), + [anon_sym_signed] = ACTIONS(898), + [anon_sym_unsigned] = ACTIONS(898), + [anon_sym_long] = ACTIONS(898), + [anon_sym_short] = ACTIONS(898), + [sym_primitive_type] = ACTIONS(898), + [anon_sym_enum] = ACTIONS(898), + [anon_sym_struct] = ACTIONS(898), + [anon_sym_union] = ACTIONS(898), + [anon_sym_if] = ACTIONS(898), + [anon_sym_else] = ACTIONS(898), + [anon_sym_switch] = ACTIONS(898), + [anon_sym_case] = ACTIONS(898), + [anon_sym_default] = ACTIONS(898), + [anon_sym_while] = ACTIONS(898), + [anon_sym_do] = ACTIONS(898), + [anon_sym_for] = ACTIONS(898), + [anon_sym_return] = ACTIONS(898), + [anon_sym_break] = ACTIONS(898), + [anon_sym_continue] = ACTIONS(898), + [anon_sym_goto] = ACTIONS(898), + [anon_sym_DASH_DASH] = ACTIONS(900), + [anon_sym_PLUS_PLUS] = ACTIONS(900), + [anon_sym_sizeof] = ACTIONS(898), + [sym_number_literal] = ACTIONS(900), + [anon_sym_L_SQUOTE] = ACTIONS(900), + [anon_sym_u_SQUOTE] = ACTIONS(900), + [anon_sym_U_SQUOTE] = ACTIONS(900), + [anon_sym_u8_SQUOTE] = ACTIONS(900), + [anon_sym_SQUOTE] = ACTIONS(900), + [anon_sym_L_DQUOTE] = ACTIONS(900), + [anon_sym_u_DQUOTE] = ACTIONS(900), + [anon_sym_U_DQUOTE] = ACTIONS(900), + [anon_sym_u8_DQUOTE] = ACTIONS(900), + [anon_sym_DQUOTE] = ACTIONS(900), + [sym_true] = ACTIONS(898), + [sym_false] = ACTIONS(898), + [sym_null] = ACTIONS(898), + [sym_comment] = ACTIONS(3), + }, + [162] = { + [sym_identifier] = ACTIONS(996), + [aux_sym_preproc_include_token1] = ACTIONS(996), + [aux_sym_preproc_def_token1] = ACTIONS(996), + [aux_sym_preproc_if_token1] = ACTIONS(996), + [aux_sym_preproc_ifdef_token1] = ACTIONS(996), + [aux_sym_preproc_ifdef_token2] = ACTIONS(996), + [sym_preproc_directive] = ACTIONS(996), + [anon_sym_LPAREN2] = ACTIONS(998), + [anon_sym_BANG] = ACTIONS(998), + [anon_sym_TILDE] = ACTIONS(998), + [anon_sym_DASH] = ACTIONS(996), + [anon_sym_PLUS] = ACTIONS(996), + [anon_sym_STAR] = ACTIONS(998), + [anon_sym_AMP] = ACTIONS(998), + [anon_sym_SEMI] = ACTIONS(998), + [anon_sym_typedef] = ACTIONS(996), + [anon_sym_extern] = ACTIONS(996), + [anon_sym___attribute__] = ACTIONS(996), + [anon_sym_LBRACK_LBRACK] = ACTIONS(998), + [anon_sym___declspec] = ACTIONS(996), + [anon_sym___cdecl] = ACTIONS(996), + [anon_sym___clrcall] = ACTIONS(996), + [anon_sym___stdcall] = ACTIONS(996), + [anon_sym___fastcall] = ACTIONS(996), + [anon_sym___thiscall] = ACTIONS(996), + [anon_sym___vectorcall] = ACTIONS(996), + [anon_sym_LBRACE] = ACTIONS(998), + [anon_sym_RBRACE] = ACTIONS(998), + [anon_sym_static] = ACTIONS(996), + [anon_sym_auto] = ACTIONS(996), + [anon_sym_register] = ACTIONS(996), + [anon_sym_inline] = ACTIONS(996), + [anon_sym_const] = ACTIONS(996), + [anon_sym_volatile] = ACTIONS(996), + [anon_sym_restrict] = ACTIONS(996), + [anon_sym__Atomic] = ACTIONS(996), + [anon_sym_signed] = ACTIONS(996), + [anon_sym_unsigned] = ACTIONS(996), + [anon_sym_long] = ACTIONS(996), + [anon_sym_short] = ACTIONS(996), + [sym_primitive_type] = ACTIONS(996), + [anon_sym_enum] = ACTIONS(996), + [anon_sym_struct] = ACTIONS(996), + [anon_sym_union] = ACTIONS(996), + [anon_sym_if] = ACTIONS(996), + [anon_sym_else] = ACTIONS(996), + [anon_sym_switch] = ACTIONS(996), + [anon_sym_case] = ACTIONS(996), + [anon_sym_default] = ACTIONS(996), + [anon_sym_while] = ACTIONS(996), + [anon_sym_do] = ACTIONS(996), + [anon_sym_for] = ACTIONS(996), + [anon_sym_return] = ACTIONS(996), + [anon_sym_break] = ACTIONS(996), + [anon_sym_continue] = ACTIONS(996), + [anon_sym_goto] = ACTIONS(996), + [anon_sym_DASH_DASH] = ACTIONS(998), + [anon_sym_PLUS_PLUS] = ACTIONS(998), + [anon_sym_sizeof] = ACTIONS(996), + [sym_number_literal] = ACTIONS(998), + [anon_sym_L_SQUOTE] = ACTIONS(998), + [anon_sym_u_SQUOTE] = ACTIONS(998), + [anon_sym_U_SQUOTE] = ACTIONS(998), + [anon_sym_u8_SQUOTE] = ACTIONS(998), + [anon_sym_SQUOTE] = ACTIONS(998), + [anon_sym_L_DQUOTE] = ACTIONS(998), + [anon_sym_u_DQUOTE] = ACTIONS(998), + [anon_sym_U_DQUOTE] = ACTIONS(998), + [anon_sym_u8_DQUOTE] = ACTIONS(998), + [anon_sym_DQUOTE] = ACTIONS(998), + [sym_true] = ACTIONS(996), + [sym_false] = ACTIONS(996), + [sym_null] = ACTIONS(996), + [sym_comment] = ACTIONS(3), + }, + [163] = { + [sym_identifier] = ACTIONS(976), + [aux_sym_preproc_include_token1] = ACTIONS(976), + [aux_sym_preproc_def_token1] = ACTIONS(976), + [aux_sym_preproc_if_token1] = ACTIONS(976), + [aux_sym_preproc_ifdef_token1] = ACTIONS(976), + [aux_sym_preproc_ifdef_token2] = ACTIONS(976), + [sym_preproc_directive] = ACTIONS(976), + [anon_sym_LPAREN2] = ACTIONS(978), + [anon_sym_BANG] = ACTIONS(978), + [anon_sym_TILDE] = ACTIONS(978), + [anon_sym_DASH] = ACTIONS(976), + [anon_sym_PLUS] = ACTIONS(976), + [anon_sym_STAR] = ACTIONS(978), + [anon_sym_AMP] = ACTIONS(978), + [anon_sym_SEMI] = ACTIONS(978), + [anon_sym_typedef] = ACTIONS(976), + [anon_sym_extern] = ACTIONS(976), + [anon_sym___attribute__] = ACTIONS(976), + [anon_sym_LBRACK_LBRACK] = ACTIONS(978), + [anon_sym___declspec] = ACTIONS(976), + [anon_sym___cdecl] = ACTIONS(976), + [anon_sym___clrcall] = ACTIONS(976), + [anon_sym___stdcall] = ACTIONS(976), + [anon_sym___fastcall] = ACTIONS(976), + [anon_sym___thiscall] = ACTIONS(976), + [anon_sym___vectorcall] = ACTIONS(976), + [anon_sym_LBRACE] = ACTIONS(978), + [anon_sym_RBRACE] = ACTIONS(978), + [anon_sym_static] = ACTIONS(976), + [anon_sym_auto] = ACTIONS(976), + [anon_sym_register] = ACTIONS(976), + [anon_sym_inline] = ACTIONS(976), + [anon_sym_const] = ACTIONS(976), + [anon_sym_volatile] = ACTIONS(976), + [anon_sym_restrict] = ACTIONS(976), + [anon_sym__Atomic] = ACTIONS(976), + [anon_sym_signed] = ACTIONS(976), + [anon_sym_unsigned] = ACTIONS(976), + [anon_sym_long] = ACTIONS(976), + [anon_sym_short] = ACTIONS(976), + [sym_primitive_type] = ACTIONS(976), + [anon_sym_enum] = ACTIONS(976), + [anon_sym_struct] = ACTIONS(976), + [anon_sym_union] = ACTIONS(976), + [anon_sym_if] = ACTIONS(976), + [anon_sym_else] = ACTIONS(976), + [anon_sym_switch] = ACTIONS(976), + [anon_sym_case] = ACTIONS(976), + [anon_sym_default] = ACTIONS(976), + [anon_sym_while] = ACTIONS(976), + [anon_sym_do] = ACTIONS(976), + [anon_sym_for] = ACTIONS(976), + [anon_sym_return] = ACTIONS(976), + [anon_sym_break] = ACTIONS(976), + [anon_sym_continue] = ACTIONS(976), + [anon_sym_goto] = ACTIONS(976), + [anon_sym_DASH_DASH] = ACTIONS(978), + [anon_sym_PLUS_PLUS] = ACTIONS(978), + [anon_sym_sizeof] = ACTIONS(976), + [sym_number_literal] = ACTIONS(978), + [anon_sym_L_SQUOTE] = ACTIONS(978), + [anon_sym_u_SQUOTE] = ACTIONS(978), + [anon_sym_U_SQUOTE] = ACTIONS(978), + [anon_sym_u8_SQUOTE] = ACTIONS(978), + [anon_sym_SQUOTE] = ACTIONS(978), + [anon_sym_L_DQUOTE] = ACTIONS(978), + [anon_sym_u_DQUOTE] = ACTIONS(978), + [anon_sym_U_DQUOTE] = ACTIONS(978), + [anon_sym_u8_DQUOTE] = ACTIONS(978), + [anon_sym_DQUOTE] = ACTIONS(978), + [sym_true] = ACTIONS(976), + [sym_false] = ACTIONS(976), + [sym_null] = ACTIONS(976), + [sym_comment] = ACTIONS(3), + }, + [164] = { + [sym_identifier] = ACTIONS(968), + [aux_sym_preproc_include_token1] = ACTIONS(968), + [aux_sym_preproc_def_token1] = ACTIONS(968), + [aux_sym_preproc_if_token1] = ACTIONS(968), + [aux_sym_preproc_ifdef_token1] = ACTIONS(968), + [aux_sym_preproc_ifdef_token2] = ACTIONS(968), + [sym_preproc_directive] = ACTIONS(968), + [anon_sym_LPAREN2] = ACTIONS(970), + [anon_sym_BANG] = ACTIONS(970), + [anon_sym_TILDE] = ACTIONS(970), + [anon_sym_DASH] = ACTIONS(968), + [anon_sym_PLUS] = ACTIONS(968), + [anon_sym_STAR] = ACTIONS(970), + [anon_sym_AMP] = ACTIONS(970), + [anon_sym_SEMI] = ACTIONS(970), + [anon_sym_typedef] = ACTIONS(968), + [anon_sym_extern] = ACTIONS(968), + [anon_sym___attribute__] = ACTIONS(968), + [anon_sym_LBRACK_LBRACK] = ACTIONS(970), + [anon_sym___declspec] = ACTIONS(968), + [anon_sym___cdecl] = ACTIONS(968), + [anon_sym___clrcall] = ACTIONS(968), + [anon_sym___stdcall] = ACTIONS(968), + [anon_sym___fastcall] = ACTIONS(968), + [anon_sym___thiscall] = ACTIONS(968), + [anon_sym___vectorcall] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(970), + [anon_sym_RBRACE] = ACTIONS(970), + [anon_sym_static] = ACTIONS(968), + [anon_sym_auto] = ACTIONS(968), + [anon_sym_register] = ACTIONS(968), + [anon_sym_inline] = ACTIONS(968), + [anon_sym_const] = ACTIONS(968), + [anon_sym_volatile] = ACTIONS(968), + [anon_sym_restrict] = ACTIONS(968), + [anon_sym__Atomic] = ACTIONS(968), + [anon_sym_signed] = ACTIONS(968), + [anon_sym_unsigned] = ACTIONS(968), + [anon_sym_long] = ACTIONS(968), + [anon_sym_short] = ACTIONS(968), + [sym_primitive_type] = ACTIONS(968), + [anon_sym_enum] = ACTIONS(968), + [anon_sym_struct] = ACTIONS(968), + [anon_sym_union] = ACTIONS(968), + [anon_sym_if] = ACTIONS(968), + [anon_sym_else] = ACTIONS(968), + [anon_sym_switch] = ACTIONS(968), + [anon_sym_case] = ACTIONS(968), + [anon_sym_default] = ACTIONS(968), + [anon_sym_while] = ACTIONS(968), + [anon_sym_do] = ACTIONS(968), + [anon_sym_for] = ACTIONS(968), + [anon_sym_return] = ACTIONS(968), + [anon_sym_break] = ACTIONS(968), + [anon_sym_continue] = ACTIONS(968), + [anon_sym_goto] = ACTIONS(968), + [anon_sym_DASH_DASH] = ACTIONS(970), + [anon_sym_PLUS_PLUS] = ACTIONS(970), + [anon_sym_sizeof] = ACTIONS(968), + [sym_number_literal] = ACTIONS(970), + [anon_sym_L_SQUOTE] = ACTIONS(970), + [anon_sym_u_SQUOTE] = ACTIONS(970), + [anon_sym_U_SQUOTE] = ACTIONS(970), + [anon_sym_u8_SQUOTE] = ACTIONS(970), + [anon_sym_SQUOTE] = ACTIONS(970), + [anon_sym_L_DQUOTE] = ACTIONS(970), + [anon_sym_u_DQUOTE] = ACTIONS(970), + [anon_sym_U_DQUOTE] = ACTIONS(970), + [anon_sym_u8_DQUOTE] = ACTIONS(970), + [anon_sym_DQUOTE] = ACTIONS(970), + [sym_true] = ACTIONS(968), + [sym_false] = ACTIONS(968), + [sym_null] = ACTIONS(968), + [sym_comment] = ACTIONS(3), + }, + [165] = { + [sym_identifier] = ACTIONS(902), + [aux_sym_preproc_include_token1] = ACTIONS(902), + [aux_sym_preproc_def_token1] = ACTIONS(902), + [aux_sym_preproc_if_token1] = ACTIONS(902), + [aux_sym_preproc_if_token2] = ACTIONS(902), + [aux_sym_preproc_ifdef_token1] = ACTIONS(902), + [aux_sym_preproc_ifdef_token2] = ACTIONS(902), + [sym_preproc_directive] = ACTIONS(902), + [anon_sym_LPAREN2] = ACTIONS(904), + [anon_sym_BANG] = ACTIONS(904), + [anon_sym_TILDE] = ACTIONS(904), + [anon_sym_DASH] = ACTIONS(902), + [anon_sym_PLUS] = ACTIONS(902), + [anon_sym_STAR] = ACTIONS(904), + [anon_sym_AMP] = ACTIONS(904), + [anon_sym_SEMI] = ACTIONS(904), + [anon_sym_typedef] = ACTIONS(902), + [anon_sym_extern] = ACTIONS(902), + [anon_sym___attribute__] = ACTIONS(902), + [anon_sym_LBRACK_LBRACK] = ACTIONS(904), + [anon_sym___declspec] = ACTIONS(902), + [anon_sym___cdecl] = ACTIONS(902), + [anon_sym___clrcall] = ACTIONS(902), + [anon_sym___stdcall] = ACTIONS(902), + [anon_sym___fastcall] = ACTIONS(902), + [anon_sym___thiscall] = ACTIONS(902), + [anon_sym___vectorcall] = ACTIONS(902), + [anon_sym_LBRACE] = ACTIONS(904), + [anon_sym_static] = ACTIONS(902), + [anon_sym_auto] = ACTIONS(902), + [anon_sym_register] = ACTIONS(902), + [anon_sym_inline] = ACTIONS(902), + [anon_sym_const] = ACTIONS(902), + [anon_sym_volatile] = ACTIONS(902), + [anon_sym_restrict] = ACTIONS(902), + [anon_sym__Atomic] = ACTIONS(902), + [anon_sym_signed] = ACTIONS(902), + [anon_sym_unsigned] = ACTIONS(902), + [anon_sym_long] = ACTIONS(902), + [anon_sym_short] = ACTIONS(902), + [sym_primitive_type] = ACTIONS(902), + [anon_sym_enum] = ACTIONS(902), + [anon_sym_struct] = ACTIONS(902), + [anon_sym_union] = ACTIONS(902), + [anon_sym_if] = ACTIONS(902), + [anon_sym_else] = ACTIONS(902), + [anon_sym_switch] = ACTIONS(902), + [anon_sym_case] = ACTIONS(902), + [anon_sym_default] = ACTIONS(902), + [anon_sym_while] = ACTIONS(902), + [anon_sym_do] = ACTIONS(902), + [anon_sym_for] = ACTIONS(902), + [anon_sym_return] = ACTIONS(902), + [anon_sym_break] = ACTIONS(902), + [anon_sym_continue] = ACTIONS(902), + [anon_sym_goto] = ACTIONS(902), + [anon_sym_DASH_DASH] = ACTIONS(904), + [anon_sym_PLUS_PLUS] = ACTIONS(904), + [anon_sym_sizeof] = ACTIONS(902), + [sym_number_literal] = ACTIONS(904), + [anon_sym_L_SQUOTE] = ACTIONS(904), + [anon_sym_u_SQUOTE] = ACTIONS(904), + [anon_sym_U_SQUOTE] = ACTIONS(904), + [anon_sym_u8_SQUOTE] = ACTIONS(904), + [anon_sym_SQUOTE] = ACTIONS(904), + [anon_sym_L_DQUOTE] = ACTIONS(904), + [anon_sym_u_DQUOTE] = ACTIONS(904), + [anon_sym_U_DQUOTE] = ACTIONS(904), + [anon_sym_u8_DQUOTE] = ACTIONS(904), + [anon_sym_DQUOTE] = ACTIONS(904), + [sym_true] = ACTIONS(902), + [sym_false] = ACTIONS(902), + [sym_null] = ACTIONS(902), + [sym_comment] = ACTIONS(3), + }, + [166] = { + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(956), + [aux_sym_preproc_def_token1] = ACTIONS(956), + [aux_sym_preproc_if_token1] = ACTIONS(956), + [aux_sym_preproc_ifdef_token1] = ACTIONS(956), + [aux_sym_preproc_ifdef_token2] = ACTIONS(956), + [sym_preproc_directive] = ACTIONS(956), + [anon_sym_LPAREN2] = ACTIONS(958), + [anon_sym_BANG] = ACTIONS(958), + [anon_sym_TILDE] = ACTIONS(958), + [anon_sym_DASH] = ACTIONS(956), + [anon_sym_PLUS] = ACTIONS(956), + [anon_sym_STAR] = ACTIONS(958), + [anon_sym_AMP] = ACTIONS(958), + [anon_sym_SEMI] = ACTIONS(958), + [anon_sym_typedef] = ACTIONS(956), + [anon_sym_extern] = ACTIONS(956), + [anon_sym___attribute__] = ACTIONS(956), + [anon_sym_LBRACK_LBRACK] = ACTIONS(958), + [anon_sym___declspec] = ACTIONS(956), + [anon_sym___cdecl] = ACTIONS(956), + [anon_sym___clrcall] = ACTIONS(956), + [anon_sym___stdcall] = ACTIONS(956), + [anon_sym___fastcall] = ACTIONS(956), + [anon_sym___thiscall] = ACTIONS(956), + [anon_sym___vectorcall] = ACTIONS(956), + [anon_sym_LBRACE] = ACTIONS(958), + [anon_sym_RBRACE] = ACTIONS(958), + [anon_sym_static] = ACTIONS(956), + [anon_sym_auto] = ACTIONS(956), + [anon_sym_register] = ACTIONS(956), + [anon_sym_inline] = ACTIONS(956), + [anon_sym_const] = ACTIONS(956), + [anon_sym_volatile] = ACTIONS(956), + [anon_sym_restrict] = ACTIONS(956), + [anon_sym__Atomic] = ACTIONS(956), + [anon_sym_signed] = ACTIONS(956), + [anon_sym_unsigned] = ACTIONS(956), + [anon_sym_long] = ACTIONS(956), + [anon_sym_short] = ACTIONS(956), + [sym_primitive_type] = ACTIONS(956), + [anon_sym_enum] = ACTIONS(956), + [anon_sym_struct] = ACTIONS(956), + [anon_sym_union] = ACTIONS(956), + [anon_sym_if] = ACTIONS(956), + [anon_sym_else] = ACTIONS(956), + [anon_sym_switch] = ACTIONS(956), + [anon_sym_case] = ACTIONS(956), + [anon_sym_default] = ACTIONS(956), + [anon_sym_while] = ACTIONS(956), + [anon_sym_do] = ACTIONS(956), + [anon_sym_for] = ACTIONS(956), + [anon_sym_return] = ACTIONS(956), + [anon_sym_break] = ACTIONS(956), + [anon_sym_continue] = ACTIONS(956), + [anon_sym_goto] = ACTIONS(956), + [anon_sym_DASH_DASH] = ACTIONS(958), + [anon_sym_PLUS_PLUS] = ACTIONS(958), + [anon_sym_sizeof] = ACTIONS(956), + [sym_number_literal] = ACTIONS(958), + [anon_sym_L_SQUOTE] = ACTIONS(958), + [anon_sym_u_SQUOTE] = ACTIONS(958), + [anon_sym_U_SQUOTE] = ACTIONS(958), + [anon_sym_u8_SQUOTE] = ACTIONS(958), + [anon_sym_SQUOTE] = ACTIONS(958), + [anon_sym_L_DQUOTE] = ACTIONS(958), + [anon_sym_u_DQUOTE] = ACTIONS(958), + [anon_sym_U_DQUOTE] = ACTIONS(958), + [anon_sym_u8_DQUOTE] = ACTIONS(958), + [anon_sym_DQUOTE] = ACTIONS(958), + [sym_true] = ACTIONS(956), + [sym_false] = ACTIONS(956), + [sym_null] = ACTIONS(956), + [sym_comment] = ACTIONS(3), + }, + [167] = { + [ts_builtin_sym_end] = ACTIONS(930), + [sym_identifier] = ACTIONS(928), + [aux_sym_preproc_include_token1] = ACTIONS(928), + [aux_sym_preproc_def_token1] = ACTIONS(928), + [aux_sym_preproc_if_token1] = ACTIONS(928), + [aux_sym_preproc_ifdef_token1] = ACTIONS(928), + [aux_sym_preproc_ifdef_token2] = ACTIONS(928), + [sym_preproc_directive] = ACTIONS(928), + [anon_sym_LPAREN2] = ACTIONS(930), + [anon_sym_BANG] = ACTIONS(930), + [anon_sym_TILDE] = ACTIONS(930), + [anon_sym_DASH] = ACTIONS(928), + [anon_sym_PLUS] = ACTIONS(928), + [anon_sym_STAR] = ACTIONS(930), + [anon_sym_AMP] = ACTIONS(930), + [anon_sym_SEMI] = ACTIONS(930), + [anon_sym_typedef] = ACTIONS(928), + [anon_sym_extern] = ACTIONS(928), + [anon_sym___attribute__] = ACTIONS(928), + [anon_sym_LBRACK_LBRACK] = ACTIONS(930), + [anon_sym___declspec] = ACTIONS(928), + [anon_sym___cdecl] = ACTIONS(928), + [anon_sym___clrcall] = ACTIONS(928), + [anon_sym___stdcall] = ACTIONS(928), + [anon_sym___fastcall] = ACTIONS(928), + [anon_sym___thiscall] = ACTIONS(928), + [anon_sym___vectorcall] = ACTIONS(928), + [anon_sym_LBRACE] = ACTIONS(930), + [anon_sym_static] = ACTIONS(928), + [anon_sym_auto] = ACTIONS(928), + [anon_sym_register] = ACTIONS(928), + [anon_sym_inline] = ACTIONS(928), + [anon_sym_const] = ACTIONS(928), + [anon_sym_volatile] = ACTIONS(928), + [anon_sym_restrict] = ACTIONS(928), + [anon_sym__Atomic] = ACTIONS(928), + [anon_sym_signed] = ACTIONS(928), + [anon_sym_unsigned] = ACTIONS(928), + [anon_sym_long] = ACTIONS(928), + [anon_sym_short] = ACTIONS(928), + [sym_primitive_type] = ACTIONS(928), + [anon_sym_enum] = ACTIONS(928), + [anon_sym_struct] = ACTIONS(928), + [anon_sym_union] = ACTIONS(928), + [anon_sym_if] = ACTIONS(928), + [anon_sym_else] = ACTIONS(928), + [anon_sym_switch] = ACTIONS(928), + [anon_sym_case] = ACTIONS(928), + [anon_sym_default] = ACTIONS(928), + [anon_sym_while] = ACTIONS(928), + [anon_sym_do] = ACTIONS(928), + [anon_sym_for] = ACTIONS(928), + [anon_sym_return] = ACTIONS(928), + [anon_sym_break] = ACTIONS(928), + [anon_sym_continue] = ACTIONS(928), + [anon_sym_goto] = ACTIONS(928), + [anon_sym_DASH_DASH] = ACTIONS(930), + [anon_sym_PLUS_PLUS] = ACTIONS(930), + [anon_sym_sizeof] = ACTIONS(928), + [sym_number_literal] = ACTIONS(930), + [anon_sym_L_SQUOTE] = ACTIONS(930), + [anon_sym_u_SQUOTE] = ACTIONS(930), + [anon_sym_U_SQUOTE] = ACTIONS(930), + [anon_sym_u8_SQUOTE] = ACTIONS(930), + [anon_sym_SQUOTE] = ACTIONS(930), + [anon_sym_L_DQUOTE] = ACTIONS(930), + [anon_sym_u_DQUOTE] = ACTIONS(930), + [anon_sym_U_DQUOTE] = ACTIONS(930), + [anon_sym_u8_DQUOTE] = ACTIONS(930), + [anon_sym_DQUOTE] = ACTIONS(930), + [sym_true] = ACTIONS(928), + [sym_false] = ACTIONS(928), + [sym_null] = ACTIONS(928), + [sym_comment] = ACTIONS(3), + }, + [168] = { + [sym_identifier] = ACTIONS(924), + [aux_sym_preproc_include_token1] = ACTIONS(924), + [aux_sym_preproc_def_token1] = ACTIONS(924), + [aux_sym_preproc_if_token1] = ACTIONS(924), + [aux_sym_preproc_ifdef_token1] = ACTIONS(924), + [aux_sym_preproc_ifdef_token2] = ACTIONS(924), + [sym_preproc_directive] = ACTIONS(924), + [anon_sym_LPAREN2] = ACTIONS(926), + [anon_sym_BANG] = ACTIONS(926), + [anon_sym_TILDE] = ACTIONS(926), + [anon_sym_DASH] = ACTIONS(924), + [anon_sym_PLUS] = ACTIONS(924), + [anon_sym_STAR] = ACTIONS(926), + [anon_sym_AMP] = ACTIONS(926), + [anon_sym_SEMI] = ACTIONS(926), + [anon_sym_typedef] = ACTIONS(924), + [anon_sym_extern] = ACTIONS(924), + [anon_sym___attribute__] = ACTIONS(924), + [anon_sym_LBRACK_LBRACK] = ACTIONS(926), + [anon_sym___declspec] = ACTIONS(924), + [anon_sym___cdecl] = ACTIONS(924), + [anon_sym___clrcall] = ACTIONS(924), + [anon_sym___stdcall] = ACTIONS(924), + [anon_sym___fastcall] = ACTIONS(924), + [anon_sym___thiscall] = ACTIONS(924), + [anon_sym___vectorcall] = ACTIONS(924), + [anon_sym_LBRACE] = ACTIONS(926), + [anon_sym_RBRACE] = ACTIONS(926), + [anon_sym_static] = ACTIONS(924), + [anon_sym_auto] = ACTIONS(924), + [anon_sym_register] = ACTIONS(924), + [anon_sym_inline] = ACTIONS(924), + [anon_sym_const] = ACTIONS(924), + [anon_sym_volatile] = ACTIONS(924), + [anon_sym_restrict] = ACTIONS(924), + [anon_sym__Atomic] = ACTIONS(924), + [anon_sym_signed] = ACTIONS(924), + [anon_sym_unsigned] = ACTIONS(924), + [anon_sym_long] = ACTIONS(924), + [anon_sym_short] = ACTIONS(924), + [sym_primitive_type] = ACTIONS(924), + [anon_sym_enum] = ACTIONS(924), + [anon_sym_struct] = ACTIONS(924), + [anon_sym_union] = ACTIONS(924), + [anon_sym_if] = ACTIONS(924), + [anon_sym_else] = ACTIONS(924), + [anon_sym_switch] = ACTIONS(924), + [anon_sym_case] = ACTIONS(924), + [anon_sym_default] = ACTIONS(924), + [anon_sym_while] = ACTIONS(924), + [anon_sym_do] = ACTIONS(924), + [anon_sym_for] = ACTIONS(924), + [anon_sym_return] = ACTIONS(924), + [anon_sym_break] = ACTIONS(924), + [anon_sym_continue] = ACTIONS(924), + [anon_sym_goto] = ACTIONS(924), + [anon_sym_DASH_DASH] = ACTIONS(926), + [anon_sym_PLUS_PLUS] = ACTIONS(926), + [anon_sym_sizeof] = ACTIONS(924), + [sym_number_literal] = ACTIONS(926), + [anon_sym_L_SQUOTE] = ACTIONS(926), + [anon_sym_u_SQUOTE] = ACTIONS(926), + [anon_sym_U_SQUOTE] = ACTIONS(926), + [anon_sym_u8_SQUOTE] = ACTIONS(926), + [anon_sym_SQUOTE] = ACTIONS(926), + [anon_sym_L_DQUOTE] = ACTIONS(926), + [anon_sym_u_DQUOTE] = ACTIONS(926), + [anon_sym_U_DQUOTE] = ACTIONS(926), + [anon_sym_u8_DQUOTE] = ACTIONS(926), + [anon_sym_DQUOTE] = ACTIONS(926), + [sym_true] = ACTIONS(924), + [sym_false] = ACTIONS(924), + [sym_null] = ACTIONS(924), + [sym_comment] = ACTIONS(3), + }, + [169] = { + [sym_identifier] = ACTIONS(910), + [aux_sym_preproc_include_token1] = ACTIONS(910), + [aux_sym_preproc_def_token1] = ACTIONS(910), + [aux_sym_preproc_if_token1] = ACTIONS(910), + [aux_sym_preproc_if_token2] = ACTIONS(910), + [aux_sym_preproc_ifdef_token1] = ACTIONS(910), + [aux_sym_preproc_ifdef_token2] = ACTIONS(910), + [sym_preproc_directive] = ACTIONS(910), + [anon_sym_LPAREN2] = ACTIONS(912), + [anon_sym_BANG] = ACTIONS(912), + [anon_sym_TILDE] = ACTIONS(912), + [anon_sym_DASH] = ACTIONS(910), + [anon_sym_PLUS] = ACTIONS(910), + [anon_sym_STAR] = ACTIONS(912), + [anon_sym_AMP] = ACTIONS(912), + [anon_sym_SEMI] = ACTIONS(912), + [anon_sym_typedef] = ACTIONS(910), + [anon_sym_extern] = ACTIONS(910), + [anon_sym___attribute__] = ACTIONS(910), + [anon_sym_LBRACK_LBRACK] = ACTIONS(912), + [anon_sym___declspec] = ACTIONS(910), + [anon_sym___cdecl] = ACTIONS(910), + [anon_sym___clrcall] = ACTIONS(910), + [anon_sym___stdcall] = ACTIONS(910), + [anon_sym___fastcall] = ACTIONS(910), + [anon_sym___thiscall] = ACTIONS(910), + [anon_sym___vectorcall] = ACTIONS(910), + [anon_sym_LBRACE] = ACTIONS(912), + [anon_sym_static] = ACTIONS(910), + [anon_sym_auto] = ACTIONS(910), + [anon_sym_register] = ACTIONS(910), + [anon_sym_inline] = ACTIONS(910), + [anon_sym_const] = ACTIONS(910), + [anon_sym_volatile] = ACTIONS(910), + [anon_sym_restrict] = ACTIONS(910), + [anon_sym__Atomic] = ACTIONS(910), + [anon_sym_signed] = ACTIONS(910), + [anon_sym_unsigned] = ACTIONS(910), + [anon_sym_long] = ACTIONS(910), + [anon_sym_short] = ACTIONS(910), + [sym_primitive_type] = ACTIONS(910), + [anon_sym_enum] = ACTIONS(910), + [anon_sym_struct] = ACTIONS(910), + [anon_sym_union] = ACTIONS(910), + [anon_sym_if] = ACTIONS(910), + [anon_sym_else] = ACTIONS(910), + [anon_sym_switch] = ACTIONS(910), + [anon_sym_case] = ACTIONS(910), + [anon_sym_default] = ACTIONS(910), + [anon_sym_while] = ACTIONS(910), + [anon_sym_do] = ACTIONS(910), + [anon_sym_for] = ACTIONS(910), + [anon_sym_return] = ACTIONS(910), + [anon_sym_break] = ACTIONS(910), + [anon_sym_continue] = ACTIONS(910), + [anon_sym_goto] = ACTIONS(910), + [anon_sym_DASH_DASH] = ACTIONS(912), + [anon_sym_PLUS_PLUS] = ACTIONS(912), + [anon_sym_sizeof] = ACTIONS(910), + [sym_number_literal] = ACTIONS(912), + [anon_sym_L_SQUOTE] = ACTIONS(912), + [anon_sym_u_SQUOTE] = ACTIONS(912), + [anon_sym_U_SQUOTE] = ACTIONS(912), + [anon_sym_u8_SQUOTE] = ACTIONS(912), + [anon_sym_SQUOTE] = ACTIONS(912), + [anon_sym_L_DQUOTE] = ACTIONS(912), + [anon_sym_u_DQUOTE] = ACTIONS(912), + [anon_sym_U_DQUOTE] = ACTIONS(912), + [anon_sym_u8_DQUOTE] = ACTIONS(912), + [anon_sym_DQUOTE] = ACTIONS(912), + [sym_true] = ACTIONS(910), + [sym_false] = ACTIONS(910), + [sym_null] = ACTIONS(910), + [sym_comment] = ACTIONS(3), + }, + [170] = { + [sym_identifier] = ACTIONS(918), + [aux_sym_preproc_include_token1] = ACTIONS(918), + [aux_sym_preproc_def_token1] = ACTIONS(918), + [aux_sym_preproc_if_token1] = ACTIONS(918), + [aux_sym_preproc_ifdef_token1] = ACTIONS(918), + [aux_sym_preproc_ifdef_token2] = ACTIONS(918), + [sym_preproc_directive] = ACTIONS(918), + [anon_sym_LPAREN2] = ACTIONS(920), + [anon_sym_BANG] = ACTIONS(920), + [anon_sym_TILDE] = ACTIONS(920), + [anon_sym_DASH] = ACTIONS(918), + [anon_sym_PLUS] = ACTIONS(918), + [anon_sym_STAR] = ACTIONS(920), + [anon_sym_AMP] = ACTIONS(920), + [anon_sym_SEMI] = ACTIONS(920), + [anon_sym_typedef] = ACTIONS(918), + [anon_sym_extern] = ACTIONS(918), + [anon_sym___attribute__] = ACTIONS(918), + [anon_sym_LBRACK_LBRACK] = ACTIONS(920), + [anon_sym___declspec] = ACTIONS(918), + [anon_sym___cdecl] = ACTIONS(918), + [anon_sym___clrcall] = ACTIONS(918), + [anon_sym___stdcall] = ACTIONS(918), + [anon_sym___fastcall] = ACTIONS(918), + [anon_sym___thiscall] = ACTIONS(918), + [anon_sym___vectorcall] = ACTIONS(918), + [anon_sym_LBRACE] = ACTIONS(920), + [anon_sym_RBRACE] = ACTIONS(920), + [anon_sym_static] = ACTIONS(918), + [anon_sym_auto] = ACTIONS(918), + [anon_sym_register] = ACTIONS(918), + [anon_sym_inline] = ACTIONS(918), + [anon_sym_const] = ACTIONS(918), + [anon_sym_volatile] = ACTIONS(918), + [anon_sym_restrict] = ACTIONS(918), + [anon_sym__Atomic] = ACTIONS(918), + [anon_sym_signed] = ACTIONS(918), + [anon_sym_unsigned] = ACTIONS(918), + [anon_sym_long] = ACTIONS(918), + [anon_sym_short] = ACTIONS(918), + [sym_primitive_type] = ACTIONS(918), + [anon_sym_enum] = ACTIONS(918), + [anon_sym_struct] = ACTIONS(918), + [anon_sym_union] = ACTIONS(918), + [anon_sym_if] = ACTIONS(918), + [anon_sym_else] = ACTIONS(1130), + [anon_sym_switch] = ACTIONS(918), + [anon_sym_case] = ACTIONS(918), + [anon_sym_default] = ACTIONS(918), + [anon_sym_while] = ACTIONS(918), + [anon_sym_do] = ACTIONS(918), + [anon_sym_for] = ACTIONS(918), + [anon_sym_return] = ACTIONS(918), + [anon_sym_break] = ACTIONS(918), + [anon_sym_continue] = ACTIONS(918), + [anon_sym_goto] = ACTIONS(918), + [anon_sym_DASH_DASH] = ACTIONS(920), + [anon_sym_PLUS_PLUS] = ACTIONS(920), + [anon_sym_sizeof] = ACTIONS(918), + [sym_number_literal] = ACTIONS(920), + [anon_sym_L_SQUOTE] = ACTIONS(920), + [anon_sym_u_SQUOTE] = ACTIONS(920), + [anon_sym_U_SQUOTE] = ACTIONS(920), + [anon_sym_u8_SQUOTE] = ACTIONS(920), + [anon_sym_SQUOTE] = ACTIONS(920), + [anon_sym_L_DQUOTE] = ACTIONS(920), + [anon_sym_u_DQUOTE] = ACTIONS(920), + [anon_sym_U_DQUOTE] = ACTIONS(920), + [anon_sym_u8_DQUOTE] = ACTIONS(920), + [anon_sym_DQUOTE] = ACTIONS(920), + [sym_true] = ACTIONS(918), + [sym_false] = ACTIONS(918), + [sym_null] = ACTIONS(918), + [sym_comment] = ACTIONS(3), + }, + [171] = { + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_if_token2] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [172] = { + [sym_identifier] = ACTIONS(952), + [aux_sym_preproc_include_token1] = ACTIONS(952), + [aux_sym_preproc_def_token1] = ACTIONS(952), + [aux_sym_preproc_if_token1] = ACTIONS(952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(952), + [sym_preproc_directive] = ACTIONS(952), + [anon_sym_LPAREN2] = ACTIONS(954), + [anon_sym_BANG] = ACTIONS(954), + [anon_sym_TILDE] = ACTIONS(954), + [anon_sym_DASH] = ACTIONS(952), + [anon_sym_PLUS] = ACTIONS(952), + [anon_sym_STAR] = ACTIONS(954), + [anon_sym_AMP] = ACTIONS(954), + [anon_sym_SEMI] = ACTIONS(954), + [anon_sym_typedef] = ACTIONS(952), + [anon_sym_extern] = ACTIONS(952), + [anon_sym___attribute__] = ACTIONS(952), + [anon_sym_LBRACK_LBRACK] = ACTIONS(954), + [anon_sym___declspec] = ACTIONS(952), + [anon_sym___cdecl] = ACTIONS(952), + [anon_sym___clrcall] = ACTIONS(952), + [anon_sym___stdcall] = ACTIONS(952), + [anon_sym___fastcall] = ACTIONS(952), + [anon_sym___thiscall] = ACTIONS(952), + [anon_sym___vectorcall] = ACTIONS(952), + [anon_sym_LBRACE] = ACTIONS(954), + [anon_sym_RBRACE] = ACTIONS(954), + [anon_sym_static] = ACTIONS(952), + [anon_sym_auto] = ACTIONS(952), + [anon_sym_register] = ACTIONS(952), + [anon_sym_inline] = ACTIONS(952), + [anon_sym_const] = ACTIONS(952), + [anon_sym_volatile] = ACTIONS(952), + [anon_sym_restrict] = ACTIONS(952), + [anon_sym__Atomic] = ACTIONS(952), + [anon_sym_signed] = ACTIONS(952), + [anon_sym_unsigned] = ACTIONS(952), + [anon_sym_long] = ACTIONS(952), + [anon_sym_short] = ACTIONS(952), + [sym_primitive_type] = ACTIONS(952), + [anon_sym_enum] = ACTIONS(952), + [anon_sym_struct] = ACTIONS(952), + [anon_sym_union] = ACTIONS(952), + [anon_sym_if] = ACTIONS(952), + [anon_sym_else] = ACTIONS(952), + [anon_sym_switch] = ACTIONS(952), + [anon_sym_case] = ACTIONS(952), + [anon_sym_default] = ACTIONS(952), + [anon_sym_while] = ACTIONS(952), + [anon_sym_do] = ACTIONS(952), + [anon_sym_for] = ACTIONS(952), + [anon_sym_return] = ACTIONS(952), + [anon_sym_break] = ACTIONS(952), + [anon_sym_continue] = ACTIONS(952), + [anon_sym_goto] = ACTIONS(952), + [anon_sym_DASH_DASH] = ACTIONS(954), + [anon_sym_PLUS_PLUS] = ACTIONS(954), + [anon_sym_sizeof] = ACTIONS(952), + [sym_number_literal] = ACTIONS(954), + [anon_sym_L_SQUOTE] = ACTIONS(954), + [anon_sym_u_SQUOTE] = ACTIONS(954), + [anon_sym_U_SQUOTE] = ACTIONS(954), + [anon_sym_u8_SQUOTE] = ACTIONS(954), + [anon_sym_SQUOTE] = ACTIONS(954), + [anon_sym_L_DQUOTE] = ACTIONS(954), + [anon_sym_u_DQUOTE] = ACTIONS(954), + [anon_sym_U_DQUOTE] = ACTIONS(954), + [anon_sym_u8_DQUOTE] = ACTIONS(954), + [anon_sym_DQUOTE] = ACTIONS(954), + [sym_true] = ACTIONS(952), + [sym_false] = ACTIONS(952), + [sym_null] = ACTIONS(952), + [sym_comment] = ACTIONS(3), + }, + [173] = { + [sym_identifier] = ACTIONS(898), + [aux_sym_preproc_include_token1] = ACTIONS(898), + [aux_sym_preproc_def_token1] = ACTIONS(898), + [aux_sym_preproc_if_token1] = ACTIONS(898), + [aux_sym_preproc_ifdef_token1] = ACTIONS(898), + [aux_sym_preproc_ifdef_token2] = ACTIONS(898), + [sym_preproc_directive] = ACTIONS(898), + [anon_sym_LPAREN2] = ACTIONS(900), + [anon_sym_BANG] = ACTIONS(900), + [anon_sym_TILDE] = ACTIONS(900), + [anon_sym_DASH] = ACTIONS(898), + [anon_sym_PLUS] = ACTIONS(898), + [anon_sym_STAR] = ACTIONS(900), + [anon_sym_AMP] = ACTIONS(900), + [anon_sym_SEMI] = ACTIONS(900), + [anon_sym_typedef] = ACTIONS(898), + [anon_sym_extern] = ACTIONS(898), + [anon_sym___attribute__] = ACTIONS(898), + [anon_sym_LBRACK_LBRACK] = ACTIONS(900), + [anon_sym___declspec] = ACTIONS(898), + [anon_sym___cdecl] = ACTIONS(898), + [anon_sym___clrcall] = ACTIONS(898), + [anon_sym___stdcall] = ACTIONS(898), + [anon_sym___fastcall] = ACTIONS(898), + [anon_sym___thiscall] = ACTIONS(898), + [anon_sym___vectorcall] = ACTIONS(898), + [anon_sym_LBRACE] = ACTIONS(900), + [anon_sym_RBRACE] = ACTIONS(900), + [anon_sym_static] = ACTIONS(898), + [anon_sym_auto] = ACTIONS(898), + [anon_sym_register] = ACTIONS(898), + [anon_sym_inline] = ACTIONS(898), + [anon_sym_const] = ACTIONS(898), + [anon_sym_volatile] = ACTIONS(898), + [anon_sym_restrict] = ACTIONS(898), + [anon_sym__Atomic] = ACTIONS(898), + [anon_sym_signed] = ACTIONS(898), + [anon_sym_unsigned] = ACTIONS(898), + [anon_sym_long] = ACTIONS(898), + [anon_sym_short] = ACTIONS(898), + [sym_primitive_type] = ACTIONS(898), + [anon_sym_enum] = ACTIONS(898), + [anon_sym_struct] = ACTIONS(898), + [anon_sym_union] = ACTIONS(898), + [anon_sym_if] = ACTIONS(898), + [anon_sym_else] = ACTIONS(898), + [anon_sym_switch] = ACTIONS(898), + [anon_sym_case] = ACTIONS(898), + [anon_sym_default] = ACTIONS(898), + [anon_sym_while] = ACTIONS(898), + [anon_sym_do] = ACTIONS(898), + [anon_sym_for] = ACTIONS(898), + [anon_sym_return] = ACTIONS(898), + [anon_sym_break] = ACTIONS(898), + [anon_sym_continue] = ACTIONS(898), + [anon_sym_goto] = ACTIONS(898), + [anon_sym_DASH_DASH] = ACTIONS(900), + [anon_sym_PLUS_PLUS] = ACTIONS(900), + [anon_sym_sizeof] = ACTIONS(898), + [sym_number_literal] = ACTIONS(900), + [anon_sym_L_SQUOTE] = ACTIONS(900), + [anon_sym_u_SQUOTE] = ACTIONS(900), + [anon_sym_U_SQUOTE] = ACTIONS(900), + [anon_sym_u8_SQUOTE] = ACTIONS(900), + [anon_sym_SQUOTE] = ACTIONS(900), + [anon_sym_L_DQUOTE] = ACTIONS(900), + [anon_sym_u_DQUOTE] = ACTIONS(900), + [anon_sym_U_DQUOTE] = ACTIONS(900), + [anon_sym_u8_DQUOTE] = ACTIONS(900), + [anon_sym_DQUOTE] = ACTIONS(900), + [sym_true] = ACTIONS(898), + [sym_false] = ACTIONS(898), + [sym_null] = ACTIONS(898), + [sym_comment] = ACTIONS(3), + }, + [174] = { + [sym_identifier] = ACTIONS(902), + [aux_sym_preproc_include_token1] = ACTIONS(902), + [aux_sym_preproc_def_token1] = ACTIONS(902), + [aux_sym_preproc_if_token1] = ACTIONS(902), + [aux_sym_preproc_ifdef_token1] = ACTIONS(902), + [aux_sym_preproc_ifdef_token2] = ACTIONS(902), + [sym_preproc_directive] = ACTIONS(902), + [anon_sym_LPAREN2] = ACTIONS(904), + [anon_sym_BANG] = ACTIONS(904), + [anon_sym_TILDE] = ACTIONS(904), + [anon_sym_DASH] = ACTIONS(902), + [anon_sym_PLUS] = ACTIONS(902), + [anon_sym_STAR] = ACTIONS(904), + [anon_sym_AMP] = ACTIONS(904), + [anon_sym_SEMI] = ACTIONS(904), + [anon_sym_typedef] = ACTIONS(902), + [anon_sym_extern] = ACTIONS(902), + [anon_sym___attribute__] = ACTIONS(902), + [anon_sym_LBRACK_LBRACK] = ACTIONS(904), + [anon_sym___declspec] = ACTIONS(902), + [anon_sym___cdecl] = ACTIONS(902), + [anon_sym___clrcall] = ACTIONS(902), + [anon_sym___stdcall] = ACTIONS(902), + [anon_sym___fastcall] = ACTIONS(902), + [anon_sym___thiscall] = ACTIONS(902), + [anon_sym___vectorcall] = ACTIONS(902), + [anon_sym_LBRACE] = ACTIONS(904), + [anon_sym_RBRACE] = ACTIONS(904), + [anon_sym_static] = ACTIONS(902), + [anon_sym_auto] = ACTIONS(902), + [anon_sym_register] = ACTIONS(902), + [anon_sym_inline] = ACTIONS(902), + [anon_sym_const] = ACTIONS(902), + [anon_sym_volatile] = ACTIONS(902), + [anon_sym_restrict] = ACTIONS(902), + [anon_sym__Atomic] = ACTIONS(902), + [anon_sym_signed] = ACTIONS(902), + [anon_sym_unsigned] = ACTIONS(902), + [anon_sym_long] = ACTIONS(902), + [anon_sym_short] = ACTIONS(902), + [sym_primitive_type] = ACTIONS(902), + [anon_sym_enum] = ACTIONS(902), + [anon_sym_struct] = ACTIONS(902), + [anon_sym_union] = ACTIONS(902), + [anon_sym_if] = ACTIONS(902), + [anon_sym_else] = ACTIONS(902), + [anon_sym_switch] = ACTIONS(902), + [anon_sym_case] = ACTIONS(902), + [anon_sym_default] = ACTIONS(902), + [anon_sym_while] = ACTIONS(902), + [anon_sym_do] = ACTIONS(902), + [anon_sym_for] = ACTIONS(902), + [anon_sym_return] = ACTIONS(902), + [anon_sym_break] = ACTIONS(902), + [anon_sym_continue] = ACTIONS(902), + [anon_sym_goto] = ACTIONS(902), + [anon_sym_DASH_DASH] = ACTIONS(904), + [anon_sym_PLUS_PLUS] = ACTIONS(904), + [anon_sym_sizeof] = ACTIONS(902), + [sym_number_literal] = ACTIONS(904), + [anon_sym_L_SQUOTE] = ACTIONS(904), + [anon_sym_u_SQUOTE] = ACTIONS(904), + [anon_sym_U_SQUOTE] = ACTIONS(904), + [anon_sym_u8_SQUOTE] = ACTIONS(904), + [anon_sym_SQUOTE] = ACTIONS(904), + [anon_sym_L_DQUOTE] = ACTIONS(904), + [anon_sym_u_DQUOTE] = ACTIONS(904), + [anon_sym_U_DQUOTE] = ACTIONS(904), + [anon_sym_u8_DQUOTE] = ACTIONS(904), + [anon_sym_DQUOTE] = ACTIONS(904), + [sym_true] = ACTIONS(902), + [sym_false] = ACTIONS(902), + [sym_null] = ACTIONS(902), + [sym_comment] = ACTIONS(3), + }, + [175] = { + [ts_builtin_sym_end] = ACTIONS(970), + [sym_identifier] = ACTIONS(968), + [aux_sym_preproc_include_token1] = ACTIONS(968), + [aux_sym_preproc_def_token1] = ACTIONS(968), + [aux_sym_preproc_if_token1] = ACTIONS(968), + [aux_sym_preproc_ifdef_token1] = ACTIONS(968), + [aux_sym_preproc_ifdef_token2] = ACTIONS(968), + [sym_preproc_directive] = ACTIONS(968), + [anon_sym_LPAREN2] = ACTIONS(970), + [anon_sym_BANG] = ACTIONS(970), + [anon_sym_TILDE] = ACTIONS(970), + [anon_sym_DASH] = ACTIONS(968), + [anon_sym_PLUS] = ACTIONS(968), + [anon_sym_STAR] = ACTIONS(970), + [anon_sym_AMP] = ACTIONS(970), + [anon_sym_SEMI] = ACTIONS(970), + [anon_sym_typedef] = ACTIONS(968), + [anon_sym_extern] = ACTIONS(968), + [anon_sym___attribute__] = ACTIONS(968), + [anon_sym_LBRACK_LBRACK] = ACTIONS(970), + [anon_sym___declspec] = ACTIONS(968), + [anon_sym___cdecl] = ACTIONS(968), + [anon_sym___clrcall] = ACTIONS(968), + [anon_sym___stdcall] = ACTIONS(968), + [anon_sym___fastcall] = ACTIONS(968), + [anon_sym___thiscall] = ACTIONS(968), + [anon_sym___vectorcall] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(970), + [anon_sym_static] = ACTIONS(968), + [anon_sym_auto] = ACTIONS(968), + [anon_sym_register] = ACTIONS(968), + [anon_sym_inline] = ACTIONS(968), + [anon_sym_const] = ACTIONS(968), + [anon_sym_volatile] = ACTIONS(968), + [anon_sym_restrict] = ACTIONS(968), + [anon_sym__Atomic] = ACTIONS(968), + [anon_sym_signed] = ACTIONS(968), + [anon_sym_unsigned] = ACTIONS(968), + [anon_sym_long] = ACTIONS(968), + [anon_sym_short] = ACTIONS(968), + [sym_primitive_type] = ACTIONS(968), + [anon_sym_enum] = ACTIONS(968), + [anon_sym_struct] = ACTIONS(968), + [anon_sym_union] = ACTIONS(968), + [anon_sym_if] = ACTIONS(968), + [anon_sym_else] = ACTIONS(968), + [anon_sym_switch] = ACTIONS(968), + [anon_sym_case] = ACTIONS(968), + [anon_sym_default] = ACTIONS(968), + [anon_sym_while] = ACTIONS(968), + [anon_sym_do] = ACTIONS(968), + [anon_sym_for] = ACTIONS(968), + [anon_sym_return] = ACTIONS(968), + [anon_sym_break] = ACTIONS(968), + [anon_sym_continue] = ACTIONS(968), + [anon_sym_goto] = ACTIONS(968), + [anon_sym_DASH_DASH] = ACTIONS(970), + [anon_sym_PLUS_PLUS] = ACTIONS(970), + [anon_sym_sizeof] = ACTIONS(968), + [sym_number_literal] = ACTIONS(970), + [anon_sym_L_SQUOTE] = ACTIONS(970), + [anon_sym_u_SQUOTE] = ACTIONS(970), + [anon_sym_U_SQUOTE] = ACTIONS(970), + [anon_sym_u8_SQUOTE] = ACTIONS(970), + [anon_sym_SQUOTE] = ACTIONS(970), + [anon_sym_L_DQUOTE] = ACTIONS(970), + [anon_sym_u_DQUOTE] = ACTIONS(970), + [anon_sym_U_DQUOTE] = ACTIONS(970), + [anon_sym_u8_DQUOTE] = ACTIONS(970), + [anon_sym_DQUOTE] = ACTIONS(970), + [sym_true] = ACTIONS(968), + [sym_false] = ACTIONS(968), + [sym_null] = ACTIONS(968), + [sym_comment] = ACTIONS(3), + }, + [176] = { + [ts_builtin_sym_end] = ACTIONS(978), + [sym_identifier] = ACTIONS(976), + [aux_sym_preproc_include_token1] = ACTIONS(976), + [aux_sym_preproc_def_token1] = ACTIONS(976), + [aux_sym_preproc_if_token1] = ACTIONS(976), + [aux_sym_preproc_ifdef_token1] = ACTIONS(976), + [aux_sym_preproc_ifdef_token2] = ACTIONS(976), + [sym_preproc_directive] = ACTIONS(976), + [anon_sym_LPAREN2] = ACTIONS(978), + [anon_sym_BANG] = ACTIONS(978), + [anon_sym_TILDE] = ACTIONS(978), + [anon_sym_DASH] = ACTIONS(976), + [anon_sym_PLUS] = ACTIONS(976), + [anon_sym_STAR] = ACTIONS(978), + [anon_sym_AMP] = ACTIONS(978), + [anon_sym_SEMI] = ACTIONS(978), + [anon_sym_typedef] = ACTIONS(976), + [anon_sym_extern] = ACTIONS(976), + [anon_sym___attribute__] = ACTIONS(976), + [anon_sym_LBRACK_LBRACK] = ACTIONS(978), + [anon_sym___declspec] = ACTIONS(976), + [anon_sym___cdecl] = ACTIONS(976), + [anon_sym___clrcall] = ACTIONS(976), + [anon_sym___stdcall] = ACTIONS(976), + [anon_sym___fastcall] = ACTIONS(976), + [anon_sym___thiscall] = ACTIONS(976), + [anon_sym___vectorcall] = ACTIONS(976), + [anon_sym_LBRACE] = ACTIONS(978), + [anon_sym_static] = ACTIONS(976), + [anon_sym_auto] = ACTIONS(976), + [anon_sym_register] = ACTIONS(976), + [anon_sym_inline] = ACTIONS(976), + [anon_sym_const] = ACTIONS(976), + [anon_sym_volatile] = ACTIONS(976), + [anon_sym_restrict] = ACTIONS(976), + [anon_sym__Atomic] = ACTIONS(976), + [anon_sym_signed] = ACTIONS(976), + [anon_sym_unsigned] = ACTIONS(976), + [anon_sym_long] = ACTIONS(976), + [anon_sym_short] = ACTIONS(976), + [sym_primitive_type] = ACTIONS(976), + [anon_sym_enum] = ACTIONS(976), + [anon_sym_struct] = ACTIONS(976), + [anon_sym_union] = ACTIONS(976), + [anon_sym_if] = ACTIONS(976), + [anon_sym_else] = ACTIONS(976), + [anon_sym_switch] = ACTIONS(976), + [anon_sym_case] = ACTIONS(976), + [anon_sym_default] = ACTIONS(976), + [anon_sym_while] = ACTIONS(976), + [anon_sym_do] = ACTIONS(976), + [anon_sym_for] = ACTIONS(976), + [anon_sym_return] = ACTIONS(976), + [anon_sym_break] = ACTIONS(976), + [anon_sym_continue] = ACTIONS(976), + [anon_sym_goto] = ACTIONS(976), + [anon_sym_DASH_DASH] = ACTIONS(978), + [anon_sym_PLUS_PLUS] = ACTIONS(978), + [anon_sym_sizeof] = ACTIONS(976), + [sym_number_literal] = ACTIONS(978), + [anon_sym_L_SQUOTE] = ACTIONS(978), + [anon_sym_u_SQUOTE] = ACTIONS(978), + [anon_sym_U_SQUOTE] = ACTIONS(978), + [anon_sym_u8_SQUOTE] = ACTIONS(978), + [anon_sym_SQUOTE] = ACTIONS(978), + [anon_sym_L_DQUOTE] = ACTIONS(978), + [anon_sym_u_DQUOTE] = ACTIONS(978), + [anon_sym_U_DQUOTE] = ACTIONS(978), + [anon_sym_u8_DQUOTE] = ACTIONS(978), + [anon_sym_DQUOTE] = ACTIONS(978), + [sym_true] = ACTIONS(976), + [sym_false] = ACTIONS(976), + [sym_null] = ACTIONS(976), + [sym_comment] = ACTIONS(3), + }, + [177] = { + [sym_identifier] = ACTIONS(906), + [aux_sym_preproc_include_token1] = ACTIONS(906), + [aux_sym_preproc_def_token1] = ACTIONS(906), + [aux_sym_preproc_if_token1] = ACTIONS(906), + [aux_sym_preproc_ifdef_token1] = ACTIONS(906), + [aux_sym_preproc_ifdef_token2] = ACTIONS(906), + [sym_preproc_directive] = ACTIONS(906), + [anon_sym_LPAREN2] = ACTIONS(908), + [anon_sym_BANG] = ACTIONS(908), + [anon_sym_TILDE] = ACTIONS(908), + [anon_sym_DASH] = ACTIONS(906), + [anon_sym_PLUS] = ACTIONS(906), + [anon_sym_STAR] = ACTIONS(908), + [anon_sym_AMP] = ACTIONS(908), + [anon_sym_SEMI] = ACTIONS(908), + [anon_sym_typedef] = ACTIONS(906), + [anon_sym_extern] = ACTIONS(906), + [anon_sym___attribute__] = ACTIONS(906), + [anon_sym_LBRACK_LBRACK] = ACTIONS(908), + [anon_sym___declspec] = ACTIONS(906), + [anon_sym___cdecl] = ACTIONS(906), + [anon_sym___clrcall] = ACTIONS(906), + [anon_sym___stdcall] = ACTIONS(906), + [anon_sym___fastcall] = ACTIONS(906), + [anon_sym___thiscall] = ACTIONS(906), + [anon_sym___vectorcall] = ACTIONS(906), + [anon_sym_LBRACE] = ACTIONS(908), + [anon_sym_RBRACE] = ACTIONS(908), + [anon_sym_static] = ACTIONS(906), + [anon_sym_auto] = ACTIONS(906), + [anon_sym_register] = ACTIONS(906), + [anon_sym_inline] = ACTIONS(906), + [anon_sym_const] = ACTIONS(906), + [anon_sym_volatile] = ACTIONS(906), + [anon_sym_restrict] = ACTIONS(906), + [anon_sym__Atomic] = ACTIONS(906), + [anon_sym_signed] = ACTIONS(906), + [anon_sym_unsigned] = ACTIONS(906), + [anon_sym_long] = ACTIONS(906), + [anon_sym_short] = ACTIONS(906), + [sym_primitive_type] = ACTIONS(906), + [anon_sym_enum] = ACTIONS(906), + [anon_sym_struct] = ACTIONS(906), + [anon_sym_union] = ACTIONS(906), + [anon_sym_if] = ACTIONS(906), + [anon_sym_else] = ACTIONS(906), + [anon_sym_switch] = ACTIONS(906), + [anon_sym_case] = ACTIONS(906), + [anon_sym_default] = ACTIONS(906), + [anon_sym_while] = ACTIONS(906), + [anon_sym_do] = ACTIONS(906), + [anon_sym_for] = ACTIONS(906), + [anon_sym_return] = ACTIONS(906), + [anon_sym_break] = ACTIONS(906), + [anon_sym_continue] = ACTIONS(906), + [anon_sym_goto] = ACTIONS(906), + [anon_sym_DASH_DASH] = ACTIONS(908), + [anon_sym_PLUS_PLUS] = ACTIONS(908), + [anon_sym_sizeof] = ACTIONS(906), + [sym_number_literal] = ACTIONS(908), + [anon_sym_L_SQUOTE] = ACTIONS(908), + [anon_sym_u_SQUOTE] = ACTIONS(908), + [anon_sym_U_SQUOTE] = ACTIONS(908), + [anon_sym_u8_SQUOTE] = ACTIONS(908), + [anon_sym_SQUOTE] = ACTIONS(908), + [anon_sym_L_DQUOTE] = ACTIONS(908), + [anon_sym_u_DQUOTE] = ACTIONS(908), + [anon_sym_U_DQUOTE] = ACTIONS(908), + [anon_sym_u8_DQUOTE] = ACTIONS(908), + [anon_sym_DQUOTE] = ACTIONS(908), + [sym_true] = ACTIONS(906), + [sym_false] = ACTIONS(906), + [sym_null] = ACTIONS(906), + [sym_comment] = ACTIONS(3), + }, + [178] = { + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_if_token2] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [179] = { + [sym_identifier] = ACTIONS(910), + [aux_sym_preproc_include_token1] = ACTIONS(910), + [aux_sym_preproc_def_token1] = ACTIONS(910), + [aux_sym_preproc_if_token1] = ACTIONS(910), + [aux_sym_preproc_ifdef_token1] = ACTIONS(910), + [aux_sym_preproc_ifdef_token2] = ACTIONS(910), + [sym_preproc_directive] = ACTIONS(910), + [anon_sym_LPAREN2] = ACTIONS(912), + [anon_sym_BANG] = ACTIONS(912), + [anon_sym_TILDE] = ACTIONS(912), + [anon_sym_DASH] = ACTIONS(910), + [anon_sym_PLUS] = ACTIONS(910), + [anon_sym_STAR] = ACTIONS(912), + [anon_sym_AMP] = ACTIONS(912), + [anon_sym_SEMI] = ACTIONS(912), + [anon_sym_typedef] = ACTIONS(910), + [anon_sym_extern] = ACTIONS(910), + [anon_sym___attribute__] = ACTIONS(910), + [anon_sym_LBRACK_LBRACK] = ACTIONS(912), + [anon_sym___declspec] = ACTIONS(910), + [anon_sym___cdecl] = ACTIONS(910), + [anon_sym___clrcall] = ACTIONS(910), + [anon_sym___stdcall] = ACTIONS(910), + [anon_sym___fastcall] = ACTIONS(910), + [anon_sym___thiscall] = ACTIONS(910), + [anon_sym___vectorcall] = ACTIONS(910), + [anon_sym_LBRACE] = ACTIONS(912), + [anon_sym_RBRACE] = ACTIONS(912), + [anon_sym_static] = ACTIONS(910), + [anon_sym_auto] = ACTIONS(910), + [anon_sym_register] = ACTIONS(910), + [anon_sym_inline] = ACTIONS(910), + [anon_sym_const] = ACTIONS(910), + [anon_sym_volatile] = ACTIONS(910), + [anon_sym_restrict] = ACTIONS(910), + [anon_sym__Atomic] = ACTIONS(910), + [anon_sym_signed] = ACTIONS(910), + [anon_sym_unsigned] = ACTIONS(910), + [anon_sym_long] = ACTIONS(910), + [anon_sym_short] = ACTIONS(910), + [sym_primitive_type] = ACTIONS(910), + [anon_sym_enum] = ACTIONS(910), + [anon_sym_struct] = ACTIONS(910), + [anon_sym_union] = ACTIONS(910), + [anon_sym_if] = ACTIONS(910), + [anon_sym_else] = ACTIONS(910), + [anon_sym_switch] = ACTIONS(910), + [anon_sym_case] = ACTIONS(910), + [anon_sym_default] = ACTIONS(910), + [anon_sym_while] = ACTIONS(910), + [anon_sym_do] = ACTIONS(910), + [anon_sym_for] = ACTIONS(910), + [anon_sym_return] = ACTIONS(910), + [anon_sym_break] = ACTIONS(910), + [anon_sym_continue] = ACTIONS(910), + [anon_sym_goto] = ACTIONS(910), + [anon_sym_DASH_DASH] = ACTIONS(912), + [anon_sym_PLUS_PLUS] = ACTIONS(912), + [anon_sym_sizeof] = ACTIONS(910), + [sym_number_literal] = ACTIONS(912), + [anon_sym_L_SQUOTE] = ACTIONS(912), + [anon_sym_u_SQUOTE] = ACTIONS(912), + [anon_sym_U_SQUOTE] = ACTIONS(912), + [anon_sym_u8_SQUOTE] = ACTIONS(912), + [anon_sym_SQUOTE] = ACTIONS(912), + [anon_sym_L_DQUOTE] = ACTIONS(912), + [anon_sym_u_DQUOTE] = ACTIONS(912), + [anon_sym_U_DQUOTE] = ACTIONS(912), + [anon_sym_u8_DQUOTE] = ACTIONS(912), + [anon_sym_DQUOTE] = ACTIONS(912), + [sym_true] = ACTIONS(910), + [sym_false] = ACTIONS(910), + [sym_null] = ACTIONS(910), + [sym_comment] = ACTIONS(3), + }, + [180] = { + [ts_builtin_sym_end] = ACTIONS(998), + [sym_identifier] = ACTIONS(996), + [aux_sym_preproc_include_token1] = ACTIONS(996), + [aux_sym_preproc_def_token1] = ACTIONS(996), + [aux_sym_preproc_if_token1] = ACTIONS(996), + [aux_sym_preproc_ifdef_token1] = ACTIONS(996), + [aux_sym_preproc_ifdef_token2] = ACTIONS(996), + [sym_preproc_directive] = ACTIONS(996), + [anon_sym_LPAREN2] = ACTIONS(998), + [anon_sym_BANG] = ACTIONS(998), + [anon_sym_TILDE] = ACTIONS(998), + [anon_sym_DASH] = ACTIONS(996), + [anon_sym_PLUS] = ACTIONS(996), + [anon_sym_STAR] = ACTIONS(998), + [anon_sym_AMP] = ACTIONS(998), + [anon_sym_SEMI] = ACTIONS(998), + [anon_sym_typedef] = ACTIONS(996), + [anon_sym_extern] = ACTIONS(996), + [anon_sym___attribute__] = ACTIONS(996), + [anon_sym_LBRACK_LBRACK] = ACTIONS(998), + [anon_sym___declspec] = ACTIONS(996), + [anon_sym___cdecl] = ACTIONS(996), + [anon_sym___clrcall] = ACTIONS(996), + [anon_sym___stdcall] = ACTIONS(996), + [anon_sym___fastcall] = ACTIONS(996), + [anon_sym___thiscall] = ACTIONS(996), + [anon_sym___vectorcall] = ACTIONS(996), + [anon_sym_LBRACE] = ACTIONS(998), + [anon_sym_static] = ACTIONS(996), + [anon_sym_auto] = ACTIONS(996), + [anon_sym_register] = ACTIONS(996), + [anon_sym_inline] = ACTIONS(996), + [anon_sym_const] = ACTIONS(996), + [anon_sym_volatile] = ACTIONS(996), + [anon_sym_restrict] = ACTIONS(996), + [anon_sym__Atomic] = ACTIONS(996), + [anon_sym_signed] = ACTIONS(996), + [anon_sym_unsigned] = ACTIONS(996), + [anon_sym_long] = ACTIONS(996), + [anon_sym_short] = ACTIONS(996), + [sym_primitive_type] = ACTIONS(996), + [anon_sym_enum] = ACTIONS(996), + [anon_sym_struct] = ACTIONS(996), + [anon_sym_union] = ACTIONS(996), + [anon_sym_if] = ACTIONS(996), + [anon_sym_else] = ACTIONS(996), + [anon_sym_switch] = ACTIONS(996), + [anon_sym_case] = ACTIONS(996), + [anon_sym_default] = ACTIONS(996), + [anon_sym_while] = ACTIONS(996), + [anon_sym_do] = ACTIONS(996), + [anon_sym_for] = ACTIONS(996), + [anon_sym_return] = ACTIONS(996), + [anon_sym_break] = ACTIONS(996), + [anon_sym_continue] = ACTIONS(996), + [anon_sym_goto] = ACTIONS(996), + [anon_sym_DASH_DASH] = ACTIONS(998), + [anon_sym_PLUS_PLUS] = ACTIONS(998), + [anon_sym_sizeof] = ACTIONS(996), + [sym_number_literal] = ACTIONS(998), + [anon_sym_L_SQUOTE] = ACTIONS(998), + [anon_sym_u_SQUOTE] = ACTIONS(998), + [anon_sym_U_SQUOTE] = ACTIONS(998), + [anon_sym_u8_SQUOTE] = ACTIONS(998), + [anon_sym_SQUOTE] = ACTIONS(998), + [anon_sym_L_DQUOTE] = ACTIONS(998), + [anon_sym_u_DQUOTE] = ACTIONS(998), + [anon_sym_U_DQUOTE] = ACTIONS(998), + [anon_sym_u8_DQUOTE] = ACTIONS(998), + [anon_sym_DQUOTE] = ACTIONS(998), + [sym_true] = ACTIONS(996), + [sym_false] = ACTIONS(996), + [sym_null] = ACTIONS(996), + [sym_comment] = ACTIONS(3), + }, + [181] = { + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_RBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [182] = { + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_RBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [183] = { + [sym_identifier] = ACTIONS(928), + [aux_sym_preproc_include_token1] = ACTIONS(928), + [aux_sym_preproc_def_token1] = ACTIONS(928), + [aux_sym_preproc_if_token1] = ACTIONS(928), + [aux_sym_preproc_ifdef_token1] = ACTIONS(928), + [aux_sym_preproc_ifdef_token2] = ACTIONS(928), + [sym_preproc_directive] = ACTIONS(928), + [anon_sym_LPAREN2] = ACTIONS(930), + [anon_sym_BANG] = ACTIONS(930), + [anon_sym_TILDE] = ACTIONS(930), + [anon_sym_DASH] = ACTIONS(928), + [anon_sym_PLUS] = ACTIONS(928), + [anon_sym_STAR] = ACTIONS(930), + [anon_sym_AMP] = ACTIONS(930), + [anon_sym_SEMI] = ACTIONS(930), + [anon_sym_typedef] = ACTIONS(928), + [anon_sym_extern] = ACTIONS(928), + [anon_sym___attribute__] = ACTIONS(928), + [anon_sym_LBRACK_LBRACK] = ACTIONS(930), + [anon_sym___declspec] = ACTIONS(928), + [anon_sym___cdecl] = ACTIONS(928), + [anon_sym___clrcall] = ACTIONS(928), + [anon_sym___stdcall] = ACTIONS(928), + [anon_sym___fastcall] = ACTIONS(928), + [anon_sym___thiscall] = ACTIONS(928), + [anon_sym___vectorcall] = ACTIONS(928), + [anon_sym_LBRACE] = ACTIONS(930), + [anon_sym_RBRACE] = ACTIONS(930), + [anon_sym_static] = ACTIONS(928), + [anon_sym_auto] = ACTIONS(928), + [anon_sym_register] = ACTIONS(928), + [anon_sym_inline] = ACTIONS(928), + [anon_sym_const] = ACTIONS(928), + [anon_sym_volatile] = ACTIONS(928), + [anon_sym_restrict] = ACTIONS(928), + [anon_sym__Atomic] = ACTIONS(928), + [anon_sym_signed] = ACTIONS(928), + [anon_sym_unsigned] = ACTIONS(928), + [anon_sym_long] = ACTIONS(928), + [anon_sym_short] = ACTIONS(928), + [sym_primitive_type] = ACTIONS(928), + [anon_sym_enum] = ACTIONS(928), + [anon_sym_struct] = ACTIONS(928), + [anon_sym_union] = ACTIONS(928), + [anon_sym_if] = ACTIONS(928), + [anon_sym_else] = ACTIONS(928), + [anon_sym_switch] = ACTIONS(928), + [anon_sym_case] = ACTIONS(928), + [anon_sym_default] = ACTIONS(928), + [anon_sym_while] = ACTIONS(928), + [anon_sym_do] = ACTIONS(928), + [anon_sym_for] = ACTIONS(928), + [anon_sym_return] = ACTIONS(928), + [anon_sym_break] = ACTIONS(928), + [anon_sym_continue] = ACTIONS(928), + [anon_sym_goto] = ACTIONS(928), + [anon_sym_DASH_DASH] = ACTIONS(930), + [anon_sym_PLUS_PLUS] = ACTIONS(930), + [anon_sym_sizeof] = ACTIONS(928), + [sym_number_literal] = ACTIONS(930), + [anon_sym_L_SQUOTE] = ACTIONS(930), + [anon_sym_u_SQUOTE] = ACTIONS(930), + [anon_sym_U_SQUOTE] = ACTIONS(930), + [anon_sym_u8_SQUOTE] = ACTIONS(930), + [anon_sym_SQUOTE] = ACTIONS(930), + [anon_sym_L_DQUOTE] = ACTIONS(930), + [anon_sym_u_DQUOTE] = ACTIONS(930), + [anon_sym_U_DQUOTE] = ACTIONS(930), + [anon_sym_u8_DQUOTE] = ACTIONS(930), + [anon_sym_DQUOTE] = ACTIONS(930), + [sym_true] = ACTIONS(928), + [sym_false] = ACTIONS(928), + [sym_null] = ACTIONS(928), + [sym_comment] = ACTIONS(3), + }, + [184] = { + [sym_identifier] = ACTIONS(1016), + [aux_sym_preproc_include_token1] = ACTIONS(1016), + [aux_sym_preproc_def_token1] = ACTIONS(1016), + [aux_sym_preproc_if_token1] = ACTIONS(1016), + [aux_sym_preproc_if_token2] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1016), + [sym_preproc_directive] = ACTIONS(1016), + [anon_sym_LPAREN2] = ACTIONS(1018), + [anon_sym_BANG] = ACTIONS(1018), + [anon_sym_TILDE] = ACTIONS(1018), + [anon_sym_DASH] = ACTIONS(1016), + [anon_sym_PLUS] = ACTIONS(1016), + [anon_sym_STAR] = ACTIONS(1018), + [anon_sym_AMP] = ACTIONS(1018), + [anon_sym_SEMI] = ACTIONS(1018), + [anon_sym_typedef] = ACTIONS(1016), + [anon_sym_extern] = ACTIONS(1016), + [anon_sym___attribute__] = ACTIONS(1016), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1018), + [anon_sym___declspec] = ACTIONS(1016), + [anon_sym___cdecl] = ACTIONS(1016), + [anon_sym___clrcall] = ACTIONS(1016), + [anon_sym___stdcall] = ACTIONS(1016), + [anon_sym___fastcall] = ACTIONS(1016), + [anon_sym___thiscall] = ACTIONS(1016), + [anon_sym___vectorcall] = ACTIONS(1016), + [anon_sym_LBRACE] = ACTIONS(1018), + [anon_sym_static] = ACTIONS(1016), + [anon_sym_auto] = ACTIONS(1016), + [anon_sym_register] = ACTIONS(1016), + [anon_sym_inline] = ACTIONS(1016), + [anon_sym_const] = ACTIONS(1016), + [anon_sym_volatile] = ACTIONS(1016), + [anon_sym_restrict] = ACTIONS(1016), + [anon_sym__Atomic] = ACTIONS(1016), + [anon_sym_signed] = ACTIONS(1016), + [anon_sym_unsigned] = ACTIONS(1016), + [anon_sym_long] = ACTIONS(1016), + [anon_sym_short] = ACTIONS(1016), + [sym_primitive_type] = ACTIONS(1016), + [anon_sym_enum] = ACTIONS(1016), + [anon_sym_struct] = ACTIONS(1016), + [anon_sym_union] = ACTIONS(1016), + [anon_sym_if] = ACTIONS(1016), + [anon_sym_else] = ACTIONS(1016), + [anon_sym_switch] = ACTIONS(1016), + [anon_sym_case] = ACTIONS(1016), + [anon_sym_default] = ACTIONS(1016), + [anon_sym_while] = ACTIONS(1016), + [anon_sym_do] = ACTIONS(1016), + [anon_sym_for] = ACTIONS(1016), + [anon_sym_return] = ACTIONS(1016), + [anon_sym_break] = ACTIONS(1016), + [anon_sym_continue] = ACTIONS(1016), + [anon_sym_goto] = ACTIONS(1016), + [anon_sym_DASH_DASH] = ACTIONS(1018), + [anon_sym_PLUS_PLUS] = ACTIONS(1018), + [anon_sym_sizeof] = ACTIONS(1016), + [sym_number_literal] = ACTIONS(1018), + [anon_sym_L_SQUOTE] = ACTIONS(1018), + [anon_sym_u_SQUOTE] = ACTIONS(1018), + [anon_sym_U_SQUOTE] = ACTIONS(1018), + [anon_sym_u8_SQUOTE] = ACTIONS(1018), + [anon_sym_SQUOTE] = ACTIONS(1018), + [anon_sym_L_DQUOTE] = ACTIONS(1018), + [anon_sym_u_DQUOTE] = ACTIONS(1018), + [anon_sym_U_DQUOTE] = ACTIONS(1018), + [anon_sym_u8_DQUOTE] = ACTIONS(1018), + [anon_sym_DQUOTE] = ACTIONS(1018), + [sym_true] = ACTIONS(1016), + [sym_false] = ACTIONS(1016), + [sym_null] = ACTIONS(1016), + [sym_comment] = ACTIONS(3), + }, + [185] = { + [sym_identifier] = ACTIONS(936), + [aux_sym_preproc_include_token1] = ACTIONS(936), + [aux_sym_preproc_def_token1] = ACTIONS(936), + [aux_sym_preproc_if_token1] = ACTIONS(936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(936), + [sym_preproc_directive] = ACTIONS(936), + [anon_sym_LPAREN2] = ACTIONS(938), + [anon_sym_BANG] = ACTIONS(938), + [anon_sym_TILDE] = ACTIONS(938), + [anon_sym_DASH] = ACTIONS(936), + [anon_sym_PLUS] = ACTIONS(936), + [anon_sym_STAR] = ACTIONS(938), + [anon_sym_AMP] = ACTIONS(938), + [anon_sym_SEMI] = ACTIONS(938), + [anon_sym_typedef] = ACTIONS(936), + [anon_sym_extern] = ACTIONS(936), + [anon_sym___attribute__] = ACTIONS(936), + [anon_sym_LBRACK_LBRACK] = ACTIONS(938), + [anon_sym___declspec] = ACTIONS(936), + [anon_sym___cdecl] = ACTIONS(936), + [anon_sym___clrcall] = ACTIONS(936), + [anon_sym___stdcall] = ACTIONS(936), + [anon_sym___fastcall] = ACTIONS(936), + [anon_sym___thiscall] = ACTIONS(936), + [anon_sym___vectorcall] = ACTIONS(936), + [anon_sym_LBRACE] = ACTIONS(938), + [anon_sym_RBRACE] = ACTIONS(938), + [anon_sym_static] = ACTIONS(936), + [anon_sym_auto] = ACTIONS(936), + [anon_sym_register] = ACTIONS(936), + [anon_sym_inline] = ACTIONS(936), + [anon_sym_const] = ACTIONS(936), + [anon_sym_volatile] = ACTIONS(936), + [anon_sym_restrict] = ACTIONS(936), + [anon_sym__Atomic] = ACTIONS(936), + [anon_sym_signed] = ACTIONS(936), + [anon_sym_unsigned] = ACTIONS(936), + [anon_sym_long] = ACTIONS(936), + [anon_sym_short] = ACTIONS(936), + [sym_primitive_type] = ACTIONS(936), + [anon_sym_enum] = ACTIONS(936), + [anon_sym_struct] = ACTIONS(936), + [anon_sym_union] = ACTIONS(936), + [anon_sym_if] = ACTIONS(936), + [anon_sym_else] = ACTIONS(936), + [anon_sym_switch] = ACTIONS(936), + [anon_sym_case] = ACTIONS(936), + [anon_sym_default] = ACTIONS(936), + [anon_sym_while] = ACTIONS(936), + [anon_sym_do] = ACTIONS(936), + [anon_sym_for] = ACTIONS(936), + [anon_sym_return] = ACTIONS(936), + [anon_sym_break] = ACTIONS(936), + [anon_sym_continue] = ACTIONS(936), + [anon_sym_goto] = ACTIONS(936), + [anon_sym_DASH_DASH] = ACTIONS(938), + [anon_sym_PLUS_PLUS] = ACTIONS(938), + [anon_sym_sizeof] = ACTIONS(936), + [sym_number_literal] = ACTIONS(938), + [anon_sym_L_SQUOTE] = ACTIONS(938), + [anon_sym_u_SQUOTE] = ACTIONS(938), + [anon_sym_U_SQUOTE] = ACTIONS(938), + [anon_sym_u8_SQUOTE] = ACTIONS(938), + [anon_sym_SQUOTE] = ACTIONS(938), + [anon_sym_L_DQUOTE] = ACTIONS(938), + [anon_sym_u_DQUOTE] = ACTIONS(938), + [anon_sym_U_DQUOTE] = ACTIONS(938), + [anon_sym_u8_DQUOTE] = ACTIONS(938), + [anon_sym_DQUOTE] = ACTIONS(938), + [sym_true] = ACTIONS(936), + [sym_false] = ACTIONS(936), + [sym_null] = ACTIONS(936), + [sym_comment] = ACTIONS(3), + }, + [186] = { + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_RBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [187] = { + [sym_identifier] = ACTIONS(928), + [aux_sym_preproc_include_token1] = ACTIONS(928), + [aux_sym_preproc_def_token1] = ACTIONS(928), + [aux_sym_preproc_if_token1] = ACTIONS(928), + [aux_sym_preproc_if_token2] = ACTIONS(928), + [aux_sym_preproc_ifdef_token1] = ACTIONS(928), + [aux_sym_preproc_ifdef_token2] = ACTIONS(928), + [sym_preproc_directive] = ACTIONS(928), + [anon_sym_LPAREN2] = ACTIONS(930), + [anon_sym_BANG] = ACTIONS(930), + [anon_sym_TILDE] = ACTIONS(930), + [anon_sym_DASH] = ACTIONS(928), + [anon_sym_PLUS] = ACTIONS(928), + [anon_sym_STAR] = ACTIONS(930), + [anon_sym_AMP] = ACTIONS(930), + [anon_sym_SEMI] = ACTIONS(930), + [anon_sym_typedef] = ACTIONS(928), + [anon_sym_extern] = ACTIONS(928), + [anon_sym___attribute__] = ACTIONS(928), + [anon_sym_LBRACK_LBRACK] = ACTIONS(930), + [anon_sym___declspec] = ACTIONS(928), + [anon_sym___cdecl] = ACTIONS(928), + [anon_sym___clrcall] = ACTIONS(928), + [anon_sym___stdcall] = ACTIONS(928), + [anon_sym___fastcall] = ACTIONS(928), + [anon_sym___thiscall] = ACTIONS(928), + [anon_sym___vectorcall] = ACTIONS(928), + [anon_sym_LBRACE] = ACTIONS(930), + [anon_sym_static] = ACTIONS(928), + [anon_sym_auto] = ACTIONS(928), + [anon_sym_register] = ACTIONS(928), + [anon_sym_inline] = ACTIONS(928), + [anon_sym_const] = ACTIONS(928), + [anon_sym_volatile] = ACTIONS(928), + [anon_sym_restrict] = ACTIONS(928), + [anon_sym__Atomic] = ACTIONS(928), + [anon_sym_signed] = ACTIONS(928), + [anon_sym_unsigned] = ACTIONS(928), + [anon_sym_long] = ACTIONS(928), + [anon_sym_short] = ACTIONS(928), + [sym_primitive_type] = ACTIONS(928), + [anon_sym_enum] = ACTIONS(928), + [anon_sym_struct] = ACTIONS(928), + [anon_sym_union] = ACTIONS(928), + [anon_sym_if] = ACTIONS(928), + [anon_sym_else] = ACTIONS(928), + [anon_sym_switch] = ACTIONS(928), + [anon_sym_case] = ACTIONS(928), + [anon_sym_default] = ACTIONS(928), + [anon_sym_while] = ACTIONS(928), + [anon_sym_do] = ACTIONS(928), + [anon_sym_for] = ACTIONS(928), + [anon_sym_return] = ACTIONS(928), + [anon_sym_break] = ACTIONS(928), + [anon_sym_continue] = ACTIONS(928), + [anon_sym_goto] = ACTIONS(928), + [anon_sym_DASH_DASH] = ACTIONS(930), + [anon_sym_PLUS_PLUS] = ACTIONS(930), + [anon_sym_sizeof] = ACTIONS(928), + [sym_number_literal] = ACTIONS(930), + [anon_sym_L_SQUOTE] = ACTIONS(930), + [anon_sym_u_SQUOTE] = ACTIONS(930), + [anon_sym_U_SQUOTE] = ACTIONS(930), + [anon_sym_u8_SQUOTE] = ACTIONS(930), + [anon_sym_SQUOTE] = ACTIONS(930), + [anon_sym_L_DQUOTE] = ACTIONS(930), + [anon_sym_u_DQUOTE] = ACTIONS(930), + [anon_sym_U_DQUOTE] = ACTIONS(930), + [anon_sym_u8_DQUOTE] = ACTIONS(930), + [anon_sym_DQUOTE] = ACTIONS(930), + [sym_true] = ACTIONS(928), + [sym_false] = ACTIONS(928), + [sym_null] = ACTIONS(928), + [sym_comment] = ACTIONS(3), + }, + [188] = { + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_RBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [189] = { + [sym_identifier] = ACTIONS(960), + [aux_sym_preproc_include_token1] = ACTIONS(960), + [aux_sym_preproc_def_token1] = ACTIONS(960), + [aux_sym_preproc_if_token1] = ACTIONS(960), + [aux_sym_preproc_if_token2] = ACTIONS(960), + [aux_sym_preproc_ifdef_token1] = ACTIONS(960), + [aux_sym_preproc_ifdef_token2] = ACTIONS(960), + [sym_preproc_directive] = ACTIONS(960), + [anon_sym_LPAREN2] = ACTIONS(962), + [anon_sym_BANG] = ACTIONS(962), + [anon_sym_TILDE] = ACTIONS(962), + [anon_sym_DASH] = ACTIONS(960), + [anon_sym_PLUS] = ACTIONS(960), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(962), + [anon_sym_typedef] = ACTIONS(960), + [anon_sym_extern] = ACTIONS(960), + [anon_sym___attribute__] = ACTIONS(960), + [anon_sym_LBRACK_LBRACK] = ACTIONS(962), + [anon_sym___declspec] = ACTIONS(960), + [anon_sym___cdecl] = ACTIONS(960), + [anon_sym___clrcall] = ACTIONS(960), + [anon_sym___stdcall] = ACTIONS(960), + [anon_sym___fastcall] = ACTIONS(960), + [anon_sym___thiscall] = ACTIONS(960), + [anon_sym___vectorcall] = ACTIONS(960), + [anon_sym_LBRACE] = ACTIONS(962), + [anon_sym_static] = ACTIONS(960), + [anon_sym_auto] = ACTIONS(960), + [anon_sym_register] = ACTIONS(960), + [anon_sym_inline] = ACTIONS(960), + [anon_sym_const] = ACTIONS(960), + [anon_sym_volatile] = ACTIONS(960), + [anon_sym_restrict] = ACTIONS(960), + [anon_sym__Atomic] = ACTIONS(960), + [anon_sym_signed] = ACTIONS(960), + [anon_sym_unsigned] = ACTIONS(960), + [anon_sym_long] = ACTIONS(960), + [anon_sym_short] = ACTIONS(960), + [sym_primitive_type] = ACTIONS(960), + [anon_sym_enum] = ACTIONS(960), + [anon_sym_struct] = ACTIONS(960), + [anon_sym_union] = ACTIONS(960), + [anon_sym_if] = ACTIONS(960), + [anon_sym_else] = ACTIONS(960), + [anon_sym_switch] = ACTIONS(960), + [anon_sym_case] = ACTIONS(960), + [anon_sym_default] = ACTIONS(960), + [anon_sym_while] = ACTIONS(960), + [anon_sym_do] = ACTIONS(960), + [anon_sym_for] = ACTIONS(960), + [anon_sym_return] = ACTIONS(960), + [anon_sym_break] = ACTIONS(960), + [anon_sym_continue] = ACTIONS(960), + [anon_sym_goto] = ACTIONS(960), + [anon_sym_DASH_DASH] = ACTIONS(962), + [anon_sym_PLUS_PLUS] = ACTIONS(962), + [anon_sym_sizeof] = ACTIONS(960), + [sym_number_literal] = ACTIONS(962), + [anon_sym_L_SQUOTE] = ACTIONS(962), + [anon_sym_u_SQUOTE] = ACTIONS(962), + [anon_sym_U_SQUOTE] = ACTIONS(962), + [anon_sym_u8_SQUOTE] = ACTIONS(962), + [anon_sym_SQUOTE] = ACTIONS(962), + [anon_sym_L_DQUOTE] = ACTIONS(962), + [anon_sym_u_DQUOTE] = ACTIONS(962), + [anon_sym_U_DQUOTE] = ACTIONS(962), + [anon_sym_u8_DQUOTE] = ACTIONS(962), + [anon_sym_DQUOTE] = ACTIONS(962), + [sym_true] = ACTIONS(960), + [sym_false] = ACTIONS(960), + [sym_null] = ACTIONS(960), + [sym_comment] = ACTIONS(3), + }, + [190] = { + [sym_identifier] = ACTIONS(964), + [aux_sym_preproc_include_token1] = ACTIONS(964), + [aux_sym_preproc_def_token1] = ACTIONS(964), + [aux_sym_preproc_if_token1] = ACTIONS(964), + [aux_sym_preproc_ifdef_token1] = ACTIONS(964), + [aux_sym_preproc_ifdef_token2] = ACTIONS(964), + [sym_preproc_directive] = ACTIONS(964), + [anon_sym_LPAREN2] = ACTIONS(966), + [anon_sym_BANG] = ACTIONS(966), + [anon_sym_TILDE] = ACTIONS(966), + [anon_sym_DASH] = ACTIONS(964), + [anon_sym_PLUS] = ACTIONS(964), + [anon_sym_STAR] = ACTIONS(966), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(966), + [anon_sym_typedef] = ACTIONS(964), + [anon_sym_extern] = ACTIONS(964), + [anon_sym___attribute__] = ACTIONS(964), + [anon_sym_LBRACK_LBRACK] = ACTIONS(966), + [anon_sym___declspec] = ACTIONS(964), + [anon_sym___cdecl] = ACTIONS(964), + [anon_sym___clrcall] = ACTIONS(964), + [anon_sym___stdcall] = ACTIONS(964), + [anon_sym___fastcall] = ACTIONS(964), + [anon_sym___thiscall] = ACTIONS(964), + [anon_sym___vectorcall] = ACTIONS(964), + [anon_sym_LBRACE] = ACTIONS(966), + [anon_sym_RBRACE] = ACTIONS(966), + [anon_sym_static] = ACTIONS(964), + [anon_sym_auto] = ACTIONS(964), + [anon_sym_register] = ACTIONS(964), + [anon_sym_inline] = ACTIONS(964), + [anon_sym_const] = ACTIONS(964), + [anon_sym_volatile] = ACTIONS(964), + [anon_sym_restrict] = ACTIONS(964), + [anon_sym__Atomic] = ACTIONS(964), + [anon_sym_signed] = ACTIONS(964), + [anon_sym_unsigned] = ACTIONS(964), + [anon_sym_long] = ACTIONS(964), + [anon_sym_short] = ACTIONS(964), + [sym_primitive_type] = ACTIONS(964), + [anon_sym_enum] = ACTIONS(964), + [anon_sym_struct] = ACTIONS(964), + [anon_sym_union] = ACTIONS(964), + [anon_sym_if] = ACTIONS(964), + [anon_sym_else] = ACTIONS(964), + [anon_sym_switch] = ACTIONS(964), + [anon_sym_case] = ACTIONS(964), + [anon_sym_default] = ACTIONS(964), + [anon_sym_while] = ACTIONS(964), + [anon_sym_do] = ACTIONS(964), + [anon_sym_for] = ACTIONS(964), + [anon_sym_return] = ACTIONS(964), + [anon_sym_break] = ACTIONS(964), + [anon_sym_continue] = ACTIONS(964), + [anon_sym_goto] = ACTIONS(964), + [anon_sym_DASH_DASH] = ACTIONS(966), + [anon_sym_PLUS_PLUS] = ACTIONS(966), + [anon_sym_sizeof] = ACTIONS(964), + [sym_number_literal] = ACTIONS(966), + [anon_sym_L_SQUOTE] = ACTIONS(966), + [anon_sym_u_SQUOTE] = ACTIONS(966), + [anon_sym_U_SQUOTE] = ACTIONS(966), + [anon_sym_u8_SQUOTE] = ACTIONS(966), + [anon_sym_SQUOTE] = ACTIONS(966), + [anon_sym_L_DQUOTE] = ACTIONS(966), + [anon_sym_u_DQUOTE] = ACTIONS(966), + [anon_sym_U_DQUOTE] = ACTIONS(966), + [anon_sym_u8_DQUOTE] = ACTIONS(966), + [anon_sym_DQUOTE] = ACTIONS(966), + [sym_true] = ACTIONS(964), + [sym_false] = ACTIONS(964), + [sym_null] = ACTIONS(964), + [sym_comment] = ACTIONS(3), + }, + [191] = { + [sym_identifier] = ACTIONS(936), + [aux_sym_preproc_include_token1] = ACTIONS(936), + [aux_sym_preproc_def_token1] = ACTIONS(936), + [aux_sym_preproc_if_token1] = ACTIONS(936), + [aux_sym_preproc_if_token2] = ACTIONS(936), + [aux_sym_preproc_ifdef_token1] = ACTIONS(936), + [aux_sym_preproc_ifdef_token2] = ACTIONS(936), + [sym_preproc_directive] = ACTIONS(936), + [anon_sym_LPAREN2] = ACTIONS(938), + [anon_sym_BANG] = ACTIONS(938), + [anon_sym_TILDE] = ACTIONS(938), + [anon_sym_DASH] = ACTIONS(936), + [anon_sym_PLUS] = ACTIONS(936), + [anon_sym_STAR] = ACTIONS(938), + [anon_sym_AMP] = ACTIONS(938), + [anon_sym_SEMI] = ACTIONS(938), + [anon_sym_typedef] = ACTIONS(936), + [anon_sym_extern] = ACTIONS(936), + [anon_sym___attribute__] = ACTIONS(936), + [anon_sym_LBRACK_LBRACK] = ACTIONS(938), + [anon_sym___declspec] = ACTIONS(936), + [anon_sym___cdecl] = ACTIONS(936), + [anon_sym___clrcall] = ACTIONS(936), + [anon_sym___stdcall] = ACTIONS(936), + [anon_sym___fastcall] = ACTIONS(936), + [anon_sym___thiscall] = ACTIONS(936), + [anon_sym___vectorcall] = ACTIONS(936), + [anon_sym_LBRACE] = ACTIONS(938), + [anon_sym_static] = ACTIONS(936), + [anon_sym_auto] = ACTIONS(936), + [anon_sym_register] = ACTIONS(936), + [anon_sym_inline] = ACTIONS(936), + [anon_sym_const] = ACTIONS(936), + [anon_sym_volatile] = ACTIONS(936), + [anon_sym_restrict] = ACTIONS(936), + [anon_sym__Atomic] = ACTIONS(936), + [anon_sym_signed] = ACTIONS(936), + [anon_sym_unsigned] = ACTIONS(936), + [anon_sym_long] = ACTIONS(936), + [anon_sym_short] = ACTIONS(936), + [sym_primitive_type] = ACTIONS(936), + [anon_sym_enum] = ACTIONS(936), + [anon_sym_struct] = ACTIONS(936), + [anon_sym_union] = ACTIONS(936), + [anon_sym_if] = ACTIONS(936), + [anon_sym_else] = ACTIONS(936), + [anon_sym_switch] = ACTIONS(936), + [anon_sym_case] = ACTIONS(936), + [anon_sym_default] = ACTIONS(936), + [anon_sym_while] = ACTIONS(936), + [anon_sym_do] = ACTIONS(936), + [anon_sym_for] = ACTIONS(936), + [anon_sym_return] = ACTIONS(936), + [anon_sym_break] = ACTIONS(936), + [anon_sym_continue] = ACTIONS(936), + [anon_sym_goto] = ACTIONS(936), + [anon_sym_DASH_DASH] = ACTIONS(938), + [anon_sym_PLUS_PLUS] = ACTIONS(938), + [anon_sym_sizeof] = ACTIONS(936), + [sym_number_literal] = ACTIONS(938), + [anon_sym_L_SQUOTE] = ACTIONS(938), + [anon_sym_u_SQUOTE] = ACTIONS(938), + [anon_sym_U_SQUOTE] = ACTIONS(938), + [anon_sym_u8_SQUOTE] = ACTIONS(938), + [anon_sym_SQUOTE] = ACTIONS(938), + [anon_sym_L_DQUOTE] = ACTIONS(938), + [anon_sym_u_DQUOTE] = ACTIONS(938), + [anon_sym_U_DQUOTE] = ACTIONS(938), + [anon_sym_u8_DQUOTE] = ACTIONS(938), + [anon_sym_DQUOTE] = ACTIONS(938), + [sym_true] = ACTIONS(936), + [sym_false] = ACTIONS(936), + [sym_null] = ACTIONS(936), + [sym_comment] = ACTIONS(3), + }, + [192] = { + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_if_token2] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [193] = { + [sym_identifier] = ACTIONS(944), + [aux_sym_preproc_include_token1] = ACTIONS(944), + [aux_sym_preproc_def_token1] = ACTIONS(944), + [aux_sym_preproc_if_token1] = ACTIONS(944), + [aux_sym_preproc_if_token2] = ACTIONS(944), + [aux_sym_preproc_ifdef_token1] = ACTIONS(944), + [aux_sym_preproc_ifdef_token2] = ACTIONS(944), + [sym_preproc_directive] = ACTIONS(944), + [anon_sym_LPAREN2] = ACTIONS(946), + [anon_sym_BANG] = ACTIONS(946), + [anon_sym_TILDE] = ACTIONS(946), + [anon_sym_DASH] = ACTIONS(944), + [anon_sym_PLUS] = ACTIONS(944), + [anon_sym_STAR] = ACTIONS(946), + [anon_sym_AMP] = ACTIONS(946), + [anon_sym_SEMI] = ACTIONS(946), + [anon_sym_typedef] = ACTIONS(944), + [anon_sym_extern] = ACTIONS(944), + [anon_sym___attribute__] = ACTIONS(944), + [anon_sym_LBRACK_LBRACK] = ACTIONS(946), + [anon_sym___declspec] = ACTIONS(944), + [anon_sym___cdecl] = ACTIONS(944), + [anon_sym___clrcall] = ACTIONS(944), + [anon_sym___stdcall] = ACTIONS(944), + [anon_sym___fastcall] = ACTIONS(944), + [anon_sym___thiscall] = ACTIONS(944), + [anon_sym___vectorcall] = ACTIONS(944), + [anon_sym_LBRACE] = ACTIONS(946), + [anon_sym_static] = ACTIONS(944), + [anon_sym_auto] = ACTIONS(944), + [anon_sym_register] = ACTIONS(944), + [anon_sym_inline] = ACTIONS(944), + [anon_sym_const] = ACTIONS(944), + [anon_sym_volatile] = ACTIONS(944), + [anon_sym_restrict] = ACTIONS(944), + [anon_sym__Atomic] = ACTIONS(944), + [anon_sym_signed] = ACTIONS(944), + [anon_sym_unsigned] = ACTIONS(944), + [anon_sym_long] = ACTIONS(944), + [anon_sym_short] = ACTIONS(944), + [sym_primitive_type] = ACTIONS(944), + [anon_sym_enum] = ACTIONS(944), + [anon_sym_struct] = ACTIONS(944), + [anon_sym_union] = ACTIONS(944), + [anon_sym_if] = ACTIONS(944), + [anon_sym_else] = ACTIONS(944), + [anon_sym_switch] = ACTIONS(944), + [anon_sym_case] = ACTIONS(944), + [anon_sym_default] = ACTIONS(944), + [anon_sym_while] = ACTIONS(944), + [anon_sym_do] = ACTIONS(944), + [anon_sym_for] = ACTIONS(944), + [anon_sym_return] = ACTIONS(944), + [anon_sym_break] = ACTIONS(944), + [anon_sym_continue] = ACTIONS(944), + [anon_sym_goto] = ACTIONS(944), + [anon_sym_DASH_DASH] = ACTIONS(946), + [anon_sym_PLUS_PLUS] = ACTIONS(946), + [anon_sym_sizeof] = ACTIONS(944), + [sym_number_literal] = ACTIONS(946), + [anon_sym_L_SQUOTE] = ACTIONS(946), + [anon_sym_u_SQUOTE] = ACTIONS(946), + [anon_sym_U_SQUOTE] = ACTIONS(946), + [anon_sym_u8_SQUOTE] = ACTIONS(946), + [anon_sym_SQUOTE] = ACTIONS(946), + [anon_sym_L_DQUOTE] = ACTIONS(946), + [anon_sym_u_DQUOTE] = ACTIONS(946), + [anon_sym_U_DQUOTE] = ACTIONS(946), + [anon_sym_u8_DQUOTE] = ACTIONS(946), + [anon_sym_DQUOTE] = ACTIONS(946), + [sym_true] = ACTIONS(944), + [sym_false] = ACTIONS(944), + [sym_null] = ACTIONS(944), + [sym_comment] = ACTIONS(3), + }, + [194] = { + [sym_identifier] = ACTIONS(972), + [aux_sym_preproc_include_token1] = ACTIONS(972), + [aux_sym_preproc_def_token1] = ACTIONS(972), + [aux_sym_preproc_if_token1] = ACTIONS(972), + [aux_sym_preproc_ifdef_token1] = ACTIONS(972), + [aux_sym_preproc_ifdef_token2] = ACTIONS(972), + [sym_preproc_directive] = ACTIONS(972), + [anon_sym_LPAREN2] = ACTIONS(974), + [anon_sym_BANG] = ACTIONS(974), + [anon_sym_TILDE] = ACTIONS(974), + [anon_sym_DASH] = ACTIONS(972), + [anon_sym_PLUS] = ACTIONS(972), + [anon_sym_STAR] = ACTIONS(974), + [anon_sym_AMP] = ACTIONS(974), + [anon_sym_SEMI] = ACTIONS(974), + [anon_sym_typedef] = ACTIONS(972), + [anon_sym_extern] = ACTIONS(972), + [anon_sym___attribute__] = ACTIONS(972), + [anon_sym_LBRACK_LBRACK] = ACTIONS(974), + [anon_sym___declspec] = ACTIONS(972), + [anon_sym___cdecl] = ACTIONS(972), + [anon_sym___clrcall] = ACTIONS(972), + [anon_sym___stdcall] = ACTIONS(972), + [anon_sym___fastcall] = ACTIONS(972), + [anon_sym___thiscall] = ACTIONS(972), + [anon_sym___vectorcall] = ACTIONS(972), + [anon_sym_LBRACE] = ACTIONS(974), + [anon_sym_RBRACE] = ACTIONS(974), + [anon_sym_static] = ACTIONS(972), + [anon_sym_auto] = ACTIONS(972), + [anon_sym_register] = ACTIONS(972), + [anon_sym_inline] = ACTIONS(972), + [anon_sym_const] = ACTIONS(972), + [anon_sym_volatile] = ACTIONS(972), + [anon_sym_restrict] = ACTIONS(972), + [anon_sym__Atomic] = ACTIONS(972), + [anon_sym_signed] = ACTIONS(972), + [anon_sym_unsigned] = ACTIONS(972), + [anon_sym_long] = ACTIONS(972), + [anon_sym_short] = ACTIONS(972), + [sym_primitive_type] = ACTIONS(972), + [anon_sym_enum] = ACTIONS(972), + [anon_sym_struct] = ACTIONS(972), + [anon_sym_union] = ACTIONS(972), + [anon_sym_if] = ACTIONS(972), + [anon_sym_else] = ACTIONS(972), + [anon_sym_switch] = ACTIONS(972), + [anon_sym_case] = ACTIONS(972), + [anon_sym_default] = ACTIONS(972), + [anon_sym_while] = ACTIONS(972), + [anon_sym_do] = ACTIONS(972), + [anon_sym_for] = ACTIONS(972), + [anon_sym_return] = ACTIONS(972), + [anon_sym_break] = ACTIONS(972), + [anon_sym_continue] = ACTIONS(972), + [anon_sym_goto] = ACTIONS(972), + [anon_sym_DASH_DASH] = ACTIONS(974), + [anon_sym_PLUS_PLUS] = ACTIONS(974), + [anon_sym_sizeof] = ACTIONS(972), + [sym_number_literal] = ACTIONS(974), + [anon_sym_L_SQUOTE] = ACTIONS(974), + [anon_sym_u_SQUOTE] = ACTIONS(974), + [anon_sym_U_SQUOTE] = ACTIONS(974), + [anon_sym_u8_SQUOTE] = ACTIONS(974), + [anon_sym_SQUOTE] = ACTIONS(974), + [anon_sym_L_DQUOTE] = ACTIONS(974), + [anon_sym_u_DQUOTE] = ACTIONS(974), + [anon_sym_U_DQUOTE] = ACTIONS(974), + [anon_sym_u8_DQUOTE] = ACTIONS(974), + [anon_sym_DQUOTE] = ACTIONS(974), + [sym_true] = ACTIONS(972), + [sym_false] = ACTIONS(972), + [sym_null] = ACTIONS(972), + [sym_comment] = ACTIONS(3), + }, + [195] = { + [sym_identifier] = ACTIONS(980), + [aux_sym_preproc_include_token1] = ACTIONS(980), + [aux_sym_preproc_def_token1] = ACTIONS(980), + [aux_sym_preproc_if_token1] = ACTIONS(980), + [aux_sym_preproc_ifdef_token1] = ACTIONS(980), + [aux_sym_preproc_ifdef_token2] = ACTIONS(980), + [sym_preproc_directive] = ACTIONS(980), + [anon_sym_LPAREN2] = ACTIONS(982), + [anon_sym_BANG] = ACTIONS(982), + [anon_sym_TILDE] = ACTIONS(982), + [anon_sym_DASH] = ACTIONS(980), + [anon_sym_PLUS] = ACTIONS(980), + [anon_sym_STAR] = ACTIONS(982), + [anon_sym_AMP] = ACTIONS(982), + [anon_sym_SEMI] = ACTIONS(982), + [anon_sym_typedef] = ACTIONS(980), + [anon_sym_extern] = ACTIONS(980), + [anon_sym___attribute__] = ACTIONS(980), + [anon_sym_LBRACK_LBRACK] = ACTIONS(982), + [anon_sym___declspec] = ACTIONS(980), + [anon_sym___cdecl] = ACTIONS(980), + [anon_sym___clrcall] = ACTIONS(980), + [anon_sym___stdcall] = ACTIONS(980), + [anon_sym___fastcall] = ACTIONS(980), + [anon_sym___thiscall] = ACTIONS(980), + [anon_sym___vectorcall] = ACTIONS(980), + [anon_sym_LBRACE] = ACTIONS(982), + [anon_sym_RBRACE] = ACTIONS(982), + [anon_sym_static] = ACTIONS(980), + [anon_sym_auto] = ACTIONS(980), + [anon_sym_register] = ACTIONS(980), + [anon_sym_inline] = ACTIONS(980), + [anon_sym_const] = ACTIONS(980), + [anon_sym_volatile] = ACTIONS(980), + [anon_sym_restrict] = ACTIONS(980), + [anon_sym__Atomic] = ACTIONS(980), + [anon_sym_signed] = ACTIONS(980), + [anon_sym_unsigned] = ACTIONS(980), + [anon_sym_long] = ACTIONS(980), + [anon_sym_short] = ACTIONS(980), + [sym_primitive_type] = ACTIONS(980), + [anon_sym_enum] = ACTIONS(980), + [anon_sym_struct] = ACTIONS(980), + [anon_sym_union] = ACTIONS(980), + [anon_sym_if] = ACTIONS(980), + [anon_sym_else] = ACTIONS(980), + [anon_sym_switch] = ACTIONS(980), + [anon_sym_case] = ACTIONS(980), + [anon_sym_default] = ACTIONS(980), + [anon_sym_while] = ACTIONS(980), + [anon_sym_do] = ACTIONS(980), + [anon_sym_for] = ACTIONS(980), + [anon_sym_return] = ACTIONS(980), + [anon_sym_break] = ACTIONS(980), + [anon_sym_continue] = ACTIONS(980), + [anon_sym_goto] = ACTIONS(980), + [anon_sym_DASH_DASH] = ACTIONS(982), + [anon_sym_PLUS_PLUS] = ACTIONS(982), + [anon_sym_sizeof] = ACTIONS(980), + [sym_number_literal] = ACTIONS(982), + [anon_sym_L_SQUOTE] = ACTIONS(982), + [anon_sym_u_SQUOTE] = ACTIONS(982), + [anon_sym_U_SQUOTE] = ACTIONS(982), + [anon_sym_u8_SQUOTE] = ACTIONS(982), + [anon_sym_SQUOTE] = ACTIONS(982), + [anon_sym_L_DQUOTE] = ACTIONS(982), + [anon_sym_u_DQUOTE] = ACTIONS(982), + [anon_sym_U_DQUOTE] = ACTIONS(982), + [anon_sym_u8_DQUOTE] = ACTIONS(982), + [anon_sym_DQUOTE] = ACTIONS(982), + [sym_true] = ACTIONS(980), + [sym_false] = ACTIONS(980), + [sym_null] = ACTIONS(980), + [sym_comment] = ACTIONS(3), + }, + [196] = { + [sym_identifier] = ACTIONS(984), + [aux_sym_preproc_include_token1] = ACTIONS(984), + [aux_sym_preproc_def_token1] = ACTIONS(984), + [aux_sym_preproc_if_token1] = ACTIONS(984), + [aux_sym_preproc_ifdef_token1] = ACTIONS(984), + [aux_sym_preproc_ifdef_token2] = ACTIONS(984), + [sym_preproc_directive] = ACTIONS(984), + [anon_sym_LPAREN2] = ACTIONS(986), + [anon_sym_BANG] = ACTIONS(986), + [anon_sym_TILDE] = ACTIONS(986), + [anon_sym_DASH] = ACTIONS(984), + [anon_sym_PLUS] = ACTIONS(984), + [anon_sym_STAR] = ACTIONS(986), + [anon_sym_AMP] = ACTIONS(986), + [anon_sym_SEMI] = ACTIONS(986), + [anon_sym_typedef] = ACTIONS(984), + [anon_sym_extern] = ACTIONS(984), + [anon_sym___attribute__] = ACTIONS(984), + [anon_sym_LBRACK_LBRACK] = ACTIONS(986), + [anon_sym___declspec] = ACTIONS(984), + [anon_sym___cdecl] = ACTIONS(984), + [anon_sym___clrcall] = ACTIONS(984), + [anon_sym___stdcall] = ACTIONS(984), + [anon_sym___fastcall] = ACTIONS(984), + [anon_sym___thiscall] = ACTIONS(984), + [anon_sym___vectorcall] = ACTIONS(984), + [anon_sym_LBRACE] = ACTIONS(986), + [anon_sym_RBRACE] = ACTIONS(986), + [anon_sym_static] = ACTIONS(984), + [anon_sym_auto] = ACTIONS(984), + [anon_sym_register] = ACTIONS(984), + [anon_sym_inline] = ACTIONS(984), + [anon_sym_const] = ACTIONS(984), + [anon_sym_volatile] = ACTIONS(984), + [anon_sym_restrict] = ACTIONS(984), + [anon_sym__Atomic] = ACTIONS(984), + [anon_sym_signed] = ACTIONS(984), + [anon_sym_unsigned] = ACTIONS(984), + [anon_sym_long] = ACTIONS(984), + [anon_sym_short] = ACTIONS(984), + [sym_primitive_type] = ACTIONS(984), + [anon_sym_enum] = ACTIONS(984), + [anon_sym_struct] = ACTIONS(984), + [anon_sym_union] = ACTIONS(984), + [anon_sym_if] = ACTIONS(984), + [anon_sym_else] = ACTIONS(984), + [anon_sym_switch] = ACTIONS(984), + [anon_sym_case] = ACTIONS(984), + [anon_sym_default] = ACTIONS(984), + [anon_sym_while] = ACTIONS(984), + [anon_sym_do] = ACTIONS(984), + [anon_sym_for] = ACTIONS(984), + [anon_sym_return] = ACTIONS(984), + [anon_sym_break] = ACTIONS(984), + [anon_sym_continue] = ACTIONS(984), + [anon_sym_goto] = ACTIONS(984), + [anon_sym_DASH_DASH] = ACTIONS(986), + [anon_sym_PLUS_PLUS] = ACTIONS(986), + [anon_sym_sizeof] = ACTIONS(984), + [sym_number_literal] = ACTIONS(986), + [anon_sym_L_SQUOTE] = ACTIONS(986), + [anon_sym_u_SQUOTE] = ACTIONS(986), + [anon_sym_U_SQUOTE] = ACTIONS(986), + [anon_sym_u8_SQUOTE] = ACTIONS(986), + [anon_sym_SQUOTE] = ACTIONS(986), + [anon_sym_L_DQUOTE] = ACTIONS(986), + [anon_sym_u_DQUOTE] = ACTIONS(986), + [anon_sym_U_DQUOTE] = ACTIONS(986), + [anon_sym_u8_DQUOTE] = ACTIONS(986), + [anon_sym_DQUOTE] = ACTIONS(986), + [sym_true] = ACTIONS(984), + [sym_false] = ACTIONS(984), + [sym_null] = ACTIONS(984), + [sym_comment] = ACTIONS(3), + }, + [197] = { + [sym_identifier] = ACTIONS(988), + [aux_sym_preproc_include_token1] = ACTIONS(988), + [aux_sym_preproc_def_token1] = ACTIONS(988), + [aux_sym_preproc_if_token1] = ACTIONS(988), + [aux_sym_preproc_ifdef_token1] = ACTIONS(988), + [aux_sym_preproc_ifdef_token2] = ACTIONS(988), + [sym_preproc_directive] = ACTIONS(988), + [anon_sym_LPAREN2] = ACTIONS(990), + [anon_sym_BANG] = ACTIONS(990), + [anon_sym_TILDE] = ACTIONS(990), + [anon_sym_DASH] = ACTIONS(988), + [anon_sym_PLUS] = ACTIONS(988), + [anon_sym_STAR] = ACTIONS(990), + [anon_sym_AMP] = ACTIONS(990), + [anon_sym_SEMI] = ACTIONS(990), + [anon_sym_typedef] = ACTIONS(988), + [anon_sym_extern] = ACTIONS(988), + [anon_sym___attribute__] = ACTIONS(988), + [anon_sym_LBRACK_LBRACK] = ACTIONS(990), + [anon_sym___declspec] = ACTIONS(988), + [anon_sym___cdecl] = ACTIONS(988), + [anon_sym___clrcall] = ACTIONS(988), + [anon_sym___stdcall] = ACTIONS(988), + [anon_sym___fastcall] = ACTIONS(988), + [anon_sym___thiscall] = ACTIONS(988), + [anon_sym___vectorcall] = ACTIONS(988), + [anon_sym_LBRACE] = ACTIONS(990), + [anon_sym_RBRACE] = ACTIONS(990), + [anon_sym_static] = ACTIONS(988), + [anon_sym_auto] = ACTIONS(988), + [anon_sym_register] = ACTIONS(988), + [anon_sym_inline] = ACTIONS(988), + [anon_sym_const] = ACTIONS(988), + [anon_sym_volatile] = ACTIONS(988), + [anon_sym_restrict] = ACTIONS(988), + [anon_sym__Atomic] = ACTIONS(988), + [anon_sym_signed] = ACTIONS(988), + [anon_sym_unsigned] = ACTIONS(988), + [anon_sym_long] = ACTIONS(988), + [anon_sym_short] = ACTIONS(988), + [sym_primitive_type] = ACTIONS(988), + [anon_sym_enum] = ACTIONS(988), + [anon_sym_struct] = ACTIONS(988), + [anon_sym_union] = ACTIONS(988), + [anon_sym_if] = ACTIONS(988), + [anon_sym_else] = ACTIONS(988), + [anon_sym_switch] = ACTIONS(988), + [anon_sym_case] = ACTIONS(988), + [anon_sym_default] = ACTIONS(988), + [anon_sym_while] = ACTIONS(988), + [anon_sym_do] = ACTIONS(988), + [anon_sym_for] = ACTIONS(988), + [anon_sym_return] = ACTIONS(988), + [anon_sym_break] = ACTIONS(988), + [anon_sym_continue] = ACTIONS(988), + [anon_sym_goto] = ACTIONS(988), + [anon_sym_DASH_DASH] = ACTIONS(990), + [anon_sym_PLUS_PLUS] = ACTIONS(990), + [anon_sym_sizeof] = ACTIONS(988), + [sym_number_literal] = ACTIONS(990), + [anon_sym_L_SQUOTE] = ACTIONS(990), + [anon_sym_u_SQUOTE] = ACTIONS(990), + [anon_sym_U_SQUOTE] = ACTIONS(990), + [anon_sym_u8_SQUOTE] = ACTIONS(990), + [anon_sym_SQUOTE] = ACTIONS(990), + [anon_sym_L_DQUOTE] = ACTIONS(990), + [anon_sym_u_DQUOTE] = ACTIONS(990), + [anon_sym_U_DQUOTE] = ACTIONS(990), + [anon_sym_u8_DQUOTE] = ACTIONS(990), + [anon_sym_DQUOTE] = ACTIONS(990), + [sym_true] = ACTIONS(988), + [sym_false] = ACTIONS(988), + [sym_null] = ACTIONS(988), + [sym_comment] = ACTIONS(3), + }, + [198] = { + [sym_identifier] = ACTIONS(992), + [aux_sym_preproc_include_token1] = ACTIONS(992), + [aux_sym_preproc_def_token1] = ACTIONS(992), + [aux_sym_preproc_if_token1] = ACTIONS(992), + [aux_sym_preproc_ifdef_token1] = ACTIONS(992), + [aux_sym_preproc_ifdef_token2] = ACTIONS(992), + [sym_preproc_directive] = ACTIONS(992), + [anon_sym_LPAREN2] = ACTIONS(994), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(992), + [anon_sym_PLUS] = ACTIONS(992), + [anon_sym_STAR] = ACTIONS(994), + [anon_sym_AMP] = ACTIONS(994), + [anon_sym_SEMI] = ACTIONS(994), + [anon_sym_typedef] = ACTIONS(992), + [anon_sym_extern] = ACTIONS(992), + [anon_sym___attribute__] = ACTIONS(992), + [anon_sym_LBRACK_LBRACK] = ACTIONS(994), + [anon_sym___declspec] = ACTIONS(992), + [anon_sym___cdecl] = ACTIONS(992), + [anon_sym___clrcall] = ACTIONS(992), + [anon_sym___stdcall] = ACTIONS(992), + [anon_sym___fastcall] = ACTIONS(992), + [anon_sym___thiscall] = ACTIONS(992), + [anon_sym___vectorcall] = ACTIONS(992), + [anon_sym_LBRACE] = ACTIONS(994), + [anon_sym_RBRACE] = ACTIONS(994), + [anon_sym_static] = ACTIONS(992), + [anon_sym_auto] = ACTIONS(992), + [anon_sym_register] = ACTIONS(992), + [anon_sym_inline] = ACTIONS(992), + [anon_sym_const] = ACTIONS(992), + [anon_sym_volatile] = ACTIONS(992), + [anon_sym_restrict] = ACTIONS(992), + [anon_sym__Atomic] = ACTIONS(992), + [anon_sym_signed] = ACTIONS(992), + [anon_sym_unsigned] = ACTIONS(992), + [anon_sym_long] = ACTIONS(992), + [anon_sym_short] = ACTIONS(992), + [sym_primitive_type] = ACTIONS(992), + [anon_sym_enum] = ACTIONS(992), + [anon_sym_struct] = ACTIONS(992), + [anon_sym_union] = ACTIONS(992), + [anon_sym_if] = ACTIONS(992), + [anon_sym_else] = ACTIONS(992), + [anon_sym_switch] = ACTIONS(992), + [anon_sym_case] = ACTIONS(992), + [anon_sym_default] = ACTIONS(992), + [anon_sym_while] = ACTIONS(992), + [anon_sym_do] = ACTIONS(992), + [anon_sym_for] = ACTIONS(992), + [anon_sym_return] = ACTIONS(992), + [anon_sym_break] = ACTIONS(992), + [anon_sym_continue] = ACTIONS(992), + [anon_sym_goto] = ACTIONS(992), + [anon_sym_DASH_DASH] = ACTIONS(994), + [anon_sym_PLUS_PLUS] = ACTIONS(994), + [anon_sym_sizeof] = ACTIONS(992), + [sym_number_literal] = ACTIONS(994), + [anon_sym_L_SQUOTE] = ACTIONS(994), + [anon_sym_u_SQUOTE] = ACTIONS(994), + [anon_sym_U_SQUOTE] = ACTIONS(994), + [anon_sym_u8_SQUOTE] = ACTIONS(994), + [anon_sym_SQUOTE] = ACTIONS(994), + [anon_sym_L_DQUOTE] = ACTIONS(994), + [anon_sym_u_DQUOTE] = ACTIONS(994), + [anon_sym_U_DQUOTE] = ACTIONS(994), + [anon_sym_u8_DQUOTE] = ACTIONS(994), + [anon_sym_DQUOTE] = ACTIONS(994), + [sym_true] = ACTIONS(992), + [sym_false] = ACTIONS(992), + [sym_null] = ACTIONS(992), + [sym_comment] = ACTIONS(3), + }, + [199] = { + [sym_identifier] = ACTIONS(1004), + [aux_sym_preproc_include_token1] = ACTIONS(1004), + [aux_sym_preproc_def_token1] = ACTIONS(1004), + [aux_sym_preproc_if_token1] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1004), + [sym_preproc_directive] = ACTIONS(1004), + [anon_sym_LPAREN2] = ACTIONS(1006), + [anon_sym_BANG] = ACTIONS(1006), + [anon_sym_TILDE] = ACTIONS(1006), + [anon_sym_DASH] = ACTIONS(1004), + [anon_sym_PLUS] = ACTIONS(1004), + [anon_sym_STAR] = ACTIONS(1006), + [anon_sym_AMP] = ACTIONS(1006), + [anon_sym_SEMI] = ACTIONS(1006), + [anon_sym_typedef] = ACTIONS(1004), + [anon_sym_extern] = ACTIONS(1004), + [anon_sym___attribute__] = ACTIONS(1004), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1006), + [anon_sym___declspec] = ACTIONS(1004), + [anon_sym___cdecl] = ACTIONS(1004), + [anon_sym___clrcall] = ACTIONS(1004), + [anon_sym___stdcall] = ACTIONS(1004), + [anon_sym___fastcall] = ACTIONS(1004), + [anon_sym___thiscall] = ACTIONS(1004), + [anon_sym___vectorcall] = ACTIONS(1004), + [anon_sym_LBRACE] = ACTIONS(1006), + [anon_sym_RBRACE] = ACTIONS(1006), + [anon_sym_static] = ACTIONS(1004), + [anon_sym_auto] = ACTIONS(1004), + [anon_sym_register] = ACTIONS(1004), + [anon_sym_inline] = ACTIONS(1004), + [anon_sym_const] = ACTIONS(1004), + [anon_sym_volatile] = ACTIONS(1004), + [anon_sym_restrict] = ACTIONS(1004), + [anon_sym__Atomic] = ACTIONS(1004), + [anon_sym_signed] = ACTIONS(1004), + [anon_sym_unsigned] = ACTIONS(1004), + [anon_sym_long] = ACTIONS(1004), + [anon_sym_short] = ACTIONS(1004), + [sym_primitive_type] = ACTIONS(1004), + [anon_sym_enum] = ACTIONS(1004), + [anon_sym_struct] = ACTIONS(1004), + [anon_sym_union] = ACTIONS(1004), + [anon_sym_if] = ACTIONS(1004), + [anon_sym_else] = ACTIONS(1004), + [anon_sym_switch] = ACTIONS(1004), + [anon_sym_case] = ACTIONS(1004), + [anon_sym_default] = ACTIONS(1004), + [anon_sym_while] = ACTIONS(1004), + [anon_sym_do] = ACTIONS(1004), + [anon_sym_for] = ACTIONS(1004), + [anon_sym_return] = ACTIONS(1004), + [anon_sym_break] = ACTIONS(1004), + [anon_sym_continue] = ACTIONS(1004), + [anon_sym_goto] = ACTIONS(1004), + [anon_sym_DASH_DASH] = ACTIONS(1006), + [anon_sym_PLUS_PLUS] = ACTIONS(1006), + [anon_sym_sizeof] = ACTIONS(1004), + [sym_number_literal] = ACTIONS(1006), + [anon_sym_L_SQUOTE] = ACTIONS(1006), + [anon_sym_u_SQUOTE] = ACTIONS(1006), + [anon_sym_U_SQUOTE] = ACTIONS(1006), + [anon_sym_u8_SQUOTE] = ACTIONS(1006), + [anon_sym_SQUOTE] = ACTIONS(1006), + [anon_sym_L_DQUOTE] = ACTIONS(1006), + [anon_sym_u_DQUOTE] = ACTIONS(1006), + [anon_sym_U_DQUOTE] = ACTIONS(1006), + [anon_sym_u8_DQUOTE] = ACTIONS(1006), + [anon_sym_DQUOTE] = ACTIONS(1006), + [sym_true] = ACTIONS(1004), + [sym_false] = ACTIONS(1004), + [sym_null] = ACTIONS(1004), + [sym_comment] = ACTIONS(3), + }, + [200] = { + [sym_identifier] = ACTIONS(1008), + [aux_sym_preproc_include_token1] = ACTIONS(1008), + [aux_sym_preproc_def_token1] = ACTIONS(1008), + [aux_sym_preproc_if_token1] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1008), + [sym_preproc_directive] = ACTIONS(1008), + [anon_sym_LPAREN2] = ACTIONS(1010), + [anon_sym_BANG] = ACTIONS(1010), + [anon_sym_TILDE] = ACTIONS(1010), + [anon_sym_DASH] = ACTIONS(1008), + [anon_sym_PLUS] = ACTIONS(1008), + [anon_sym_STAR] = ACTIONS(1010), + [anon_sym_AMP] = ACTIONS(1010), + [anon_sym_SEMI] = ACTIONS(1010), + [anon_sym_typedef] = ACTIONS(1008), + [anon_sym_extern] = ACTIONS(1008), + [anon_sym___attribute__] = ACTIONS(1008), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1010), + [anon_sym___declspec] = ACTIONS(1008), + [anon_sym___cdecl] = ACTIONS(1008), + [anon_sym___clrcall] = ACTIONS(1008), + [anon_sym___stdcall] = ACTIONS(1008), + [anon_sym___fastcall] = ACTIONS(1008), + [anon_sym___thiscall] = ACTIONS(1008), + [anon_sym___vectorcall] = ACTIONS(1008), + [anon_sym_LBRACE] = ACTIONS(1010), + [anon_sym_RBRACE] = ACTIONS(1010), + [anon_sym_static] = ACTIONS(1008), + [anon_sym_auto] = ACTIONS(1008), + [anon_sym_register] = ACTIONS(1008), + [anon_sym_inline] = ACTIONS(1008), + [anon_sym_const] = ACTIONS(1008), + [anon_sym_volatile] = ACTIONS(1008), + [anon_sym_restrict] = ACTIONS(1008), + [anon_sym__Atomic] = ACTIONS(1008), + [anon_sym_signed] = ACTIONS(1008), + [anon_sym_unsigned] = ACTIONS(1008), + [anon_sym_long] = ACTIONS(1008), + [anon_sym_short] = ACTIONS(1008), + [sym_primitive_type] = ACTIONS(1008), + [anon_sym_enum] = ACTIONS(1008), + [anon_sym_struct] = ACTIONS(1008), + [anon_sym_union] = ACTIONS(1008), + [anon_sym_if] = ACTIONS(1008), + [anon_sym_else] = ACTIONS(1008), + [anon_sym_switch] = ACTIONS(1008), + [anon_sym_case] = ACTIONS(1008), + [anon_sym_default] = ACTIONS(1008), + [anon_sym_while] = ACTIONS(1008), + [anon_sym_do] = ACTIONS(1008), + [anon_sym_for] = ACTIONS(1008), + [anon_sym_return] = ACTIONS(1008), + [anon_sym_break] = ACTIONS(1008), + [anon_sym_continue] = ACTIONS(1008), + [anon_sym_goto] = ACTIONS(1008), + [anon_sym_DASH_DASH] = ACTIONS(1010), + [anon_sym_PLUS_PLUS] = ACTIONS(1010), + [anon_sym_sizeof] = ACTIONS(1008), + [sym_number_literal] = ACTIONS(1010), + [anon_sym_L_SQUOTE] = ACTIONS(1010), + [anon_sym_u_SQUOTE] = ACTIONS(1010), + [anon_sym_U_SQUOTE] = ACTIONS(1010), + [anon_sym_u8_SQUOTE] = ACTIONS(1010), + [anon_sym_SQUOTE] = ACTIONS(1010), + [anon_sym_L_DQUOTE] = ACTIONS(1010), + [anon_sym_u_DQUOTE] = ACTIONS(1010), + [anon_sym_U_DQUOTE] = ACTIONS(1010), + [anon_sym_u8_DQUOTE] = ACTIONS(1010), + [anon_sym_DQUOTE] = ACTIONS(1010), + [sym_true] = ACTIONS(1008), + [sym_false] = ACTIONS(1008), + [sym_null] = ACTIONS(1008), + [sym_comment] = ACTIONS(3), + }, + [201] = { + [ts_builtin_sym_end] = ACTIONS(1002), + [sym_identifier] = ACTIONS(1000), + [aux_sym_preproc_include_token1] = ACTIONS(1000), + [aux_sym_preproc_def_token1] = ACTIONS(1000), + [aux_sym_preproc_if_token1] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1000), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1000), + [sym_preproc_directive] = ACTIONS(1000), + [anon_sym_LPAREN2] = ACTIONS(1002), + [anon_sym_BANG] = ACTIONS(1002), + [anon_sym_TILDE] = ACTIONS(1002), + [anon_sym_DASH] = ACTIONS(1000), + [anon_sym_PLUS] = ACTIONS(1000), + [anon_sym_STAR] = ACTIONS(1002), + [anon_sym_AMP] = ACTIONS(1002), + [anon_sym_SEMI] = ACTIONS(1002), + [anon_sym_typedef] = ACTIONS(1000), + [anon_sym_extern] = ACTIONS(1000), + [anon_sym___attribute__] = ACTIONS(1000), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1002), + [anon_sym___declspec] = ACTIONS(1000), + [anon_sym___cdecl] = ACTIONS(1000), + [anon_sym___clrcall] = ACTIONS(1000), + [anon_sym___stdcall] = ACTIONS(1000), + [anon_sym___fastcall] = ACTIONS(1000), + [anon_sym___thiscall] = ACTIONS(1000), + [anon_sym___vectorcall] = ACTIONS(1000), + [anon_sym_LBRACE] = ACTIONS(1002), + [anon_sym_static] = ACTIONS(1000), + [anon_sym_auto] = ACTIONS(1000), + [anon_sym_register] = ACTIONS(1000), + [anon_sym_inline] = ACTIONS(1000), + [anon_sym_const] = ACTIONS(1000), + [anon_sym_volatile] = ACTIONS(1000), + [anon_sym_restrict] = ACTIONS(1000), + [anon_sym__Atomic] = ACTIONS(1000), + [anon_sym_signed] = ACTIONS(1000), + [anon_sym_unsigned] = ACTIONS(1000), + [anon_sym_long] = ACTIONS(1000), + [anon_sym_short] = ACTIONS(1000), + [sym_primitive_type] = ACTIONS(1000), + [anon_sym_enum] = ACTIONS(1000), + [anon_sym_struct] = ACTIONS(1000), + [anon_sym_union] = ACTIONS(1000), + [anon_sym_if] = ACTIONS(1000), + [anon_sym_else] = ACTIONS(1000), + [anon_sym_switch] = ACTIONS(1000), + [anon_sym_case] = ACTIONS(1000), + [anon_sym_default] = ACTIONS(1000), + [anon_sym_while] = ACTIONS(1000), + [anon_sym_do] = ACTIONS(1000), + [anon_sym_for] = ACTIONS(1000), + [anon_sym_return] = ACTIONS(1000), + [anon_sym_break] = ACTIONS(1000), + [anon_sym_continue] = ACTIONS(1000), + [anon_sym_goto] = ACTIONS(1000), + [anon_sym_DASH_DASH] = ACTIONS(1002), + [anon_sym_PLUS_PLUS] = ACTIONS(1002), + [anon_sym_sizeof] = ACTIONS(1000), + [sym_number_literal] = ACTIONS(1002), + [anon_sym_L_SQUOTE] = ACTIONS(1002), + [anon_sym_u_SQUOTE] = ACTIONS(1002), + [anon_sym_U_SQUOTE] = ACTIONS(1002), + [anon_sym_u8_SQUOTE] = ACTIONS(1002), + [anon_sym_SQUOTE] = ACTIONS(1002), + [anon_sym_L_DQUOTE] = ACTIONS(1002), + [anon_sym_u_DQUOTE] = ACTIONS(1002), + [anon_sym_U_DQUOTE] = ACTIONS(1002), + [anon_sym_u8_DQUOTE] = ACTIONS(1002), + [anon_sym_DQUOTE] = ACTIONS(1002), + [sym_true] = ACTIONS(1000), + [sym_false] = ACTIONS(1000), + [sym_null] = ACTIONS(1000), + [sym_comment] = ACTIONS(3), + }, + [202] = { + [sym_identifier] = ACTIONS(1012), + [aux_sym_preproc_include_token1] = ACTIONS(1012), + [aux_sym_preproc_def_token1] = ACTIONS(1012), + [aux_sym_preproc_if_token1] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1012), + [sym_preproc_directive] = ACTIONS(1012), + [anon_sym_LPAREN2] = ACTIONS(1014), + [anon_sym_BANG] = ACTIONS(1014), + [anon_sym_TILDE] = ACTIONS(1014), + [anon_sym_DASH] = ACTIONS(1012), + [anon_sym_PLUS] = ACTIONS(1012), + [anon_sym_STAR] = ACTIONS(1014), + [anon_sym_AMP] = ACTIONS(1014), + [anon_sym_SEMI] = ACTIONS(1014), + [anon_sym_typedef] = ACTIONS(1012), + [anon_sym_extern] = ACTIONS(1012), + [anon_sym___attribute__] = ACTIONS(1012), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1014), + [anon_sym___declspec] = ACTIONS(1012), + [anon_sym___cdecl] = ACTIONS(1012), + [anon_sym___clrcall] = ACTIONS(1012), + [anon_sym___stdcall] = ACTIONS(1012), + [anon_sym___fastcall] = ACTIONS(1012), + [anon_sym___thiscall] = ACTIONS(1012), + [anon_sym___vectorcall] = ACTIONS(1012), + [anon_sym_LBRACE] = ACTIONS(1014), + [anon_sym_RBRACE] = ACTIONS(1014), + [anon_sym_static] = ACTIONS(1012), + [anon_sym_auto] = ACTIONS(1012), + [anon_sym_register] = ACTIONS(1012), + [anon_sym_inline] = ACTIONS(1012), + [anon_sym_const] = ACTIONS(1012), + [anon_sym_volatile] = ACTIONS(1012), + [anon_sym_restrict] = ACTIONS(1012), + [anon_sym__Atomic] = ACTIONS(1012), + [anon_sym_signed] = ACTIONS(1012), + [anon_sym_unsigned] = ACTIONS(1012), + [anon_sym_long] = ACTIONS(1012), + [anon_sym_short] = ACTIONS(1012), + [sym_primitive_type] = ACTIONS(1012), + [anon_sym_enum] = ACTIONS(1012), + [anon_sym_struct] = ACTIONS(1012), + [anon_sym_union] = ACTIONS(1012), + [anon_sym_if] = ACTIONS(1012), + [anon_sym_else] = ACTIONS(1012), + [anon_sym_switch] = ACTIONS(1012), + [anon_sym_case] = ACTIONS(1012), + [anon_sym_default] = ACTIONS(1012), + [anon_sym_while] = ACTIONS(1012), + [anon_sym_do] = ACTIONS(1012), + [anon_sym_for] = ACTIONS(1012), + [anon_sym_return] = ACTIONS(1012), + [anon_sym_break] = ACTIONS(1012), + [anon_sym_continue] = ACTIONS(1012), + [anon_sym_goto] = ACTIONS(1012), + [anon_sym_DASH_DASH] = ACTIONS(1014), + [anon_sym_PLUS_PLUS] = ACTIONS(1014), + [anon_sym_sizeof] = ACTIONS(1012), + [sym_number_literal] = ACTIONS(1014), + [anon_sym_L_SQUOTE] = ACTIONS(1014), + [anon_sym_u_SQUOTE] = ACTIONS(1014), + [anon_sym_U_SQUOTE] = ACTIONS(1014), + [anon_sym_u8_SQUOTE] = ACTIONS(1014), + [anon_sym_SQUOTE] = ACTIONS(1014), + [anon_sym_L_DQUOTE] = ACTIONS(1014), + [anon_sym_u_DQUOTE] = ACTIONS(1014), + [anon_sym_U_DQUOTE] = ACTIONS(1014), + [anon_sym_u8_DQUOTE] = ACTIONS(1014), + [anon_sym_DQUOTE] = ACTIONS(1014), + [sym_true] = ACTIONS(1012), + [sym_false] = ACTIONS(1012), + [sym_null] = ACTIONS(1012), + [sym_comment] = ACTIONS(3), + }, + [203] = { + [sym_identifier] = ACTIONS(1020), + [aux_sym_preproc_include_token1] = ACTIONS(1020), + [aux_sym_preproc_def_token1] = ACTIONS(1020), + [aux_sym_preproc_if_token1] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1020), + [sym_preproc_directive] = ACTIONS(1020), + [anon_sym_LPAREN2] = ACTIONS(1022), + [anon_sym_BANG] = ACTIONS(1022), + [anon_sym_TILDE] = ACTIONS(1022), + [anon_sym_DASH] = ACTIONS(1020), + [anon_sym_PLUS] = ACTIONS(1020), + [anon_sym_STAR] = ACTIONS(1022), + [anon_sym_AMP] = ACTIONS(1022), + [anon_sym_SEMI] = ACTIONS(1022), + [anon_sym_typedef] = ACTIONS(1020), + [anon_sym_extern] = ACTIONS(1020), + [anon_sym___attribute__] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1022), + [anon_sym___declspec] = ACTIONS(1020), + [anon_sym___cdecl] = ACTIONS(1020), + [anon_sym___clrcall] = ACTIONS(1020), + [anon_sym___stdcall] = ACTIONS(1020), + [anon_sym___fastcall] = ACTIONS(1020), + [anon_sym___thiscall] = ACTIONS(1020), + [anon_sym___vectorcall] = ACTIONS(1020), + [anon_sym_LBRACE] = ACTIONS(1022), + [anon_sym_RBRACE] = ACTIONS(1022), + [anon_sym_static] = ACTIONS(1020), + [anon_sym_auto] = ACTIONS(1020), + [anon_sym_register] = ACTIONS(1020), + [anon_sym_inline] = ACTIONS(1020), + [anon_sym_const] = ACTIONS(1020), + [anon_sym_volatile] = ACTIONS(1020), + [anon_sym_restrict] = ACTIONS(1020), + [anon_sym__Atomic] = ACTIONS(1020), + [anon_sym_signed] = ACTIONS(1020), + [anon_sym_unsigned] = ACTIONS(1020), + [anon_sym_long] = ACTIONS(1020), + [anon_sym_short] = ACTIONS(1020), + [sym_primitive_type] = ACTIONS(1020), + [anon_sym_enum] = ACTIONS(1020), + [anon_sym_struct] = ACTIONS(1020), + [anon_sym_union] = ACTIONS(1020), + [anon_sym_if] = ACTIONS(1020), + [anon_sym_else] = ACTIONS(1020), + [anon_sym_switch] = ACTIONS(1020), + [anon_sym_case] = ACTIONS(1020), + [anon_sym_default] = ACTIONS(1020), + [anon_sym_while] = ACTIONS(1020), + [anon_sym_do] = ACTIONS(1020), + [anon_sym_for] = ACTIONS(1020), + [anon_sym_return] = ACTIONS(1020), + [anon_sym_break] = ACTIONS(1020), + [anon_sym_continue] = ACTIONS(1020), + [anon_sym_goto] = ACTIONS(1020), + [anon_sym_DASH_DASH] = ACTIONS(1022), + [anon_sym_PLUS_PLUS] = ACTIONS(1022), + [anon_sym_sizeof] = ACTIONS(1020), + [sym_number_literal] = ACTIONS(1022), + [anon_sym_L_SQUOTE] = ACTIONS(1022), + [anon_sym_u_SQUOTE] = ACTIONS(1022), + [anon_sym_U_SQUOTE] = ACTIONS(1022), + [anon_sym_u8_SQUOTE] = ACTIONS(1022), + [anon_sym_SQUOTE] = ACTIONS(1022), + [anon_sym_L_DQUOTE] = ACTIONS(1022), + [anon_sym_u_DQUOTE] = ACTIONS(1022), + [anon_sym_U_DQUOTE] = ACTIONS(1022), + [anon_sym_u8_DQUOTE] = ACTIONS(1022), + [anon_sym_DQUOTE] = ACTIONS(1022), + [sym_true] = ACTIONS(1020), + [sym_false] = ACTIONS(1020), + [sym_null] = ACTIONS(1020), + [sym_comment] = ACTIONS(3), + }, + [204] = { + [sym_identifier] = ACTIONS(964), + [aux_sym_preproc_include_token1] = ACTIONS(964), + [aux_sym_preproc_def_token1] = ACTIONS(964), + [aux_sym_preproc_if_token1] = ACTIONS(964), + [aux_sym_preproc_if_token2] = ACTIONS(964), + [aux_sym_preproc_ifdef_token1] = ACTIONS(964), + [aux_sym_preproc_ifdef_token2] = ACTIONS(964), + [sym_preproc_directive] = ACTIONS(964), + [anon_sym_LPAREN2] = ACTIONS(966), + [anon_sym_BANG] = ACTIONS(966), + [anon_sym_TILDE] = ACTIONS(966), + [anon_sym_DASH] = ACTIONS(964), + [anon_sym_PLUS] = ACTIONS(964), + [anon_sym_STAR] = ACTIONS(966), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(966), + [anon_sym_typedef] = ACTIONS(964), + [anon_sym_extern] = ACTIONS(964), + [anon_sym___attribute__] = ACTIONS(964), + [anon_sym_LBRACK_LBRACK] = ACTIONS(966), + [anon_sym___declspec] = ACTIONS(964), + [anon_sym___cdecl] = ACTIONS(964), + [anon_sym___clrcall] = ACTIONS(964), + [anon_sym___stdcall] = ACTIONS(964), + [anon_sym___fastcall] = ACTIONS(964), + [anon_sym___thiscall] = ACTIONS(964), + [anon_sym___vectorcall] = ACTIONS(964), + [anon_sym_LBRACE] = ACTIONS(966), + [anon_sym_static] = ACTIONS(964), + [anon_sym_auto] = ACTIONS(964), + [anon_sym_register] = ACTIONS(964), + [anon_sym_inline] = ACTIONS(964), + [anon_sym_const] = ACTIONS(964), + [anon_sym_volatile] = ACTIONS(964), + [anon_sym_restrict] = ACTIONS(964), + [anon_sym__Atomic] = ACTIONS(964), + [anon_sym_signed] = ACTIONS(964), + [anon_sym_unsigned] = ACTIONS(964), + [anon_sym_long] = ACTIONS(964), + [anon_sym_short] = ACTIONS(964), + [sym_primitive_type] = ACTIONS(964), + [anon_sym_enum] = ACTIONS(964), + [anon_sym_struct] = ACTIONS(964), + [anon_sym_union] = ACTIONS(964), + [anon_sym_if] = ACTIONS(964), + [anon_sym_else] = ACTIONS(964), + [anon_sym_switch] = ACTIONS(964), + [anon_sym_case] = ACTIONS(964), + [anon_sym_default] = ACTIONS(964), + [anon_sym_while] = ACTIONS(964), + [anon_sym_do] = ACTIONS(964), + [anon_sym_for] = ACTIONS(964), + [anon_sym_return] = ACTIONS(964), + [anon_sym_break] = ACTIONS(964), + [anon_sym_continue] = ACTIONS(964), + [anon_sym_goto] = ACTIONS(964), + [anon_sym_DASH_DASH] = ACTIONS(966), + [anon_sym_PLUS_PLUS] = ACTIONS(966), + [anon_sym_sizeof] = ACTIONS(964), + [sym_number_literal] = ACTIONS(966), + [anon_sym_L_SQUOTE] = ACTIONS(966), + [anon_sym_u_SQUOTE] = ACTIONS(966), + [anon_sym_U_SQUOTE] = ACTIONS(966), + [anon_sym_u8_SQUOTE] = ACTIONS(966), + [anon_sym_SQUOTE] = ACTIONS(966), + [anon_sym_L_DQUOTE] = ACTIONS(966), + [anon_sym_u_DQUOTE] = ACTIONS(966), + [anon_sym_U_DQUOTE] = ACTIONS(966), + [anon_sym_u8_DQUOTE] = ACTIONS(966), + [anon_sym_DQUOTE] = ACTIONS(966), + [sym_true] = ACTIONS(964), + [sym_false] = ACTIONS(964), + [sym_null] = ACTIONS(964), + [sym_comment] = ACTIONS(3), + }, + [205] = { + [sym_identifier] = ACTIONS(972), + [aux_sym_preproc_include_token1] = ACTIONS(972), + [aux_sym_preproc_def_token1] = ACTIONS(972), + [aux_sym_preproc_if_token1] = ACTIONS(972), + [aux_sym_preproc_if_token2] = ACTIONS(972), + [aux_sym_preproc_ifdef_token1] = ACTIONS(972), + [aux_sym_preproc_ifdef_token2] = ACTIONS(972), + [sym_preproc_directive] = ACTIONS(972), + [anon_sym_LPAREN2] = ACTIONS(974), + [anon_sym_BANG] = ACTIONS(974), + [anon_sym_TILDE] = ACTIONS(974), + [anon_sym_DASH] = ACTIONS(972), + [anon_sym_PLUS] = ACTIONS(972), + [anon_sym_STAR] = ACTIONS(974), + [anon_sym_AMP] = ACTIONS(974), + [anon_sym_SEMI] = ACTIONS(974), + [anon_sym_typedef] = ACTIONS(972), + [anon_sym_extern] = ACTIONS(972), + [anon_sym___attribute__] = ACTIONS(972), + [anon_sym_LBRACK_LBRACK] = ACTIONS(974), + [anon_sym___declspec] = ACTIONS(972), + [anon_sym___cdecl] = ACTIONS(972), + [anon_sym___clrcall] = ACTIONS(972), + [anon_sym___stdcall] = ACTIONS(972), + [anon_sym___fastcall] = ACTIONS(972), + [anon_sym___thiscall] = ACTIONS(972), + [anon_sym___vectorcall] = ACTIONS(972), + [anon_sym_LBRACE] = ACTIONS(974), + [anon_sym_static] = ACTIONS(972), + [anon_sym_auto] = ACTIONS(972), + [anon_sym_register] = ACTIONS(972), + [anon_sym_inline] = ACTIONS(972), + [anon_sym_const] = ACTIONS(972), + [anon_sym_volatile] = ACTIONS(972), + [anon_sym_restrict] = ACTIONS(972), + [anon_sym__Atomic] = ACTIONS(972), + [anon_sym_signed] = ACTIONS(972), + [anon_sym_unsigned] = ACTIONS(972), + [anon_sym_long] = ACTIONS(972), + [anon_sym_short] = ACTIONS(972), + [sym_primitive_type] = ACTIONS(972), + [anon_sym_enum] = ACTIONS(972), + [anon_sym_struct] = ACTIONS(972), + [anon_sym_union] = ACTIONS(972), + [anon_sym_if] = ACTIONS(972), + [anon_sym_else] = ACTIONS(972), + [anon_sym_switch] = ACTIONS(972), + [anon_sym_case] = ACTIONS(972), + [anon_sym_default] = ACTIONS(972), + [anon_sym_while] = ACTIONS(972), + [anon_sym_do] = ACTIONS(972), + [anon_sym_for] = ACTIONS(972), + [anon_sym_return] = ACTIONS(972), + [anon_sym_break] = ACTIONS(972), + [anon_sym_continue] = ACTIONS(972), + [anon_sym_goto] = ACTIONS(972), + [anon_sym_DASH_DASH] = ACTIONS(974), + [anon_sym_PLUS_PLUS] = ACTIONS(974), + [anon_sym_sizeof] = ACTIONS(972), + [sym_number_literal] = ACTIONS(974), + [anon_sym_L_SQUOTE] = ACTIONS(974), + [anon_sym_u_SQUOTE] = ACTIONS(974), + [anon_sym_U_SQUOTE] = ACTIONS(974), + [anon_sym_u8_SQUOTE] = ACTIONS(974), + [anon_sym_SQUOTE] = ACTIONS(974), + [anon_sym_L_DQUOTE] = ACTIONS(974), + [anon_sym_u_DQUOTE] = ACTIONS(974), + [anon_sym_U_DQUOTE] = ACTIONS(974), + [anon_sym_u8_DQUOTE] = ACTIONS(974), + [anon_sym_DQUOTE] = ACTIONS(974), + [sym_true] = ACTIONS(972), + [sym_false] = ACTIONS(972), + [sym_null] = ACTIONS(972), + [sym_comment] = ACTIONS(3), + }, + [206] = { + [sym_identifier] = ACTIONS(1024), + [aux_sym_preproc_include_token1] = ACTIONS(1024), + [aux_sym_preproc_def_token1] = ACTIONS(1024), + [aux_sym_preproc_if_token1] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1024), + [sym_preproc_directive] = ACTIONS(1024), + [anon_sym_LPAREN2] = ACTIONS(1026), + [anon_sym_BANG] = ACTIONS(1026), + [anon_sym_TILDE] = ACTIONS(1026), + [anon_sym_DASH] = ACTIONS(1024), + [anon_sym_PLUS] = ACTIONS(1024), + [anon_sym_STAR] = ACTIONS(1026), + [anon_sym_AMP] = ACTIONS(1026), + [anon_sym_SEMI] = ACTIONS(1026), + [anon_sym_typedef] = ACTIONS(1024), + [anon_sym_extern] = ACTIONS(1024), + [anon_sym___attribute__] = ACTIONS(1024), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1026), + [anon_sym___declspec] = ACTIONS(1024), + [anon_sym___cdecl] = ACTIONS(1024), + [anon_sym___clrcall] = ACTIONS(1024), + [anon_sym___stdcall] = ACTIONS(1024), + [anon_sym___fastcall] = ACTIONS(1024), + [anon_sym___thiscall] = ACTIONS(1024), + [anon_sym___vectorcall] = ACTIONS(1024), + [anon_sym_LBRACE] = ACTIONS(1026), + [anon_sym_RBRACE] = ACTIONS(1026), + [anon_sym_static] = ACTIONS(1024), + [anon_sym_auto] = ACTIONS(1024), + [anon_sym_register] = ACTIONS(1024), + [anon_sym_inline] = ACTIONS(1024), + [anon_sym_const] = ACTIONS(1024), + [anon_sym_volatile] = ACTIONS(1024), + [anon_sym_restrict] = ACTIONS(1024), + [anon_sym__Atomic] = ACTIONS(1024), + [anon_sym_signed] = ACTIONS(1024), + [anon_sym_unsigned] = ACTIONS(1024), + [anon_sym_long] = ACTIONS(1024), + [anon_sym_short] = ACTIONS(1024), + [sym_primitive_type] = ACTIONS(1024), + [anon_sym_enum] = ACTIONS(1024), + [anon_sym_struct] = ACTIONS(1024), + [anon_sym_union] = ACTIONS(1024), + [anon_sym_if] = ACTIONS(1024), + [anon_sym_else] = ACTIONS(1024), + [anon_sym_switch] = ACTIONS(1024), + [anon_sym_case] = ACTIONS(1024), + [anon_sym_default] = ACTIONS(1024), + [anon_sym_while] = ACTIONS(1024), + [anon_sym_do] = ACTIONS(1024), + [anon_sym_for] = ACTIONS(1024), + [anon_sym_return] = ACTIONS(1024), + [anon_sym_break] = ACTIONS(1024), + [anon_sym_continue] = ACTIONS(1024), + [anon_sym_goto] = ACTIONS(1024), + [anon_sym_DASH_DASH] = ACTIONS(1026), + [anon_sym_PLUS_PLUS] = ACTIONS(1026), + [anon_sym_sizeof] = ACTIONS(1024), + [sym_number_literal] = ACTIONS(1026), + [anon_sym_L_SQUOTE] = ACTIONS(1026), + [anon_sym_u_SQUOTE] = ACTIONS(1026), + [anon_sym_U_SQUOTE] = ACTIONS(1026), + [anon_sym_u8_SQUOTE] = ACTIONS(1026), + [anon_sym_SQUOTE] = ACTIONS(1026), + [anon_sym_L_DQUOTE] = ACTIONS(1026), + [anon_sym_u_DQUOTE] = ACTIONS(1026), + [anon_sym_U_DQUOTE] = ACTIONS(1026), + [anon_sym_u8_DQUOTE] = ACTIONS(1026), + [anon_sym_DQUOTE] = ACTIONS(1026), + [sym_true] = ACTIONS(1024), + [sym_false] = ACTIONS(1024), + [sym_null] = ACTIONS(1024), + [sym_comment] = ACTIONS(3), + }, + [207] = { + [sym_identifier] = ACTIONS(932), + [aux_sym_preproc_include_token1] = ACTIONS(932), + [aux_sym_preproc_def_token1] = ACTIONS(932), + [aux_sym_preproc_if_token1] = ACTIONS(932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(932), + [sym_preproc_directive] = ACTIONS(932), + [anon_sym_LPAREN2] = ACTIONS(934), + [anon_sym_BANG] = ACTIONS(934), + [anon_sym_TILDE] = ACTIONS(934), + [anon_sym_DASH] = ACTIONS(932), + [anon_sym_PLUS] = ACTIONS(932), + [anon_sym_STAR] = ACTIONS(934), + [anon_sym_AMP] = ACTIONS(934), + [anon_sym_SEMI] = ACTIONS(934), + [anon_sym_typedef] = ACTIONS(932), + [anon_sym_extern] = ACTIONS(932), + [anon_sym___attribute__] = ACTIONS(932), + [anon_sym_LBRACK_LBRACK] = ACTIONS(934), + [anon_sym___declspec] = ACTIONS(932), + [anon_sym___cdecl] = ACTIONS(932), + [anon_sym___clrcall] = ACTIONS(932), + [anon_sym___stdcall] = ACTIONS(932), + [anon_sym___fastcall] = ACTIONS(932), + [anon_sym___thiscall] = ACTIONS(932), + [anon_sym___vectorcall] = ACTIONS(932), + [anon_sym_LBRACE] = ACTIONS(934), + [anon_sym_RBRACE] = ACTIONS(934), + [anon_sym_static] = ACTIONS(932), + [anon_sym_auto] = ACTIONS(932), + [anon_sym_register] = ACTIONS(932), + [anon_sym_inline] = ACTIONS(932), + [anon_sym_const] = ACTIONS(932), + [anon_sym_volatile] = ACTIONS(932), + [anon_sym_restrict] = ACTIONS(932), + [anon_sym__Atomic] = ACTIONS(932), + [anon_sym_signed] = ACTIONS(932), + [anon_sym_unsigned] = ACTIONS(932), + [anon_sym_long] = ACTIONS(932), + [anon_sym_short] = ACTIONS(932), + [sym_primitive_type] = ACTIONS(932), + [anon_sym_enum] = ACTIONS(932), + [anon_sym_struct] = ACTIONS(932), + [anon_sym_union] = ACTIONS(932), + [anon_sym_if] = ACTIONS(932), + [anon_sym_else] = ACTIONS(932), + [anon_sym_switch] = ACTIONS(932), + [anon_sym_case] = ACTIONS(932), + [anon_sym_default] = ACTIONS(932), + [anon_sym_while] = ACTIONS(932), + [anon_sym_do] = ACTIONS(932), + [anon_sym_for] = ACTIONS(932), + [anon_sym_return] = ACTIONS(932), + [anon_sym_break] = ACTIONS(932), + [anon_sym_continue] = ACTIONS(932), + [anon_sym_goto] = ACTIONS(932), + [anon_sym_DASH_DASH] = ACTIONS(934), + [anon_sym_PLUS_PLUS] = ACTIONS(934), + [anon_sym_sizeof] = ACTIONS(932), + [sym_number_literal] = ACTIONS(934), + [anon_sym_L_SQUOTE] = ACTIONS(934), + [anon_sym_u_SQUOTE] = ACTIONS(934), + [anon_sym_U_SQUOTE] = ACTIONS(934), + [anon_sym_u8_SQUOTE] = ACTIONS(934), + [anon_sym_SQUOTE] = ACTIONS(934), + [anon_sym_L_DQUOTE] = ACTIONS(934), + [anon_sym_u_DQUOTE] = ACTIONS(934), + [anon_sym_U_DQUOTE] = ACTIONS(934), + [anon_sym_u8_DQUOTE] = ACTIONS(934), + [anon_sym_DQUOTE] = ACTIONS(934), + [sym_true] = ACTIONS(932), + [sym_false] = ACTIONS(932), + [sym_null] = ACTIONS(932), + [sym_comment] = ACTIONS(3), + }, + [208] = { + [sym_identifier] = ACTIONS(980), + [aux_sym_preproc_include_token1] = ACTIONS(980), + [aux_sym_preproc_def_token1] = ACTIONS(980), + [aux_sym_preproc_if_token1] = ACTIONS(980), + [aux_sym_preproc_if_token2] = ACTIONS(980), + [aux_sym_preproc_ifdef_token1] = ACTIONS(980), + [aux_sym_preproc_ifdef_token2] = ACTIONS(980), + [sym_preproc_directive] = ACTIONS(980), + [anon_sym_LPAREN2] = ACTIONS(982), + [anon_sym_BANG] = ACTIONS(982), + [anon_sym_TILDE] = ACTIONS(982), + [anon_sym_DASH] = ACTIONS(980), + [anon_sym_PLUS] = ACTIONS(980), + [anon_sym_STAR] = ACTIONS(982), + [anon_sym_AMP] = ACTIONS(982), + [anon_sym_SEMI] = ACTIONS(982), + [anon_sym_typedef] = ACTIONS(980), + [anon_sym_extern] = ACTIONS(980), + [anon_sym___attribute__] = ACTIONS(980), + [anon_sym_LBRACK_LBRACK] = ACTIONS(982), + [anon_sym___declspec] = ACTIONS(980), + [anon_sym___cdecl] = ACTIONS(980), + [anon_sym___clrcall] = ACTIONS(980), + [anon_sym___stdcall] = ACTIONS(980), + [anon_sym___fastcall] = ACTIONS(980), + [anon_sym___thiscall] = ACTIONS(980), + [anon_sym___vectorcall] = ACTIONS(980), + [anon_sym_LBRACE] = ACTIONS(982), + [anon_sym_static] = ACTIONS(980), + [anon_sym_auto] = ACTIONS(980), + [anon_sym_register] = ACTIONS(980), + [anon_sym_inline] = ACTIONS(980), + [anon_sym_const] = ACTIONS(980), + [anon_sym_volatile] = ACTIONS(980), + [anon_sym_restrict] = ACTIONS(980), + [anon_sym__Atomic] = ACTIONS(980), + [anon_sym_signed] = ACTIONS(980), + [anon_sym_unsigned] = ACTIONS(980), + [anon_sym_long] = ACTIONS(980), + [anon_sym_short] = ACTIONS(980), + [sym_primitive_type] = ACTIONS(980), + [anon_sym_enum] = ACTIONS(980), + [anon_sym_struct] = ACTIONS(980), + [anon_sym_union] = ACTIONS(980), + [anon_sym_if] = ACTIONS(980), + [anon_sym_else] = ACTIONS(980), + [anon_sym_switch] = ACTIONS(980), + [anon_sym_case] = ACTIONS(980), + [anon_sym_default] = ACTIONS(980), + [anon_sym_while] = ACTIONS(980), + [anon_sym_do] = ACTIONS(980), + [anon_sym_for] = ACTIONS(980), + [anon_sym_return] = ACTIONS(980), + [anon_sym_break] = ACTIONS(980), + [anon_sym_continue] = ACTIONS(980), + [anon_sym_goto] = ACTIONS(980), + [anon_sym_DASH_DASH] = ACTIONS(982), + [anon_sym_PLUS_PLUS] = ACTIONS(982), + [anon_sym_sizeof] = ACTIONS(980), + [sym_number_literal] = ACTIONS(982), + [anon_sym_L_SQUOTE] = ACTIONS(982), + [anon_sym_u_SQUOTE] = ACTIONS(982), + [anon_sym_U_SQUOTE] = ACTIONS(982), + [anon_sym_u8_SQUOTE] = ACTIONS(982), + [anon_sym_SQUOTE] = ACTIONS(982), + [anon_sym_L_DQUOTE] = ACTIONS(982), + [anon_sym_u_DQUOTE] = ACTIONS(982), + [anon_sym_U_DQUOTE] = ACTIONS(982), + [anon_sym_u8_DQUOTE] = ACTIONS(982), + [anon_sym_DQUOTE] = ACTIONS(982), + [sym_true] = ACTIONS(980), + [sym_false] = ACTIONS(980), + [sym_null] = ACTIONS(980), + [sym_comment] = ACTIONS(3), + }, + [209] = { + [ts_builtin_sym_end] = ACTIONS(892), + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [210] = { + [ts_builtin_sym_end] = ACTIONS(926), + [sym_identifier] = ACTIONS(924), + [aux_sym_preproc_include_token1] = ACTIONS(924), + [aux_sym_preproc_def_token1] = ACTIONS(924), + [aux_sym_preproc_if_token1] = ACTIONS(924), + [aux_sym_preproc_ifdef_token1] = ACTIONS(924), + [aux_sym_preproc_ifdef_token2] = ACTIONS(924), + [sym_preproc_directive] = ACTIONS(924), + [anon_sym_LPAREN2] = ACTIONS(926), + [anon_sym_BANG] = ACTIONS(926), + [anon_sym_TILDE] = ACTIONS(926), + [anon_sym_DASH] = ACTIONS(924), + [anon_sym_PLUS] = ACTIONS(924), + [anon_sym_STAR] = ACTIONS(926), + [anon_sym_AMP] = ACTIONS(926), + [anon_sym_SEMI] = ACTIONS(926), + [anon_sym_typedef] = ACTIONS(924), + [anon_sym_extern] = ACTIONS(924), + [anon_sym___attribute__] = ACTIONS(924), + [anon_sym_LBRACK_LBRACK] = ACTIONS(926), + [anon_sym___declspec] = ACTIONS(924), + [anon_sym___cdecl] = ACTIONS(924), + [anon_sym___clrcall] = ACTIONS(924), + [anon_sym___stdcall] = ACTIONS(924), + [anon_sym___fastcall] = ACTIONS(924), + [anon_sym___thiscall] = ACTIONS(924), + [anon_sym___vectorcall] = ACTIONS(924), + [anon_sym_LBRACE] = ACTIONS(926), + [anon_sym_static] = ACTIONS(924), + [anon_sym_auto] = ACTIONS(924), + [anon_sym_register] = ACTIONS(924), + [anon_sym_inline] = ACTIONS(924), + [anon_sym_const] = ACTIONS(924), + [anon_sym_volatile] = ACTIONS(924), + [anon_sym_restrict] = ACTIONS(924), + [anon_sym__Atomic] = ACTIONS(924), + [anon_sym_signed] = ACTIONS(924), + [anon_sym_unsigned] = ACTIONS(924), + [anon_sym_long] = ACTIONS(924), + [anon_sym_short] = ACTIONS(924), + [sym_primitive_type] = ACTIONS(924), + [anon_sym_enum] = ACTIONS(924), + [anon_sym_struct] = ACTIONS(924), + [anon_sym_union] = ACTIONS(924), + [anon_sym_if] = ACTIONS(924), + [anon_sym_else] = ACTIONS(924), + [anon_sym_switch] = ACTIONS(924), + [anon_sym_case] = ACTIONS(924), + [anon_sym_default] = ACTIONS(924), + [anon_sym_while] = ACTIONS(924), + [anon_sym_do] = ACTIONS(924), + [anon_sym_for] = ACTIONS(924), + [anon_sym_return] = ACTIONS(924), + [anon_sym_break] = ACTIONS(924), + [anon_sym_continue] = ACTIONS(924), + [anon_sym_goto] = ACTIONS(924), + [anon_sym_DASH_DASH] = ACTIONS(926), + [anon_sym_PLUS_PLUS] = ACTIONS(926), + [anon_sym_sizeof] = ACTIONS(924), + [sym_number_literal] = ACTIONS(926), + [anon_sym_L_SQUOTE] = ACTIONS(926), + [anon_sym_u_SQUOTE] = ACTIONS(926), + [anon_sym_U_SQUOTE] = ACTIONS(926), + [anon_sym_u8_SQUOTE] = ACTIONS(926), + [anon_sym_SQUOTE] = ACTIONS(926), + [anon_sym_L_DQUOTE] = ACTIONS(926), + [anon_sym_u_DQUOTE] = ACTIONS(926), + [anon_sym_U_DQUOTE] = ACTIONS(926), + [anon_sym_u8_DQUOTE] = ACTIONS(926), + [anon_sym_DQUOTE] = ACTIONS(926), + [sym_true] = ACTIONS(924), + [sym_false] = ACTIONS(924), + [sym_null] = ACTIONS(924), + [sym_comment] = ACTIONS(3), + }, + [211] = { + [sym_identifier] = ACTIONS(940), + [aux_sym_preproc_include_token1] = ACTIONS(940), + [aux_sym_preproc_def_token1] = ACTIONS(940), + [aux_sym_preproc_if_token1] = ACTIONS(940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(940), + [sym_preproc_directive] = ACTIONS(940), + [anon_sym_LPAREN2] = ACTIONS(942), + [anon_sym_BANG] = ACTIONS(942), + [anon_sym_TILDE] = ACTIONS(942), + [anon_sym_DASH] = ACTIONS(940), + [anon_sym_PLUS] = ACTIONS(940), + [anon_sym_STAR] = ACTIONS(942), + [anon_sym_AMP] = ACTIONS(942), + [anon_sym_SEMI] = ACTIONS(942), + [anon_sym_typedef] = ACTIONS(940), + [anon_sym_extern] = ACTIONS(940), + [anon_sym___attribute__] = ACTIONS(940), + [anon_sym_LBRACK_LBRACK] = ACTIONS(942), + [anon_sym___declspec] = ACTIONS(940), + [anon_sym___cdecl] = ACTIONS(940), + [anon_sym___clrcall] = ACTIONS(940), + [anon_sym___stdcall] = ACTIONS(940), + [anon_sym___fastcall] = ACTIONS(940), + [anon_sym___thiscall] = ACTIONS(940), + [anon_sym___vectorcall] = ACTIONS(940), + [anon_sym_LBRACE] = ACTIONS(942), + [anon_sym_RBRACE] = ACTIONS(942), + [anon_sym_static] = ACTIONS(940), + [anon_sym_auto] = ACTIONS(940), + [anon_sym_register] = ACTIONS(940), + [anon_sym_inline] = ACTIONS(940), + [anon_sym_const] = ACTIONS(940), + [anon_sym_volatile] = ACTIONS(940), + [anon_sym_restrict] = ACTIONS(940), + [anon_sym__Atomic] = ACTIONS(940), + [anon_sym_signed] = ACTIONS(940), + [anon_sym_unsigned] = ACTIONS(940), + [anon_sym_long] = ACTIONS(940), + [anon_sym_short] = ACTIONS(940), + [sym_primitive_type] = ACTIONS(940), + [anon_sym_enum] = ACTIONS(940), + [anon_sym_struct] = ACTIONS(940), + [anon_sym_union] = ACTIONS(940), + [anon_sym_if] = ACTIONS(940), + [anon_sym_else] = ACTIONS(940), + [anon_sym_switch] = ACTIONS(940), + [anon_sym_case] = ACTIONS(940), + [anon_sym_default] = ACTIONS(940), + [anon_sym_while] = ACTIONS(940), + [anon_sym_do] = ACTIONS(940), + [anon_sym_for] = ACTIONS(940), + [anon_sym_return] = ACTIONS(940), + [anon_sym_break] = ACTIONS(940), + [anon_sym_continue] = ACTIONS(940), + [anon_sym_goto] = ACTIONS(940), + [anon_sym_DASH_DASH] = ACTIONS(942), + [anon_sym_PLUS_PLUS] = ACTIONS(942), + [anon_sym_sizeof] = ACTIONS(940), + [sym_number_literal] = ACTIONS(942), + [anon_sym_L_SQUOTE] = ACTIONS(942), + [anon_sym_u_SQUOTE] = ACTIONS(942), + [anon_sym_U_SQUOTE] = ACTIONS(942), + [anon_sym_u8_SQUOTE] = ACTIONS(942), + [anon_sym_SQUOTE] = ACTIONS(942), + [anon_sym_L_DQUOTE] = ACTIONS(942), + [anon_sym_u_DQUOTE] = ACTIONS(942), + [anon_sym_U_DQUOTE] = ACTIONS(942), + [anon_sym_u8_DQUOTE] = ACTIONS(942), + [anon_sym_DQUOTE] = ACTIONS(942), + [sym_true] = ACTIONS(940), + [sym_false] = ACTIONS(940), + [sym_null] = ACTIONS(940), + [sym_comment] = ACTIONS(3), + }, + [212] = { + [sym_identifier] = ACTIONS(984), + [aux_sym_preproc_include_token1] = ACTIONS(984), + [aux_sym_preproc_def_token1] = ACTIONS(984), + [aux_sym_preproc_if_token1] = ACTIONS(984), + [aux_sym_preproc_if_token2] = ACTIONS(984), + [aux_sym_preproc_ifdef_token1] = ACTIONS(984), + [aux_sym_preproc_ifdef_token2] = ACTIONS(984), + [sym_preproc_directive] = ACTIONS(984), + [anon_sym_LPAREN2] = ACTIONS(986), + [anon_sym_BANG] = ACTIONS(986), + [anon_sym_TILDE] = ACTIONS(986), + [anon_sym_DASH] = ACTIONS(984), + [anon_sym_PLUS] = ACTIONS(984), + [anon_sym_STAR] = ACTIONS(986), + [anon_sym_AMP] = ACTIONS(986), + [anon_sym_SEMI] = ACTIONS(986), + [anon_sym_typedef] = ACTIONS(984), + [anon_sym_extern] = ACTIONS(984), + [anon_sym___attribute__] = ACTIONS(984), + [anon_sym_LBRACK_LBRACK] = ACTIONS(986), + [anon_sym___declspec] = ACTIONS(984), + [anon_sym___cdecl] = ACTIONS(984), + [anon_sym___clrcall] = ACTIONS(984), + [anon_sym___stdcall] = ACTIONS(984), + [anon_sym___fastcall] = ACTIONS(984), + [anon_sym___thiscall] = ACTIONS(984), + [anon_sym___vectorcall] = ACTIONS(984), + [anon_sym_LBRACE] = ACTIONS(986), + [anon_sym_static] = ACTIONS(984), + [anon_sym_auto] = ACTIONS(984), + [anon_sym_register] = ACTIONS(984), + [anon_sym_inline] = ACTIONS(984), + [anon_sym_const] = ACTIONS(984), + [anon_sym_volatile] = ACTIONS(984), + [anon_sym_restrict] = ACTIONS(984), + [anon_sym__Atomic] = ACTIONS(984), + [anon_sym_signed] = ACTIONS(984), + [anon_sym_unsigned] = ACTIONS(984), + [anon_sym_long] = ACTIONS(984), + [anon_sym_short] = ACTIONS(984), + [sym_primitive_type] = ACTIONS(984), + [anon_sym_enum] = ACTIONS(984), + [anon_sym_struct] = ACTIONS(984), + [anon_sym_union] = ACTIONS(984), + [anon_sym_if] = ACTIONS(984), + [anon_sym_else] = ACTIONS(984), + [anon_sym_switch] = ACTIONS(984), + [anon_sym_case] = ACTIONS(984), + [anon_sym_default] = ACTIONS(984), + [anon_sym_while] = ACTIONS(984), + [anon_sym_do] = ACTIONS(984), + [anon_sym_for] = ACTIONS(984), + [anon_sym_return] = ACTIONS(984), + [anon_sym_break] = ACTIONS(984), + [anon_sym_continue] = ACTIONS(984), + [anon_sym_goto] = ACTIONS(984), + [anon_sym_DASH_DASH] = ACTIONS(986), + [anon_sym_PLUS_PLUS] = ACTIONS(986), + [anon_sym_sizeof] = ACTIONS(984), + [sym_number_literal] = ACTIONS(986), + [anon_sym_L_SQUOTE] = ACTIONS(986), + [anon_sym_u_SQUOTE] = ACTIONS(986), + [anon_sym_U_SQUOTE] = ACTIONS(986), + [anon_sym_u8_SQUOTE] = ACTIONS(986), + [anon_sym_SQUOTE] = ACTIONS(986), + [anon_sym_L_DQUOTE] = ACTIONS(986), + [anon_sym_u_DQUOTE] = ACTIONS(986), + [anon_sym_U_DQUOTE] = ACTIONS(986), + [anon_sym_u8_DQUOTE] = ACTIONS(986), + [anon_sym_DQUOTE] = ACTIONS(986), + [sym_true] = ACTIONS(984), + [sym_false] = ACTIONS(984), + [sym_null] = ACTIONS(984), + [sym_comment] = ACTIONS(3), + }, + [213] = { + [sym_identifier] = ACTIONS(948), + [aux_sym_preproc_include_token1] = ACTIONS(948), + [aux_sym_preproc_def_token1] = ACTIONS(948), + [aux_sym_preproc_if_token1] = ACTIONS(948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(948), + [sym_preproc_directive] = ACTIONS(948), + [anon_sym_LPAREN2] = ACTIONS(950), + [anon_sym_BANG] = ACTIONS(950), + [anon_sym_TILDE] = ACTIONS(950), + [anon_sym_DASH] = ACTIONS(948), + [anon_sym_PLUS] = ACTIONS(948), + [anon_sym_STAR] = ACTIONS(950), + [anon_sym_AMP] = ACTIONS(950), + [anon_sym_SEMI] = ACTIONS(950), + [anon_sym_typedef] = ACTIONS(948), + [anon_sym_extern] = ACTIONS(948), + [anon_sym___attribute__] = ACTIONS(948), + [anon_sym_LBRACK_LBRACK] = ACTIONS(950), + [anon_sym___declspec] = ACTIONS(948), + [anon_sym___cdecl] = ACTIONS(948), + [anon_sym___clrcall] = ACTIONS(948), + [anon_sym___stdcall] = ACTIONS(948), + [anon_sym___fastcall] = ACTIONS(948), + [anon_sym___thiscall] = ACTIONS(948), + [anon_sym___vectorcall] = ACTIONS(948), + [anon_sym_LBRACE] = ACTIONS(950), + [anon_sym_RBRACE] = ACTIONS(950), + [anon_sym_static] = ACTIONS(948), + [anon_sym_auto] = ACTIONS(948), + [anon_sym_register] = ACTIONS(948), + [anon_sym_inline] = ACTIONS(948), + [anon_sym_const] = ACTIONS(948), + [anon_sym_volatile] = ACTIONS(948), + [anon_sym_restrict] = ACTIONS(948), + [anon_sym__Atomic] = ACTIONS(948), + [anon_sym_signed] = ACTIONS(948), + [anon_sym_unsigned] = ACTIONS(948), + [anon_sym_long] = ACTIONS(948), + [anon_sym_short] = ACTIONS(948), + [sym_primitive_type] = ACTIONS(948), + [anon_sym_enum] = ACTIONS(948), + [anon_sym_struct] = ACTIONS(948), + [anon_sym_union] = ACTIONS(948), + [anon_sym_if] = ACTIONS(948), + [anon_sym_else] = ACTIONS(948), + [anon_sym_switch] = ACTIONS(948), + [anon_sym_case] = ACTIONS(948), + [anon_sym_default] = ACTIONS(948), + [anon_sym_while] = ACTIONS(948), + [anon_sym_do] = ACTIONS(948), + [anon_sym_for] = ACTIONS(948), + [anon_sym_return] = ACTIONS(948), + [anon_sym_break] = ACTIONS(948), + [anon_sym_continue] = ACTIONS(948), + [anon_sym_goto] = ACTIONS(948), + [anon_sym_DASH_DASH] = ACTIONS(950), + [anon_sym_PLUS_PLUS] = ACTIONS(950), + [anon_sym_sizeof] = ACTIONS(948), + [sym_number_literal] = ACTIONS(950), + [anon_sym_L_SQUOTE] = ACTIONS(950), + [anon_sym_u_SQUOTE] = ACTIONS(950), + [anon_sym_U_SQUOTE] = ACTIONS(950), + [anon_sym_u8_SQUOTE] = ACTIONS(950), + [anon_sym_SQUOTE] = ACTIONS(950), + [anon_sym_L_DQUOTE] = ACTIONS(950), + [anon_sym_u_DQUOTE] = ACTIONS(950), + [anon_sym_U_DQUOTE] = ACTIONS(950), + [anon_sym_u8_DQUOTE] = ACTIONS(950), + [anon_sym_DQUOTE] = ACTIONS(950), + [sym_true] = ACTIONS(948), + [sym_false] = ACTIONS(948), + [sym_null] = ACTIONS(948), + [sym_comment] = ACTIONS(3), + }, + [214] = { + [sym_identifier] = ACTIONS(894), + [aux_sym_preproc_include_token1] = ACTIONS(894), + [aux_sym_preproc_def_token1] = ACTIONS(894), + [aux_sym_preproc_if_token1] = ACTIONS(894), + [aux_sym_preproc_ifdef_token1] = ACTIONS(894), + [aux_sym_preproc_ifdef_token2] = ACTIONS(894), + [sym_preproc_directive] = ACTIONS(894), + [anon_sym_LPAREN2] = ACTIONS(896), + [anon_sym_BANG] = ACTIONS(896), + [anon_sym_TILDE] = ACTIONS(896), + [anon_sym_DASH] = ACTIONS(894), + [anon_sym_PLUS] = ACTIONS(894), + [anon_sym_STAR] = ACTIONS(896), + [anon_sym_AMP] = ACTIONS(896), + [anon_sym_SEMI] = ACTIONS(896), + [anon_sym_typedef] = ACTIONS(894), + [anon_sym_extern] = ACTIONS(894), + [anon_sym___attribute__] = ACTIONS(894), + [anon_sym_LBRACK_LBRACK] = ACTIONS(896), + [anon_sym___declspec] = ACTIONS(894), + [anon_sym___cdecl] = ACTIONS(894), + [anon_sym___clrcall] = ACTIONS(894), + [anon_sym___stdcall] = ACTIONS(894), + [anon_sym___fastcall] = ACTIONS(894), + [anon_sym___thiscall] = ACTIONS(894), + [anon_sym___vectorcall] = ACTIONS(894), + [anon_sym_LBRACE] = ACTIONS(896), + [anon_sym_RBRACE] = ACTIONS(896), + [anon_sym_static] = ACTIONS(894), + [anon_sym_auto] = ACTIONS(894), + [anon_sym_register] = ACTIONS(894), + [anon_sym_inline] = ACTIONS(894), + [anon_sym_const] = ACTIONS(894), + [anon_sym_volatile] = ACTIONS(894), + [anon_sym_restrict] = ACTIONS(894), + [anon_sym__Atomic] = ACTIONS(894), + [anon_sym_signed] = ACTIONS(894), + [anon_sym_unsigned] = ACTIONS(894), + [anon_sym_long] = ACTIONS(894), + [anon_sym_short] = ACTIONS(894), + [sym_primitive_type] = ACTIONS(894), + [anon_sym_enum] = ACTIONS(894), + [anon_sym_struct] = ACTIONS(894), + [anon_sym_union] = ACTIONS(894), + [anon_sym_if] = ACTIONS(894), + [anon_sym_else] = ACTIONS(894), + [anon_sym_switch] = ACTIONS(894), + [anon_sym_case] = ACTIONS(894), + [anon_sym_default] = ACTIONS(894), + [anon_sym_while] = ACTIONS(894), + [anon_sym_do] = ACTIONS(894), + [anon_sym_for] = ACTIONS(894), + [anon_sym_return] = ACTIONS(894), + [anon_sym_break] = ACTIONS(894), + [anon_sym_continue] = ACTIONS(894), + [anon_sym_goto] = ACTIONS(894), + [anon_sym_DASH_DASH] = ACTIONS(896), + [anon_sym_PLUS_PLUS] = ACTIONS(896), + [anon_sym_sizeof] = ACTIONS(894), + [sym_number_literal] = ACTIONS(896), + [anon_sym_L_SQUOTE] = ACTIONS(896), + [anon_sym_u_SQUOTE] = ACTIONS(896), + [anon_sym_U_SQUOTE] = ACTIONS(896), + [anon_sym_u8_SQUOTE] = ACTIONS(896), + [anon_sym_SQUOTE] = ACTIONS(896), + [anon_sym_L_DQUOTE] = ACTIONS(896), + [anon_sym_u_DQUOTE] = ACTIONS(896), + [anon_sym_U_DQUOTE] = ACTIONS(896), + [anon_sym_u8_DQUOTE] = ACTIONS(896), + [anon_sym_DQUOTE] = ACTIONS(896), + [sym_true] = ACTIONS(894), + [sym_false] = ACTIONS(894), + [sym_null] = ACTIONS(894), + [sym_comment] = ACTIONS(3), + }, + [215] = { + [ts_builtin_sym_end] = ACTIONS(892), + [sym_identifier] = ACTIONS(890), + [aux_sym_preproc_include_token1] = ACTIONS(890), + [aux_sym_preproc_def_token1] = ACTIONS(890), + [aux_sym_preproc_if_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token1] = ACTIONS(890), + [aux_sym_preproc_ifdef_token2] = ACTIONS(890), + [sym_preproc_directive] = ACTIONS(890), + [anon_sym_LPAREN2] = ACTIONS(892), + [anon_sym_BANG] = ACTIONS(892), + [anon_sym_TILDE] = ACTIONS(892), + [anon_sym_DASH] = ACTIONS(890), + [anon_sym_PLUS] = ACTIONS(890), + [anon_sym_STAR] = ACTIONS(892), + [anon_sym_AMP] = ACTIONS(892), + [anon_sym_SEMI] = ACTIONS(892), + [anon_sym_typedef] = ACTIONS(890), + [anon_sym_extern] = ACTIONS(890), + [anon_sym___attribute__] = ACTIONS(890), + [anon_sym_LBRACK_LBRACK] = ACTIONS(892), + [anon_sym___declspec] = ACTIONS(890), + [anon_sym___cdecl] = ACTIONS(890), + [anon_sym___clrcall] = ACTIONS(890), + [anon_sym___stdcall] = ACTIONS(890), + [anon_sym___fastcall] = ACTIONS(890), + [anon_sym___thiscall] = ACTIONS(890), + [anon_sym___vectorcall] = ACTIONS(890), + [anon_sym_LBRACE] = ACTIONS(892), + [anon_sym_static] = ACTIONS(890), + [anon_sym_auto] = ACTIONS(890), + [anon_sym_register] = ACTIONS(890), + [anon_sym_inline] = ACTIONS(890), + [anon_sym_const] = ACTIONS(890), + [anon_sym_volatile] = ACTIONS(890), + [anon_sym_restrict] = ACTIONS(890), + [anon_sym__Atomic] = ACTIONS(890), + [anon_sym_signed] = ACTIONS(890), + [anon_sym_unsigned] = ACTIONS(890), + [anon_sym_long] = ACTIONS(890), + [anon_sym_short] = ACTIONS(890), + [sym_primitive_type] = ACTIONS(890), + [anon_sym_enum] = ACTIONS(890), + [anon_sym_struct] = ACTIONS(890), + [anon_sym_union] = ACTIONS(890), + [anon_sym_if] = ACTIONS(890), + [anon_sym_else] = ACTIONS(890), + [anon_sym_switch] = ACTIONS(890), + [anon_sym_case] = ACTIONS(890), + [anon_sym_default] = ACTIONS(890), + [anon_sym_while] = ACTIONS(890), + [anon_sym_do] = ACTIONS(890), + [anon_sym_for] = ACTIONS(890), + [anon_sym_return] = ACTIONS(890), + [anon_sym_break] = ACTIONS(890), + [anon_sym_continue] = ACTIONS(890), + [anon_sym_goto] = ACTIONS(890), + [anon_sym_DASH_DASH] = ACTIONS(892), + [anon_sym_PLUS_PLUS] = ACTIONS(892), + [anon_sym_sizeof] = ACTIONS(890), + [sym_number_literal] = ACTIONS(892), + [anon_sym_L_SQUOTE] = ACTIONS(892), + [anon_sym_u_SQUOTE] = ACTIONS(892), + [anon_sym_U_SQUOTE] = ACTIONS(892), + [anon_sym_u8_SQUOTE] = ACTIONS(892), + [anon_sym_SQUOTE] = ACTIONS(892), + [anon_sym_L_DQUOTE] = ACTIONS(892), + [anon_sym_u_DQUOTE] = ACTIONS(892), + [anon_sym_U_DQUOTE] = ACTIONS(892), + [anon_sym_u8_DQUOTE] = ACTIONS(892), + [anon_sym_DQUOTE] = ACTIONS(892), + [sym_true] = ACTIONS(890), + [sym_false] = ACTIONS(890), + [sym_null] = ACTIONS(890), + [sym_comment] = ACTIONS(3), + }, + [216] = { + [sym_identifier] = ACTIONS(988), + [aux_sym_preproc_include_token1] = ACTIONS(988), + [aux_sym_preproc_def_token1] = ACTIONS(988), + [aux_sym_preproc_if_token1] = ACTIONS(988), + [aux_sym_preproc_if_token2] = ACTIONS(988), + [aux_sym_preproc_ifdef_token1] = ACTIONS(988), + [aux_sym_preproc_ifdef_token2] = ACTIONS(988), + [sym_preproc_directive] = ACTIONS(988), + [anon_sym_LPAREN2] = ACTIONS(990), + [anon_sym_BANG] = ACTIONS(990), + [anon_sym_TILDE] = ACTIONS(990), + [anon_sym_DASH] = ACTIONS(988), + [anon_sym_PLUS] = ACTIONS(988), + [anon_sym_STAR] = ACTIONS(990), + [anon_sym_AMP] = ACTIONS(990), + [anon_sym_SEMI] = ACTIONS(990), + [anon_sym_typedef] = ACTIONS(988), + [anon_sym_extern] = ACTIONS(988), + [anon_sym___attribute__] = ACTIONS(988), + [anon_sym_LBRACK_LBRACK] = ACTIONS(990), + [anon_sym___declspec] = ACTIONS(988), + [anon_sym___cdecl] = ACTIONS(988), + [anon_sym___clrcall] = ACTIONS(988), + [anon_sym___stdcall] = ACTIONS(988), + [anon_sym___fastcall] = ACTIONS(988), + [anon_sym___thiscall] = ACTIONS(988), + [anon_sym___vectorcall] = ACTIONS(988), + [anon_sym_LBRACE] = ACTIONS(990), + [anon_sym_static] = ACTIONS(988), + [anon_sym_auto] = ACTIONS(988), + [anon_sym_register] = ACTIONS(988), + [anon_sym_inline] = ACTIONS(988), + [anon_sym_const] = ACTIONS(988), + [anon_sym_volatile] = ACTIONS(988), + [anon_sym_restrict] = ACTIONS(988), + [anon_sym__Atomic] = ACTIONS(988), + [anon_sym_signed] = ACTIONS(988), + [anon_sym_unsigned] = ACTIONS(988), + [anon_sym_long] = ACTIONS(988), + [anon_sym_short] = ACTIONS(988), + [sym_primitive_type] = ACTIONS(988), + [anon_sym_enum] = ACTIONS(988), + [anon_sym_struct] = ACTIONS(988), + [anon_sym_union] = ACTIONS(988), + [anon_sym_if] = ACTIONS(988), + [anon_sym_else] = ACTIONS(988), + [anon_sym_switch] = ACTIONS(988), + [anon_sym_case] = ACTIONS(988), + [anon_sym_default] = ACTIONS(988), + [anon_sym_while] = ACTIONS(988), + [anon_sym_do] = ACTIONS(988), + [anon_sym_for] = ACTIONS(988), + [anon_sym_return] = ACTIONS(988), + [anon_sym_break] = ACTIONS(988), + [anon_sym_continue] = ACTIONS(988), + [anon_sym_goto] = ACTIONS(988), + [anon_sym_DASH_DASH] = ACTIONS(990), + [anon_sym_PLUS_PLUS] = ACTIONS(990), + [anon_sym_sizeof] = ACTIONS(988), + [sym_number_literal] = ACTIONS(990), + [anon_sym_L_SQUOTE] = ACTIONS(990), + [anon_sym_u_SQUOTE] = ACTIONS(990), + [anon_sym_U_SQUOTE] = ACTIONS(990), + [anon_sym_u8_SQUOTE] = ACTIONS(990), + [anon_sym_SQUOTE] = ACTIONS(990), + [anon_sym_L_DQUOTE] = ACTIONS(990), + [anon_sym_u_DQUOTE] = ACTIONS(990), + [anon_sym_U_DQUOTE] = ACTIONS(990), + [anon_sym_u8_DQUOTE] = ACTIONS(990), + [anon_sym_DQUOTE] = ACTIONS(990), + [sym_true] = ACTIONS(988), + [sym_false] = ACTIONS(988), + [sym_null] = ACTIONS(988), + [sym_comment] = ACTIONS(3), + }, + [217] = { + [sym_identifier] = ACTIONS(992), + [aux_sym_preproc_include_token1] = ACTIONS(992), + [aux_sym_preproc_def_token1] = ACTIONS(992), + [aux_sym_preproc_if_token1] = ACTIONS(992), + [aux_sym_preproc_if_token2] = ACTIONS(992), + [aux_sym_preproc_ifdef_token1] = ACTIONS(992), + [aux_sym_preproc_ifdef_token2] = ACTIONS(992), + [sym_preproc_directive] = ACTIONS(992), + [anon_sym_LPAREN2] = ACTIONS(994), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(992), + [anon_sym_PLUS] = ACTIONS(992), + [anon_sym_STAR] = ACTIONS(994), + [anon_sym_AMP] = ACTIONS(994), + [anon_sym_SEMI] = ACTIONS(994), + [anon_sym_typedef] = ACTIONS(992), + [anon_sym_extern] = ACTIONS(992), + [anon_sym___attribute__] = ACTIONS(992), + [anon_sym_LBRACK_LBRACK] = ACTIONS(994), + [anon_sym___declspec] = ACTIONS(992), + [anon_sym___cdecl] = ACTIONS(992), + [anon_sym___clrcall] = ACTIONS(992), + [anon_sym___stdcall] = ACTIONS(992), + [anon_sym___fastcall] = ACTIONS(992), + [anon_sym___thiscall] = ACTIONS(992), + [anon_sym___vectorcall] = ACTIONS(992), + [anon_sym_LBRACE] = ACTIONS(994), + [anon_sym_static] = ACTIONS(992), + [anon_sym_auto] = ACTIONS(992), + [anon_sym_register] = ACTIONS(992), + [anon_sym_inline] = ACTIONS(992), + [anon_sym_const] = ACTIONS(992), + [anon_sym_volatile] = ACTIONS(992), + [anon_sym_restrict] = ACTIONS(992), + [anon_sym__Atomic] = ACTIONS(992), + [anon_sym_signed] = ACTIONS(992), + [anon_sym_unsigned] = ACTIONS(992), + [anon_sym_long] = ACTIONS(992), + [anon_sym_short] = ACTIONS(992), + [sym_primitive_type] = ACTIONS(992), + [anon_sym_enum] = ACTIONS(992), + [anon_sym_struct] = ACTIONS(992), + [anon_sym_union] = ACTIONS(992), + [anon_sym_if] = ACTIONS(992), + [anon_sym_else] = ACTIONS(992), + [anon_sym_switch] = ACTIONS(992), + [anon_sym_case] = ACTIONS(992), + [anon_sym_default] = ACTIONS(992), + [anon_sym_while] = ACTIONS(992), + [anon_sym_do] = ACTIONS(992), + [anon_sym_for] = ACTIONS(992), + [anon_sym_return] = ACTIONS(992), + [anon_sym_break] = ACTIONS(992), + [anon_sym_continue] = ACTIONS(992), + [anon_sym_goto] = ACTIONS(992), + [anon_sym_DASH_DASH] = ACTIONS(994), + [anon_sym_PLUS_PLUS] = ACTIONS(994), + [anon_sym_sizeof] = ACTIONS(992), + [sym_number_literal] = ACTIONS(994), + [anon_sym_L_SQUOTE] = ACTIONS(994), + [anon_sym_u_SQUOTE] = ACTIONS(994), + [anon_sym_U_SQUOTE] = ACTIONS(994), + [anon_sym_u8_SQUOTE] = ACTIONS(994), + [anon_sym_SQUOTE] = ACTIONS(994), + [anon_sym_L_DQUOTE] = ACTIONS(994), + [anon_sym_u_DQUOTE] = ACTIONS(994), + [anon_sym_U_DQUOTE] = ACTIONS(994), + [anon_sym_u8_DQUOTE] = ACTIONS(994), + [anon_sym_DQUOTE] = ACTIONS(994), + [sym_true] = ACTIONS(992), + [sym_false] = ACTIONS(992), + [sym_null] = ACTIONS(992), + [sym_comment] = ACTIONS(3), + }, + [218] = { + [sym_identifier] = ACTIONS(960), + [aux_sym_preproc_include_token1] = ACTIONS(960), + [aux_sym_preproc_def_token1] = ACTIONS(960), + [aux_sym_preproc_if_token1] = ACTIONS(960), + [aux_sym_preproc_ifdef_token1] = ACTIONS(960), + [aux_sym_preproc_ifdef_token2] = ACTIONS(960), + [sym_preproc_directive] = ACTIONS(960), + [anon_sym_LPAREN2] = ACTIONS(962), + [anon_sym_BANG] = ACTIONS(962), + [anon_sym_TILDE] = ACTIONS(962), + [anon_sym_DASH] = ACTIONS(960), + [anon_sym_PLUS] = ACTIONS(960), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(962), + [anon_sym_typedef] = ACTIONS(960), + [anon_sym_extern] = ACTIONS(960), + [anon_sym___attribute__] = ACTIONS(960), + [anon_sym_LBRACK_LBRACK] = ACTIONS(962), + [anon_sym___declspec] = ACTIONS(960), + [anon_sym___cdecl] = ACTIONS(960), + [anon_sym___clrcall] = ACTIONS(960), + [anon_sym___stdcall] = ACTIONS(960), + [anon_sym___fastcall] = ACTIONS(960), + [anon_sym___thiscall] = ACTIONS(960), + [anon_sym___vectorcall] = ACTIONS(960), + [anon_sym_LBRACE] = ACTIONS(962), + [anon_sym_RBRACE] = ACTIONS(962), + [anon_sym_static] = ACTIONS(960), + [anon_sym_auto] = ACTIONS(960), + [anon_sym_register] = ACTIONS(960), + [anon_sym_inline] = ACTIONS(960), + [anon_sym_const] = ACTIONS(960), + [anon_sym_volatile] = ACTIONS(960), + [anon_sym_restrict] = ACTIONS(960), + [anon_sym__Atomic] = ACTIONS(960), + [anon_sym_signed] = ACTIONS(960), + [anon_sym_unsigned] = ACTIONS(960), + [anon_sym_long] = ACTIONS(960), + [anon_sym_short] = ACTIONS(960), + [sym_primitive_type] = ACTIONS(960), + [anon_sym_enum] = ACTIONS(960), + [anon_sym_struct] = ACTIONS(960), + [anon_sym_union] = ACTIONS(960), + [anon_sym_if] = ACTIONS(960), + [anon_sym_else] = ACTIONS(960), + [anon_sym_switch] = ACTIONS(960), + [anon_sym_case] = ACTIONS(960), + [anon_sym_default] = ACTIONS(960), + [anon_sym_while] = ACTIONS(960), + [anon_sym_do] = ACTIONS(960), + [anon_sym_for] = ACTIONS(960), + [anon_sym_return] = ACTIONS(960), + [anon_sym_break] = ACTIONS(960), + [anon_sym_continue] = ACTIONS(960), + [anon_sym_goto] = ACTIONS(960), + [anon_sym_DASH_DASH] = ACTIONS(962), + [anon_sym_PLUS_PLUS] = ACTIONS(962), + [anon_sym_sizeof] = ACTIONS(960), + [sym_number_literal] = ACTIONS(962), + [anon_sym_L_SQUOTE] = ACTIONS(962), + [anon_sym_u_SQUOTE] = ACTIONS(962), + [anon_sym_U_SQUOTE] = ACTIONS(962), + [anon_sym_u8_SQUOTE] = ACTIONS(962), + [anon_sym_SQUOTE] = ACTIONS(962), + [anon_sym_L_DQUOTE] = ACTIONS(962), + [anon_sym_u_DQUOTE] = ACTIONS(962), + [anon_sym_U_DQUOTE] = ACTIONS(962), + [anon_sym_u8_DQUOTE] = ACTIONS(962), + [anon_sym_DQUOTE] = ACTIONS(962), + [sym_true] = ACTIONS(960), + [sym_false] = ACTIONS(960), + [sym_null] = ACTIONS(960), + [sym_comment] = ACTIONS(3), + }, + [219] = { + [sym_identifier] = ACTIONS(1016), + [aux_sym_preproc_include_token1] = ACTIONS(1016), + [aux_sym_preproc_def_token1] = ACTIONS(1016), + [aux_sym_preproc_if_token1] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1016), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1016), + [sym_preproc_directive] = ACTIONS(1016), + [anon_sym_LPAREN2] = ACTIONS(1018), + [anon_sym_BANG] = ACTIONS(1018), + [anon_sym_TILDE] = ACTIONS(1018), + [anon_sym_DASH] = ACTIONS(1016), + [anon_sym_PLUS] = ACTIONS(1016), + [anon_sym_STAR] = ACTIONS(1018), + [anon_sym_AMP] = ACTIONS(1018), + [anon_sym_SEMI] = ACTIONS(1018), + [anon_sym_typedef] = ACTIONS(1016), + [anon_sym_extern] = ACTIONS(1016), + [anon_sym___attribute__] = ACTIONS(1016), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1018), + [anon_sym___declspec] = ACTIONS(1016), + [anon_sym___cdecl] = ACTIONS(1016), + [anon_sym___clrcall] = ACTIONS(1016), + [anon_sym___stdcall] = ACTIONS(1016), + [anon_sym___fastcall] = ACTIONS(1016), + [anon_sym___thiscall] = ACTIONS(1016), + [anon_sym___vectorcall] = ACTIONS(1016), + [anon_sym_LBRACE] = ACTIONS(1018), + [anon_sym_RBRACE] = ACTIONS(1018), + [anon_sym_static] = ACTIONS(1016), + [anon_sym_auto] = ACTIONS(1016), + [anon_sym_register] = ACTIONS(1016), + [anon_sym_inline] = ACTIONS(1016), + [anon_sym_const] = ACTIONS(1016), + [anon_sym_volatile] = ACTIONS(1016), + [anon_sym_restrict] = ACTIONS(1016), + [anon_sym__Atomic] = ACTIONS(1016), + [anon_sym_signed] = ACTIONS(1016), + [anon_sym_unsigned] = ACTIONS(1016), + [anon_sym_long] = ACTIONS(1016), + [anon_sym_short] = ACTIONS(1016), + [sym_primitive_type] = ACTIONS(1016), + [anon_sym_enum] = ACTIONS(1016), + [anon_sym_struct] = ACTIONS(1016), + [anon_sym_union] = ACTIONS(1016), + [anon_sym_if] = ACTIONS(1016), + [anon_sym_else] = ACTIONS(1016), + [anon_sym_switch] = ACTIONS(1016), + [anon_sym_case] = ACTIONS(1016), + [anon_sym_default] = ACTIONS(1016), + [anon_sym_while] = ACTIONS(1016), + [anon_sym_do] = ACTIONS(1016), + [anon_sym_for] = ACTIONS(1016), + [anon_sym_return] = ACTIONS(1016), + [anon_sym_break] = ACTIONS(1016), + [anon_sym_continue] = ACTIONS(1016), + [anon_sym_goto] = ACTIONS(1016), + [anon_sym_DASH_DASH] = ACTIONS(1018), + [anon_sym_PLUS_PLUS] = ACTIONS(1018), + [anon_sym_sizeof] = ACTIONS(1016), + [sym_number_literal] = ACTIONS(1018), + [anon_sym_L_SQUOTE] = ACTIONS(1018), + [anon_sym_u_SQUOTE] = ACTIONS(1018), + [anon_sym_U_SQUOTE] = ACTIONS(1018), + [anon_sym_u8_SQUOTE] = ACTIONS(1018), + [anon_sym_SQUOTE] = ACTIONS(1018), + [anon_sym_L_DQUOTE] = ACTIONS(1018), + [anon_sym_u_DQUOTE] = ACTIONS(1018), + [anon_sym_U_DQUOTE] = ACTIONS(1018), + [anon_sym_u8_DQUOTE] = ACTIONS(1018), + [anon_sym_DQUOTE] = ACTIONS(1018), + [sym_true] = ACTIONS(1016), + [sym_false] = ACTIONS(1016), + [sym_null] = ACTIONS(1016), + [sym_comment] = ACTIONS(3), + }, + [220] = { + [sym_identifier] = ACTIONS(894), + [aux_sym_preproc_include_token1] = ACTIONS(894), + [aux_sym_preproc_def_token1] = ACTIONS(894), + [aux_sym_preproc_if_token1] = ACTIONS(894), + [aux_sym_preproc_if_token2] = ACTIONS(894), + [aux_sym_preproc_ifdef_token1] = ACTIONS(894), + [aux_sym_preproc_ifdef_token2] = ACTIONS(894), + [sym_preproc_directive] = ACTIONS(894), + [anon_sym_LPAREN2] = ACTIONS(896), + [anon_sym_BANG] = ACTIONS(896), + [anon_sym_TILDE] = ACTIONS(896), + [anon_sym_DASH] = ACTIONS(894), + [anon_sym_PLUS] = ACTIONS(894), + [anon_sym_STAR] = ACTIONS(896), + [anon_sym_AMP] = ACTIONS(896), + [anon_sym_SEMI] = ACTIONS(896), + [anon_sym_typedef] = ACTIONS(894), + [anon_sym_extern] = ACTIONS(894), + [anon_sym___attribute__] = ACTIONS(894), + [anon_sym_LBRACK_LBRACK] = ACTIONS(896), + [anon_sym___declspec] = ACTIONS(894), + [anon_sym___cdecl] = ACTIONS(894), + [anon_sym___clrcall] = ACTIONS(894), + [anon_sym___stdcall] = ACTIONS(894), + [anon_sym___fastcall] = ACTIONS(894), + [anon_sym___thiscall] = ACTIONS(894), + [anon_sym___vectorcall] = ACTIONS(894), + [anon_sym_LBRACE] = ACTIONS(896), + [anon_sym_static] = ACTIONS(894), + [anon_sym_auto] = ACTIONS(894), + [anon_sym_register] = ACTIONS(894), + [anon_sym_inline] = ACTIONS(894), + [anon_sym_const] = ACTIONS(894), + [anon_sym_volatile] = ACTIONS(894), + [anon_sym_restrict] = ACTIONS(894), + [anon_sym__Atomic] = ACTIONS(894), + [anon_sym_signed] = ACTIONS(894), + [anon_sym_unsigned] = ACTIONS(894), + [anon_sym_long] = ACTIONS(894), + [anon_sym_short] = ACTIONS(894), + [sym_primitive_type] = ACTIONS(894), + [anon_sym_enum] = ACTIONS(894), + [anon_sym_struct] = ACTIONS(894), + [anon_sym_union] = ACTIONS(894), + [anon_sym_if] = ACTIONS(894), + [anon_sym_else] = ACTIONS(894), + [anon_sym_switch] = ACTIONS(894), + [anon_sym_case] = ACTIONS(894), + [anon_sym_default] = ACTIONS(894), + [anon_sym_while] = ACTIONS(894), + [anon_sym_do] = ACTIONS(894), + [anon_sym_for] = ACTIONS(894), + [anon_sym_return] = ACTIONS(894), + [anon_sym_break] = ACTIONS(894), + [anon_sym_continue] = ACTIONS(894), + [anon_sym_goto] = ACTIONS(894), + [anon_sym_DASH_DASH] = ACTIONS(896), + [anon_sym_PLUS_PLUS] = ACTIONS(896), + [anon_sym_sizeof] = ACTIONS(894), + [sym_number_literal] = ACTIONS(896), + [anon_sym_L_SQUOTE] = ACTIONS(896), + [anon_sym_u_SQUOTE] = ACTIONS(896), + [anon_sym_U_SQUOTE] = ACTIONS(896), + [anon_sym_u8_SQUOTE] = ACTIONS(896), + [anon_sym_SQUOTE] = ACTIONS(896), + [anon_sym_L_DQUOTE] = ACTIONS(896), + [anon_sym_u_DQUOTE] = ACTIONS(896), + [anon_sym_U_DQUOTE] = ACTIONS(896), + [anon_sym_u8_DQUOTE] = ACTIONS(896), + [anon_sym_DQUOTE] = ACTIONS(896), + [sym_true] = ACTIONS(894), + [sym_false] = ACTIONS(894), + [sym_null] = ACTIONS(894), + [sym_comment] = ACTIONS(3), + }, + [221] = { + [sym_identifier] = ACTIONS(948), + [aux_sym_preproc_include_token1] = ACTIONS(948), + [aux_sym_preproc_def_token1] = ACTIONS(948), + [aux_sym_preproc_if_token1] = ACTIONS(948), + [aux_sym_preproc_if_token2] = ACTIONS(948), + [aux_sym_preproc_ifdef_token1] = ACTIONS(948), + [aux_sym_preproc_ifdef_token2] = ACTIONS(948), + [sym_preproc_directive] = ACTIONS(948), + [anon_sym_LPAREN2] = ACTIONS(950), + [anon_sym_BANG] = ACTIONS(950), + [anon_sym_TILDE] = ACTIONS(950), + [anon_sym_DASH] = ACTIONS(948), + [anon_sym_PLUS] = ACTIONS(948), + [anon_sym_STAR] = ACTIONS(950), + [anon_sym_AMP] = ACTIONS(950), + [anon_sym_SEMI] = ACTIONS(950), + [anon_sym_typedef] = ACTIONS(948), + [anon_sym_extern] = ACTIONS(948), + [anon_sym___attribute__] = ACTIONS(948), + [anon_sym_LBRACK_LBRACK] = ACTIONS(950), + [anon_sym___declspec] = ACTIONS(948), + [anon_sym___cdecl] = ACTIONS(948), + [anon_sym___clrcall] = ACTIONS(948), + [anon_sym___stdcall] = ACTIONS(948), + [anon_sym___fastcall] = ACTIONS(948), + [anon_sym___thiscall] = ACTIONS(948), + [anon_sym___vectorcall] = ACTIONS(948), + [anon_sym_LBRACE] = ACTIONS(950), + [anon_sym_static] = ACTIONS(948), + [anon_sym_auto] = ACTIONS(948), + [anon_sym_register] = ACTIONS(948), + [anon_sym_inline] = ACTIONS(948), + [anon_sym_const] = ACTIONS(948), + [anon_sym_volatile] = ACTIONS(948), + [anon_sym_restrict] = ACTIONS(948), + [anon_sym__Atomic] = ACTIONS(948), + [anon_sym_signed] = ACTIONS(948), + [anon_sym_unsigned] = ACTIONS(948), + [anon_sym_long] = ACTIONS(948), + [anon_sym_short] = ACTIONS(948), + [sym_primitive_type] = ACTIONS(948), + [anon_sym_enum] = ACTIONS(948), + [anon_sym_struct] = ACTIONS(948), + [anon_sym_union] = ACTIONS(948), + [anon_sym_if] = ACTIONS(948), + [anon_sym_else] = ACTIONS(948), + [anon_sym_switch] = ACTIONS(948), + [anon_sym_case] = ACTIONS(948), + [anon_sym_default] = ACTIONS(948), + [anon_sym_while] = ACTIONS(948), + [anon_sym_do] = ACTIONS(948), + [anon_sym_for] = ACTIONS(948), + [anon_sym_return] = ACTIONS(948), + [anon_sym_break] = ACTIONS(948), + [anon_sym_continue] = ACTIONS(948), + [anon_sym_goto] = ACTIONS(948), + [anon_sym_DASH_DASH] = ACTIONS(950), + [anon_sym_PLUS_PLUS] = ACTIONS(950), + [anon_sym_sizeof] = ACTIONS(948), + [sym_number_literal] = ACTIONS(950), + [anon_sym_L_SQUOTE] = ACTIONS(950), + [anon_sym_u_SQUOTE] = ACTIONS(950), + [anon_sym_U_SQUOTE] = ACTIONS(950), + [anon_sym_u8_SQUOTE] = ACTIONS(950), + [anon_sym_SQUOTE] = ACTIONS(950), + [anon_sym_L_DQUOTE] = ACTIONS(950), + [anon_sym_u_DQUOTE] = ACTIONS(950), + [anon_sym_U_DQUOTE] = ACTIONS(950), + [anon_sym_u8_DQUOTE] = ACTIONS(950), + [anon_sym_DQUOTE] = ACTIONS(950), + [sym_true] = ACTIONS(948), + [sym_false] = ACTIONS(948), + [sym_null] = ACTIONS(948), + [sym_comment] = ACTIONS(3), + }, + [222] = { + [sym_identifier] = ACTIONS(1004), + [aux_sym_preproc_include_token1] = ACTIONS(1004), + [aux_sym_preproc_def_token1] = ACTIONS(1004), + [aux_sym_preproc_if_token1] = ACTIONS(1004), + [aux_sym_preproc_if_token2] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1004), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1004), + [sym_preproc_directive] = ACTIONS(1004), + [anon_sym_LPAREN2] = ACTIONS(1006), + [anon_sym_BANG] = ACTIONS(1006), + [anon_sym_TILDE] = ACTIONS(1006), + [anon_sym_DASH] = ACTIONS(1004), + [anon_sym_PLUS] = ACTIONS(1004), + [anon_sym_STAR] = ACTIONS(1006), + [anon_sym_AMP] = ACTIONS(1006), + [anon_sym_SEMI] = ACTIONS(1006), + [anon_sym_typedef] = ACTIONS(1004), + [anon_sym_extern] = ACTIONS(1004), + [anon_sym___attribute__] = ACTIONS(1004), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1006), + [anon_sym___declspec] = ACTIONS(1004), + [anon_sym___cdecl] = ACTIONS(1004), + [anon_sym___clrcall] = ACTIONS(1004), + [anon_sym___stdcall] = ACTIONS(1004), + [anon_sym___fastcall] = ACTIONS(1004), + [anon_sym___thiscall] = ACTIONS(1004), + [anon_sym___vectorcall] = ACTIONS(1004), + [anon_sym_LBRACE] = ACTIONS(1006), + [anon_sym_static] = ACTIONS(1004), + [anon_sym_auto] = ACTIONS(1004), + [anon_sym_register] = ACTIONS(1004), + [anon_sym_inline] = ACTIONS(1004), + [anon_sym_const] = ACTIONS(1004), + [anon_sym_volatile] = ACTIONS(1004), + [anon_sym_restrict] = ACTIONS(1004), + [anon_sym__Atomic] = ACTIONS(1004), + [anon_sym_signed] = ACTIONS(1004), + [anon_sym_unsigned] = ACTIONS(1004), + [anon_sym_long] = ACTIONS(1004), + [anon_sym_short] = ACTIONS(1004), + [sym_primitive_type] = ACTIONS(1004), + [anon_sym_enum] = ACTIONS(1004), + [anon_sym_struct] = ACTIONS(1004), + [anon_sym_union] = ACTIONS(1004), + [anon_sym_if] = ACTIONS(1004), + [anon_sym_else] = ACTIONS(1004), + [anon_sym_switch] = ACTIONS(1004), + [anon_sym_case] = ACTIONS(1004), + [anon_sym_default] = ACTIONS(1004), + [anon_sym_while] = ACTIONS(1004), + [anon_sym_do] = ACTIONS(1004), + [anon_sym_for] = ACTIONS(1004), + [anon_sym_return] = ACTIONS(1004), + [anon_sym_break] = ACTIONS(1004), + [anon_sym_continue] = ACTIONS(1004), + [anon_sym_goto] = ACTIONS(1004), + [anon_sym_DASH_DASH] = ACTIONS(1006), + [anon_sym_PLUS_PLUS] = ACTIONS(1006), + [anon_sym_sizeof] = ACTIONS(1004), + [sym_number_literal] = ACTIONS(1006), + [anon_sym_L_SQUOTE] = ACTIONS(1006), + [anon_sym_u_SQUOTE] = ACTIONS(1006), + [anon_sym_U_SQUOTE] = ACTIONS(1006), + [anon_sym_u8_SQUOTE] = ACTIONS(1006), + [anon_sym_SQUOTE] = ACTIONS(1006), + [anon_sym_L_DQUOTE] = ACTIONS(1006), + [anon_sym_u_DQUOTE] = ACTIONS(1006), + [anon_sym_U_DQUOTE] = ACTIONS(1006), + [anon_sym_u8_DQUOTE] = ACTIONS(1006), + [anon_sym_DQUOTE] = ACTIONS(1006), + [sym_true] = ACTIONS(1004), + [sym_false] = ACTIONS(1004), + [sym_null] = ACTIONS(1004), + [sym_comment] = ACTIONS(3), + }, + [223] = { + [sym_identifier] = ACTIONS(940), + [aux_sym_preproc_include_token1] = ACTIONS(940), + [aux_sym_preproc_def_token1] = ACTIONS(940), + [aux_sym_preproc_if_token1] = ACTIONS(940), + [aux_sym_preproc_if_token2] = ACTIONS(940), + [aux_sym_preproc_ifdef_token1] = ACTIONS(940), + [aux_sym_preproc_ifdef_token2] = ACTIONS(940), + [sym_preproc_directive] = ACTIONS(940), + [anon_sym_LPAREN2] = ACTIONS(942), + [anon_sym_BANG] = ACTIONS(942), + [anon_sym_TILDE] = ACTIONS(942), + [anon_sym_DASH] = ACTIONS(940), + [anon_sym_PLUS] = ACTIONS(940), + [anon_sym_STAR] = ACTIONS(942), + [anon_sym_AMP] = ACTIONS(942), + [anon_sym_SEMI] = ACTIONS(942), + [anon_sym_typedef] = ACTIONS(940), + [anon_sym_extern] = ACTIONS(940), + [anon_sym___attribute__] = ACTIONS(940), + [anon_sym_LBRACK_LBRACK] = ACTIONS(942), + [anon_sym___declspec] = ACTIONS(940), + [anon_sym___cdecl] = ACTIONS(940), + [anon_sym___clrcall] = ACTIONS(940), + [anon_sym___stdcall] = ACTIONS(940), + [anon_sym___fastcall] = ACTIONS(940), + [anon_sym___thiscall] = ACTIONS(940), + [anon_sym___vectorcall] = ACTIONS(940), + [anon_sym_LBRACE] = ACTIONS(942), + [anon_sym_static] = ACTIONS(940), + [anon_sym_auto] = ACTIONS(940), + [anon_sym_register] = ACTIONS(940), + [anon_sym_inline] = ACTIONS(940), + [anon_sym_const] = ACTIONS(940), + [anon_sym_volatile] = ACTIONS(940), + [anon_sym_restrict] = ACTIONS(940), + [anon_sym__Atomic] = ACTIONS(940), + [anon_sym_signed] = ACTIONS(940), + [anon_sym_unsigned] = ACTIONS(940), + [anon_sym_long] = ACTIONS(940), + [anon_sym_short] = ACTIONS(940), + [sym_primitive_type] = ACTIONS(940), + [anon_sym_enum] = ACTIONS(940), + [anon_sym_struct] = ACTIONS(940), + [anon_sym_union] = ACTIONS(940), + [anon_sym_if] = ACTIONS(940), + [anon_sym_else] = ACTIONS(940), + [anon_sym_switch] = ACTIONS(940), + [anon_sym_case] = ACTIONS(940), + [anon_sym_default] = ACTIONS(940), + [anon_sym_while] = ACTIONS(940), + [anon_sym_do] = ACTIONS(940), + [anon_sym_for] = ACTIONS(940), + [anon_sym_return] = ACTIONS(940), + [anon_sym_break] = ACTIONS(940), + [anon_sym_continue] = ACTIONS(940), + [anon_sym_goto] = ACTIONS(940), + [anon_sym_DASH_DASH] = ACTIONS(942), + [anon_sym_PLUS_PLUS] = ACTIONS(942), + [anon_sym_sizeof] = ACTIONS(940), + [sym_number_literal] = ACTIONS(942), + [anon_sym_L_SQUOTE] = ACTIONS(942), + [anon_sym_u_SQUOTE] = ACTIONS(942), + [anon_sym_U_SQUOTE] = ACTIONS(942), + [anon_sym_u8_SQUOTE] = ACTIONS(942), + [anon_sym_SQUOTE] = ACTIONS(942), + [anon_sym_L_DQUOTE] = ACTIONS(942), + [anon_sym_u_DQUOTE] = ACTIONS(942), + [anon_sym_U_DQUOTE] = ACTIONS(942), + [anon_sym_u8_DQUOTE] = ACTIONS(942), + [anon_sym_DQUOTE] = ACTIONS(942), + [sym_true] = ACTIONS(940), + [sym_false] = ACTIONS(940), + [sym_null] = ACTIONS(940), + [sym_comment] = ACTIONS(3), + }, + [224] = { + [ts_builtin_sym_end] = ACTIONS(912), + [sym_identifier] = ACTIONS(910), + [aux_sym_preproc_include_token1] = ACTIONS(910), + [aux_sym_preproc_def_token1] = ACTIONS(910), + [aux_sym_preproc_if_token1] = ACTIONS(910), + [aux_sym_preproc_ifdef_token1] = ACTIONS(910), + [aux_sym_preproc_ifdef_token2] = ACTIONS(910), + [sym_preproc_directive] = ACTIONS(910), + [anon_sym_LPAREN2] = ACTIONS(912), + [anon_sym_BANG] = ACTIONS(912), + [anon_sym_TILDE] = ACTIONS(912), + [anon_sym_DASH] = ACTIONS(910), + [anon_sym_PLUS] = ACTIONS(910), + [anon_sym_STAR] = ACTIONS(912), + [anon_sym_AMP] = ACTIONS(912), + [anon_sym_SEMI] = ACTIONS(912), + [anon_sym_typedef] = ACTIONS(910), + [anon_sym_extern] = ACTIONS(910), + [anon_sym___attribute__] = ACTIONS(910), + [anon_sym_LBRACK_LBRACK] = ACTIONS(912), + [anon_sym___declspec] = ACTIONS(910), + [anon_sym___cdecl] = ACTIONS(910), + [anon_sym___clrcall] = ACTIONS(910), + [anon_sym___stdcall] = ACTIONS(910), + [anon_sym___fastcall] = ACTIONS(910), + [anon_sym___thiscall] = ACTIONS(910), + [anon_sym___vectorcall] = ACTIONS(910), + [anon_sym_LBRACE] = ACTIONS(912), + [anon_sym_static] = ACTIONS(910), + [anon_sym_auto] = ACTIONS(910), + [anon_sym_register] = ACTIONS(910), + [anon_sym_inline] = ACTIONS(910), + [anon_sym_const] = ACTIONS(910), + [anon_sym_volatile] = ACTIONS(910), + [anon_sym_restrict] = ACTIONS(910), + [anon_sym__Atomic] = ACTIONS(910), + [anon_sym_signed] = ACTIONS(910), + [anon_sym_unsigned] = ACTIONS(910), + [anon_sym_long] = ACTIONS(910), + [anon_sym_short] = ACTIONS(910), + [sym_primitive_type] = ACTIONS(910), + [anon_sym_enum] = ACTIONS(910), + [anon_sym_struct] = ACTIONS(910), + [anon_sym_union] = ACTIONS(910), + [anon_sym_if] = ACTIONS(910), + [anon_sym_else] = ACTIONS(910), + [anon_sym_switch] = ACTIONS(910), + [anon_sym_case] = ACTIONS(910), + [anon_sym_default] = ACTIONS(910), + [anon_sym_while] = ACTIONS(910), + [anon_sym_do] = ACTIONS(910), + [anon_sym_for] = ACTIONS(910), + [anon_sym_return] = ACTIONS(910), + [anon_sym_break] = ACTIONS(910), + [anon_sym_continue] = ACTIONS(910), + [anon_sym_goto] = ACTIONS(910), + [anon_sym_DASH_DASH] = ACTIONS(912), + [anon_sym_PLUS_PLUS] = ACTIONS(912), + [anon_sym_sizeof] = ACTIONS(910), + [sym_number_literal] = ACTIONS(912), + [anon_sym_L_SQUOTE] = ACTIONS(912), + [anon_sym_u_SQUOTE] = ACTIONS(912), + [anon_sym_U_SQUOTE] = ACTIONS(912), + [anon_sym_u8_SQUOTE] = ACTIONS(912), + [anon_sym_SQUOTE] = ACTIONS(912), + [anon_sym_L_DQUOTE] = ACTIONS(912), + [anon_sym_u_DQUOTE] = ACTIONS(912), + [anon_sym_U_DQUOTE] = ACTIONS(912), + [anon_sym_u8_DQUOTE] = ACTIONS(912), + [anon_sym_DQUOTE] = ACTIONS(912), + [sym_true] = ACTIONS(910), + [sym_false] = ACTIONS(910), + [sym_null] = ACTIONS(910), + [sym_comment] = ACTIONS(3), + }, + [225] = { + [ts_builtin_sym_end] = ACTIONS(908), + [sym_identifier] = ACTIONS(906), + [aux_sym_preproc_include_token1] = ACTIONS(906), + [aux_sym_preproc_def_token1] = ACTIONS(906), + [aux_sym_preproc_if_token1] = ACTIONS(906), + [aux_sym_preproc_ifdef_token1] = ACTIONS(906), + [aux_sym_preproc_ifdef_token2] = ACTIONS(906), + [sym_preproc_directive] = ACTIONS(906), + [anon_sym_LPAREN2] = ACTIONS(908), + [anon_sym_BANG] = ACTIONS(908), + [anon_sym_TILDE] = ACTIONS(908), + [anon_sym_DASH] = ACTIONS(906), + [anon_sym_PLUS] = ACTIONS(906), + [anon_sym_STAR] = ACTIONS(908), + [anon_sym_AMP] = ACTIONS(908), + [anon_sym_SEMI] = ACTIONS(908), + [anon_sym_typedef] = ACTIONS(906), + [anon_sym_extern] = ACTIONS(906), + [anon_sym___attribute__] = ACTIONS(906), + [anon_sym_LBRACK_LBRACK] = ACTIONS(908), + [anon_sym___declspec] = ACTIONS(906), + [anon_sym___cdecl] = ACTIONS(906), + [anon_sym___clrcall] = ACTIONS(906), + [anon_sym___stdcall] = ACTIONS(906), + [anon_sym___fastcall] = ACTIONS(906), + [anon_sym___thiscall] = ACTIONS(906), + [anon_sym___vectorcall] = ACTIONS(906), + [anon_sym_LBRACE] = ACTIONS(908), + [anon_sym_static] = ACTIONS(906), + [anon_sym_auto] = ACTIONS(906), + [anon_sym_register] = ACTIONS(906), + [anon_sym_inline] = ACTIONS(906), + [anon_sym_const] = ACTIONS(906), + [anon_sym_volatile] = ACTIONS(906), + [anon_sym_restrict] = ACTIONS(906), + [anon_sym__Atomic] = ACTIONS(906), + [anon_sym_signed] = ACTIONS(906), + [anon_sym_unsigned] = ACTIONS(906), + [anon_sym_long] = ACTIONS(906), + [anon_sym_short] = ACTIONS(906), + [sym_primitive_type] = ACTIONS(906), + [anon_sym_enum] = ACTIONS(906), + [anon_sym_struct] = ACTIONS(906), + [anon_sym_union] = ACTIONS(906), + [anon_sym_if] = ACTIONS(906), + [anon_sym_else] = ACTIONS(906), + [anon_sym_switch] = ACTIONS(906), + [anon_sym_case] = ACTIONS(906), + [anon_sym_default] = ACTIONS(906), + [anon_sym_while] = ACTIONS(906), + [anon_sym_do] = ACTIONS(906), + [anon_sym_for] = ACTIONS(906), + [anon_sym_return] = ACTIONS(906), + [anon_sym_break] = ACTIONS(906), + [anon_sym_continue] = ACTIONS(906), + [anon_sym_goto] = ACTIONS(906), + [anon_sym_DASH_DASH] = ACTIONS(908), + [anon_sym_PLUS_PLUS] = ACTIONS(908), + [anon_sym_sizeof] = ACTIONS(906), + [sym_number_literal] = ACTIONS(908), + [anon_sym_L_SQUOTE] = ACTIONS(908), + [anon_sym_u_SQUOTE] = ACTIONS(908), + [anon_sym_U_SQUOTE] = ACTIONS(908), + [anon_sym_u8_SQUOTE] = ACTIONS(908), + [anon_sym_SQUOTE] = ACTIONS(908), + [anon_sym_L_DQUOTE] = ACTIONS(908), + [anon_sym_u_DQUOTE] = ACTIONS(908), + [anon_sym_U_DQUOTE] = ACTIONS(908), + [anon_sym_u8_DQUOTE] = ACTIONS(908), + [anon_sym_DQUOTE] = ACTIONS(908), + [sym_true] = ACTIONS(906), + [sym_false] = ACTIONS(906), + [sym_null] = ACTIONS(906), + [sym_comment] = ACTIONS(3), + }, + [226] = { + [ts_builtin_sym_end] = ACTIONS(904), + [sym_identifier] = ACTIONS(902), + [aux_sym_preproc_include_token1] = ACTIONS(902), + [aux_sym_preproc_def_token1] = ACTIONS(902), + [aux_sym_preproc_if_token1] = ACTIONS(902), + [aux_sym_preproc_ifdef_token1] = ACTIONS(902), + [aux_sym_preproc_ifdef_token2] = ACTIONS(902), + [sym_preproc_directive] = ACTIONS(902), + [anon_sym_LPAREN2] = ACTIONS(904), + [anon_sym_BANG] = ACTIONS(904), + [anon_sym_TILDE] = ACTIONS(904), + [anon_sym_DASH] = ACTIONS(902), + [anon_sym_PLUS] = ACTIONS(902), + [anon_sym_STAR] = ACTIONS(904), + [anon_sym_AMP] = ACTIONS(904), + [anon_sym_SEMI] = ACTIONS(904), + [anon_sym_typedef] = ACTIONS(902), + [anon_sym_extern] = ACTIONS(902), + [anon_sym___attribute__] = ACTIONS(902), + [anon_sym_LBRACK_LBRACK] = ACTIONS(904), + [anon_sym___declspec] = ACTIONS(902), + [anon_sym___cdecl] = ACTIONS(902), + [anon_sym___clrcall] = ACTIONS(902), + [anon_sym___stdcall] = ACTIONS(902), + [anon_sym___fastcall] = ACTIONS(902), + [anon_sym___thiscall] = ACTIONS(902), + [anon_sym___vectorcall] = ACTIONS(902), + [anon_sym_LBRACE] = ACTIONS(904), + [anon_sym_static] = ACTIONS(902), + [anon_sym_auto] = ACTIONS(902), + [anon_sym_register] = ACTIONS(902), + [anon_sym_inline] = ACTIONS(902), + [anon_sym_const] = ACTIONS(902), + [anon_sym_volatile] = ACTIONS(902), + [anon_sym_restrict] = ACTIONS(902), + [anon_sym__Atomic] = ACTIONS(902), + [anon_sym_signed] = ACTIONS(902), + [anon_sym_unsigned] = ACTIONS(902), + [anon_sym_long] = ACTIONS(902), + [anon_sym_short] = ACTIONS(902), + [sym_primitive_type] = ACTIONS(902), + [anon_sym_enum] = ACTIONS(902), + [anon_sym_struct] = ACTIONS(902), + [anon_sym_union] = ACTIONS(902), + [anon_sym_if] = ACTIONS(902), + [anon_sym_else] = ACTIONS(902), + [anon_sym_switch] = ACTIONS(902), + [anon_sym_case] = ACTIONS(902), + [anon_sym_default] = ACTIONS(902), + [anon_sym_while] = ACTIONS(902), + [anon_sym_do] = ACTIONS(902), + [anon_sym_for] = ACTIONS(902), + [anon_sym_return] = ACTIONS(902), + [anon_sym_break] = ACTIONS(902), + [anon_sym_continue] = ACTIONS(902), + [anon_sym_goto] = ACTIONS(902), + [anon_sym_DASH_DASH] = ACTIONS(904), + [anon_sym_PLUS_PLUS] = ACTIONS(904), + [anon_sym_sizeof] = ACTIONS(902), + [sym_number_literal] = ACTIONS(904), + [anon_sym_L_SQUOTE] = ACTIONS(904), + [anon_sym_u_SQUOTE] = ACTIONS(904), + [anon_sym_U_SQUOTE] = ACTIONS(904), + [anon_sym_u8_SQUOTE] = ACTIONS(904), + [anon_sym_SQUOTE] = ACTIONS(904), + [anon_sym_L_DQUOTE] = ACTIONS(904), + [anon_sym_u_DQUOTE] = ACTIONS(904), + [anon_sym_U_DQUOTE] = ACTIONS(904), + [anon_sym_u8_DQUOTE] = ACTIONS(904), + [anon_sym_DQUOTE] = ACTIONS(904), + [sym_true] = ACTIONS(902), + [sym_false] = ACTIONS(902), + [sym_null] = ACTIONS(902), + [sym_comment] = ACTIONS(3), + }, + [227] = { + [ts_builtin_sym_end] = ACTIONS(920), + [sym_identifier] = ACTIONS(918), + [aux_sym_preproc_include_token1] = ACTIONS(918), + [aux_sym_preproc_def_token1] = ACTIONS(918), + [aux_sym_preproc_if_token1] = ACTIONS(918), + [aux_sym_preproc_ifdef_token1] = ACTIONS(918), + [aux_sym_preproc_ifdef_token2] = ACTIONS(918), + [sym_preproc_directive] = ACTIONS(918), + [anon_sym_LPAREN2] = ACTIONS(920), + [anon_sym_BANG] = ACTIONS(920), + [anon_sym_TILDE] = ACTIONS(920), + [anon_sym_DASH] = ACTIONS(918), + [anon_sym_PLUS] = ACTIONS(918), + [anon_sym_STAR] = ACTIONS(920), + [anon_sym_AMP] = ACTIONS(920), + [anon_sym_SEMI] = ACTIONS(920), + [anon_sym_typedef] = ACTIONS(918), + [anon_sym_extern] = ACTIONS(918), + [anon_sym___attribute__] = ACTIONS(918), + [anon_sym_LBRACK_LBRACK] = ACTIONS(920), + [anon_sym___declspec] = ACTIONS(918), + [anon_sym___cdecl] = ACTIONS(918), + [anon_sym___clrcall] = ACTIONS(918), + [anon_sym___stdcall] = ACTIONS(918), + [anon_sym___fastcall] = ACTIONS(918), + [anon_sym___thiscall] = ACTIONS(918), + [anon_sym___vectorcall] = ACTIONS(918), + [anon_sym_LBRACE] = ACTIONS(920), + [anon_sym_static] = ACTIONS(918), + [anon_sym_auto] = ACTIONS(918), + [anon_sym_register] = ACTIONS(918), + [anon_sym_inline] = ACTIONS(918), + [anon_sym_const] = ACTIONS(918), + [anon_sym_volatile] = ACTIONS(918), + [anon_sym_restrict] = ACTIONS(918), + [anon_sym__Atomic] = ACTIONS(918), + [anon_sym_signed] = ACTIONS(918), + [anon_sym_unsigned] = ACTIONS(918), + [anon_sym_long] = ACTIONS(918), + [anon_sym_short] = ACTIONS(918), + [sym_primitive_type] = ACTIONS(918), + [anon_sym_enum] = ACTIONS(918), + [anon_sym_struct] = ACTIONS(918), + [anon_sym_union] = ACTIONS(918), + [anon_sym_if] = ACTIONS(918), + [anon_sym_else] = ACTIONS(1132), + [anon_sym_switch] = ACTIONS(918), + [anon_sym_case] = ACTIONS(918), + [anon_sym_default] = ACTIONS(918), + [anon_sym_while] = ACTIONS(918), + [anon_sym_do] = ACTIONS(918), + [anon_sym_for] = ACTIONS(918), + [anon_sym_return] = ACTIONS(918), + [anon_sym_break] = ACTIONS(918), + [anon_sym_continue] = ACTIONS(918), + [anon_sym_goto] = ACTIONS(918), + [anon_sym_DASH_DASH] = ACTIONS(920), + [anon_sym_PLUS_PLUS] = ACTIONS(920), + [anon_sym_sizeof] = ACTIONS(918), + [sym_number_literal] = ACTIONS(920), + [anon_sym_L_SQUOTE] = ACTIONS(920), + [anon_sym_u_SQUOTE] = ACTIONS(920), + [anon_sym_U_SQUOTE] = ACTIONS(920), + [anon_sym_u8_SQUOTE] = ACTIONS(920), + [anon_sym_SQUOTE] = ACTIONS(920), + [anon_sym_L_DQUOTE] = ACTIONS(920), + [anon_sym_u_DQUOTE] = ACTIONS(920), + [anon_sym_U_DQUOTE] = ACTIONS(920), + [anon_sym_u8_DQUOTE] = ACTIONS(920), + [anon_sym_DQUOTE] = ACTIONS(920), + [sym_true] = ACTIONS(918), + [sym_false] = ACTIONS(918), + [sym_null] = ACTIONS(918), + [sym_comment] = ACTIONS(3), + }, + [228] = { + [ts_builtin_sym_end] = ACTIONS(954), + [sym_identifier] = ACTIONS(952), + [aux_sym_preproc_include_token1] = ACTIONS(952), + [aux_sym_preproc_def_token1] = ACTIONS(952), + [aux_sym_preproc_if_token1] = ACTIONS(952), + [aux_sym_preproc_ifdef_token1] = ACTIONS(952), + [aux_sym_preproc_ifdef_token2] = ACTIONS(952), + [sym_preproc_directive] = ACTIONS(952), + [anon_sym_LPAREN2] = ACTIONS(954), + [anon_sym_BANG] = ACTIONS(954), + [anon_sym_TILDE] = ACTIONS(954), + [anon_sym_DASH] = ACTIONS(952), + [anon_sym_PLUS] = ACTIONS(952), + [anon_sym_STAR] = ACTIONS(954), + [anon_sym_AMP] = ACTIONS(954), + [anon_sym_SEMI] = ACTIONS(954), + [anon_sym_typedef] = ACTIONS(952), + [anon_sym_extern] = ACTIONS(952), + [anon_sym___attribute__] = ACTIONS(952), + [anon_sym_LBRACK_LBRACK] = ACTIONS(954), + [anon_sym___declspec] = ACTIONS(952), + [anon_sym___cdecl] = ACTIONS(952), + [anon_sym___clrcall] = ACTIONS(952), + [anon_sym___stdcall] = ACTIONS(952), + [anon_sym___fastcall] = ACTIONS(952), + [anon_sym___thiscall] = ACTIONS(952), + [anon_sym___vectorcall] = ACTIONS(952), + [anon_sym_LBRACE] = ACTIONS(954), + [anon_sym_static] = ACTIONS(952), + [anon_sym_auto] = ACTIONS(952), + [anon_sym_register] = ACTIONS(952), + [anon_sym_inline] = ACTIONS(952), + [anon_sym_const] = ACTIONS(952), + [anon_sym_volatile] = ACTIONS(952), + [anon_sym_restrict] = ACTIONS(952), + [anon_sym__Atomic] = ACTIONS(952), + [anon_sym_signed] = ACTIONS(952), + [anon_sym_unsigned] = ACTIONS(952), + [anon_sym_long] = ACTIONS(952), + [anon_sym_short] = ACTIONS(952), + [sym_primitive_type] = ACTIONS(952), + [anon_sym_enum] = ACTIONS(952), + [anon_sym_struct] = ACTIONS(952), + [anon_sym_union] = ACTIONS(952), + [anon_sym_if] = ACTIONS(952), + [anon_sym_else] = ACTIONS(952), + [anon_sym_switch] = ACTIONS(952), + [anon_sym_case] = ACTIONS(952), + [anon_sym_default] = ACTIONS(952), + [anon_sym_while] = ACTIONS(952), + [anon_sym_do] = ACTIONS(952), + [anon_sym_for] = ACTIONS(952), + [anon_sym_return] = ACTIONS(952), + [anon_sym_break] = ACTIONS(952), + [anon_sym_continue] = ACTIONS(952), + [anon_sym_goto] = ACTIONS(952), + [anon_sym_DASH_DASH] = ACTIONS(954), + [anon_sym_PLUS_PLUS] = ACTIONS(954), + [anon_sym_sizeof] = ACTIONS(952), + [sym_number_literal] = ACTIONS(954), + [anon_sym_L_SQUOTE] = ACTIONS(954), + [anon_sym_u_SQUOTE] = ACTIONS(954), + [anon_sym_U_SQUOTE] = ACTIONS(954), + [anon_sym_u8_SQUOTE] = ACTIONS(954), + [anon_sym_SQUOTE] = ACTIONS(954), + [anon_sym_L_DQUOTE] = ACTIONS(954), + [anon_sym_u_DQUOTE] = ACTIONS(954), + [anon_sym_U_DQUOTE] = ACTIONS(954), + [anon_sym_u8_DQUOTE] = ACTIONS(954), + [anon_sym_DQUOTE] = ACTIONS(954), + [sym_true] = ACTIONS(952), + [sym_false] = ACTIONS(952), + [sym_null] = ACTIONS(952), + [sym_comment] = ACTIONS(3), + }, + [229] = { + [sym_identifier] = ACTIONS(1008), + [aux_sym_preproc_include_token1] = ACTIONS(1008), + [aux_sym_preproc_def_token1] = ACTIONS(1008), + [aux_sym_preproc_if_token1] = ACTIONS(1008), + [aux_sym_preproc_if_token2] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1008), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1008), + [sym_preproc_directive] = ACTIONS(1008), + [anon_sym_LPAREN2] = ACTIONS(1010), + [anon_sym_BANG] = ACTIONS(1010), + [anon_sym_TILDE] = ACTIONS(1010), + [anon_sym_DASH] = ACTIONS(1008), + [anon_sym_PLUS] = ACTIONS(1008), + [anon_sym_STAR] = ACTIONS(1010), + [anon_sym_AMP] = ACTIONS(1010), + [anon_sym_SEMI] = ACTIONS(1010), + [anon_sym_typedef] = ACTIONS(1008), + [anon_sym_extern] = ACTIONS(1008), + [anon_sym___attribute__] = ACTIONS(1008), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1010), + [anon_sym___declspec] = ACTIONS(1008), + [anon_sym___cdecl] = ACTIONS(1008), + [anon_sym___clrcall] = ACTIONS(1008), + [anon_sym___stdcall] = ACTIONS(1008), + [anon_sym___fastcall] = ACTIONS(1008), + [anon_sym___thiscall] = ACTIONS(1008), + [anon_sym___vectorcall] = ACTIONS(1008), + [anon_sym_LBRACE] = ACTIONS(1010), + [anon_sym_static] = ACTIONS(1008), + [anon_sym_auto] = ACTIONS(1008), + [anon_sym_register] = ACTIONS(1008), + [anon_sym_inline] = ACTIONS(1008), + [anon_sym_const] = ACTIONS(1008), + [anon_sym_volatile] = ACTIONS(1008), + [anon_sym_restrict] = ACTIONS(1008), + [anon_sym__Atomic] = ACTIONS(1008), + [anon_sym_signed] = ACTIONS(1008), + [anon_sym_unsigned] = ACTIONS(1008), + [anon_sym_long] = ACTIONS(1008), + [anon_sym_short] = ACTIONS(1008), + [sym_primitive_type] = ACTIONS(1008), + [anon_sym_enum] = ACTIONS(1008), + [anon_sym_struct] = ACTIONS(1008), + [anon_sym_union] = ACTIONS(1008), + [anon_sym_if] = ACTIONS(1008), + [anon_sym_else] = ACTIONS(1008), + [anon_sym_switch] = ACTIONS(1008), + [anon_sym_case] = ACTIONS(1008), + [anon_sym_default] = ACTIONS(1008), + [anon_sym_while] = ACTIONS(1008), + [anon_sym_do] = ACTIONS(1008), + [anon_sym_for] = ACTIONS(1008), + [anon_sym_return] = ACTIONS(1008), + [anon_sym_break] = ACTIONS(1008), + [anon_sym_continue] = ACTIONS(1008), + [anon_sym_goto] = ACTIONS(1008), + [anon_sym_DASH_DASH] = ACTIONS(1010), + [anon_sym_PLUS_PLUS] = ACTIONS(1010), + [anon_sym_sizeof] = ACTIONS(1008), + [sym_number_literal] = ACTIONS(1010), + [anon_sym_L_SQUOTE] = ACTIONS(1010), + [anon_sym_u_SQUOTE] = ACTIONS(1010), + [anon_sym_U_SQUOTE] = ACTIONS(1010), + [anon_sym_u8_SQUOTE] = ACTIONS(1010), + [anon_sym_SQUOTE] = ACTIONS(1010), + [anon_sym_L_DQUOTE] = ACTIONS(1010), + [anon_sym_u_DQUOTE] = ACTIONS(1010), + [anon_sym_U_DQUOTE] = ACTIONS(1010), + [anon_sym_u8_DQUOTE] = ACTIONS(1010), + [anon_sym_DQUOTE] = ACTIONS(1010), + [sym_true] = ACTIONS(1008), + [sym_false] = ACTIONS(1008), + [sym_null] = ACTIONS(1008), + [sym_comment] = ACTIONS(3), + }, + [230] = { + [sym_identifier] = ACTIONS(1012), + [aux_sym_preproc_include_token1] = ACTIONS(1012), + [aux_sym_preproc_def_token1] = ACTIONS(1012), + [aux_sym_preproc_if_token1] = ACTIONS(1012), + [aux_sym_preproc_if_token2] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1012), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1012), + [sym_preproc_directive] = ACTIONS(1012), + [anon_sym_LPAREN2] = ACTIONS(1014), + [anon_sym_BANG] = ACTIONS(1014), + [anon_sym_TILDE] = ACTIONS(1014), + [anon_sym_DASH] = ACTIONS(1012), + [anon_sym_PLUS] = ACTIONS(1012), + [anon_sym_STAR] = ACTIONS(1014), + [anon_sym_AMP] = ACTIONS(1014), + [anon_sym_SEMI] = ACTIONS(1014), + [anon_sym_typedef] = ACTIONS(1012), + [anon_sym_extern] = ACTIONS(1012), + [anon_sym___attribute__] = ACTIONS(1012), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1014), + [anon_sym___declspec] = ACTIONS(1012), + [anon_sym___cdecl] = ACTIONS(1012), + [anon_sym___clrcall] = ACTIONS(1012), + [anon_sym___stdcall] = ACTIONS(1012), + [anon_sym___fastcall] = ACTIONS(1012), + [anon_sym___thiscall] = ACTIONS(1012), + [anon_sym___vectorcall] = ACTIONS(1012), + [anon_sym_LBRACE] = ACTIONS(1014), + [anon_sym_static] = ACTIONS(1012), + [anon_sym_auto] = ACTIONS(1012), + [anon_sym_register] = ACTIONS(1012), + [anon_sym_inline] = ACTIONS(1012), + [anon_sym_const] = ACTIONS(1012), + [anon_sym_volatile] = ACTIONS(1012), + [anon_sym_restrict] = ACTIONS(1012), + [anon_sym__Atomic] = ACTIONS(1012), + [anon_sym_signed] = ACTIONS(1012), + [anon_sym_unsigned] = ACTIONS(1012), + [anon_sym_long] = ACTIONS(1012), + [anon_sym_short] = ACTIONS(1012), + [sym_primitive_type] = ACTIONS(1012), + [anon_sym_enum] = ACTIONS(1012), + [anon_sym_struct] = ACTIONS(1012), + [anon_sym_union] = ACTIONS(1012), + [anon_sym_if] = ACTIONS(1012), + [anon_sym_else] = ACTIONS(1012), + [anon_sym_switch] = ACTIONS(1012), + [anon_sym_case] = ACTIONS(1012), + [anon_sym_default] = ACTIONS(1012), + [anon_sym_while] = ACTIONS(1012), + [anon_sym_do] = ACTIONS(1012), + [anon_sym_for] = ACTIONS(1012), + [anon_sym_return] = ACTIONS(1012), + [anon_sym_break] = ACTIONS(1012), + [anon_sym_continue] = ACTIONS(1012), + [anon_sym_goto] = ACTIONS(1012), + [anon_sym_DASH_DASH] = ACTIONS(1014), + [anon_sym_PLUS_PLUS] = ACTIONS(1014), + [anon_sym_sizeof] = ACTIONS(1012), + [sym_number_literal] = ACTIONS(1014), + [anon_sym_L_SQUOTE] = ACTIONS(1014), + [anon_sym_u_SQUOTE] = ACTIONS(1014), + [anon_sym_U_SQUOTE] = ACTIONS(1014), + [anon_sym_u8_SQUOTE] = ACTIONS(1014), + [anon_sym_SQUOTE] = ACTIONS(1014), + [anon_sym_L_DQUOTE] = ACTIONS(1014), + [anon_sym_u_DQUOTE] = ACTIONS(1014), + [anon_sym_U_DQUOTE] = ACTIONS(1014), + [anon_sym_u8_DQUOTE] = ACTIONS(1014), + [anon_sym_DQUOTE] = ACTIONS(1014), + [sym_true] = ACTIONS(1012), + [sym_false] = ACTIONS(1012), + [sym_null] = ACTIONS(1012), + [sym_comment] = ACTIONS(3), + }, + [231] = { + [sym_identifier] = ACTIONS(932), + [aux_sym_preproc_include_token1] = ACTIONS(932), + [aux_sym_preproc_def_token1] = ACTIONS(932), + [aux_sym_preproc_if_token1] = ACTIONS(932), + [aux_sym_preproc_if_token2] = ACTIONS(932), + [aux_sym_preproc_ifdef_token1] = ACTIONS(932), + [aux_sym_preproc_ifdef_token2] = ACTIONS(932), + [sym_preproc_directive] = ACTIONS(932), + [anon_sym_LPAREN2] = ACTIONS(934), + [anon_sym_BANG] = ACTIONS(934), + [anon_sym_TILDE] = ACTIONS(934), + [anon_sym_DASH] = ACTIONS(932), + [anon_sym_PLUS] = ACTIONS(932), + [anon_sym_STAR] = ACTIONS(934), + [anon_sym_AMP] = ACTIONS(934), + [anon_sym_SEMI] = ACTIONS(934), + [anon_sym_typedef] = ACTIONS(932), + [anon_sym_extern] = ACTIONS(932), + [anon_sym___attribute__] = ACTIONS(932), + [anon_sym_LBRACK_LBRACK] = ACTIONS(934), + [anon_sym___declspec] = ACTIONS(932), + [anon_sym___cdecl] = ACTIONS(932), + [anon_sym___clrcall] = ACTIONS(932), + [anon_sym___stdcall] = ACTIONS(932), + [anon_sym___fastcall] = ACTIONS(932), + [anon_sym___thiscall] = ACTIONS(932), + [anon_sym___vectorcall] = ACTIONS(932), + [anon_sym_LBRACE] = ACTIONS(934), + [anon_sym_static] = ACTIONS(932), + [anon_sym_auto] = ACTIONS(932), + [anon_sym_register] = ACTIONS(932), + [anon_sym_inline] = ACTIONS(932), + [anon_sym_const] = ACTIONS(932), + [anon_sym_volatile] = ACTIONS(932), + [anon_sym_restrict] = ACTIONS(932), + [anon_sym__Atomic] = ACTIONS(932), + [anon_sym_signed] = ACTIONS(932), + [anon_sym_unsigned] = ACTIONS(932), + [anon_sym_long] = ACTIONS(932), + [anon_sym_short] = ACTIONS(932), + [sym_primitive_type] = ACTIONS(932), + [anon_sym_enum] = ACTIONS(932), + [anon_sym_struct] = ACTIONS(932), + [anon_sym_union] = ACTIONS(932), + [anon_sym_if] = ACTIONS(932), + [anon_sym_else] = ACTIONS(932), + [anon_sym_switch] = ACTIONS(932), + [anon_sym_case] = ACTIONS(932), + [anon_sym_default] = ACTIONS(932), + [anon_sym_while] = ACTIONS(932), + [anon_sym_do] = ACTIONS(932), + [anon_sym_for] = ACTIONS(932), + [anon_sym_return] = ACTIONS(932), + [anon_sym_break] = ACTIONS(932), + [anon_sym_continue] = ACTIONS(932), + [anon_sym_goto] = ACTIONS(932), + [anon_sym_DASH_DASH] = ACTIONS(934), + [anon_sym_PLUS_PLUS] = ACTIONS(934), + [anon_sym_sizeof] = ACTIONS(932), + [sym_number_literal] = ACTIONS(934), + [anon_sym_L_SQUOTE] = ACTIONS(934), + [anon_sym_u_SQUOTE] = ACTIONS(934), + [anon_sym_U_SQUOTE] = ACTIONS(934), + [anon_sym_u8_SQUOTE] = ACTIONS(934), + [anon_sym_SQUOTE] = ACTIONS(934), + [anon_sym_L_DQUOTE] = ACTIONS(934), + [anon_sym_u_DQUOTE] = ACTIONS(934), + [anon_sym_U_DQUOTE] = ACTIONS(934), + [anon_sym_u8_DQUOTE] = ACTIONS(934), + [anon_sym_DQUOTE] = ACTIONS(934), + [sym_true] = ACTIONS(932), + [sym_false] = ACTIONS(932), + [sym_null] = ACTIONS(932), + [sym_comment] = ACTIONS(3), + }, + [232] = { + [sym_identifier] = ACTIONS(1024), + [aux_sym_preproc_include_token1] = ACTIONS(1024), + [aux_sym_preproc_def_token1] = ACTIONS(1024), + [aux_sym_preproc_if_token1] = ACTIONS(1024), + [aux_sym_preproc_if_token2] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1024), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1024), + [sym_preproc_directive] = ACTIONS(1024), + [anon_sym_LPAREN2] = ACTIONS(1026), + [anon_sym_BANG] = ACTIONS(1026), + [anon_sym_TILDE] = ACTIONS(1026), + [anon_sym_DASH] = ACTIONS(1024), + [anon_sym_PLUS] = ACTIONS(1024), + [anon_sym_STAR] = ACTIONS(1026), + [anon_sym_AMP] = ACTIONS(1026), + [anon_sym_SEMI] = ACTIONS(1026), + [anon_sym_typedef] = ACTIONS(1024), + [anon_sym_extern] = ACTIONS(1024), + [anon_sym___attribute__] = ACTIONS(1024), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1026), + [anon_sym___declspec] = ACTIONS(1024), + [anon_sym___cdecl] = ACTIONS(1024), + [anon_sym___clrcall] = ACTIONS(1024), + [anon_sym___stdcall] = ACTIONS(1024), + [anon_sym___fastcall] = ACTIONS(1024), + [anon_sym___thiscall] = ACTIONS(1024), + [anon_sym___vectorcall] = ACTIONS(1024), + [anon_sym_LBRACE] = ACTIONS(1026), + [anon_sym_static] = ACTIONS(1024), + [anon_sym_auto] = ACTIONS(1024), + [anon_sym_register] = ACTIONS(1024), + [anon_sym_inline] = ACTIONS(1024), + [anon_sym_const] = ACTIONS(1024), + [anon_sym_volatile] = ACTIONS(1024), + [anon_sym_restrict] = ACTIONS(1024), + [anon_sym__Atomic] = ACTIONS(1024), + [anon_sym_signed] = ACTIONS(1024), + [anon_sym_unsigned] = ACTIONS(1024), + [anon_sym_long] = ACTIONS(1024), + [anon_sym_short] = ACTIONS(1024), + [sym_primitive_type] = ACTIONS(1024), + [anon_sym_enum] = ACTIONS(1024), + [anon_sym_struct] = ACTIONS(1024), + [anon_sym_union] = ACTIONS(1024), + [anon_sym_if] = ACTIONS(1024), + [anon_sym_else] = ACTIONS(1024), + [anon_sym_switch] = ACTIONS(1024), + [anon_sym_case] = ACTIONS(1024), + [anon_sym_default] = ACTIONS(1024), + [anon_sym_while] = ACTIONS(1024), + [anon_sym_do] = ACTIONS(1024), + [anon_sym_for] = ACTIONS(1024), + [anon_sym_return] = ACTIONS(1024), + [anon_sym_break] = ACTIONS(1024), + [anon_sym_continue] = ACTIONS(1024), + [anon_sym_goto] = ACTIONS(1024), + [anon_sym_DASH_DASH] = ACTIONS(1026), + [anon_sym_PLUS_PLUS] = ACTIONS(1026), + [anon_sym_sizeof] = ACTIONS(1024), + [sym_number_literal] = ACTIONS(1026), + [anon_sym_L_SQUOTE] = ACTIONS(1026), + [anon_sym_u_SQUOTE] = ACTIONS(1026), + [anon_sym_U_SQUOTE] = ACTIONS(1026), + [anon_sym_u8_SQUOTE] = ACTIONS(1026), + [anon_sym_SQUOTE] = ACTIONS(1026), + [anon_sym_L_DQUOTE] = ACTIONS(1026), + [anon_sym_u_DQUOTE] = ACTIONS(1026), + [anon_sym_U_DQUOTE] = ACTIONS(1026), + [anon_sym_u8_DQUOTE] = ACTIONS(1026), + [anon_sym_DQUOTE] = ACTIONS(1026), + [sym_true] = ACTIONS(1024), + [sym_false] = ACTIONS(1024), + [sym_null] = ACTIONS(1024), + [sym_comment] = ACTIONS(3), + }, + [233] = { + [ts_builtin_sym_end] = ACTIONS(900), + [sym_identifier] = ACTIONS(898), + [aux_sym_preproc_include_token1] = ACTIONS(898), + [aux_sym_preproc_def_token1] = ACTIONS(898), + [aux_sym_preproc_if_token1] = ACTIONS(898), + [aux_sym_preproc_ifdef_token1] = ACTIONS(898), + [aux_sym_preproc_ifdef_token2] = ACTIONS(898), + [sym_preproc_directive] = ACTIONS(898), + [anon_sym_LPAREN2] = ACTIONS(900), + [anon_sym_BANG] = ACTIONS(900), + [anon_sym_TILDE] = ACTIONS(900), + [anon_sym_DASH] = ACTIONS(898), + [anon_sym_PLUS] = ACTIONS(898), + [anon_sym_STAR] = ACTIONS(900), + [anon_sym_AMP] = ACTIONS(900), + [anon_sym_SEMI] = ACTIONS(900), + [anon_sym_typedef] = ACTIONS(898), + [anon_sym_extern] = ACTIONS(898), + [anon_sym___attribute__] = ACTIONS(898), + [anon_sym_LBRACK_LBRACK] = ACTIONS(900), + [anon_sym___declspec] = ACTIONS(898), + [anon_sym___cdecl] = ACTIONS(898), + [anon_sym___clrcall] = ACTIONS(898), + [anon_sym___stdcall] = ACTIONS(898), + [anon_sym___fastcall] = ACTIONS(898), + [anon_sym___thiscall] = ACTIONS(898), + [anon_sym___vectorcall] = ACTIONS(898), + [anon_sym_LBRACE] = ACTIONS(900), + [anon_sym_static] = ACTIONS(898), + [anon_sym_auto] = ACTIONS(898), + [anon_sym_register] = ACTIONS(898), + [anon_sym_inline] = ACTIONS(898), + [anon_sym_const] = ACTIONS(898), + [anon_sym_volatile] = ACTIONS(898), + [anon_sym_restrict] = ACTIONS(898), + [anon_sym__Atomic] = ACTIONS(898), + [anon_sym_signed] = ACTIONS(898), + [anon_sym_unsigned] = ACTIONS(898), + [anon_sym_long] = ACTIONS(898), + [anon_sym_short] = ACTIONS(898), + [sym_primitive_type] = ACTIONS(898), + [anon_sym_enum] = ACTIONS(898), + [anon_sym_struct] = ACTIONS(898), + [anon_sym_union] = ACTIONS(898), + [anon_sym_if] = ACTIONS(898), + [anon_sym_else] = ACTIONS(898), + [anon_sym_switch] = ACTIONS(898), + [anon_sym_case] = ACTIONS(898), + [anon_sym_default] = ACTIONS(898), + [anon_sym_while] = ACTIONS(898), + [anon_sym_do] = ACTIONS(898), + [anon_sym_for] = ACTIONS(898), + [anon_sym_return] = ACTIONS(898), + [anon_sym_break] = ACTIONS(898), + [anon_sym_continue] = ACTIONS(898), + [anon_sym_goto] = ACTIONS(898), + [anon_sym_DASH_DASH] = ACTIONS(900), + [anon_sym_PLUS_PLUS] = ACTIONS(900), + [anon_sym_sizeof] = ACTIONS(898), + [sym_number_literal] = ACTIONS(900), + [anon_sym_L_SQUOTE] = ACTIONS(900), + [anon_sym_u_SQUOTE] = ACTIONS(900), + [anon_sym_U_SQUOTE] = ACTIONS(900), + [anon_sym_u8_SQUOTE] = ACTIONS(900), + [anon_sym_SQUOTE] = ACTIONS(900), + [anon_sym_L_DQUOTE] = ACTIONS(900), + [anon_sym_u_DQUOTE] = ACTIONS(900), + [anon_sym_U_DQUOTE] = ACTIONS(900), + [anon_sym_u8_DQUOTE] = ACTIONS(900), + [anon_sym_DQUOTE] = ACTIONS(900), + [sym_true] = ACTIONS(898), + [sym_false] = ACTIONS(898), + [sym_null] = ACTIONS(898), + [sym_comment] = ACTIONS(3), + }, + [234] = { + [sym_identifier] = ACTIONS(1020), + [aux_sym_preproc_include_token1] = ACTIONS(1020), + [aux_sym_preproc_def_token1] = ACTIONS(1020), + [aux_sym_preproc_if_token1] = ACTIONS(1020), + [aux_sym_preproc_if_token2] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1020), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1020), + [sym_preproc_directive] = ACTIONS(1020), + [anon_sym_LPAREN2] = ACTIONS(1022), + [anon_sym_BANG] = ACTIONS(1022), + [anon_sym_TILDE] = ACTIONS(1022), + [anon_sym_DASH] = ACTIONS(1020), + [anon_sym_PLUS] = ACTIONS(1020), + [anon_sym_STAR] = ACTIONS(1022), + [anon_sym_AMP] = ACTIONS(1022), + [anon_sym_SEMI] = ACTIONS(1022), + [anon_sym_typedef] = ACTIONS(1020), + [anon_sym_extern] = ACTIONS(1020), + [anon_sym___attribute__] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1022), + [anon_sym___declspec] = ACTIONS(1020), + [anon_sym___cdecl] = ACTIONS(1020), + [anon_sym___clrcall] = ACTIONS(1020), + [anon_sym___stdcall] = ACTIONS(1020), + [anon_sym___fastcall] = ACTIONS(1020), + [anon_sym___thiscall] = ACTIONS(1020), + [anon_sym___vectorcall] = ACTIONS(1020), + [anon_sym_LBRACE] = ACTIONS(1022), + [anon_sym_static] = ACTIONS(1020), + [anon_sym_auto] = ACTIONS(1020), + [anon_sym_register] = ACTIONS(1020), + [anon_sym_inline] = ACTIONS(1020), + [anon_sym_const] = ACTIONS(1020), + [anon_sym_volatile] = ACTIONS(1020), + [anon_sym_restrict] = ACTIONS(1020), + [anon_sym__Atomic] = ACTIONS(1020), + [anon_sym_signed] = ACTIONS(1020), + [anon_sym_unsigned] = ACTIONS(1020), + [anon_sym_long] = ACTIONS(1020), + [anon_sym_short] = ACTIONS(1020), + [sym_primitive_type] = ACTIONS(1020), + [anon_sym_enum] = ACTIONS(1020), + [anon_sym_struct] = ACTIONS(1020), + [anon_sym_union] = ACTIONS(1020), + [anon_sym_if] = ACTIONS(1020), + [anon_sym_else] = ACTIONS(1020), + [anon_sym_switch] = ACTIONS(1020), + [anon_sym_case] = ACTIONS(1020), + [anon_sym_default] = ACTIONS(1020), + [anon_sym_while] = ACTIONS(1020), + [anon_sym_do] = ACTIONS(1020), + [anon_sym_for] = ACTIONS(1020), + [anon_sym_return] = ACTIONS(1020), + [anon_sym_break] = ACTIONS(1020), + [anon_sym_continue] = ACTIONS(1020), + [anon_sym_goto] = ACTIONS(1020), + [anon_sym_DASH_DASH] = ACTIONS(1022), + [anon_sym_PLUS_PLUS] = ACTIONS(1022), + [anon_sym_sizeof] = ACTIONS(1020), + [sym_number_literal] = ACTIONS(1022), + [anon_sym_L_SQUOTE] = ACTIONS(1022), + [anon_sym_u_SQUOTE] = ACTIONS(1022), + [anon_sym_U_SQUOTE] = ACTIONS(1022), + [anon_sym_u8_SQUOTE] = ACTIONS(1022), + [anon_sym_SQUOTE] = ACTIONS(1022), + [anon_sym_L_DQUOTE] = ACTIONS(1022), + [anon_sym_u_DQUOTE] = ACTIONS(1022), + [anon_sym_U_DQUOTE] = ACTIONS(1022), + [anon_sym_u8_DQUOTE] = ACTIONS(1022), + [anon_sym_DQUOTE] = ACTIONS(1022), + [sym_true] = ACTIONS(1020), + [sym_false] = ACTIONS(1020), + [sym_null] = ACTIONS(1020), + [sym_comment] = ACTIONS(3), + }, + [235] = { + [sym_identifier] = ACTIONS(1076), + [aux_sym_preproc_include_token1] = ACTIONS(1076), + [aux_sym_preproc_def_token1] = ACTIONS(1076), + [aux_sym_preproc_if_token1] = ACTIONS(1076), + [aux_sym_preproc_if_token2] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1076), + [sym_preproc_directive] = ACTIONS(1076), + [anon_sym_LPAREN2] = ACTIONS(1078), + [anon_sym_BANG] = ACTIONS(1078), + [anon_sym_TILDE] = ACTIONS(1078), + [anon_sym_DASH] = ACTIONS(1076), + [anon_sym_PLUS] = ACTIONS(1076), + [anon_sym_STAR] = ACTIONS(1078), + [anon_sym_AMP] = ACTIONS(1078), + [anon_sym_SEMI] = ACTIONS(1078), + [anon_sym_typedef] = ACTIONS(1076), + [anon_sym_extern] = ACTIONS(1076), + [anon_sym___attribute__] = ACTIONS(1076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1078), + [anon_sym___declspec] = ACTIONS(1076), + [anon_sym___cdecl] = ACTIONS(1076), + [anon_sym___clrcall] = ACTIONS(1076), + [anon_sym___stdcall] = ACTIONS(1076), + [anon_sym___fastcall] = ACTIONS(1076), + [anon_sym___thiscall] = ACTIONS(1076), + [anon_sym___vectorcall] = ACTIONS(1076), + [anon_sym_LBRACE] = ACTIONS(1078), + [anon_sym_static] = ACTIONS(1076), + [anon_sym_auto] = ACTIONS(1076), + [anon_sym_register] = ACTIONS(1076), + [anon_sym_inline] = ACTIONS(1076), + [anon_sym_const] = ACTIONS(1076), + [anon_sym_volatile] = ACTIONS(1076), + [anon_sym_restrict] = ACTIONS(1076), + [anon_sym__Atomic] = ACTIONS(1076), + [anon_sym_signed] = ACTIONS(1076), + [anon_sym_unsigned] = ACTIONS(1076), + [anon_sym_long] = ACTIONS(1076), + [anon_sym_short] = ACTIONS(1076), + [sym_primitive_type] = ACTIONS(1076), + [anon_sym_enum] = ACTIONS(1076), + [anon_sym_struct] = ACTIONS(1076), + [anon_sym_union] = ACTIONS(1076), + [anon_sym_if] = ACTIONS(1076), + [anon_sym_switch] = ACTIONS(1076), + [anon_sym_case] = ACTIONS(1076), + [anon_sym_default] = ACTIONS(1076), + [anon_sym_while] = ACTIONS(1076), + [anon_sym_do] = ACTIONS(1076), + [anon_sym_for] = ACTIONS(1076), + [anon_sym_return] = ACTIONS(1076), + [anon_sym_break] = ACTIONS(1076), + [anon_sym_continue] = ACTIONS(1076), + [anon_sym_goto] = ACTIONS(1076), + [anon_sym_DASH_DASH] = ACTIONS(1078), + [anon_sym_PLUS_PLUS] = ACTIONS(1078), + [anon_sym_sizeof] = ACTIONS(1076), + [sym_number_literal] = ACTIONS(1078), + [anon_sym_L_SQUOTE] = ACTIONS(1078), + [anon_sym_u_SQUOTE] = ACTIONS(1078), + [anon_sym_U_SQUOTE] = ACTIONS(1078), + [anon_sym_u8_SQUOTE] = ACTIONS(1078), + [anon_sym_SQUOTE] = ACTIONS(1078), + [anon_sym_L_DQUOTE] = ACTIONS(1078), + [anon_sym_u_DQUOTE] = ACTIONS(1078), + [anon_sym_U_DQUOTE] = ACTIONS(1078), + [anon_sym_u8_DQUOTE] = ACTIONS(1078), + [anon_sym_DQUOTE] = ACTIONS(1078), + [sym_true] = ACTIONS(1076), + [sym_false] = ACTIONS(1076), + [sym_null] = ACTIONS(1076), + [sym_comment] = ACTIONS(3), + }, + [236] = { + [sym_identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token2] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [sym_number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [sym_null] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + }, + [237] = { + [ts_builtin_sym_end] = ACTIONS(1086), + [sym_identifier] = ACTIONS(1084), + [aux_sym_preproc_include_token1] = ACTIONS(1084), + [aux_sym_preproc_def_token1] = ACTIONS(1084), + [aux_sym_preproc_if_token1] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1084), + [sym_preproc_directive] = ACTIONS(1084), + [anon_sym_LPAREN2] = ACTIONS(1086), + [anon_sym_BANG] = ACTIONS(1086), + [anon_sym_TILDE] = ACTIONS(1086), + [anon_sym_DASH] = ACTIONS(1084), + [anon_sym_PLUS] = ACTIONS(1084), + [anon_sym_STAR] = ACTIONS(1086), + [anon_sym_AMP] = ACTIONS(1086), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym_typedef] = ACTIONS(1084), + [anon_sym_extern] = ACTIONS(1084), + [anon_sym___attribute__] = ACTIONS(1084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1086), + [anon_sym___declspec] = ACTIONS(1084), + [anon_sym___cdecl] = ACTIONS(1084), + [anon_sym___clrcall] = ACTIONS(1084), + [anon_sym___stdcall] = ACTIONS(1084), + [anon_sym___fastcall] = ACTIONS(1084), + [anon_sym___thiscall] = ACTIONS(1084), + [anon_sym___vectorcall] = ACTIONS(1084), + [anon_sym_LBRACE] = ACTIONS(1086), + [anon_sym_static] = ACTIONS(1084), + [anon_sym_auto] = ACTIONS(1084), + [anon_sym_register] = ACTIONS(1084), + [anon_sym_inline] = ACTIONS(1084), + [anon_sym_const] = ACTIONS(1084), + [anon_sym_volatile] = ACTIONS(1084), + [anon_sym_restrict] = ACTIONS(1084), + [anon_sym__Atomic] = ACTIONS(1084), + [anon_sym_signed] = ACTIONS(1084), + [anon_sym_unsigned] = ACTIONS(1084), + [anon_sym_long] = ACTIONS(1084), + [anon_sym_short] = ACTIONS(1084), + [sym_primitive_type] = ACTIONS(1084), + [anon_sym_enum] = ACTIONS(1084), + [anon_sym_struct] = ACTIONS(1084), + [anon_sym_union] = ACTIONS(1084), + [anon_sym_if] = ACTIONS(1084), + [anon_sym_switch] = ACTIONS(1084), + [anon_sym_case] = ACTIONS(1084), + [anon_sym_default] = ACTIONS(1084), + [anon_sym_while] = ACTIONS(1084), + [anon_sym_do] = ACTIONS(1084), + [anon_sym_for] = ACTIONS(1084), + [anon_sym_return] = ACTIONS(1084), + [anon_sym_break] = ACTIONS(1084), + [anon_sym_continue] = ACTIONS(1084), + [anon_sym_goto] = ACTIONS(1084), + [anon_sym_DASH_DASH] = ACTIONS(1086), + [anon_sym_PLUS_PLUS] = ACTIONS(1086), + [anon_sym_sizeof] = ACTIONS(1084), + [sym_number_literal] = ACTIONS(1086), + [anon_sym_L_SQUOTE] = ACTIONS(1086), + [anon_sym_u_SQUOTE] = ACTIONS(1086), + [anon_sym_U_SQUOTE] = ACTIONS(1086), + [anon_sym_u8_SQUOTE] = ACTIONS(1086), + [anon_sym_SQUOTE] = ACTIONS(1086), + [anon_sym_L_DQUOTE] = ACTIONS(1086), + [anon_sym_u_DQUOTE] = ACTIONS(1086), + [anon_sym_U_DQUOTE] = ACTIONS(1086), + [anon_sym_u8_DQUOTE] = ACTIONS(1086), + [anon_sym_DQUOTE] = ACTIONS(1086), + [sym_true] = ACTIONS(1084), + [sym_false] = ACTIONS(1084), + [sym_null] = ACTIONS(1084), + [sym_comment] = ACTIONS(3), + }, + [238] = { + [sym_identifier] = ACTIONS(1032), + [aux_sym_preproc_include_token1] = ACTIONS(1032), + [aux_sym_preproc_def_token1] = ACTIONS(1032), + [aux_sym_preproc_if_token1] = ACTIONS(1032), + [aux_sym_preproc_if_token2] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1032), + [sym_preproc_directive] = ACTIONS(1032), + [anon_sym_LPAREN2] = ACTIONS(1034), + [anon_sym_BANG] = ACTIONS(1034), + [anon_sym_TILDE] = ACTIONS(1034), + [anon_sym_DASH] = ACTIONS(1032), + [anon_sym_PLUS] = ACTIONS(1032), + [anon_sym_STAR] = ACTIONS(1034), + [anon_sym_AMP] = ACTIONS(1034), + [anon_sym_SEMI] = ACTIONS(1034), + [anon_sym_typedef] = ACTIONS(1032), + [anon_sym_extern] = ACTIONS(1032), + [anon_sym___attribute__] = ACTIONS(1032), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1034), + [anon_sym___declspec] = ACTIONS(1032), + [anon_sym___cdecl] = ACTIONS(1032), + [anon_sym___clrcall] = ACTIONS(1032), + [anon_sym___stdcall] = ACTIONS(1032), + [anon_sym___fastcall] = ACTIONS(1032), + [anon_sym___thiscall] = ACTIONS(1032), + [anon_sym___vectorcall] = ACTIONS(1032), + [anon_sym_LBRACE] = ACTIONS(1034), + [anon_sym_static] = ACTIONS(1032), + [anon_sym_auto] = ACTIONS(1032), + [anon_sym_register] = ACTIONS(1032), + [anon_sym_inline] = ACTIONS(1032), + [anon_sym_const] = ACTIONS(1032), + [anon_sym_volatile] = ACTIONS(1032), + [anon_sym_restrict] = ACTIONS(1032), + [anon_sym__Atomic] = ACTIONS(1032), + [anon_sym_signed] = ACTIONS(1032), + [anon_sym_unsigned] = ACTIONS(1032), + [anon_sym_long] = ACTIONS(1032), + [anon_sym_short] = ACTIONS(1032), + [sym_primitive_type] = ACTIONS(1032), + [anon_sym_enum] = ACTIONS(1032), + [anon_sym_struct] = ACTIONS(1032), + [anon_sym_union] = ACTIONS(1032), + [anon_sym_if] = ACTIONS(1032), + [anon_sym_switch] = ACTIONS(1032), + [anon_sym_case] = ACTIONS(1032), + [anon_sym_default] = ACTIONS(1032), + [anon_sym_while] = ACTIONS(1032), + [anon_sym_do] = ACTIONS(1032), + [anon_sym_for] = ACTIONS(1032), + [anon_sym_return] = ACTIONS(1032), + [anon_sym_break] = ACTIONS(1032), + [anon_sym_continue] = ACTIONS(1032), + [anon_sym_goto] = ACTIONS(1032), + [anon_sym_DASH_DASH] = ACTIONS(1034), + [anon_sym_PLUS_PLUS] = ACTIONS(1034), + [anon_sym_sizeof] = ACTIONS(1032), + [sym_number_literal] = ACTIONS(1034), + [anon_sym_L_SQUOTE] = ACTIONS(1034), + [anon_sym_u_SQUOTE] = ACTIONS(1034), + [anon_sym_U_SQUOTE] = ACTIONS(1034), + [anon_sym_u8_SQUOTE] = ACTIONS(1034), + [anon_sym_SQUOTE] = ACTIONS(1034), + [anon_sym_L_DQUOTE] = ACTIONS(1034), + [anon_sym_u_DQUOTE] = ACTIONS(1034), + [anon_sym_U_DQUOTE] = ACTIONS(1034), + [anon_sym_u8_DQUOTE] = ACTIONS(1034), + [anon_sym_DQUOTE] = ACTIONS(1034), + [sym_true] = ACTIONS(1032), + [sym_false] = ACTIONS(1032), + [sym_null] = ACTIONS(1032), + [sym_comment] = ACTIONS(3), + }, + [239] = { + [ts_builtin_sym_end] = ACTIONS(1126), + [sym_identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [sym_number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [sym_null] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + }, + [240] = { + [ts_builtin_sym_end] = ACTIONS(1042), + [sym_identifier] = ACTIONS(1040), + [aux_sym_preproc_include_token1] = ACTIONS(1040), + [aux_sym_preproc_def_token1] = ACTIONS(1040), + [aux_sym_preproc_if_token1] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1040), + [sym_preproc_directive] = ACTIONS(1040), + [anon_sym_LPAREN2] = ACTIONS(1042), + [anon_sym_BANG] = ACTIONS(1042), + [anon_sym_TILDE] = ACTIONS(1042), + [anon_sym_DASH] = ACTIONS(1040), + [anon_sym_PLUS] = ACTIONS(1040), + [anon_sym_STAR] = ACTIONS(1042), + [anon_sym_AMP] = ACTIONS(1042), + [anon_sym_SEMI] = ACTIONS(1042), + [anon_sym_typedef] = ACTIONS(1040), + [anon_sym_extern] = ACTIONS(1040), + [anon_sym___attribute__] = ACTIONS(1040), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1042), + [anon_sym___declspec] = ACTIONS(1040), + [anon_sym___cdecl] = ACTIONS(1040), + [anon_sym___clrcall] = ACTIONS(1040), + [anon_sym___stdcall] = ACTIONS(1040), + [anon_sym___fastcall] = ACTIONS(1040), + [anon_sym___thiscall] = ACTIONS(1040), + [anon_sym___vectorcall] = ACTIONS(1040), + [anon_sym_LBRACE] = ACTIONS(1042), + [anon_sym_static] = ACTIONS(1040), + [anon_sym_auto] = ACTIONS(1040), + [anon_sym_register] = ACTIONS(1040), + [anon_sym_inline] = ACTIONS(1040), + [anon_sym_const] = ACTIONS(1040), + [anon_sym_volatile] = ACTIONS(1040), + [anon_sym_restrict] = ACTIONS(1040), + [anon_sym__Atomic] = ACTIONS(1040), + [anon_sym_signed] = ACTIONS(1040), + [anon_sym_unsigned] = ACTIONS(1040), + [anon_sym_long] = ACTIONS(1040), + [anon_sym_short] = ACTIONS(1040), + [sym_primitive_type] = ACTIONS(1040), + [anon_sym_enum] = ACTIONS(1040), + [anon_sym_struct] = ACTIONS(1040), + [anon_sym_union] = ACTIONS(1040), + [anon_sym_if] = ACTIONS(1040), + [anon_sym_switch] = ACTIONS(1040), + [anon_sym_case] = ACTIONS(1040), + [anon_sym_default] = ACTIONS(1040), + [anon_sym_while] = ACTIONS(1040), + [anon_sym_do] = ACTIONS(1040), + [anon_sym_for] = ACTIONS(1040), + [anon_sym_return] = ACTIONS(1040), + [anon_sym_break] = ACTIONS(1040), + [anon_sym_continue] = ACTIONS(1040), + [anon_sym_goto] = ACTIONS(1040), + [anon_sym_DASH_DASH] = ACTIONS(1042), + [anon_sym_PLUS_PLUS] = ACTIONS(1042), + [anon_sym_sizeof] = ACTIONS(1040), + [sym_number_literal] = ACTIONS(1042), + [anon_sym_L_SQUOTE] = ACTIONS(1042), + [anon_sym_u_SQUOTE] = ACTIONS(1042), + [anon_sym_U_SQUOTE] = ACTIONS(1042), + [anon_sym_u8_SQUOTE] = ACTIONS(1042), + [anon_sym_SQUOTE] = ACTIONS(1042), + [anon_sym_L_DQUOTE] = ACTIONS(1042), + [anon_sym_u_DQUOTE] = ACTIONS(1042), + [anon_sym_U_DQUOTE] = ACTIONS(1042), + [anon_sym_u8_DQUOTE] = ACTIONS(1042), + [anon_sym_DQUOTE] = ACTIONS(1042), + [sym_true] = ACTIONS(1040), + [sym_false] = ACTIONS(1040), + [sym_null] = ACTIONS(1040), + [sym_comment] = ACTIONS(3), + }, + [241] = { + [ts_builtin_sym_end] = ACTIONS(1062), + [sym_identifier] = ACTIONS(1060), + [aux_sym_preproc_include_token1] = ACTIONS(1060), + [aux_sym_preproc_def_token1] = ACTIONS(1060), + [aux_sym_preproc_if_token1] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1060), + [sym_preproc_directive] = ACTIONS(1060), + [anon_sym_LPAREN2] = ACTIONS(1062), + [anon_sym_BANG] = ACTIONS(1062), + [anon_sym_TILDE] = ACTIONS(1062), + [anon_sym_DASH] = ACTIONS(1060), + [anon_sym_PLUS] = ACTIONS(1060), + [anon_sym_STAR] = ACTIONS(1062), + [anon_sym_AMP] = ACTIONS(1062), + [anon_sym_SEMI] = ACTIONS(1062), + [anon_sym_typedef] = ACTIONS(1060), + [anon_sym_extern] = ACTIONS(1060), + [anon_sym___attribute__] = ACTIONS(1060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1062), + [anon_sym___declspec] = ACTIONS(1060), + [anon_sym___cdecl] = ACTIONS(1060), + [anon_sym___clrcall] = ACTIONS(1060), + [anon_sym___stdcall] = ACTIONS(1060), + [anon_sym___fastcall] = ACTIONS(1060), + [anon_sym___thiscall] = ACTIONS(1060), + [anon_sym___vectorcall] = ACTIONS(1060), + [anon_sym_LBRACE] = ACTIONS(1062), + [anon_sym_static] = ACTIONS(1060), + [anon_sym_auto] = ACTIONS(1060), + [anon_sym_register] = ACTIONS(1060), + [anon_sym_inline] = ACTIONS(1060), + [anon_sym_const] = ACTIONS(1060), + [anon_sym_volatile] = ACTIONS(1060), + [anon_sym_restrict] = ACTIONS(1060), + [anon_sym__Atomic] = ACTIONS(1060), + [anon_sym_signed] = ACTIONS(1060), + [anon_sym_unsigned] = ACTIONS(1060), + [anon_sym_long] = ACTIONS(1060), + [anon_sym_short] = ACTIONS(1060), + [sym_primitive_type] = ACTIONS(1060), + [anon_sym_enum] = ACTIONS(1060), + [anon_sym_struct] = ACTIONS(1060), + [anon_sym_union] = ACTIONS(1060), + [anon_sym_if] = ACTIONS(1060), + [anon_sym_switch] = ACTIONS(1060), + [anon_sym_case] = ACTIONS(1060), + [anon_sym_default] = ACTIONS(1060), + [anon_sym_while] = ACTIONS(1060), + [anon_sym_do] = ACTIONS(1060), + [anon_sym_for] = ACTIONS(1060), + [anon_sym_return] = ACTIONS(1060), + [anon_sym_break] = ACTIONS(1060), + [anon_sym_continue] = ACTIONS(1060), + [anon_sym_goto] = ACTIONS(1060), + [anon_sym_DASH_DASH] = ACTIONS(1062), + [anon_sym_PLUS_PLUS] = ACTIONS(1062), + [anon_sym_sizeof] = ACTIONS(1060), + [sym_number_literal] = ACTIONS(1062), + [anon_sym_L_SQUOTE] = ACTIONS(1062), + [anon_sym_u_SQUOTE] = ACTIONS(1062), + [anon_sym_U_SQUOTE] = ACTIONS(1062), + [anon_sym_u8_SQUOTE] = ACTIONS(1062), + [anon_sym_SQUOTE] = ACTIONS(1062), + [anon_sym_L_DQUOTE] = ACTIONS(1062), + [anon_sym_u_DQUOTE] = ACTIONS(1062), + [anon_sym_U_DQUOTE] = ACTIONS(1062), + [anon_sym_u8_DQUOTE] = ACTIONS(1062), + [anon_sym_DQUOTE] = ACTIONS(1062), + [sym_true] = ACTIONS(1060), + [sym_false] = ACTIONS(1060), + [sym_null] = ACTIONS(1060), + [sym_comment] = ACTIONS(3), + }, + [242] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(254), + [sym_labeled_statement] = STATE(254), + [sym_expression_statement] = STATE(254), + [sym_if_statement] = STATE(254), + [sym_switch_statement] = STATE(254), + [sym_case_statement] = STATE(254), + [sym_while_statement] = STATE(254), + [sym_do_statement] = STATE(254), + [sym_for_statement] = STATE(254), + [sym_return_statement] = STATE(254), + [sym_break_statement] = STATE(254), + [sym_continue_statement] = STATE(254), + [sym_goto_statement] = STATE(254), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [243] = { + [ts_builtin_sym_end] = ACTIONS(1054), + [sym_identifier] = ACTIONS(1052), + [aux_sym_preproc_include_token1] = ACTIONS(1052), + [aux_sym_preproc_def_token1] = ACTIONS(1052), + [aux_sym_preproc_if_token1] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1052), + [sym_preproc_directive] = ACTIONS(1052), + [anon_sym_LPAREN2] = ACTIONS(1054), + [anon_sym_BANG] = ACTIONS(1054), + [anon_sym_TILDE] = ACTIONS(1054), + [anon_sym_DASH] = ACTIONS(1052), + [anon_sym_PLUS] = ACTIONS(1052), + [anon_sym_STAR] = ACTIONS(1054), + [anon_sym_AMP] = ACTIONS(1054), + [anon_sym_SEMI] = ACTIONS(1054), + [anon_sym_typedef] = ACTIONS(1052), + [anon_sym_extern] = ACTIONS(1052), + [anon_sym___attribute__] = ACTIONS(1052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1054), + [anon_sym___declspec] = ACTIONS(1052), + [anon_sym___cdecl] = ACTIONS(1052), + [anon_sym___clrcall] = ACTIONS(1052), + [anon_sym___stdcall] = ACTIONS(1052), + [anon_sym___fastcall] = ACTIONS(1052), + [anon_sym___thiscall] = ACTIONS(1052), + [anon_sym___vectorcall] = ACTIONS(1052), + [anon_sym_LBRACE] = ACTIONS(1054), + [anon_sym_static] = ACTIONS(1052), + [anon_sym_auto] = ACTIONS(1052), + [anon_sym_register] = ACTIONS(1052), + [anon_sym_inline] = ACTIONS(1052), + [anon_sym_const] = ACTIONS(1052), + [anon_sym_volatile] = ACTIONS(1052), + [anon_sym_restrict] = ACTIONS(1052), + [anon_sym__Atomic] = ACTIONS(1052), + [anon_sym_signed] = ACTIONS(1052), + [anon_sym_unsigned] = ACTIONS(1052), + [anon_sym_long] = ACTIONS(1052), + [anon_sym_short] = ACTIONS(1052), + [sym_primitive_type] = ACTIONS(1052), + [anon_sym_enum] = ACTIONS(1052), + [anon_sym_struct] = ACTIONS(1052), + [anon_sym_union] = ACTIONS(1052), + [anon_sym_if] = ACTIONS(1052), + [anon_sym_switch] = ACTIONS(1052), + [anon_sym_case] = ACTIONS(1052), + [anon_sym_default] = ACTIONS(1052), + [anon_sym_while] = ACTIONS(1052), + [anon_sym_do] = ACTIONS(1052), + [anon_sym_for] = ACTIONS(1052), + [anon_sym_return] = ACTIONS(1052), + [anon_sym_break] = ACTIONS(1052), + [anon_sym_continue] = ACTIONS(1052), + [anon_sym_goto] = ACTIONS(1052), + [anon_sym_DASH_DASH] = ACTIONS(1054), + [anon_sym_PLUS_PLUS] = ACTIONS(1054), + [anon_sym_sizeof] = ACTIONS(1052), + [sym_number_literal] = ACTIONS(1054), + [anon_sym_L_SQUOTE] = ACTIONS(1054), + [anon_sym_u_SQUOTE] = ACTIONS(1054), + [anon_sym_U_SQUOTE] = ACTIONS(1054), + [anon_sym_u8_SQUOTE] = ACTIONS(1054), + [anon_sym_SQUOTE] = ACTIONS(1054), + [anon_sym_L_DQUOTE] = ACTIONS(1054), + [anon_sym_u_DQUOTE] = ACTIONS(1054), + [anon_sym_U_DQUOTE] = ACTIONS(1054), + [anon_sym_u8_DQUOTE] = ACTIONS(1054), + [anon_sym_DQUOTE] = ACTIONS(1054), + [sym_true] = ACTIONS(1052), + [sym_false] = ACTIONS(1052), + [sym_null] = ACTIONS(1052), + [sym_comment] = ACTIONS(3), + }, + [244] = { + [ts_builtin_sym_end] = ACTIONS(1050), + [sym_identifier] = ACTIONS(1048), + [aux_sym_preproc_include_token1] = ACTIONS(1048), + [aux_sym_preproc_def_token1] = ACTIONS(1048), + [aux_sym_preproc_if_token1] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1048), + [sym_preproc_directive] = ACTIONS(1048), + [anon_sym_LPAREN2] = ACTIONS(1050), + [anon_sym_BANG] = ACTIONS(1050), + [anon_sym_TILDE] = ACTIONS(1050), + [anon_sym_DASH] = ACTIONS(1048), + [anon_sym_PLUS] = ACTIONS(1048), + [anon_sym_STAR] = ACTIONS(1050), + [anon_sym_AMP] = ACTIONS(1050), + [anon_sym_SEMI] = ACTIONS(1050), + [anon_sym_typedef] = ACTIONS(1048), + [anon_sym_extern] = ACTIONS(1048), + [anon_sym___attribute__] = ACTIONS(1048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1050), + [anon_sym___declspec] = ACTIONS(1048), + [anon_sym___cdecl] = ACTIONS(1048), + [anon_sym___clrcall] = ACTIONS(1048), + [anon_sym___stdcall] = ACTIONS(1048), + [anon_sym___fastcall] = ACTIONS(1048), + [anon_sym___thiscall] = ACTIONS(1048), + [anon_sym___vectorcall] = ACTIONS(1048), + [anon_sym_LBRACE] = ACTIONS(1050), + [anon_sym_static] = ACTIONS(1048), + [anon_sym_auto] = ACTIONS(1048), + [anon_sym_register] = ACTIONS(1048), + [anon_sym_inline] = ACTIONS(1048), + [anon_sym_const] = ACTIONS(1048), + [anon_sym_volatile] = ACTIONS(1048), + [anon_sym_restrict] = ACTIONS(1048), + [anon_sym__Atomic] = ACTIONS(1048), + [anon_sym_signed] = ACTIONS(1048), + [anon_sym_unsigned] = ACTIONS(1048), + [anon_sym_long] = ACTIONS(1048), + [anon_sym_short] = ACTIONS(1048), + [sym_primitive_type] = ACTIONS(1048), + [anon_sym_enum] = ACTIONS(1048), + [anon_sym_struct] = ACTIONS(1048), + [anon_sym_union] = ACTIONS(1048), + [anon_sym_if] = ACTIONS(1048), + [anon_sym_switch] = ACTIONS(1048), + [anon_sym_case] = ACTIONS(1048), + [anon_sym_default] = ACTIONS(1048), + [anon_sym_while] = ACTIONS(1048), + [anon_sym_do] = ACTIONS(1048), + [anon_sym_for] = ACTIONS(1048), + [anon_sym_return] = ACTIONS(1048), + [anon_sym_break] = ACTIONS(1048), + [anon_sym_continue] = ACTIONS(1048), + [anon_sym_goto] = ACTIONS(1048), + [anon_sym_DASH_DASH] = ACTIONS(1050), + [anon_sym_PLUS_PLUS] = ACTIONS(1050), + [anon_sym_sizeof] = ACTIONS(1048), + [sym_number_literal] = ACTIONS(1050), + [anon_sym_L_SQUOTE] = ACTIONS(1050), + [anon_sym_u_SQUOTE] = ACTIONS(1050), + [anon_sym_U_SQUOTE] = ACTIONS(1050), + [anon_sym_u8_SQUOTE] = ACTIONS(1050), + [anon_sym_SQUOTE] = ACTIONS(1050), + [anon_sym_L_DQUOTE] = ACTIONS(1050), + [anon_sym_u_DQUOTE] = ACTIONS(1050), + [anon_sym_U_DQUOTE] = ACTIONS(1050), + [anon_sym_u8_DQUOTE] = ACTIONS(1050), + [anon_sym_DQUOTE] = ACTIONS(1050), + [sym_true] = ACTIONS(1048), + [sym_false] = ACTIONS(1048), + [sym_null] = ACTIONS(1048), + [sym_comment] = ACTIONS(3), + }, + [245] = { + [ts_builtin_sym_end] = ACTIONS(1046), + [sym_identifier] = ACTIONS(1044), + [aux_sym_preproc_include_token1] = ACTIONS(1044), + [aux_sym_preproc_def_token1] = ACTIONS(1044), + [aux_sym_preproc_if_token1] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1044), + [sym_preproc_directive] = ACTIONS(1044), + [anon_sym_LPAREN2] = ACTIONS(1046), + [anon_sym_BANG] = ACTIONS(1046), + [anon_sym_TILDE] = ACTIONS(1046), + [anon_sym_DASH] = ACTIONS(1044), + [anon_sym_PLUS] = ACTIONS(1044), + [anon_sym_STAR] = ACTIONS(1046), + [anon_sym_AMP] = ACTIONS(1046), + [anon_sym_SEMI] = ACTIONS(1046), + [anon_sym_typedef] = ACTIONS(1044), + [anon_sym_extern] = ACTIONS(1044), + [anon_sym___attribute__] = ACTIONS(1044), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1046), + [anon_sym___declspec] = ACTIONS(1044), + [anon_sym___cdecl] = ACTIONS(1044), + [anon_sym___clrcall] = ACTIONS(1044), + [anon_sym___stdcall] = ACTIONS(1044), + [anon_sym___fastcall] = ACTIONS(1044), + [anon_sym___thiscall] = ACTIONS(1044), + [anon_sym___vectorcall] = ACTIONS(1044), + [anon_sym_LBRACE] = ACTIONS(1046), + [anon_sym_static] = ACTIONS(1044), + [anon_sym_auto] = ACTIONS(1044), + [anon_sym_register] = ACTIONS(1044), + [anon_sym_inline] = ACTIONS(1044), + [anon_sym_const] = ACTIONS(1044), + [anon_sym_volatile] = ACTIONS(1044), + [anon_sym_restrict] = ACTIONS(1044), + [anon_sym__Atomic] = ACTIONS(1044), + [anon_sym_signed] = ACTIONS(1044), + [anon_sym_unsigned] = ACTIONS(1044), + [anon_sym_long] = ACTIONS(1044), + [anon_sym_short] = ACTIONS(1044), + [sym_primitive_type] = ACTIONS(1044), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_struct] = ACTIONS(1044), + [anon_sym_union] = ACTIONS(1044), + [anon_sym_if] = ACTIONS(1044), + [anon_sym_switch] = ACTIONS(1044), + [anon_sym_case] = ACTIONS(1044), + [anon_sym_default] = ACTIONS(1044), + [anon_sym_while] = ACTIONS(1044), + [anon_sym_do] = ACTIONS(1044), + [anon_sym_for] = ACTIONS(1044), + [anon_sym_return] = ACTIONS(1044), + [anon_sym_break] = ACTIONS(1044), + [anon_sym_continue] = ACTIONS(1044), + [anon_sym_goto] = ACTIONS(1044), + [anon_sym_DASH_DASH] = ACTIONS(1046), + [anon_sym_PLUS_PLUS] = ACTIONS(1046), + [anon_sym_sizeof] = ACTIONS(1044), + [sym_number_literal] = ACTIONS(1046), + [anon_sym_L_SQUOTE] = ACTIONS(1046), + [anon_sym_u_SQUOTE] = ACTIONS(1046), + [anon_sym_U_SQUOTE] = ACTIONS(1046), + [anon_sym_u8_SQUOTE] = ACTIONS(1046), + [anon_sym_SQUOTE] = ACTIONS(1046), + [anon_sym_L_DQUOTE] = ACTIONS(1046), + [anon_sym_u_DQUOTE] = ACTIONS(1046), + [anon_sym_U_DQUOTE] = ACTIONS(1046), + [anon_sym_u8_DQUOTE] = ACTIONS(1046), + [anon_sym_DQUOTE] = ACTIONS(1046), + [sym_true] = ACTIONS(1044), + [sym_false] = ACTIONS(1044), + [sym_null] = ACTIONS(1044), + [sym_comment] = ACTIONS(3), + }, + [246] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(249), + [sym_labeled_statement] = STATE(249), + [sym_expression_statement] = STATE(249), + [sym_if_statement] = STATE(249), + [sym_switch_statement] = STATE(249), + [sym_case_statement] = STATE(249), + [sym_while_statement] = STATE(249), + [sym_do_statement] = STATE(249), + [sym_for_statement] = STATE(249), + [sym_return_statement] = STATE(249), + [sym_break_statement] = STATE(249), + [sym_continue_statement] = STATE(249), + [sym_goto_statement] = STATE(249), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [247] = { + [ts_builtin_sym_end] = ACTIONS(1038), + [sym_identifier] = ACTIONS(1036), + [aux_sym_preproc_include_token1] = ACTIONS(1036), + [aux_sym_preproc_def_token1] = ACTIONS(1036), + [aux_sym_preproc_if_token1] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1036), + [sym_preproc_directive] = ACTIONS(1036), + [anon_sym_LPAREN2] = ACTIONS(1038), + [anon_sym_BANG] = ACTIONS(1038), + [anon_sym_TILDE] = ACTIONS(1038), + [anon_sym_DASH] = ACTIONS(1036), + [anon_sym_PLUS] = ACTIONS(1036), + [anon_sym_STAR] = ACTIONS(1038), + [anon_sym_AMP] = ACTIONS(1038), + [anon_sym_SEMI] = ACTIONS(1038), + [anon_sym_typedef] = ACTIONS(1036), + [anon_sym_extern] = ACTIONS(1036), + [anon_sym___attribute__] = ACTIONS(1036), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1038), + [anon_sym___declspec] = ACTIONS(1036), + [anon_sym___cdecl] = ACTIONS(1036), + [anon_sym___clrcall] = ACTIONS(1036), + [anon_sym___stdcall] = ACTIONS(1036), + [anon_sym___fastcall] = ACTIONS(1036), + [anon_sym___thiscall] = ACTIONS(1036), + [anon_sym___vectorcall] = ACTIONS(1036), + [anon_sym_LBRACE] = ACTIONS(1038), + [anon_sym_static] = ACTIONS(1036), + [anon_sym_auto] = ACTIONS(1036), + [anon_sym_register] = ACTIONS(1036), + [anon_sym_inline] = ACTIONS(1036), + [anon_sym_const] = ACTIONS(1036), + [anon_sym_volatile] = ACTIONS(1036), + [anon_sym_restrict] = ACTIONS(1036), + [anon_sym__Atomic] = ACTIONS(1036), + [anon_sym_signed] = ACTIONS(1036), + [anon_sym_unsigned] = ACTIONS(1036), + [anon_sym_long] = ACTIONS(1036), + [anon_sym_short] = ACTIONS(1036), + [sym_primitive_type] = ACTIONS(1036), + [anon_sym_enum] = ACTIONS(1036), + [anon_sym_struct] = ACTIONS(1036), + [anon_sym_union] = ACTIONS(1036), + [anon_sym_if] = ACTIONS(1036), + [anon_sym_switch] = ACTIONS(1036), + [anon_sym_case] = ACTIONS(1036), + [anon_sym_default] = ACTIONS(1036), + [anon_sym_while] = ACTIONS(1036), + [anon_sym_do] = ACTIONS(1036), + [anon_sym_for] = ACTIONS(1036), + [anon_sym_return] = ACTIONS(1036), + [anon_sym_break] = ACTIONS(1036), + [anon_sym_continue] = ACTIONS(1036), + [anon_sym_goto] = ACTIONS(1036), + [anon_sym_DASH_DASH] = ACTIONS(1038), + [anon_sym_PLUS_PLUS] = ACTIONS(1038), + [anon_sym_sizeof] = ACTIONS(1036), + [sym_number_literal] = ACTIONS(1038), + [anon_sym_L_SQUOTE] = ACTIONS(1038), + [anon_sym_u_SQUOTE] = ACTIONS(1038), + [anon_sym_U_SQUOTE] = ACTIONS(1038), + [anon_sym_u8_SQUOTE] = ACTIONS(1038), + [anon_sym_SQUOTE] = ACTIONS(1038), + [anon_sym_L_DQUOTE] = ACTIONS(1038), + [anon_sym_u_DQUOTE] = ACTIONS(1038), + [anon_sym_U_DQUOTE] = ACTIONS(1038), + [anon_sym_u8_DQUOTE] = ACTIONS(1038), + [anon_sym_DQUOTE] = ACTIONS(1038), + [sym_true] = ACTIONS(1036), + [sym_false] = ACTIONS(1036), + [sym_null] = ACTIONS(1036), + [sym_comment] = ACTIONS(3), + }, + [248] = { + [ts_builtin_sym_end] = ACTIONS(1122), + [sym_identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [sym_number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [sym_null] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + }, + [249] = { + [sym_identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token2] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [sym_number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [sym_null] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + }, + [250] = { + [sym_identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token2] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [sym_number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [sym_null] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + }, + [251] = { + [sym_identifier] = ACTIONS(1028), + [aux_sym_preproc_include_token1] = ACTIONS(1028), + [aux_sym_preproc_def_token1] = ACTIONS(1028), + [aux_sym_preproc_if_token1] = ACTIONS(1028), + [aux_sym_preproc_if_token2] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1028), + [sym_preproc_directive] = ACTIONS(1028), + [anon_sym_LPAREN2] = ACTIONS(1030), + [anon_sym_BANG] = ACTIONS(1030), + [anon_sym_TILDE] = ACTIONS(1030), + [anon_sym_DASH] = ACTIONS(1028), + [anon_sym_PLUS] = ACTIONS(1028), + [anon_sym_STAR] = ACTIONS(1030), + [anon_sym_AMP] = ACTIONS(1030), + [anon_sym_SEMI] = ACTIONS(1030), + [anon_sym_typedef] = ACTIONS(1028), + [anon_sym_extern] = ACTIONS(1028), + [anon_sym___attribute__] = ACTIONS(1028), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1030), + [anon_sym___declspec] = ACTIONS(1028), + [anon_sym___cdecl] = ACTIONS(1028), + [anon_sym___clrcall] = ACTIONS(1028), + [anon_sym___stdcall] = ACTIONS(1028), + [anon_sym___fastcall] = ACTIONS(1028), + [anon_sym___thiscall] = ACTIONS(1028), + [anon_sym___vectorcall] = ACTIONS(1028), + [anon_sym_LBRACE] = ACTIONS(1030), + [anon_sym_static] = ACTIONS(1028), + [anon_sym_auto] = ACTIONS(1028), + [anon_sym_register] = ACTIONS(1028), + [anon_sym_inline] = ACTIONS(1028), + [anon_sym_const] = ACTIONS(1028), + [anon_sym_volatile] = ACTIONS(1028), + [anon_sym_restrict] = ACTIONS(1028), + [anon_sym__Atomic] = ACTIONS(1028), + [anon_sym_signed] = ACTIONS(1028), + [anon_sym_unsigned] = ACTIONS(1028), + [anon_sym_long] = ACTIONS(1028), + [anon_sym_short] = ACTIONS(1028), + [sym_primitive_type] = ACTIONS(1028), + [anon_sym_enum] = ACTIONS(1028), + [anon_sym_struct] = ACTIONS(1028), + [anon_sym_union] = ACTIONS(1028), + [anon_sym_if] = ACTIONS(1028), + [anon_sym_switch] = ACTIONS(1028), + [anon_sym_case] = ACTIONS(1028), + [anon_sym_default] = ACTIONS(1028), + [anon_sym_while] = ACTIONS(1028), + [anon_sym_do] = ACTIONS(1028), + [anon_sym_for] = ACTIONS(1028), + [anon_sym_return] = ACTIONS(1028), + [anon_sym_break] = ACTIONS(1028), + [anon_sym_continue] = ACTIONS(1028), + [anon_sym_goto] = ACTIONS(1028), + [anon_sym_DASH_DASH] = ACTIONS(1030), + [anon_sym_PLUS_PLUS] = ACTIONS(1030), + [anon_sym_sizeof] = ACTIONS(1028), + [sym_number_literal] = ACTIONS(1030), + [anon_sym_L_SQUOTE] = ACTIONS(1030), + [anon_sym_u_SQUOTE] = ACTIONS(1030), + [anon_sym_U_SQUOTE] = ACTIONS(1030), + [anon_sym_u8_SQUOTE] = ACTIONS(1030), + [anon_sym_SQUOTE] = ACTIONS(1030), + [anon_sym_L_DQUOTE] = ACTIONS(1030), + [anon_sym_u_DQUOTE] = ACTIONS(1030), + [anon_sym_U_DQUOTE] = ACTIONS(1030), + [anon_sym_u8_DQUOTE] = ACTIONS(1030), + [anon_sym_DQUOTE] = ACTIONS(1030), + [sym_true] = ACTIONS(1028), + [sym_false] = ACTIONS(1028), + [sym_null] = ACTIONS(1028), + [sym_comment] = ACTIONS(3), + }, + [252] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(124), + [sym_labeled_statement] = STATE(124), + [sym_expression_statement] = STATE(124), + [sym_if_statement] = STATE(124), + [sym_switch_statement] = STATE(124), + [sym_case_statement] = STATE(124), + [sym_while_statement] = STATE(124), + [sym_do_statement] = STATE(124), + [sym_for_statement] = STATE(124), + [sym_return_statement] = STATE(124), + [sym_break_statement] = STATE(124), + [sym_continue_statement] = STATE(124), + [sym_goto_statement] = STATE(124), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [253] = { + [sym_identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token2] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [sym_number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [sym_null] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + }, + [254] = { + [ts_builtin_sym_end] = ACTIONS(1118), + [sym_identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [sym_number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [sym_null] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + }, + [255] = { + [sym_identifier] = ACTIONS(1044), + [aux_sym_preproc_include_token1] = ACTIONS(1044), + [aux_sym_preproc_def_token1] = ACTIONS(1044), + [aux_sym_preproc_if_token1] = ACTIONS(1044), + [aux_sym_preproc_if_token2] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1044), + [sym_preproc_directive] = ACTIONS(1044), + [anon_sym_LPAREN2] = ACTIONS(1046), + [anon_sym_BANG] = ACTIONS(1046), + [anon_sym_TILDE] = ACTIONS(1046), + [anon_sym_DASH] = ACTIONS(1044), + [anon_sym_PLUS] = ACTIONS(1044), + [anon_sym_STAR] = ACTIONS(1046), + [anon_sym_AMP] = ACTIONS(1046), + [anon_sym_SEMI] = ACTIONS(1046), + [anon_sym_typedef] = ACTIONS(1044), + [anon_sym_extern] = ACTIONS(1044), + [anon_sym___attribute__] = ACTIONS(1044), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1046), + [anon_sym___declspec] = ACTIONS(1044), + [anon_sym___cdecl] = ACTIONS(1044), + [anon_sym___clrcall] = ACTIONS(1044), + [anon_sym___stdcall] = ACTIONS(1044), + [anon_sym___fastcall] = ACTIONS(1044), + [anon_sym___thiscall] = ACTIONS(1044), + [anon_sym___vectorcall] = ACTIONS(1044), + [anon_sym_LBRACE] = ACTIONS(1046), + [anon_sym_static] = ACTIONS(1044), + [anon_sym_auto] = ACTIONS(1044), + [anon_sym_register] = ACTIONS(1044), + [anon_sym_inline] = ACTIONS(1044), + [anon_sym_const] = ACTIONS(1044), + [anon_sym_volatile] = ACTIONS(1044), + [anon_sym_restrict] = ACTIONS(1044), + [anon_sym__Atomic] = ACTIONS(1044), + [anon_sym_signed] = ACTIONS(1044), + [anon_sym_unsigned] = ACTIONS(1044), + [anon_sym_long] = ACTIONS(1044), + [anon_sym_short] = ACTIONS(1044), + [sym_primitive_type] = ACTIONS(1044), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_struct] = ACTIONS(1044), + [anon_sym_union] = ACTIONS(1044), + [anon_sym_if] = ACTIONS(1044), + [anon_sym_switch] = ACTIONS(1044), + [anon_sym_case] = ACTIONS(1044), + [anon_sym_default] = ACTIONS(1044), + [anon_sym_while] = ACTIONS(1044), + [anon_sym_do] = ACTIONS(1044), + [anon_sym_for] = ACTIONS(1044), + [anon_sym_return] = ACTIONS(1044), + [anon_sym_break] = ACTIONS(1044), + [anon_sym_continue] = ACTIONS(1044), + [anon_sym_goto] = ACTIONS(1044), + [anon_sym_DASH_DASH] = ACTIONS(1046), + [anon_sym_PLUS_PLUS] = ACTIONS(1046), + [anon_sym_sizeof] = ACTIONS(1044), + [sym_number_literal] = ACTIONS(1046), + [anon_sym_L_SQUOTE] = ACTIONS(1046), + [anon_sym_u_SQUOTE] = ACTIONS(1046), + [anon_sym_U_SQUOTE] = ACTIONS(1046), + [anon_sym_u8_SQUOTE] = ACTIONS(1046), + [anon_sym_SQUOTE] = ACTIONS(1046), + [anon_sym_L_DQUOTE] = ACTIONS(1046), + [anon_sym_u_DQUOTE] = ACTIONS(1046), + [anon_sym_U_DQUOTE] = ACTIONS(1046), + [anon_sym_u8_DQUOTE] = ACTIONS(1046), + [anon_sym_DQUOTE] = ACTIONS(1046), + [sym_true] = ACTIONS(1044), + [sym_false] = ACTIONS(1044), + [sym_null] = ACTIONS(1044), + [sym_comment] = ACTIONS(3), + }, + [256] = { + [ts_builtin_sym_end] = ACTIONS(1114), + [sym_identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [sym_number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [sym_null] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + }, + [257] = { + [sym_identifier] = ACTIONS(1080), + [aux_sym_preproc_include_token1] = ACTIONS(1080), + [aux_sym_preproc_def_token1] = ACTIONS(1080), + [aux_sym_preproc_if_token1] = ACTIONS(1080), + [aux_sym_preproc_if_token2] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1080), + [sym_preproc_directive] = ACTIONS(1080), + [anon_sym_LPAREN2] = ACTIONS(1082), + [anon_sym_BANG] = ACTIONS(1082), + [anon_sym_TILDE] = ACTIONS(1082), + [anon_sym_DASH] = ACTIONS(1080), + [anon_sym_PLUS] = ACTIONS(1080), + [anon_sym_STAR] = ACTIONS(1082), + [anon_sym_AMP] = ACTIONS(1082), + [anon_sym_SEMI] = ACTIONS(1082), + [anon_sym_typedef] = ACTIONS(1080), + [anon_sym_extern] = ACTIONS(1080), + [anon_sym___attribute__] = ACTIONS(1080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1082), + [anon_sym___declspec] = ACTIONS(1080), + [anon_sym___cdecl] = ACTIONS(1080), + [anon_sym___clrcall] = ACTIONS(1080), + [anon_sym___stdcall] = ACTIONS(1080), + [anon_sym___fastcall] = ACTIONS(1080), + [anon_sym___thiscall] = ACTIONS(1080), + [anon_sym___vectorcall] = ACTIONS(1080), + [anon_sym_LBRACE] = ACTIONS(1082), + [anon_sym_static] = ACTIONS(1080), + [anon_sym_auto] = ACTIONS(1080), + [anon_sym_register] = ACTIONS(1080), + [anon_sym_inline] = ACTIONS(1080), + [anon_sym_const] = ACTIONS(1080), + [anon_sym_volatile] = ACTIONS(1080), + [anon_sym_restrict] = ACTIONS(1080), + [anon_sym__Atomic] = ACTIONS(1080), + [anon_sym_signed] = ACTIONS(1080), + [anon_sym_unsigned] = ACTIONS(1080), + [anon_sym_long] = ACTIONS(1080), + [anon_sym_short] = ACTIONS(1080), + [sym_primitive_type] = ACTIONS(1080), + [anon_sym_enum] = ACTIONS(1080), + [anon_sym_struct] = ACTIONS(1080), + [anon_sym_union] = ACTIONS(1080), + [anon_sym_if] = ACTIONS(1080), + [anon_sym_switch] = ACTIONS(1080), + [anon_sym_case] = ACTIONS(1080), + [anon_sym_default] = ACTIONS(1080), + [anon_sym_while] = ACTIONS(1080), + [anon_sym_do] = ACTIONS(1080), + [anon_sym_for] = ACTIONS(1080), + [anon_sym_return] = ACTIONS(1080), + [anon_sym_break] = ACTIONS(1080), + [anon_sym_continue] = ACTIONS(1080), + [anon_sym_goto] = ACTIONS(1080), + [anon_sym_DASH_DASH] = ACTIONS(1082), + [anon_sym_PLUS_PLUS] = ACTIONS(1082), + [anon_sym_sizeof] = ACTIONS(1080), + [sym_number_literal] = ACTIONS(1082), + [anon_sym_L_SQUOTE] = ACTIONS(1082), + [anon_sym_u_SQUOTE] = ACTIONS(1082), + [anon_sym_U_SQUOTE] = ACTIONS(1082), + [anon_sym_u8_SQUOTE] = ACTIONS(1082), + [anon_sym_SQUOTE] = ACTIONS(1082), + [anon_sym_L_DQUOTE] = ACTIONS(1082), + [anon_sym_u_DQUOTE] = ACTIONS(1082), + [anon_sym_U_DQUOTE] = ACTIONS(1082), + [anon_sym_u8_DQUOTE] = ACTIONS(1082), + [anon_sym_DQUOTE] = ACTIONS(1082), + [sym_true] = ACTIONS(1080), + [sym_false] = ACTIONS(1080), + [sym_null] = ACTIONS(1080), + [sym_comment] = ACTIONS(3), + }, + [258] = { + [sym_identifier] = ACTIONS(1040), + [aux_sym_preproc_include_token1] = ACTIONS(1040), + [aux_sym_preproc_def_token1] = ACTIONS(1040), + [aux_sym_preproc_if_token1] = ACTIONS(1040), + [aux_sym_preproc_if_token2] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1040), + [sym_preproc_directive] = ACTIONS(1040), + [anon_sym_LPAREN2] = ACTIONS(1042), + [anon_sym_BANG] = ACTIONS(1042), + [anon_sym_TILDE] = ACTIONS(1042), + [anon_sym_DASH] = ACTIONS(1040), + [anon_sym_PLUS] = ACTIONS(1040), + [anon_sym_STAR] = ACTIONS(1042), + [anon_sym_AMP] = ACTIONS(1042), + [anon_sym_SEMI] = ACTIONS(1042), + [anon_sym_typedef] = ACTIONS(1040), + [anon_sym_extern] = ACTIONS(1040), + [anon_sym___attribute__] = ACTIONS(1040), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1042), + [anon_sym___declspec] = ACTIONS(1040), + [anon_sym___cdecl] = ACTIONS(1040), + [anon_sym___clrcall] = ACTIONS(1040), + [anon_sym___stdcall] = ACTIONS(1040), + [anon_sym___fastcall] = ACTIONS(1040), + [anon_sym___thiscall] = ACTIONS(1040), + [anon_sym___vectorcall] = ACTIONS(1040), + [anon_sym_LBRACE] = ACTIONS(1042), + [anon_sym_static] = ACTIONS(1040), + [anon_sym_auto] = ACTIONS(1040), + [anon_sym_register] = ACTIONS(1040), + [anon_sym_inline] = ACTIONS(1040), + [anon_sym_const] = ACTIONS(1040), + [anon_sym_volatile] = ACTIONS(1040), + [anon_sym_restrict] = ACTIONS(1040), + [anon_sym__Atomic] = ACTIONS(1040), + [anon_sym_signed] = ACTIONS(1040), + [anon_sym_unsigned] = ACTIONS(1040), + [anon_sym_long] = ACTIONS(1040), + [anon_sym_short] = ACTIONS(1040), + [sym_primitive_type] = ACTIONS(1040), + [anon_sym_enum] = ACTIONS(1040), + [anon_sym_struct] = ACTIONS(1040), + [anon_sym_union] = ACTIONS(1040), + [anon_sym_if] = ACTIONS(1040), + [anon_sym_switch] = ACTIONS(1040), + [anon_sym_case] = ACTIONS(1040), + [anon_sym_default] = ACTIONS(1040), + [anon_sym_while] = ACTIONS(1040), + [anon_sym_do] = ACTIONS(1040), + [anon_sym_for] = ACTIONS(1040), + [anon_sym_return] = ACTIONS(1040), + [anon_sym_break] = ACTIONS(1040), + [anon_sym_continue] = ACTIONS(1040), + [anon_sym_goto] = ACTIONS(1040), + [anon_sym_DASH_DASH] = ACTIONS(1042), + [anon_sym_PLUS_PLUS] = ACTIONS(1042), + [anon_sym_sizeof] = ACTIONS(1040), + [sym_number_literal] = ACTIONS(1042), + [anon_sym_L_SQUOTE] = ACTIONS(1042), + [anon_sym_u_SQUOTE] = ACTIONS(1042), + [anon_sym_U_SQUOTE] = ACTIONS(1042), + [anon_sym_u8_SQUOTE] = ACTIONS(1042), + [anon_sym_SQUOTE] = ACTIONS(1042), + [anon_sym_L_DQUOTE] = ACTIONS(1042), + [anon_sym_u_DQUOTE] = ACTIONS(1042), + [anon_sym_U_DQUOTE] = ACTIONS(1042), + [anon_sym_u8_DQUOTE] = ACTIONS(1042), + [anon_sym_DQUOTE] = ACTIONS(1042), + [sym_true] = ACTIONS(1040), + [sym_false] = ACTIONS(1040), + [sym_null] = ACTIONS(1040), + [sym_comment] = ACTIONS(3), + }, + [259] = { + [ts_builtin_sym_end] = ACTIONS(1110), + [sym_identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [sym_number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [sym_null] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + }, + [260] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(268), + [sym_labeled_statement] = STATE(268), + [sym_expression_statement] = STATE(268), + [sym_if_statement] = STATE(268), + [sym_switch_statement] = STATE(268), + [sym_case_statement] = STATE(268), + [sym_while_statement] = STATE(268), + [sym_do_statement] = STATE(268), + [sym_for_statement] = STATE(268), + [sym_return_statement] = STATE(268), + [sym_break_statement] = STATE(268), + [sym_continue_statement] = STATE(268), + [sym_goto_statement] = STATE(268), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [261] = { + [ts_builtin_sym_end] = ACTIONS(1066), + [sym_identifier] = ACTIONS(1064), + [aux_sym_preproc_include_token1] = ACTIONS(1064), + [aux_sym_preproc_def_token1] = ACTIONS(1064), + [aux_sym_preproc_if_token1] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1064), + [sym_preproc_directive] = ACTIONS(1064), + [anon_sym_LPAREN2] = ACTIONS(1066), + [anon_sym_BANG] = ACTIONS(1066), + [anon_sym_TILDE] = ACTIONS(1066), + [anon_sym_DASH] = ACTIONS(1064), + [anon_sym_PLUS] = ACTIONS(1064), + [anon_sym_STAR] = ACTIONS(1066), + [anon_sym_AMP] = ACTIONS(1066), + [anon_sym_SEMI] = ACTIONS(1066), + [anon_sym_typedef] = ACTIONS(1064), + [anon_sym_extern] = ACTIONS(1064), + [anon_sym___attribute__] = ACTIONS(1064), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1066), + [anon_sym___declspec] = ACTIONS(1064), + [anon_sym___cdecl] = ACTIONS(1064), + [anon_sym___clrcall] = ACTIONS(1064), + [anon_sym___stdcall] = ACTIONS(1064), + [anon_sym___fastcall] = ACTIONS(1064), + [anon_sym___thiscall] = ACTIONS(1064), + [anon_sym___vectorcall] = ACTIONS(1064), + [anon_sym_LBRACE] = ACTIONS(1066), + [anon_sym_static] = ACTIONS(1064), + [anon_sym_auto] = ACTIONS(1064), + [anon_sym_register] = ACTIONS(1064), + [anon_sym_inline] = ACTIONS(1064), + [anon_sym_const] = ACTIONS(1064), + [anon_sym_volatile] = ACTIONS(1064), + [anon_sym_restrict] = ACTIONS(1064), + [anon_sym__Atomic] = ACTIONS(1064), + [anon_sym_signed] = ACTIONS(1064), + [anon_sym_unsigned] = ACTIONS(1064), + [anon_sym_long] = ACTIONS(1064), + [anon_sym_short] = ACTIONS(1064), + [sym_primitive_type] = ACTIONS(1064), + [anon_sym_enum] = ACTIONS(1064), + [anon_sym_struct] = ACTIONS(1064), + [anon_sym_union] = ACTIONS(1064), + [anon_sym_if] = ACTIONS(1064), + [anon_sym_switch] = ACTIONS(1064), + [anon_sym_case] = ACTIONS(1064), + [anon_sym_default] = ACTIONS(1064), + [anon_sym_while] = ACTIONS(1064), + [anon_sym_do] = ACTIONS(1064), + [anon_sym_for] = ACTIONS(1064), + [anon_sym_return] = ACTIONS(1064), + [anon_sym_break] = ACTIONS(1064), + [anon_sym_continue] = ACTIONS(1064), + [anon_sym_goto] = ACTIONS(1064), + [anon_sym_DASH_DASH] = ACTIONS(1066), + [anon_sym_PLUS_PLUS] = ACTIONS(1066), + [anon_sym_sizeof] = ACTIONS(1064), + [sym_number_literal] = ACTIONS(1066), + [anon_sym_L_SQUOTE] = ACTIONS(1066), + [anon_sym_u_SQUOTE] = ACTIONS(1066), + [anon_sym_U_SQUOTE] = ACTIONS(1066), + [anon_sym_u8_SQUOTE] = ACTIONS(1066), + [anon_sym_SQUOTE] = ACTIONS(1066), + [anon_sym_L_DQUOTE] = ACTIONS(1066), + [anon_sym_u_DQUOTE] = ACTIONS(1066), + [anon_sym_U_DQUOTE] = ACTIONS(1066), + [anon_sym_u8_DQUOTE] = ACTIONS(1066), + [anon_sym_DQUOTE] = ACTIONS(1066), + [sym_true] = ACTIONS(1064), + [sym_false] = ACTIONS(1064), + [sym_null] = ACTIONS(1064), + [sym_comment] = ACTIONS(3), + }, + [262] = { + [sym_identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_RBRACE] = ACTIONS(1126), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [sym_number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [sym_null] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + }, + [263] = { + [sym_identifier] = ACTIONS(1072), + [aux_sym_preproc_include_token1] = ACTIONS(1072), + [aux_sym_preproc_def_token1] = ACTIONS(1072), + [aux_sym_preproc_if_token1] = ACTIONS(1072), + [aux_sym_preproc_if_token2] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1072), + [sym_preproc_directive] = ACTIONS(1072), + [anon_sym_LPAREN2] = ACTIONS(1074), + [anon_sym_BANG] = ACTIONS(1074), + [anon_sym_TILDE] = ACTIONS(1074), + [anon_sym_DASH] = ACTIONS(1072), + [anon_sym_PLUS] = ACTIONS(1072), + [anon_sym_STAR] = ACTIONS(1074), + [anon_sym_AMP] = ACTIONS(1074), + [anon_sym_SEMI] = ACTIONS(1074), + [anon_sym_typedef] = ACTIONS(1072), + [anon_sym_extern] = ACTIONS(1072), + [anon_sym___attribute__] = ACTIONS(1072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1074), + [anon_sym___declspec] = ACTIONS(1072), + [anon_sym___cdecl] = ACTIONS(1072), + [anon_sym___clrcall] = ACTIONS(1072), + [anon_sym___stdcall] = ACTIONS(1072), + [anon_sym___fastcall] = ACTIONS(1072), + [anon_sym___thiscall] = ACTIONS(1072), + [anon_sym___vectorcall] = ACTIONS(1072), + [anon_sym_LBRACE] = ACTIONS(1074), + [anon_sym_static] = ACTIONS(1072), + [anon_sym_auto] = ACTIONS(1072), + [anon_sym_register] = ACTIONS(1072), + [anon_sym_inline] = ACTIONS(1072), + [anon_sym_const] = ACTIONS(1072), + [anon_sym_volatile] = ACTIONS(1072), + [anon_sym_restrict] = ACTIONS(1072), + [anon_sym__Atomic] = ACTIONS(1072), + [anon_sym_signed] = ACTIONS(1072), + [anon_sym_unsigned] = ACTIONS(1072), + [anon_sym_long] = ACTIONS(1072), + [anon_sym_short] = ACTIONS(1072), + [sym_primitive_type] = ACTIONS(1072), + [anon_sym_enum] = ACTIONS(1072), + [anon_sym_struct] = ACTIONS(1072), + [anon_sym_union] = ACTIONS(1072), + [anon_sym_if] = ACTIONS(1072), + [anon_sym_switch] = ACTIONS(1072), + [anon_sym_case] = ACTIONS(1072), + [anon_sym_default] = ACTIONS(1072), + [anon_sym_while] = ACTIONS(1072), + [anon_sym_do] = ACTIONS(1072), + [anon_sym_for] = ACTIONS(1072), + [anon_sym_return] = ACTIONS(1072), + [anon_sym_break] = ACTIONS(1072), + [anon_sym_continue] = ACTIONS(1072), + [anon_sym_goto] = ACTIONS(1072), + [anon_sym_DASH_DASH] = ACTIONS(1074), + [anon_sym_PLUS_PLUS] = ACTIONS(1074), + [anon_sym_sizeof] = ACTIONS(1072), + [sym_number_literal] = ACTIONS(1074), + [anon_sym_L_SQUOTE] = ACTIONS(1074), + [anon_sym_u_SQUOTE] = ACTIONS(1074), + [anon_sym_U_SQUOTE] = ACTIONS(1074), + [anon_sym_u8_SQUOTE] = ACTIONS(1074), + [anon_sym_SQUOTE] = ACTIONS(1074), + [anon_sym_L_DQUOTE] = ACTIONS(1074), + [anon_sym_u_DQUOTE] = ACTIONS(1074), + [anon_sym_U_DQUOTE] = ACTIONS(1074), + [anon_sym_u8_DQUOTE] = ACTIONS(1074), + [anon_sym_DQUOTE] = ACTIONS(1074), + [sym_true] = ACTIONS(1072), + [sym_false] = ACTIONS(1072), + [sym_null] = ACTIONS(1072), + [sym_comment] = ACTIONS(3), + }, + [264] = { + [sym_identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token2] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [sym_number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [sym_null] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + }, + [265] = { + [ts_builtin_sym_end] = ACTIONS(1034), + [sym_identifier] = ACTIONS(1032), + [aux_sym_preproc_include_token1] = ACTIONS(1032), + [aux_sym_preproc_def_token1] = ACTIONS(1032), + [aux_sym_preproc_if_token1] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1032), + [sym_preproc_directive] = ACTIONS(1032), + [anon_sym_LPAREN2] = ACTIONS(1034), + [anon_sym_BANG] = ACTIONS(1034), + [anon_sym_TILDE] = ACTIONS(1034), + [anon_sym_DASH] = ACTIONS(1032), + [anon_sym_PLUS] = ACTIONS(1032), + [anon_sym_STAR] = ACTIONS(1034), + [anon_sym_AMP] = ACTIONS(1034), + [anon_sym_SEMI] = ACTIONS(1034), + [anon_sym_typedef] = ACTIONS(1032), + [anon_sym_extern] = ACTIONS(1032), + [anon_sym___attribute__] = ACTIONS(1032), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1034), + [anon_sym___declspec] = ACTIONS(1032), + [anon_sym___cdecl] = ACTIONS(1032), + [anon_sym___clrcall] = ACTIONS(1032), + [anon_sym___stdcall] = ACTIONS(1032), + [anon_sym___fastcall] = ACTIONS(1032), + [anon_sym___thiscall] = ACTIONS(1032), + [anon_sym___vectorcall] = ACTIONS(1032), + [anon_sym_LBRACE] = ACTIONS(1034), + [anon_sym_static] = ACTIONS(1032), + [anon_sym_auto] = ACTIONS(1032), + [anon_sym_register] = ACTIONS(1032), + [anon_sym_inline] = ACTIONS(1032), + [anon_sym_const] = ACTIONS(1032), + [anon_sym_volatile] = ACTIONS(1032), + [anon_sym_restrict] = ACTIONS(1032), + [anon_sym__Atomic] = ACTIONS(1032), + [anon_sym_signed] = ACTIONS(1032), + [anon_sym_unsigned] = ACTIONS(1032), + [anon_sym_long] = ACTIONS(1032), + [anon_sym_short] = ACTIONS(1032), + [sym_primitive_type] = ACTIONS(1032), + [anon_sym_enum] = ACTIONS(1032), + [anon_sym_struct] = ACTIONS(1032), + [anon_sym_union] = ACTIONS(1032), + [anon_sym_if] = ACTIONS(1032), + [anon_sym_switch] = ACTIONS(1032), + [anon_sym_case] = ACTIONS(1032), + [anon_sym_default] = ACTIONS(1032), + [anon_sym_while] = ACTIONS(1032), + [anon_sym_do] = ACTIONS(1032), + [anon_sym_for] = ACTIONS(1032), + [anon_sym_return] = ACTIONS(1032), + [anon_sym_break] = ACTIONS(1032), + [anon_sym_continue] = ACTIONS(1032), + [anon_sym_goto] = ACTIONS(1032), + [anon_sym_DASH_DASH] = ACTIONS(1034), + [anon_sym_PLUS_PLUS] = ACTIONS(1034), + [anon_sym_sizeof] = ACTIONS(1032), + [sym_number_literal] = ACTIONS(1034), + [anon_sym_L_SQUOTE] = ACTIONS(1034), + [anon_sym_u_SQUOTE] = ACTIONS(1034), + [anon_sym_U_SQUOTE] = ACTIONS(1034), + [anon_sym_u8_SQUOTE] = ACTIONS(1034), + [anon_sym_SQUOTE] = ACTIONS(1034), + [anon_sym_L_DQUOTE] = ACTIONS(1034), + [anon_sym_u_DQUOTE] = ACTIONS(1034), + [anon_sym_U_DQUOTE] = ACTIONS(1034), + [anon_sym_u8_DQUOTE] = ACTIONS(1034), + [anon_sym_DQUOTE] = ACTIONS(1034), + [sym_true] = ACTIONS(1032), + [sym_false] = ACTIONS(1032), + [sym_null] = ACTIONS(1032), + [sym_comment] = ACTIONS(3), + }, + [266] = { + [sym_identifier] = ACTIONS(1120), + [aux_sym_preproc_include_token1] = ACTIONS(1120), + [aux_sym_preproc_def_token1] = ACTIONS(1120), + [aux_sym_preproc_if_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1120), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1120), + [sym_preproc_directive] = ACTIONS(1120), + [anon_sym_LPAREN2] = ACTIONS(1122), + [anon_sym_BANG] = ACTIONS(1122), + [anon_sym_TILDE] = ACTIONS(1122), + [anon_sym_DASH] = ACTIONS(1120), + [anon_sym_PLUS] = ACTIONS(1120), + [anon_sym_STAR] = ACTIONS(1122), + [anon_sym_AMP] = ACTIONS(1122), + [anon_sym_SEMI] = ACTIONS(1122), + [anon_sym_typedef] = ACTIONS(1120), + [anon_sym_extern] = ACTIONS(1120), + [anon_sym___attribute__] = ACTIONS(1120), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1122), + [anon_sym___declspec] = ACTIONS(1120), + [anon_sym___cdecl] = ACTIONS(1120), + [anon_sym___clrcall] = ACTIONS(1120), + [anon_sym___stdcall] = ACTIONS(1120), + [anon_sym___fastcall] = ACTIONS(1120), + [anon_sym___thiscall] = ACTIONS(1120), + [anon_sym___vectorcall] = ACTIONS(1120), + [anon_sym_LBRACE] = ACTIONS(1122), + [anon_sym_RBRACE] = ACTIONS(1122), + [anon_sym_static] = ACTIONS(1120), + [anon_sym_auto] = ACTIONS(1120), + [anon_sym_register] = ACTIONS(1120), + [anon_sym_inline] = ACTIONS(1120), + [anon_sym_const] = ACTIONS(1120), + [anon_sym_volatile] = ACTIONS(1120), + [anon_sym_restrict] = ACTIONS(1120), + [anon_sym__Atomic] = ACTIONS(1120), + [anon_sym_signed] = ACTIONS(1120), + [anon_sym_unsigned] = ACTIONS(1120), + [anon_sym_long] = ACTIONS(1120), + [anon_sym_short] = ACTIONS(1120), + [sym_primitive_type] = ACTIONS(1120), + [anon_sym_enum] = ACTIONS(1120), + [anon_sym_struct] = ACTIONS(1120), + [anon_sym_union] = ACTIONS(1120), + [anon_sym_if] = ACTIONS(1120), + [anon_sym_switch] = ACTIONS(1120), + [anon_sym_case] = ACTIONS(1120), + [anon_sym_default] = ACTIONS(1120), + [anon_sym_while] = ACTIONS(1120), + [anon_sym_do] = ACTIONS(1120), + [anon_sym_for] = ACTIONS(1120), + [anon_sym_return] = ACTIONS(1120), + [anon_sym_break] = ACTIONS(1120), + [anon_sym_continue] = ACTIONS(1120), + [anon_sym_goto] = ACTIONS(1120), + [anon_sym_DASH_DASH] = ACTIONS(1122), + [anon_sym_PLUS_PLUS] = ACTIONS(1122), + [anon_sym_sizeof] = ACTIONS(1120), + [sym_number_literal] = ACTIONS(1122), + [anon_sym_L_SQUOTE] = ACTIONS(1122), + [anon_sym_u_SQUOTE] = ACTIONS(1122), + [anon_sym_U_SQUOTE] = ACTIONS(1122), + [anon_sym_u8_SQUOTE] = ACTIONS(1122), + [anon_sym_SQUOTE] = ACTIONS(1122), + [anon_sym_L_DQUOTE] = ACTIONS(1122), + [anon_sym_u_DQUOTE] = ACTIONS(1122), + [anon_sym_U_DQUOTE] = ACTIONS(1122), + [anon_sym_u8_DQUOTE] = ACTIONS(1122), + [anon_sym_DQUOTE] = ACTIONS(1122), + [sym_true] = ACTIONS(1120), + [sym_false] = ACTIONS(1120), + [sym_null] = ACTIONS(1120), + [sym_comment] = ACTIONS(3), + }, + [267] = { + [sym_identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token2] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [sym_number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [sym_null] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + }, + [268] = { + [sym_identifier] = ACTIONS(1116), + [aux_sym_preproc_include_token1] = ACTIONS(1116), + [aux_sym_preproc_def_token1] = ACTIONS(1116), + [aux_sym_preproc_if_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1116), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1116), + [sym_preproc_directive] = ACTIONS(1116), + [anon_sym_LPAREN2] = ACTIONS(1118), + [anon_sym_BANG] = ACTIONS(1118), + [anon_sym_TILDE] = ACTIONS(1118), + [anon_sym_DASH] = ACTIONS(1116), + [anon_sym_PLUS] = ACTIONS(1116), + [anon_sym_STAR] = ACTIONS(1118), + [anon_sym_AMP] = ACTIONS(1118), + [anon_sym_SEMI] = ACTIONS(1118), + [anon_sym_typedef] = ACTIONS(1116), + [anon_sym_extern] = ACTIONS(1116), + [anon_sym___attribute__] = ACTIONS(1116), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1118), + [anon_sym___declspec] = ACTIONS(1116), + [anon_sym___cdecl] = ACTIONS(1116), + [anon_sym___clrcall] = ACTIONS(1116), + [anon_sym___stdcall] = ACTIONS(1116), + [anon_sym___fastcall] = ACTIONS(1116), + [anon_sym___thiscall] = ACTIONS(1116), + [anon_sym___vectorcall] = ACTIONS(1116), + [anon_sym_LBRACE] = ACTIONS(1118), + [anon_sym_RBRACE] = ACTIONS(1118), + [anon_sym_static] = ACTIONS(1116), + [anon_sym_auto] = ACTIONS(1116), + [anon_sym_register] = ACTIONS(1116), + [anon_sym_inline] = ACTIONS(1116), + [anon_sym_const] = ACTIONS(1116), + [anon_sym_volatile] = ACTIONS(1116), + [anon_sym_restrict] = ACTIONS(1116), + [anon_sym__Atomic] = ACTIONS(1116), + [anon_sym_signed] = ACTIONS(1116), + [anon_sym_unsigned] = ACTIONS(1116), + [anon_sym_long] = ACTIONS(1116), + [anon_sym_short] = ACTIONS(1116), + [sym_primitive_type] = ACTIONS(1116), + [anon_sym_enum] = ACTIONS(1116), + [anon_sym_struct] = ACTIONS(1116), + [anon_sym_union] = ACTIONS(1116), + [anon_sym_if] = ACTIONS(1116), + [anon_sym_switch] = ACTIONS(1116), + [anon_sym_case] = ACTIONS(1116), + [anon_sym_default] = ACTIONS(1116), + [anon_sym_while] = ACTIONS(1116), + [anon_sym_do] = ACTIONS(1116), + [anon_sym_for] = ACTIONS(1116), + [anon_sym_return] = ACTIONS(1116), + [anon_sym_break] = ACTIONS(1116), + [anon_sym_continue] = ACTIONS(1116), + [anon_sym_goto] = ACTIONS(1116), + [anon_sym_DASH_DASH] = ACTIONS(1118), + [anon_sym_PLUS_PLUS] = ACTIONS(1118), + [anon_sym_sizeof] = ACTIONS(1116), + [sym_number_literal] = ACTIONS(1118), + [anon_sym_L_SQUOTE] = ACTIONS(1118), + [anon_sym_u_SQUOTE] = ACTIONS(1118), + [anon_sym_U_SQUOTE] = ACTIONS(1118), + [anon_sym_u8_SQUOTE] = ACTIONS(1118), + [anon_sym_SQUOTE] = ACTIONS(1118), + [anon_sym_L_DQUOTE] = ACTIONS(1118), + [anon_sym_u_DQUOTE] = ACTIONS(1118), + [anon_sym_U_DQUOTE] = ACTIONS(1118), + [anon_sym_u8_DQUOTE] = ACTIONS(1118), + [anon_sym_DQUOTE] = ACTIONS(1118), + [sym_true] = ACTIONS(1116), + [sym_false] = ACTIONS(1116), + [sym_null] = ACTIONS(1116), + [sym_comment] = ACTIONS(3), + }, + [269] = { + [sym_identifier] = ACTIONS(1084), + [aux_sym_preproc_include_token1] = ACTIONS(1084), + [aux_sym_preproc_def_token1] = ACTIONS(1084), + [aux_sym_preproc_if_token1] = ACTIONS(1084), + [aux_sym_preproc_if_token2] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1084), + [sym_preproc_directive] = ACTIONS(1084), + [anon_sym_LPAREN2] = ACTIONS(1086), + [anon_sym_BANG] = ACTIONS(1086), + [anon_sym_TILDE] = ACTIONS(1086), + [anon_sym_DASH] = ACTIONS(1084), + [anon_sym_PLUS] = ACTIONS(1084), + [anon_sym_STAR] = ACTIONS(1086), + [anon_sym_AMP] = ACTIONS(1086), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym_typedef] = ACTIONS(1084), + [anon_sym_extern] = ACTIONS(1084), + [anon_sym___attribute__] = ACTIONS(1084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1086), + [anon_sym___declspec] = ACTIONS(1084), + [anon_sym___cdecl] = ACTIONS(1084), + [anon_sym___clrcall] = ACTIONS(1084), + [anon_sym___stdcall] = ACTIONS(1084), + [anon_sym___fastcall] = ACTIONS(1084), + [anon_sym___thiscall] = ACTIONS(1084), + [anon_sym___vectorcall] = ACTIONS(1084), + [anon_sym_LBRACE] = ACTIONS(1086), + [anon_sym_static] = ACTIONS(1084), + [anon_sym_auto] = ACTIONS(1084), + [anon_sym_register] = ACTIONS(1084), + [anon_sym_inline] = ACTIONS(1084), + [anon_sym_const] = ACTIONS(1084), + [anon_sym_volatile] = ACTIONS(1084), + [anon_sym_restrict] = ACTIONS(1084), + [anon_sym__Atomic] = ACTIONS(1084), + [anon_sym_signed] = ACTIONS(1084), + [anon_sym_unsigned] = ACTIONS(1084), + [anon_sym_long] = ACTIONS(1084), + [anon_sym_short] = ACTIONS(1084), + [sym_primitive_type] = ACTIONS(1084), + [anon_sym_enum] = ACTIONS(1084), + [anon_sym_struct] = ACTIONS(1084), + [anon_sym_union] = ACTIONS(1084), + [anon_sym_if] = ACTIONS(1084), + [anon_sym_switch] = ACTIONS(1084), + [anon_sym_case] = ACTIONS(1084), + [anon_sym_default] = ACTIONS(1084), + [anon_sym_while] = ACTIONS(1084), + [anon_sym_do] = ACTIONS(1084), + [anon_sym_for] = ACTIONS(1084), + [anon_sym_return] = ACTIONS(1084), + [anon_sym_break] = ACTIONS(1084), + [anon_sym_continue] = ACTIONS(1084), + [anon_sym_goto] = ACTIONS(1084), + [anon_sym_DASH_DASH] = ACTIONS(1086), + [anon_sym_PLUS_PLUS] = ACTIONS(1086), + [anon_sym_sizeof] = ACTIONS(1084), + [sym_number_literal] = ACTIONS(1086), + [anon_sym_L_SQUOTE] = ACTIONS(1086), + [anon_sym_u_SQUOTE] = ACTIONS(1086), + [anon_sym_U_SQUOTE] = ACTIONS(1086), + [anon_sym_u8_SQUOTE] = ACTIONS(1086), + [anon_sym_SQUOTE] = ACTIONS(1086), + [anon_sym_L_DQUOTE] = ACTIONS(1086), + [anon_sym_u_DQUOTE] = ACTIONS(1086), + [anon_sym_U_DQUOTE] = ACTIONS(1086), + [anon_sym_u8_DQUOTE] = ACTIONS(1086), + [anon_sym_DQUOTE] = ACTIONS(1086), + [sym_true] = ACTIONS(1084), + [sym_false] = ACTIONS(1084), + [sym_null] = ACTIONS(1084), + [sym_comment] = ACTIONS(3), + }, + [270] = { + [sym_identifier] = ACTIONS(1108), + [aux_sym_preproc_include_token1] = ACTIONS(1108), + [aux_sym_preproc_def_token1] = ACTIONS(1108), + [aux_sym_preproc_if_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1108), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1108), + [sym_preproc_directive] = ACTIONS(1108), + [anon_sym_LPAREN2] = ACTIONS(1110), + [anon_sym_BANG] = ACTIONS(1110), + [anon_sym_TILDE] = ACTIONS(1110), + [anon_sym_DASH] = ACTIONS(1108), + [anon_sym_PLUS] = ACTIONS(1108), + [anon_sym_STAR] = ACTIONS(1110), + [anon_sym_AMP] = ACTIONS(1110), + [anon_sym_SEMI] = ACTIONS(1110), + [anon_sym_typedef] = ACTIONS(1108), + [anon_sym_extern] = ACTIONS(1108), + [anon_sym___attribute__] = ACTIONS(1108), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1110), + [anon_sym___declspec] = ACTIONS(1108), + [anon_sym___cdecl] = ACTIONS(1108), + [anon_sym___clrcall] = ACTIONS(1108), + [anon_sym___stdcall] = ACTIONS(1108), + [anon_sym___fastcall] = ACTIONS(1108), + [anon_sym___thiscall] = ACTIONS(1108), + [anon_sym___vectorcall] = ACTIONS(1108), + [anon_sym_LBRACE] = ACTIONS(1110), + [anon_sym_RBRACE] = ACTIONS(1110), + [anon_sym_static] = ACTIONS(1108), + [anon_sym_auto] = ACTIONS(1108), + [anon_sym_register] = ACTIONS(1108), + [anon_sym_inline] = ACTIONS(1108), + [anon_sym_const] = ACTIONS(1108), + [anon_sym_volatile] = ACTIONS(1108), + [anon_sym_restrict] = ACTIONS(1108), + [anon_sym__Atomic] = ACTIONS(1108), + [anon_sym_signed] = ACTIONS(1108), + [anon_sym_unsigned] = ACTIONS(1108), + [anon_sym_long] = ACTIONS(1108), + [anon_sym_short] = ACTIONS(1108), + [sym_primitive_type] = ACTIONS(1108), + [anon_sym_enum] = ACTIONS(1108), + [anon_sym_struct] = ACTIONS(1108), + [anon_sym_union] = ACTIONS(1108), + [anon_sym_if] = ACTIONS(1108), + [anon_sym_switch] = ACTIONS(1108), + [anon_sym_case] = ACTIONS(1108), + [anon_sym_default] = ACTIONS(1108), + [anon_sym_while] = ACTIONS(1108), + [anon_sym_do] = ACTIONS(1108), + [anon_sym_for] = ACTIONS(1108), + [anon_sym_return] = ACTIONS(1108), + [anon_sym_break] = ACTIONS(1108), + [anon_sym_continue] = ACTIONS(1108), + [anon_sym_goto] = ACTIONS(1108), + [anon_sym_DASH_DASH] = ACTIONS(1110), + [anon_sym_PLUS_PLUS] = ACTIONS(1110), + [anon_sym_sizeof] = ACTIONS(1108), + [sym_number_literal] = ACTIONS(1110), + [anon_sym_L_SQUOTE] = ACTIONS(1110), + [anon_sym_u_SQUOTE] = ACTIONS(1110), + [anon_sym_U_SQUOTE] = ACTIONS(1110), + [anon_sym_u8_SQUOTE] = ACTIONS(1110), + [anon_sym_SQUOTE] = ACTIONS(1110), + [anon_sym_L_DQUOTE] = ACTIONS(1110), + [anon_sym_u_DQUOTE] = ACTIONS(1110), + [anon_sym_U_DQUOTE] = ACTIONS(1110), + [anon_sym_u8_DQUOTE] = ACTIONS(1110), + [anon_sym_DQUOTE] = ACTIONS(1110), + [sym_true] = ACTIONS(1108), + [sym_false] = ACTIONS(1108), + [sym_null] = ACTIONS(1108), + [sym_comment] = ACTIONS(3), + }, + [271] = { + [sym_identifier] = ACTIONS(1112), + [aux_sym_preproc_include_token1] = ACTIONS(1112), + [aux_sym_preproc_def_token1] = ACTIONS(1112), + [aux_sym_preproc_if_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1112), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1112), + [sym_preproc_directive] = ACTIONS(1112), + [anon_sym_LPAREN2] = ACTIONS(1114), + [anon_sym_BANG] = ACTIONS(1114), + [anon_sym_TILDE] = ACTIONS(1114), + [anon_sym_DASH] = ACTIONS(1112), + [anon_sym_PLUS] = ACTIONS(1112), + [anon_sym_STAR] = ACTIONS(1114), + [anon_sym_AMP] = ACTIONS(1114), + [anon_sym_SEMI] = ACTIONS(1114), + [anon_sym_typedef] = ACTIONS(1112), + [anon_sym_extern] = ACTIONS(1112), + [anon_sym___attribute__] = ACTIONS(1112), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1114), + [anon_sym___declspec] = ACTIONS(1112), + [anon_sym___cdecl] = ACTIONS(1112), + [anon_sym___clrcall] = ACTIONS(1112), + [anon_sym___stdcall] = ACTIONS(1112), + [anon_sym___fastcall] = ACTIONS(1112), + [anon_sym___thiscall] = ACTIONS(1112), + [anon_sym___vectorcall] = ACTIONS(1112), + [anon_sym_LBRACE] = ACTIONS(1114), + [anon_sym_RBRACE] = ACTIONS(1114), + [anon_sym_static] = ACTIONS(1112), + [anon_sym_auto] = ACTIONS(1112), + [anon_sym_register] = ACTIONS(1112), + [anon_sym_inline] = ACTIONS(1112), + [anon_sym_const] = ACTIONS(1112), + [anon_sym_volatile] = ACTIONS(1112), + [anon_sym_restrict] = ACTIONS(1112), + [anon_sym__Atomic] = ACTIONS(1112), + [anon_sym_signed] = ACTIONS(1112), + [anon_sym_unsigned] = ACTIONS(1112), + [anon_sym_long] = ACTIONS(1112), + [anon_sym_short] = ACTIONS(1112), + [sym_primitive_type] = ACTIONS(1112), + [anon_sym_enum] = ACTIONS(1112), + [anon_sym_struct] = ACTIONS(1112), + [anon_sym_union] = ACTIONS(1112), + [anon_sym_if] = ACTIONS(1112), + [anon_sym_switch] = ACTIONS(1112), + [anon_sym_case] = ACTIONS(1112), + [anon_sym_default] = ACTIONS(1112), + [anon_sym_while] = ACTIONS(1112), + [anon_sym_do] = ACTIONS(1112), + [anon_sym_for] = ACTIONS(1112), + [anon_sym_return] = ACTIONS(1112), + [anon_sym_break] = ACTIONS(1112), + [anon_sym_continue] = ACTIONS(1112), + [anon_sym_goto] = ACTIONS(1112), + [anon_sym_DASH_DASH] = ACTIONS(1114), + [anon_sym_PLUS_PLUS] = ACTIONS(1114), + [anon_sym_sizeof] = ACTIONS(1112), + [sym_number_literal] = ACTIONS(1114), + [anon_sym_L_SQUOTE] = ACTIONS(1114), + [anon_sym_u_SQUOTE] = ACTIONS(1114), + [anon_sym_U_SQUOTE] = ACTIONS(1114), + [anon_sym_u8_SQUOTE] = ACTIONS(1114), + [anon_sym_SQUOTE] = ACTIONS(1114), + [anon_sym_L_DQUOTE] = ACTIONS(1114), + [anon_sym_u_DQUOTE] = ACTIONS(1114), + [anon_sym_U_DQUOTE] = ACTIONS(1114), + [anon_sym_u8_DQUOTE] = ACTIONS(1114), + [anon_sym_DQUOTE] = ACTIONS(1114), + [sym_true] = ACTIONS(1112), + [sym_false] = ACTIONS(1112), + [sym_null] = ACTIONS(1112), + [sym_comment] = ACTIONS(3), + }, + [272] = { + [ts_builtin_sym_end] = ACTIONS(1102), + [sym_identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [sym_number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [sym_null] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + }, + [273] = { + [sym_identifier] = ACTIONS(1060), + [aux_sym_preproc_include_token1] = ACTIONS(1060), + [aux_sym_preproc_def_token1] = ACTIONS(1060), + [aux_sym_preproc_if_token1] = ACTIONS(1060), + [aux_sym_preproc_if_token2] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1060), + [sym_preproc_directive] = ACTIONS(1060), + [anon_sym_LPAREN2] = ACTIONS(1062), + [anon_sym_BANG] = ACTIONS(1062), + [anon_sym_TILDE] = ACTIONS(1062), + [anon_sym_DASH] = ACTIONS(1060), + [anon_sym_PLUS] = ACTIONS(1060), + [anon_sym_STAR] = ACTIONS(1062), + [anon_sym_AMP] = ACTIONS(1062), + [anon_sym_SEMI] = ACTIONS(1062), + [anon_sym_typedef] = ACTIONS(1060), + [anon_sym_extern] = ACTIONS(1060), + [anon_sym___attribute__] = ACTIONS(1060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1062), + [anon_sym___declspec] = ACTIONS(1060), + [anon_sym___cdecl] = ACTIONS(1060), + [anon_sym___clrcall] = ACTIONS(1060), + [anon_sym___stdcall] = ACTIONS(1060), + [anon_sym___fastcall] = ACTIONS(1060), + [anon_sym___thiscall] = ACTIONS(1060), + [anon_sym___vectorcall] = ACTIONS(1060), + [anon_sym_LBRACE] = ACTIONS(1062), + [anon_sym_static] = ACTIONS(1060), + [anon_sym_auto] = ACTIONS(1060), + [anon_sym_register] = ACTIONS(1060), + [anon_sym_inline] = ACTIONS(1060), + [anon_sym_const] = ACTIONS(1060), + [anon_sym_volatile] = ACTIONS(1060), + [anon_sym_restrict] = ACTIONS(1060), + [anon_sym__Atomic] = ACTIONS(1060), + [anon_sym_signed] = ACTIONS(1060), + [anon_sym_unsigned] = ACTIONS(1060), + [anon_sym_long] = ACTIONS(1060), + [anon_sym_short] = ACTIONS(1060), + [sym_primitive_type] = ACTIONS(1060), + [anon_sym_enum] = ACTIONS(1060), + [anon_sym_struct] = ACTIONS(1060), + [anon_sym_union] = ACTIONS(1060), + [anon_sym_if] = ACTIONS(1060), + [anon_sym_switch] = ACTIONS(1060), + [anon_sym_case] = ACTIONS(1060), + [anon_sym_default] = ACTIONS(1060), + [anon_sym_while] = ACTIONS(1060), + [anon_sym_do] = ACTIONS(1060), + [anon_sym_for] = ACTIONS(1060), + [anon_sym_return] = ACTIONS(1060), + [anon_sym_break] = ACTIONS(1060), + [anon_sym_continue] = ACTIONS(1060), + [anon_sym_goto] = ACTIONS(1060), + [anon_sym_DASH_DASH] = ACTIONS(1062), + [anon_sym_PLUS_PLUS] = ACTIONS(1062), + [anon_sym_sizeof] = ACTIONS(1060), + [sym_number_literal] = ACTIONS(1062), + [anon_sym_L_SQUOTE] = ACTIONS(1062), + [anon_sym_u_SQUOTE] = ACTIONS(1062), + [anon_sym_U_SQUOTE] = ACTIONS(1062), + [anon_sym_u8_SQUOTE] = ACTIONS(1062), + [anon_sym_SQUOTE] = ACTIONS(1062), + [anon_sym_L_DQUOTE] = ACTIONS(1062), + [anon_sym_u_DQUOTE] = ACTIONS(1062), + [anon_sym_U_DQUOTE] = ACTIONS(1062), + [anon_sym_u8_DQUOTE] = ACTIONS(1062), + [anon_sym_DQUOTE] = ACTIONS(1062), + [sym_true] = ACTIONS(1060), + [sym_false] = ACTIONS(1060), + [sym_null] = ACTIONS(1060), + [sym_comment] = ACTIONS(3), + }, + [274] = { + [sym_identifier] = ACTIONS(1032), + [aux_sym_preproc_include_token1] = ACTIONS(1032), + [aux_sym_preproc_def_token1] = ACTIONS(1032), + [aux_sym_preproc_if_token1] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1032), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1032), + [sym_preproc_directive] = ACTIONS(1032), + [anon_sym_LPAREN2] = ACTIONS(1034), + [anon_sym_BANG] = ACTIONS(1034), + [anon_sym_TILDE] = ACTIONS(1034), + [anon_sym_DASH] = ACTIONS(1032), + [anon_sym_PLUS] = ACTIONS(1032), + [anon_sym_STAR] = ACTIONS(1034), + [anon_sym_AMP] = ACTIONS(1034), + [anon_sym_SEMI] = ACTIONS(1034), + [anon_sym_typedef] = ACTIONS(1032), + [anon_sym_extern] = ACTIONS(1032), + [anon_sym___attribute__] = ACTIONS(1032), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1034), + [anon_sym___declspec] = ACTIONS(1032), + [anon_sym___cdecl] = ACTIONS(1032), + [anon_sym___clrcall] = ACTIONS(1032), + [anon_sym___stdcall] = ACTIONS(1032), + [anon_sym___fastcall] = ACTIONS(1032), + [anon_sym___thiscall] = ACTIONS(1032), + [anon_sym___vectorcall] = ACTIONS(1032), + [anon_sym_LBRACE] = ACTIONS(1034), + [anon_sym_RBRACE] = ACTIONS(1034), + [anon_sym_static] = ACTIONS(1032), + [anon_sym_auto] = ACTIONS(1032), + [anon_sym_register] = ACTIONS(1032), + [anon_sym_inline] = ACTIONS(1032), + [anon_sym_const] = ACTIONS(1032), + [anon_sym_volatile] = ACTIONS(1032), + [anon_sym_restrict] = ACTIONS(1032), + [anon_sym__Atomic] = ACTIONS(1032), + [anon_sym_signed] = ACTIONS(1032), + [anon_sym_unsigned] = ACTIONS(1032), + [anon_sym_long] = ACTIONS(1032), + [anon_sym_short] = ACTIONS(1032), + [sym_primitive_type] = ACTIONS(1032), + [anon_sym_enum] = ACTIONS(1032), + [anon_sym_struct] = ACTIONS(1032), + [anon_sym_union] = ACTIONS(1032), + [anon_sym_if] = ACTIONS(1032), + [anon_sym_switch] = ACTIONS(1032), + [anon_sym_case] = ACTIONS(1032), + [anon_sym_default] = ACTIONS(1032), + [anon_sym_while] = ACTIONS(1032), + [anon_sym_do] = ACTIONS(1032), + [anon_sym_for] = ACTIONS(1032), + [anon_sym_return] = ACTIONS(1032), + [anon_sym_break] = ACTIONS(1032), + [anon_sym_continue] = ACTIONS(1032), + [anon_sym_goto] = ACTIONS(1032), + [anon_sym_DASH_DASH] = ACTIONS(1034), + [anon_sym_PLUS_PLUS] = ACTIONS(1034), + [anon_sym_sizeof] = ACTIONS(1032), + [sym_number_literal] = ACTIONS(1034), + [anon_sym_L_SQUOTE] = ACTIONS(1034), + [anon_sym_u_SQUOTE] = ACTIONS(1034), + [anon_sym_U_SQUOTE] = ACTIONS(1034), + [anon_sym_u8_SQUOTE] = ACTIONS(1034), + [anon_sym_SQUOTE] = ACTIONS(1034), + [anon_sym_L_DQUOTE] = ACTIONS(1034), + [anon_sym_u_DQUOTE] = ACTIONS(1034), + [anon_sym_U_DQUOTE] = ACTIONS(1034), + [anon_sym_u8_DQUOTE] = ACTIONS(1034), + [anon_sym_DQUOTE] = ACTIONS(1034), + [sym_true] = ACTIONS(1032), + [sym_false] = ACTIONS(1032), + [sym_null] = ACTIONS(1032), + [sym_comment] = ACTIONS(3), + }, + [275] = { + [sym_identifier] = ACTIONS(1100), + [aux_sym_preproc_include_token1] = ACTIONS(1100), + [aux_sym_preproc_def_token1] = ACTIONS(1100), + [aux_sym_preproc_if_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1100), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1100), + [sym_preproc_directive] = ACTIONS(1100), + [anon_sym_LPAREN2] = ACTIONS(1102), + [anon_sym_BANG] = ACTIONS(1102), + [anon_sym_TILDE] = ACTIONS(1102), + [anon_sym_DASH] = ACTIONS(1100), + [anon_sym_PLUS] = ACTIONS(1100), + [anon_sym_STAR] = ACTIONS(1102), + [anon_sym_AMP] = ACTIONS(1102), + [anon_sym_SEMI] = ACTIONS(1102), + [anon_sym_typedef] = ACTIONS(1100), + [anon_sym_extern] = ACTIONS(1100), + [anon_sym___attribute__] = ACTIONS(1100), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1102), + [anon_sym___declspec] = ACTIONS(1100), + [anon_sym___cdecl] = ACTIONS(1100), + [anon_sym___clrcall] = ACTIONS(1100), + [anon_sym___stdcall] = ACTIONS(1100), + [anon_sym___fastcall] = ACTIONS(1100), + [anon_sym___thiscall] = ACTIONS(1100), + [anon_sym___vectorcall] = ACTIONS(1100), + [anon_sym_LBRACE] = ACTIONS(1102), + [anon_sym_RBRACE] = ACTIONS(1102), + [anon_sym_static] = ACTIONS(1100), + [anon_sym_auto] = ACTIONS(1100), + [anon_sym_register] = ACTIONS(1100), + [anon_sym_inline] = ACTIONS(1100), + [anon_sym_const] = ACTIONS(1100), + [anon_sym_volatile] = ACTIONS(1100), + [anon_sym_restrict] = ACTIONS(1100), + [anon_sym__Atomic] = ACTIONS(1100), + [anon_sym_signed] = ACTIONS(1100), + [anon_sym_unsigned] = ACTIONS(1100), + [anon_sym_long] = ACTIONS(1100), + [anon_sym_short] = ACTIONS(1100), + [sym_primitive_type] = ACTIONS(1100), + [anon_sym_enum] = ACTIONS(1100), + [anon_sym_struct] = ACTIONS(1100), + [anon_sym_union] = ACTIONS(1100), + [anon_sym_if] = ACTIONS(1100), + [anon_sym_switch] = ACTIONS(1100), + [anon_sym_case] = ACTIONS(1100), + [anon_sym_default] = ACTIONS(1100), + [anon_sym_while] = ACTIONS(1100), + [anon_sym_do] = ACTIONS(1100), + [anon_sym_for] = ACTIONS(1100), + [anon_sym_return] = ACTIONS(1100), + [anon_sym_break] = ACTIONS(1100), + [anon_sym_continue] = ACTIONS(1100), + [anon_sym_goto] = ACTIONS(1100), + [anon_sym_DASH_DASH] = ACTIONS(1102), + [anon_sym_PLUS_PLUS] = ACTIONS(1102), + [anon_sym_sizeof] = ACTIONS(1100), + [sym_number_literal] = ACTIONS(1102), + [anon_sym_L_SQUOTE] = ACTIONS(1102), + [anon_sym_u_SQUOTE] = ACTIONS(1102), + [anon_sym_U_SQUOTE] = ACTIONS(1102), + [anon_sym_u8_SQUOTE] = ACTIONS(1102), + [anon_sym_SQUOTE] = ACTIONS(1102), + [anon_sym_L_DQUOTE] = ACTIONS(1102), + [anon_sym_u_DQUOTE] = ACTIONS(1102), + [anon_sym_U_DQUOTE] = ACTIONS(1102), + [anon_sym_u8_DQUOTE] = ACTIONS(1102), + [anon_sym_DQUOTE] = ACTIONS(1102), + [sym_true] = ACTIONS(1100), + [sym_false] = ACTIONS(1100), + [sym_null] = ACTIONS(1100), + [sym_comment] = ACTIONS(3), + }, + [276] = { + [sym_identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_RBRACE] = ACTIONS(1106), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [sym_number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [sym_null] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + }, + [277] = { + [sym_identifier] = ACTIONS(1052), + [aux_sym_preproc_include_token1] = ACTIONS(1052), + [aux_sym_preproc_def_token1] = ACTIONS(1052), + [aux_sym_preproc_if_token1] = ACTIONS(1052), + [aux_sym_preproc_if_token2] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1052), + [sym_preproc_directive] = ACTIONS(1052), + [anon_sym_LPAREN2] = ACTIONS(1054), + [anon_sym_BANG] = ACTIONS(1054), + [anon_sym_TILDE] = ACTIONS(1054), + [anon_sym_DASH] = ACTIONS(1052), + [anon_sym_PLUS] = ACTIONS(1052), + [anon_sym_STAR] = ACTIONS(1054), + [anon_sym_AMP] = ACTIONS(1054), + [anon_sym_SEMI] = ACTIONS(1054), + [anon_sym_typedef] = ACTIONS(1052), + [anon_sym_extern] = ACTIONS(1052), + [anon_sym___attribute__] = ACTIONS(1052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1054), + [anon_sym___declspec] = ACTIONS(1052), + [anon_sym___cdecl] = ACTIONS(1052), + [anon_sym___clrcall] = ACTIONS(1052), + [anon_sym___stdcall] = ACTIONS(1052), + [anon_sym___fastcall] = ACTIONS(1052), + [anon_sym___thiscall] = ACTIONS(1052), + [anon_sym___vectorcall] = ACTIONS(1052), + [anon_sym_LBRACE] = ACTIONS(1054), + [anon_sym_static] = ACTIONS(1052), + [anon_sym_auto] = ACTIONS(1052), + [anon_sym_register] = ACTIONS(1052), + [anon_sym_inline] = ACTIONS(1052), + [anon_sym_const] = ACTIONS(1052), + [anon_sym_volatile] = ACTIONS(1052), + [anon_sym_restrict] = ACTIONS(1052), + [anon_sym__Atomic] = ACTIONS(1052), + [anon_sym_signed] = ACTIONS(1052), + [anon_sym_unsigned] = ACTIONS(1052), + [anon_sym_long] = ACTIONS(1052), + [anon_sym_short] = ACTIONS(1052), + [sym_primitive_type] = ACTIONS(1052), + [anon_sym_enum] = ACTIONS(1052), + [anon_sym_struct] = ACTIONS(1052), + [anon_sym_union] = ACTIONS(1052), + [anon_sym_if] = ACTIONS(1052), + [anon_sym_switch] = ACTIONS(1052), + [anon_sym_case] = ACTIONS(1052), + [anon_sym_default] = ACTIONS(1052), + [anon_sym_while] = ACTIONS(1052), + [anon_sym_do] = ACTIONS(1052), + [anon_sym_for] = ACTIONS(1052), + [anon_sym_return] = ACTIONS(1052), + [anon_sym_break] = ACTIONS(1052), + [anon_sym_continue] = ACTIONS(1052), + [anon_sym_goto] = ACTIONS(1052), + [anon_sym_DASH_DASH] = ACTIONS(1054), + [anon_sym_PLUS_PLUS] = ACTIONS(1054), + [anon_sym_sizeof] = ACTIONS(1052), + [sym_number_literal] = ACTIONS(1054), + [anon_sym_L_SQUOTE] = ACTIONS(1054), + [anon_sym_u_SQUOTE] = ACTIONS(1054), + [anon_sym_U_SQUOTE] = ACTIONS(1054), + [anon_sym_u8_SQUOTE] = ACTIONS(1054), + [anon_sym_SQUOTE] = ACTIONS(1054), + [anon_sym_L_DQUOTE] = ACTIONS(1054), + [anon_sym_u_DQUOTE] = ACTIONS(1054), + [anon_sym_U_DQUOTE] = ACTIONS(1054), + [anon_sym_u8_DQUOTE] = ACTIONS(1054), + [anon_sym_DQUOTE] = ACTIONS(1054), + [sym_true] = ACTIONS(1052), + [sym_false] = ACTIONS(1052), + [sym_null] = ACTIONS(1052), + [sym_comment] = ACTIONS(3), + }, + [278] = { + [ts_builtin_sym_end] = ACTIONS(1070), + [sym_identifier] = ACTIONS(1068), + [aux_sym_preproc_include_token1] = ACTIONS(1068), + [aux_sym_preproc_def_token1] = ACTIONS(1068), + [aux_sym_preproc_if_token1] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1068), + [sym_preproc_directive] = ACTIONS(1068), + [anon_sym_LPAREN2] = ACTIONS(1070), + [anon_sym_BANG] = ACTIONS(1070), + [anon_sym_TILDE] = ACTIONS(1070), + [anon_sym_DASH] = ACTIONS(1068), + [anon_sym_PLUS] = ACTIONS(1068), + [anon_sym_STAR] = ACTIONS(1070), + [anon_sym_AMP] = ACTIONS(1070), + [anon_sym_SEMI] = ACTIONS(1070), + [anon_sym_typedef] = ACTIONS(1068), + [anon_sym_extern] = ACTIONS(1068), + [anon_sym___attribute__] = ACTIONS(1068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1070), + [anon_sym___declspec] = ACTIONS(1068), + [anon_sym___cdecl] = ACTIONS(1068), + [anon_sym___clrcall] = ACTIONS(1068), + [anon_sym___stdcall] = ACTIONS(1068), + [anon_sym___fastcall] = ACTIONS(1068), + [anon_sym___thiscall] = ACTIONS(1068), + [anon_sym___vectorcall] = ACTIONS(1068), + [anon_sym_LBRACE] = ACTIONS(1070), + [anon_sym_static] = ACTIONS(1068), + [anon_sym_auto] = ACTIONS(1068), + [anon_sym_register] = ACTIONS(1068), + [anon_sym_inline] = ACTIONS(1068), + [anon_sym_const] = ACTIONS(1068), + [anon_sym_volatile] = ACTIONS(1068), + [anon_sym_restrict] = ACTIONS(1068), + [anon_sym__Atomic] = ACTIONS(1068), + [anon_sym_signed] = ACTIONS(1068), + [anon_sym_unsigned] = ACTIONS(1068), + [anon_sym_long] = ACTIONS(1068), + [anon_sym_short] = ACTIONS(1068), + [sym_primitive_type] = ACTIONS(1068), + [anon_sym_enum] = ACTIONS(1068), + [anon_sym_struct] = ACTIONS(1068), + [anon_sym_union] = ACTIONS(1068), + [anon_sym_if] = ACTIONS(1068), + [anon_sym_switch] = ACTIONS(1068), + [anon_sym_case] = ACTIONS(1068), + [anon_sym_default] = ACTIONS(1068), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(1068), + [anon_sym_for] = ACTIONS(1068), + [anon_sym_return] = ACTIONS(1068), + [anon_sym_break] = ACTIONS(1068), + [anon_sym_continue] = ACTIONS(1068), + [anon_sym_goto] = ACTIONS(1068), + [anon_sym_DASH_DASH] = ACTIONS(1070), + [anon_sym_PLUS_PLUS] = ACTIONS(1070), + [anon_sym_sizeof] = ACTIONS(1068), + [sym_number_literal] = ACTIONS(1070), + [anon_sym_L_SQUOTE] = ACTIONS(1070), + [anon_sym_u_SQUOTE] = ACTIONS(1070), + [anon_sym_U_SQUOTE] = ACTIONS(1070), + [anon_sym_u8_SQUOTE] = ACTIONS(1070), + [anon_sym_SQUOTE] = ACTIONS(1070), + [anon_sym_L_DQUOTE] = ACTIONS(1070), + [anon_sym_u_DQUOTE] = ACTIONS(1070), + [anon_sym_U_DQUOTE] = ACTIONS(1070), + [anon_sym_u8_DQUOTE] = ACTIONS(1070), + [anon_sym_DQUOTE] = ACTIONS(1070), + [sym_true] = ACTIONS(1068), + [sym_false] = ACTIONS(1068), + [sym_null] = ACTIONS(1068), + [sym_comment] = ACTIONS(3), + }, + [279] = { + [ts_builtin_sym_end] = ACTIONS(1078), + [sym_identifier] = ACTIONS(1076), + [aux_sym_preproc_include_token1] = ACTIONS(1076), + [aux_sym_preproc_def_token1] = ACTIONS(1076), + [aux_sym_preproc_if_token1] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1076), + [sym_preproc_directive] = ACTIONS(1076), + [anon_sym_LPAREN2] = ACTIONS(1078), + [anon_sym_BANG] = ACTIONS(1078), + [anon_sym_TILDE] = ACTIONS(1078), + [anon_sym_DASH] = ACTIONS(1076), + [anon_sym_PLUS] = ACTIONS(1076), + [anon_sym_STAR] = ACTIONS(1078), + [anon_sym_AMP] = ACTIONS(1078), + [anon_sym_SEMI] = ACTIONS(1078), + [anon_sym_typedef] = ACTIONS(1076), + [anon_sym_extern] = ACTIONS(1076), + [anon_sym___attribute__] = ACTIONS(1076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1078), + [anon_sym___declspec] = ACTIONS(1076), + [anon_sym___cdecl] = ACTIONS(1076), + [anon_sym___clrcall] = ACTIONS(1076), + [anon_sym___stdcall] = ACTIONS(1076), + [anon_sym___fastcall] = ACTIONS(1076), + [anon_sym___thiscall] = ACTIONS(1076), + [anon_sym___vectorcall] = ACTIONS(1076), + [anon_sym_LBRACE] = ACTIONS(1078), + [anon_sym_static] = ACTIONS(1076), + [anon_sym_auto] = ACTIONS(1076), + [anon_sym_register] = ACTIONS(1076), + [anon_sym_inline] = ACTIONS(1076), + [anon_sym_const] = ACTIONS(1076), + [anon_sym_volatile] = ACTIONS(1076), + [anon_sym_restrict] = ACTIONS(1076), + [anon_sym__Atomic] = ACTIONS(1076), + [anon_sym_signed] = ACTIONS(1076), + [anon_sym_unsigned] = ACTIONS(1076), + [anon_sym_long] = ACTIONS(1076), + [anon_sym_short] = ACTIONS(1076), + [sym_primitive_type] = ACTIONS(1076), + [anon_sym_enum] = ACTIONS(1076), + [anon_sym_struct] = ACTIONS(1076), + [anon_sym_union] = ACTIONS(1076), + [anon_sym_if] = ACTIONS(1076), + [anon_sym_switch] = ACTIONS(1076), + [anon_sym_case] = ACTIONS(1076), + [anon_sym_default] = ACTIONS(1076), + [anon_sym_while] = ACTIONS(1076), + [anon_sym_do] = ACTIONS(1076), + [anon_sym_for] = ACTIONS(1076), + [anon_sym_return] = ACTIONS(1076), + [anon_sym_break] = ACTIONS(1076), + [anon_sym_continue] = ACTIONS(1076), + [anon_sym_goto] = ACTIONS(1076), + [anon_sym_DASH_DASH] = ACTIONS(1078), + [anon_sym_PLUS_PLUS] = ACTIONS(1078), + [anon_sym_sizeof] = ACTIONS(1076), + [sym_number_literal] = ACTIONS(1078), + [anon_sym_L_SQUOTE] = ACTIONS(1078), + [anon_sym_u_SQUOTE] = ACTIONS(1078), + [anon_sym_U_SQUOTE] = ACTIONS(1078), + [anon_sym_u8_SQUOTE] = ACTIONS(1078), + [anon_sym_SQUOTE] = ACTIONS(1078), + [anon_sym_L_DQUOTE] = ACTIONS(1078), + [anon_sym_u_DQUOTE] = ACTIONS(1078), + [anon_sym_U_DQUOTE] = ACTIONS(1078), + [anon_sym_u8_DQUOTE] = ACTIONS(1078), + [anon_sym_DQUOTE] = ACTIONS(1078), + [sym_true] = ACTIONS(1076), + [sym_false] = ACTIONS(1076), + [sym_null] = ACTIONS(1076), + [sym_comment] = ACTIONS(3), + }, + [280] = { + [sym_identifier] = ACTIONS(1048), + [aux_sym_preproc_include_token1] = ACTIONS(1048), + [aux_sym_preproc_def_token1] = ACTIONS(1048), + [aux_sym_preproc_if_token1] = ACTIONS(1048), + [aux_sym_preproc_if_token2] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1048), + [sym_preproc_directive] = ACTIONS(1048), + [anon_sym_LPAREN2] = ACTIONS(1050), + [anon_sym_BANG] = ACTIONS(1050), + [anon_sym_TILDE] = ACTIONS(1050), + [anon_sym_DASH] = ACTIONS(1048), + [anon_sym_PLUS] = ACTIONS(1048), + [anon_sym_STAR] = ACTIONS(1050), + [anon_sym_AMP] = ACTIONS(1050), + [anon_sym_SEMI] = ACTIONS(1050), + [anon_sym_typedef] = ACTIONS(1048), + [anon_sym_extern] = ACTIONS(1048), + [anon_sym___attribute__] = ACTIONS(1048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1050), + [anon_sym___declspec] = ACTIONS(1048), + [anon_sym___cdecl] = ACTIONS(1048), + [anon_sym___clrcall] = ACTIONS(1048), + [anon_sym___stdcall] = ACTIONS(1048), + [anon_sym___fastcall] = ACTIONS(1048), + [anon_sym___thiscall] = ACTIONS(1048), + [anon_sym___vectorcall] = ACTIONS(1048), + [anon_sym_LBRACE] = ACTIONS(1050), + [anon_sym_static] = ACTIONS(1048), + [anon_sym_auto] = ACTIONS(1048), + [anon_sym_register] = ACTIONS(1048), + [anon_sym_inline] = ACTIONS(1048), + [anon_sym_const] = ACTIONS(1048), + [anon_sym_volatile] = ACTIONS(1048), + [anon_sym_restrict] = ACTIONS(1048), + [anon_sym__Atomic] = ACTIONS(1048), + [anon_sym_signed] = ACTIONS(1048), + [anon_sym_unsigned] = ACTIONS(1048), + [anon_sym_long] = ACTIONS(1048), + [anon_sym_short] = ACTIONS(1048), + [sym_primitive_type] = ACTIONS(1048), + [anon_sym_enum] = ACTIONS(1048), + [anon_sym_struct] = ACTIONS(1048), + [anon_sym_union] = ACTIONS(1048), + [anon_sym_if] = ACTIONS(1048), + [anon_sym_switch] = ACTIONS(1048), + [anon_sym_case] = ACTIONS(1048), + [anon_sym_default] = ACTIONS(1048), + [anon_sym_while] = ACTIONS(1048), + [anon_sym_do] = ACTIONS(1048), + [anon_sym_for] = ACTIONS(1048), + [anon_sym_return] = ACTIONS(1048), + [anon_sym_break] = ACTIONS(1048), + [anon_sym_continue] = ACTIONS(1048), + [anon_sym_goto] = ACTIONS(1048), + [anon_sym_DASH_DASH] = ACTIONS(1050), + [anon_sym_PLUS_PLUS] = ACTIONS(1050), + [anon_sym_sizeof] = ACTIONS(1048), + [sym_number_literal] = ACTIONS(1050), + [anon_sym_L_SQUOTE] = ACTIONS(1050), + [anon_sym_u_SQUOTE] = ACTIONS(1050), + [anon_sym_U_SQUOTE] = ACTIONS(1050), + [anon_sym_u8_SQUOTE] = ACTIONS(1050), + [anon_sym_SQUOTE] = ACTIONS(1050), + [anon_sym_L_DQUOTE] = ACTIONS(1050), + [anon_sym_u_DQUOTE] = ACTIONS(1050), + [anon_sym_U_DQUOTE] = ACTIONS(1050), + [anon_sym_u8_DQUOTE] = ACTIONS(1050), + [anon_sym_DQUOTE] = ACTIONS(1050), + [sym_true] = ACTIONS(1048), + [sym_false] = ACTIONS(1048), + [sym_null] = ACTIONS(1048), + [sym_comment] = ACTIONS(3), + }, + [281] = { + [sym_identifier] = ACTIONS(1076), + [aux_sym_preproc_include_token1] = ACTIONS(1076), + [aux_sym_preproc_def_token1] = ACTIONS(1076), + [aux_sym_preproc_if_token1] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1076), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1076), + [sym_preproc_directive] = ACTIONS(1076), + [anon_sym_LPAREN2] = ACTIONS(1078), + [anon_sym_BANG] = ACTIONS(1078), + [anon_sym_TILDE] = ACTIONS(1078), + [anon_sym_DASH] = ACTIONS(1076), + [anon_sym_PLUS] = ACTIONS(1076), + [anon_sym_STAR] = ACTIONS(1078), + [anon_sym_AMP] = ACTIONS(1078), + [anon_sym_SEMI] = ACTIONS(1078), + [anon_sym_typedef] = ACTIONS(1076), + [anon_sym_extern] = ACTIONS(1076), + [anon_sym___attribute__] = ACTIONS(1076), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1078), + [anon_sym___declspec] = ACTIONS(1076), + [anon_sym___cdecl] = ACTIONS(1076), + [anon_sym___clrcall] = ACTIONS(1076), + [anon_sym___stdcall] = ACTIONS(1076), + [anon_sym___fastcall] = ACTIONS(1076), + [anon_sym___thiscall] = ACTIONS(1076), + [anon_sym___vectorcall] = ACTIONS(1076), + [anon_sym_LBRACE] = ACTIONS(1078), + [anon_sym_RBRACE] = ACTIONS(1078), + [anon_sym_static] = ACTIONS(1076), + [anon_sym_auto] = ACTIONS(1076), + [anon_sym_register] = ACTIONS(1076), + [anon_sym_inline] = ACTIONS(1076), + [anon_sym_const] = ACTIONS(1076), + [anon_sym_volatile] = ACTIONS(1076), + [anon_sym_restrict] = ACTIONS(1076), + [anon_sym__Atomic] = ACTIONS(1076), + [anon_sym_signed] = ACTIONS(1076), + [anon_sym_unsigned] = ACTIONS(1076), + [anon_sym_long] = ACTIONS(1076), + [anon_sym_short] = ACTIONS(1076), + [sym_primitive_type] = ACTIONS(1076), + [anon_sym_enum] = ACTIONS(1076), + [anon_sym_struct] = ACTIONS(1076), + [anon_sym_union] = ACTIONS(1076), + [anon_sym_if] = ACTIONS(1076), + [anon_sym_switch] = ACTIONS(1076), + [anon_sym_case] = ACTIONS(1076), + [anon_sym_default] = ACTIONS(1076), + [anon_sym_while] = ACTIONS(1076), + [anon_sym_do] = ACTIONS(1076), + [anon_sym_for] = ACTIONS(1076), + [anon_sym_return] = ACTIONS(1076), + [anon_sym_break] = ACTIONS(1076), + [anon_sym_continue] = ACTIONS(1076), + [anon_sym_goto] = ACTIONS(1076), + [anon_sym_DASH_DASH] = ACTIONS(1078), + [anon_sym_PLUS_PLUS] = ACTIONS(1078), + [anon_sym_sizeof] = ACTIONS(1076), + [sym_number_literal] = ACTIONS(1078), + [anon_sym_L_SQUOTE] = ACTIONS(1078), + [anon_sym_u_SQUOTE] = ACTIONS(1078), + [anon_sym_U_SQUOTE] = ACTIONS(1078), + [anon_sym_u8_SQUOTE] = ACTIONS(1078), + [anon_sym_SQUOTE] = ACTIONS(1078), + [anon_sym_L_DQUOTE] = ACTIONS(1078), + [anon_sym_u_DQUOTE] = ACTIONS(1078), + [anon_sym_U_DQUOTE] = ACTIONS(1078), + [anon_sym_u8_DQUOTE] = ACTIONS(1078), + [anon_sym_DQUOTE] = ACTIONS(1078), + [sym_true] = ACTIONS(1076), + [sym_false] = ACTIONS(1076), + [sym_null] = ACTIONS(1076), + [sym_comment] = ACTIONS(3), + }, + [282] = { + [sym_identifier] = ACTIONS(1040), + [aux_sym_preproc_include_token1] = ACTIONS(1040), + [aux_sym_preproc_def_token1] = ACTIONS(1040), + [aux_sym_preproc_if_token1] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1040), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1040), + [sym_preproc_directive] = ACTIONS(1040), + [anon_sym_LPAREN2] = ACTIONS(1042), + [anon_sym_BANG] = ACTIONS(1042), + [anon_sym_TILDE] = ACTIONS(1042), + [anon_sym_DASH] = ACTIONS(1040), + [anon_sym_PLUS] = ACTIONS(1040), + [anon_sym_STAR] = ACTIONS(1042), + [anon_sym_AMP] = ACTIONS(1042), + [anon_sym_SEMI] = ACTIONS(1042), + [anon_sym_typedef] = ACTIONS(1040), + [anon_sym_extern] = ACTIONS(1040), + [anon_sym___attribute__] = ACTIONS(1040), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1042), + [anon_sym___declspec] = ACTIONS(1040), + [anon_sym___cdecl] = ACTIONS(1040), + [anon_sym___clrcall] = ACTIONS(1040), + [anon_sym___stdcall] = ACTIONS(1040), + [anon_sym___fastcall] = ACTIONS(1040), + [anon_sym___thiscall] = ACTIONS(1040), + [anon_sym___vectorcall] = ACTIONS(1040), + [anon_sym_LBRACE] = ACTIONS(1042), + [anon_sym_RBRACE] = ACTIONS(1042), + [anon_sym_static] = ACTIONS(1040), + [anon_sym_auto] = ACTIONS(1040), + [anon_sym_register] = ACTIONS(1040), + [anon_sym_inline] = ACTIONS(1040), + [anon_sym_const] = ACTIONS(1040), + [anon_sym_volatile] = ACTIONS(1040), + [anon_sym_restrict] = ACTIONS(1040), + [anon_sym__Atomic] = ACTIONS(1040), + [anon_sym_signed] = ACTIONS(1040), + [anon_sym_unsigned] = ACTIONS(1040), + [anon_sym_long] = ACTIONS(1040), + [anon_sym_short] = ACTIONS(1040), + [sym_primitive_type] = ACTIONS(1040), + [anon_sym_enum] = ACTIONS(1040), + [anon_sym_struct] = ACTIONS(1040), + [anon_sym_union] = ACTIONS(1040), + [anon_sym_if] = ACTIONS(1040), + [anon_sym_switch] = ACTIONS(1040), + [anon_sym_case] = ACTIONS(1040), + [anon_sym_default] = ACTIONS(1040), + [anon_sym_while] = ACTIONS(1040), + [anon_sym_do] = ACTIONS(1040), + [anon_sym_for] = ACTIONS(1040), + [anon_sym_return] = ACTIONS(1040), + [anon_sym_break] = ACTIONS(1040), + [anon_sym_continue] = ACTIONS(1040), + [anon_sym_goto] = ACTIONS(1040), + [anon_sym_DASH_DASH] = ACTIONS(1042), + [anon_sym_PLUS_PLUS] = ACTIONS(1042), + [anon_sym_sizeof] = ACTIONS(1040), + [sym_number_literal] = ACTIONS(1042), + [anon_sym_L_SQUOTE] = ACTIONS(1042), + [anon_sym_u_SQUOTE] = ACTIONS(1042), + [anon_sym_U_SQUOTE] = ACTIONS(1042), + [anon_sym_u8_SQUOTE] = ACTIONS(1042), + [anon_sym_SQUOTE] = ACTIONS(1042), + [anon_sym_L_DQUOTE] = ACTIONS(1042), + [anon_sym_u_DQUOTE] = ACTIONS(1042), + [anon_sym_U_DQUOTE] = ACTIONS(1042), + [anon_sym_u8_DQUOTE] = ACTIONS(1042), + [anon_sym_DQUOTE] = ACTIONS(1042), + [sym_true] = ACTIONS(1040), + [sym_false] = ACTIONS(1040), + [sym_null] = ACTIONS(1040), + [sym_comment] = ACTIONS(3), + }, + [283] = { + [sym_identifier] = ACTIONS(1068), + [aux_sym_preproc_include_token1] = ACTIONS(1068), + [aux_sym_preproc_def_token1] = ACTIONS(1068), + [aux_sym_preproc_if_token1] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1068), + [sym_preproc_directive] = ACTIONS(1068), + [anon_sym_LPAREN2] = ACTIONS(1070), + [anon_sym_BANG] = ACTIONS(1070), + [anon_sym_TILDE] = ACTIONS(1070), + [anon_sym_DASH] = ACTIONS(1068), + [anon_sym_PLUS] = ACTIONS(1068), + [anon_sym_STAR] = ACTIONS(1070), + [anon_sym_AMP] = ACTIONS(1070), + [anon_sym_SEMI] = ACTIONS(1070), + [anon_sym_typedef] = ACTIONS(1068), + [anon_sym_extern] = ACTIONS(1068), + [anon_sym___attribute__] = ACTIONS(1068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1070), + [anon_sym___declspec] = ACTIONS(1068), + [anon_sym___cdecl] = ACTIONS(1068), + [anon_sym___clrcall] = ACTIONS(1068), + [anon_sym___stdcall] = ACTIONS(1068), + [anon_sym___fastcall] = ACTIONS(1068), + [anon_sym___thiscall] = ACTIONS(1068), + [anon_sym___vectorcall] = ACTIONS(1068), + [anon_sym_LBRACE] = ACTIONS(1070), + [anon_sym_RBRACE] = ACTIONS(1070), + [anon_sym_static] = ACTIONS(1068), + [anon_sym_auto] = ACTIONS(1068), + [anon_sym_register] = ACTIONS(1068), + [anon_sym_inline] = ACTIONS(1068), + [anon_sym_const] = ACTIONS(1068), + [anon_sym_volatile] = ACTIONS(1068), + [anon_sym_restrict] = ACTIONS(1068), + [anon_sym__Atomic] = ACTIONS(1068), + [anon_sym_signed] = ACTIONS(1068), + [anon_sym_unsigned] = ACTIONS(1068), + [anon_sym_long] = ACTIONS(1068), + [anon_sym_short] = ACTIONS(1068), + [sym_primitive_type] = ACTIONS(1068), + [anon_sym_enum] = ACTIONS(1068), + [anon_sym_struct] = ACTIONS(1068), + [anon_sym_union] = ACTIONS(1068), + [anon_sym_if] = ACTIONS(1068), + [anon_sym_switch] = ACTIONS(1068), + [anon_sym_case] = ACTIONS(1068), + [anon_sym_default] = ACTIONS(1068), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(1068), + [anon_sym_for] = ACTIONS(1068), + [anon_sym_return] = ACTIONS(1068), + [anon_sym_break] = ACTIONS(1068), + [anon_sym_continue] = ACTIONS(1068), + [anon_sym_goto] = ACTIONS(1068), + [anon_sym_DASH_DASH] = ACTIONS(1070), + [anon_sym_PLUS_PLUS] = ACTIONS(1070), + [anon_sym_sizeof] = ACTIONS(1068), + [sym_number_literal] = ACTIONS(1070), + [anon_sym_L_SQUOTE] = ACTIONS(1070), + [anon_sym_u_SQUOTE] = ACTIONS(1070), + [anon_sym_U_SQUOTE] = ACTIONS(1070), + [anon_sym_u8_SQUOTE] = ACTIONS(1070), + [anon_sym_SQUOTE] = ACTIONS(1070), + [anon_sym_L_DQUOTE] = ACTIONS(1070), + [anon_sym_u_DQUOTE] = ACTIONS(1070), + [anon_sym_U_DQUOTE] = ACTIONS(1070), + [anon_sym_u8_DQUOTE] = ACTIONS(1070), + [anon_sym_DQUOTE] = ACTIONS(1070), + [sym_true] = ACTIONS(1068), + [sym_false] = ACTIONS(1068), + [sym_null] = ACTIONS(1068), + [sym_comment] = ACTIONS(3), + }, + [284] = { + [sym_identifier] = ACTIONS(1056), + [aux_sym_preproc_include_token1] = ACTIONS(1056), + [aux_sym_preproc_def_token1] = ACTIONS(1056), + [aux_sym_preproc_if_token1] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1056), + [sym_preproc_directive] = ACTIONS(1056), + [anon_sym_LPAREN2] = ACTIONS(1058), + [anon_sym_BANG] = ACTIONS(1058), + [anon_sym_TILDE] = ACTIONS(1058), + [anon_sym_DASH] = ACTIONS(1056), + [anon_sym_PLUS] = ACTIONS(1056), + [anon_sym_STAR] = ACTIONS(1058), + [anon_sym_AMP] = ACTIONS(1058), + [anon_sym_SEMI] = ACTIONS(1058), + [anon_sym_typedef] = ACTIONS(1056), + [anon_sym_extern] = ACTIONS(1056), + [anon_sym___attribute__] = ACTIONS(1056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1058), + [anon_sym___declspec] = ACTIONS(1056), + [anon_sym___cdecl] = ACTIONS(1056), + [anon_sym___clrcall] = ACTIONS(1056), + [anon_sym___stdcall] = ACTIONS(1056), + [anon_sym___fastcall] = ACTIONS(1056), + [anon_sym___thiscall] = ACTIONS(1056), + [anon_sym___vectorcall] = ACTIONS(1056), + [anon_sym_LBRACE] = ACTIONS(1058), + [anon_sym_RBRACE] = ACTIONS(1058), + [anon_sym_static] = ACTIONS(1056), + [anon_sym_auto] = ACTIONS(1056), + [anon_sym_register] = ACTIONS(1056), + [anon_sym_inline] = ACTIONS(1056), + [anon_sym_const] = ACTIONS(1056), + [anon_sym_volatile] = ACTIONS(1056), + [anon_sym_restrict] = ACTIONS(1056), + [anon_sym__Atomic] = ACTIONS(1056), + [anon_sym_signed] = ACTIONS(1056), + [anon_sym_unsigned] = ACTIONS(1056), + [anon_sym_long] = ACTIONS(1056), + [anon_sym_short] = ACTIONS(1056), + [sym_primitive_type] = ACTIONS(1056), + [anon_sym_enum] = ACTIONS(1056), + [anon_sym_struct] = ACTIONS(1056), + [anon_sym_union] = ACTIONS(1056), + [anon_sym_if] = ACTIONS(1056), + [anon_sym_switch] = ACTIONS(1056), + [anon_sym_case] = ACTIONS(1056), + [anon_sym_default] = ACTIONS(1056), + [anon_sym_while] = ACTIONS(1056), + [anon_sym_do] = ACTIONS(1056), + [anon_sym_for] = ACTIONS(1056), + [anon_sym_return] = ACTIONS(1056), + [anon_sym_break] = ACTIONS(1056), + [anon_sym_continue] = ACTIONS(1056), + [anon_sym_goto] = ACTIONS(1056), + [anon_sym_DASH_DASH] = ACTIONS(1058), + [anon_sym_PLUS_PLUS] = ACTIONS(1058), + [anon_sym_sizeof] = ACTIONS(1056), + [sym_number_literal] = ACTIONS(1058), + [anon_sym_L_SQUOTE] = ACTIONS(1058), + [anon_sym_u_SQUOTE] = ACTIONS(1058), + [anon_sym_U_SQUOTE] = ACTIONS(1058), + [anon_sym_u8_SQUOTE] = ACTIONS(1058), + [anon_sym_SQUOTE] = ACTIONS(1058), + [anon_sym_L_DQUOTE] = ACTIONS(1058), + [anon_sym_u_DQUOTE] = ACTIONS(1058), + [anon_sym_U_DQUOTE] = ACTIONS(1058), + [anon_sym_u8_DQUOTE] = ACTIONS(1058), + [anon_sym_DQUOTE] = ACTIONS(1058), + [sym_true] = ACTIONS(1056), + [sym_false] = ACTIONS(1056), + [sym_null] = ACTIONS(1056), + [sym_comment] = ACTIONS(3), + }, + [285] = { + [sym_identifier] = ACTIONS(1080), + [aux_sym_preproc_include_token1] = ACTIONS(1080), + [aux_sym_preproc_def_token1] = ACTIONS(1080), + [aux_sym_preproc_if_token1] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1080), + [sym_preproc_directive] = ACTIONS(1080), + [anon_sym_LPAREN2] = ACTIONS(1082), + [anon_sym_BANG] = ACTIONS(1082), + [anon_sym_TILDE] = ACTIONS(1082), + [anon_sym_DASH] = ACTIONS(1080), + [anon_sym_PLUS] = ACTIONS(1080), + [anon_sym_STAR] = ACTIONS(1082), + [anon_sym_AMP] = ACTIONS(1082), + [anon_sym_SEMI] = ACTIONS(1082), + [anon_sym_typedef] = ACTIONS(1080), + [anon_sym_extern] = ACTIONS(1080), + [anon_sym___attribute__] = ACTIONS(1080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1082), + [anon_sym___declspec] = ACTIONS(1080), + [anon_sym___cdecl] = ACTIONS(1080), + [anon_sym___clrcall] = ACTIONS(1080), + [anon_sym___stdcall] = ACTIONS(1080), + [anon_sym___fastcall] = ACTIONS(1080), + [anon_sym___thiscall] = ACTIONS(1080), + [anon_sym___vectorcall] = ACTIONS(1080), + [anon_sym_LBRACE] = ACTIONS(1082), + [anon_sym_RBRACE] = ACTIONS(1082), + [anon_sym_static] = ACTIONS(1080), + [anon_sym_auto] = ACTIONS(1080), + [anon_sym_register] = ACTIONS(1080), + [anon_sym_inline] = ACTIONS(1080), + [anon_sym_const] = ACTIONS(1080), + [anon_sym_volatile] = ACTIONS(1080), + [anon_sym_restrict] = ACTIONS(1080), + [anon_sym__Atomic] = ACTIONS(1080), + [anon_sym_signed] = ACTIONS(1080), + [anon_sym_unsigned] = ACTIONS(1080), + [anon_sym_long] = ACTIONS(1080), + [anon_sym_short] = ACTIONS(1080), + [sym_primitive_type] = ACTIONS(1080), + [anon_sym_enum] = ACTIONS(1080), + [anon_sym_struct] = ACTIONS(1080), + [anon_sym_union] = ACTIONS(1080), + [anon_sym_if] = ACTIONS(1080), + [anon_sym_switch] = ACTIONS(1080), + [anon_sym_case] = ACTIONS(1080), + [anon_sym_default] = ACTIONS(1080), + [anon_sym_while] = ACTIONS(1080), + [anon_sym_do] = ACTIONS(1080), + [anon_sym_for] = ACTIONS(1080), + [anon_sym_return] = ACTIONS(1080), + [anon_sym_break] = ACTIONS(1080), + [anon_sym_continue] = ACTIONS(1080), + [anon_sym_goto] = ACTIONS(1080), + [anon_sym_DASH_DASH] = ACTIONS(1082), + [anon_sym_PLUS_PLUS] = ACTIONS(1082), + [anon_sym_sizeof] = ACTIONS(1080), + [sym_number_literal] = ACTIONS(1082), + [anon_sym_L_SQUOTE] = ACTIONS(1082), + [anon_sym_u_SQUOTE] = ACTIONS(1082), + [anon_sym_U_SQUOTE] = ACTIONS(1082), + [anon_sym_u8_SQUOTE] = ACTIONS(1082), + [anon_sym_SQUOTE] = ACTIONS(1082), + [anon_sym_L_DQUOTE] = ACTIONS(1082), + [anon_sym_u_DQUOTE] = ACTIONS(1082), + [anon_sym_U_DQUOTE] = ACTIONS(1082), + [anon_sym_u8_DQUOTE] = ACTIONS(1082), + [anon_sym_DQUOTE] = ACTIONS(1082), + [sym_true] = ACTIONS(1080), + [sym_false] = ACTIONS(1080), + [sym_null] = ACTIONS(1080), + [sym_comment] = ACTIONS(3), + }, + [286] = { + [sym_identifier] = ACTIONS(1072), + [aux_sym_preproc_include_token1] = ACTIONS(1072), + [aux_sym_preproc_def_token1] = ACTIONS(1072), + [aux_sym_preproc_if_token1] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1072), + [sym_preproc_directive] = ACTIONS(1072), + [anon_sym_LPAREN2] = ACTIONS(1074), + [anon_sym_BANG] = ACTIONS(1074), + [anon_sym_TILDE] = ACTIONS(1074), + [anon_sym_DASH] = ACTIONS(1072), + [anon_sym_PLUS] = ACTIONS(1072), + [anon_sym_STAR] = ACTIONS(1074), + [anon_sym_AMP] = ACTIONS(1074), + [anon_sym_SEMI] = ACTIONS(1074), + [anon_sym_typedef] = ACTIONS(1072), + [anon_sym_extern] = ACTIONS(1072), + [anon_sym___attribute__] = ACTIONS(1072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1074), + [anon_sym___declspec] = ACTIONS(1072), + [anon_sym___cdecl] = ACTIONS(1072), + [anon_sym___clrcall] = ACTIONS(1072), + [anon_sym___stdcall] = ACTIONS(1072), + [anon_sym___fastcall] = ACTIONS(1072), + [anon_sym___thiscall] = ACTIONS(1072), + [anon_sym___vectorcall] = ACTIONS(1072), + [anon_sym_LBRACE] = ACTIONS(1074), + [anon_sym_RBRACE] = ACTIONS(1074), + [anon_sym_static] = ACTIONS(1072), + [anon_sym_auto] = ACTIONS(1072), + [anon_sym_register] = ACTIONS(1072), + [anon_sym_inline] = ACTIONS(1072), + [anon_sym_const] = ACTIONS(1072), + [anon_sym_volatile] = ACTIONS(1072), + [anon_sym_restrict] = ACTIONS(1072), + [anon_sym__Atomic] = ACTIONS(1072), + [anon_sym_signed] = ACTIONS(1072), + [anon_sym_unsigned] = ACTIONS(1072), + [anon_sym_long] = ACTIONS(1072), + [anon_sym_short] = ACTIONS(1072), + [sym_primitive_type] = ACTIONS(1072), + [anon_sym_enum] = ACTIONS(1072), + [anon_sym_struct] = ACTIONS(1072), + [anon_sym_union] = ACTIONS(1072), + [anon_sym_if] = ACTIONS(1072), + [anon_sym_switch] = ACTIONS(1072), + [anon_sym_case] = ACTIONS(1072), + [anon_sym_default] = ACTIONS(1072), + [anon_sym_while] = ACTIONS(1072), + [anon_sym_do] = ACTIONS(1072), + [anon_sym_for] = ACTIONS(1072), + [anon_sym_return] = ACTIONS(1072), + [anon_sym_break] = ACTIONS(1072), + [anon_sym_continue] = ACTIONS(1072), + [anon_sym_goto] = ACTIONS(1072), + [anon_sym_DASH_DASH] = ACTIONS(1074), + [anon_sym_PLUS_PLUS] = ACTIONS(1074), + [anon_sym_sizeof] = ACTIONS(1072), + [sym_number_literal] = ACTIONS(1074), + [anon_sym_L_SQUOTE] = ACTIONS(1074), + [anon_sym_u_SQUOTE] = ACTIONS(1074), + [anon_sym_U_SQUOTE] = ACTIONS(1074), + [anon_sym_u8_SQUOTE] = ACTIONS(1074), + [anon_sym_SQUOTE] = ACTIONS(1074), + [anon_sym_L_DQUOTE] = ACTIONS(1074), + [anon_sym_u_DQUOTE] = ACTIONS(1074), + [anon_sym_U_DQUOTE] = ACTIONS(1074), + [anon_sym_u8_DQUOTE] = ACTIONS(1074), + [anon_sym_DQUOTE] = ACTIONS(1074), + [sym_true] = ACTIONS(1072), + [sym_false] = ACTIONS(1072), + [sym_null] = ACTIONS(1072), + [sym_comment] = ACTIONS(3), + }, + [287] = { + [ts_builtin_sym_end] = ACTIONS(1106), + [sym_identifier] = ACTIONS(1104), + [aux_sym_preproc_include_token1] = ACTIONS(1104), + [aux_sym_preproc_def_token1] = ACTIONS(1104), + [aux_sym_preproc_if_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1104), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1104), + [sym_preproc_directive] = ACTIONS(1104), + [anon_sym_LPAREN2] = ACTIONS(1106), + [anon_sym_BANG] = ACTIONS(1106), + [anon_sym_TILDE] = ACTIONS(1106), + [anon_sym_DASH] = ACTIONS(1104), + [anon_sym_PLUS] = ACTIONS(1104), + [anon_sym_STAR] = ACTIONS(1106), + [anon_sym_AMP] = ACTIONS(1106), + [anon_sym_SEMI] = ACTIONS(1106), + [anon_sym_typedef] = ACTIONS(1104), + [anon_sym_extern] = ACTIONS(1104), + [anon_sym___attribute__] = ACTIONS(1104), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1106), + [anon_sym___declspec] = ACTIONS(1104), + [anon_sym___cdecl] = ACTIONS(1104), + [anon_sym___clrcall] = ACTIONS(1104), + [anon_sym___stdcall] = ACTIONS(1104), + [anon_sym___fastcall] = ACTIONS(1104), + [anon_sym___thiscall] = ACTIONS(1104), + [anon_sym___vectorcall] = ACTIONS(1104), + [anon_sym_LBRACE] = ACTIONS(1106), + [anon_sym_static] = ACTIONS(1104), + [anon_sym_auto] = ACTIONS(1104), + [anon_sym_register] = ACTIONS(1104), + [anon_sym_inline] = ACTIONS(1104), + [anon_sym_const] = ACTIONS(1104), + [anon_sym_volatile] = ACTIONS(1104), + [anon_sym_restrict] = ACTIONS(1104), + [anon_sym__Atomic] = ACTIONS(1104), + [anon_sym_signed] = ACTIONS(1104), + [anon_sym_unsigned] = ACTIONS(1104), + [anon_sym_long] = ACTIONS(1104), + [anon_sym_short] = ACTIONS(1104), + [sym_primitive_type] = ACTIONS(1104), + [anon_sym_enum] = ACTIONS(1104), + [anon_sym_struct] = ACTIONS(1104), + [anon_sym_union] = ACTIONS(1104), + [anon_sym_if] = ACTIONS(1104), + [anon_sym_switch] = ACTIONS(1104), + [anon_sym_case] = ACTIONS(1104), + [anon_sym_default] = ACTIONS(1104), + [anon_sym_while] = ACTIONS(1104), + [anon_sym_do] = ACTIONS(1104), + [anon_sym_for] = ACTIONS(1104), + [anon_sym_return] = ACTIONS(1104), + [anon_sym_break] = ACTIONS(1104), + [anon_sym_continue] = ACTIONS(1104), + [anon_sym_goto] = ACTIONS(1104), + [anon_sym_DASH_DASH] = ACTIONS(1106), + [anon_sym_PLUS_PLUS] = ACTIONS(1106), + [anon_sym_sizeof] = ACTIONS(1104), + [sym_number_literal] = ACTIONS(1106), + [anon_sym_L_SQUOTE] = ACTIONS(1106), + [anon_sym_u_SQUOTE] = ACTIONS(1106), + [anon_sym_U_SQUOTE] = ACTIONS(1106), + [anon_sym_u8_SQUOTE] = ACTIONS(1106), + [anon_sym_SQUOTE] = ACTIONS(1106), + [anon_sym_L_DQUOTE] = ACTIONS(1106), + [anon_sym_u_DQUOTE] = ACTIONS(1106), + [anon_sym_U_DQUOTE] = ACTIONS(1106), + [anon_sym_u8_DQUOTE] = ACTIONS(1106), + [anon_sym_DQUOTE] = ACTIONS(1106), + [sym_true] = ACTIONS(1104), + [sym_false] = ACTIONS(1104), + [sym_null] = ACTIONS(1104), + [sym_comment] = ACTIONS(3), + }, + [288] = { + [sym_identifier] = ACTIONS(1084), + [aux_sym_preproc_include_token1] = ACTIONS(1084), + [aux_sym_preproc_def_token1] = ACTIONS(1084), + [aux_sym_preproc_if_token1] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1084), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1084), + [sym_preproc_directive] = ACTIONS(1084), + [anon_sym_LPAREN2] = ACTIONS(1086), + [anon_sym_BANG] = ACTIONS(1086), + [anon_sym_TILDE] = ACTIONS(1086), + [anon_sym_DASH] = ACTIONS(1084), + [anon_sym_PLUS] = ACTIONS(1084), + [anon_sym_STAR] = ACTIONS(1086), + [anon_sym_AMP] = ACTIONS(1086), + [anon_sym_SEMI] = ACTIONS(1086), + [anon_sym_typedef] = ACTIONS(1084), + [anon_sym_extern] = ACTIONS(1084), + [anon_sym___attribute__] = ACTIONS(1084), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1086), + [anon_sym___declspec] = ACTIONS(1084), + [anon_sym___cdecl] = ACTIONS(1084), + [anon_sym___clrcall] = ACTIONS(1084), + [anon_sym___stdcall] = ACTIONS(1084), + [anon_sym___fastcall] = ACTIONS(1084), + [anon_sym___thiscall] = ACTIONS(1084), + [anon_sym___vectorcall] = ACTIONS(1084), + [anon_sym_LBRACE] = ACTIONS(1086), + [anon_sym_RBRACE] = ACTIONS(1086), + [anon_sym_static] = ACTIONS(1084), + [anon_sym_auto] = ACTIONS(1084), + [anon_sym_register] = ACTIONS(1084), + [anon_sym_inline] = ACTIONS(1084), + [anon_sym_const] = ACTIONS(1084), + [anon_sym_volatile] = ACTIONS(1084), + [anon_sym_restrict] = ACTIONS(1084), + [anon_sym__Atomic] = ACTIONS(1084), + [anon_sym_signed] = ACTIONS(1084), + [anon_sym_unsigned] = ACTIONS(1084), + [anon_sym_long] = ACTIONS(1084), + [anon_sym_short] = ACTIONS(1084), + [sym_primitive_type] = ACTIONS(1084), + [anon_sym_enum] = ACTIONS(1084), + [anon_sym_struct] = ACTIONS(1084), + [anon_sym_union] = ACTIONS(1084), + [anon_sym_if] = ACTIONS(1084), + [anon_sym_switch] = ACTIONS(1084), + [anon_sym_case] = ACTIONS(1084), + [anon_sym_default] = ACTIONS(1084), + [anon_sym_while] = ACTIONS(1084), + [anon_sym_do] = ACTIONS(1084), + [anon_sym_for] = ACTIONS(1084), + [anon_sym_return] = ACTIONS(1084), + [anon_sym_break] = ACTIONS(1084), + [anon_sym_continue] = ACTIONS(1084), + [anon_sym_goto] = ACTIONS(1084), + [anon_sym_DASH_DASH] = ACTIONS(1086), + [anon_sym_PLUS_PLUS] = ACTIONS(1086), + [anon_sym_sizeof] = ACTIONS(1084), + [sym_number_literal] = ACTIONS(1086), + [anon_sym_L_SQUOTE] = ACTIONS(1086), + [anon_sym_u_SQUOTE] = ACTIONS(1086), + [anon_sym_U_SQUOTE] = ACTIONS(1086), + [anon_sym_u8_SQUOTE] = ACTIONS(1086), + [anon_sym_SQUOTE] = ACTIONS(1086), + [anon_sym_L_DQUOTE] = ACTIONS(1086), + [anon_sym_u_DQUOTE] = ACTIONS(1086), + [anon_sym_U_DQUOTE] = ACTIONS(1086), + [anon_sym_u8_DQUOTE] = ACTIONS(1086), + [anon_sym_DQUOTE] = ACTIONS(1086), + [sym_true] = ACTIONS(1084), + [sym_false] = ACTIONS(1084), + [sym_null] = ACTIONS(1084), + [sym_comment] = ACTIONS(3), + }, + [289] = { + [sym_identifier] = ACTIONS(1036), + [aux_sym_preproc_include_token1] = ACTIONS(1036), + [aux_sym_preproc_def_token1] = ACTIONS(1036), + [aux_sym_preproc_if_token1] = ACTIONS(1036), + [aux_sym_preproc_if_token2] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1036), + [sym_preproc_directive] = ACTIONS(1036), + [anon_sym_LPAREN2] = ACTIONS(1038), + [anon_sym_BANG] = ACTIONS(1038), + [anon_sym_TILDE] = ACTIONS(1038), + [anon_sym_DASH] = ACTIONS(1036), + [anon_sym_PLUS] = ACTIONS(1036), + [anon_sym_STAR] = ACTIONS(1038), + [anon_sym_AMP] = ACTIONS(1038), + [anon_sym_SEMI] = ACTIONS(1038), + [anon_sym_typedef] = ACTIONS(1036), + [anon_sym_extern] = ACTIONS(1036), + [anon_sym___attribute__] = ACTIONS(1036), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1038), + [anon_sym___declspec] = ACTIONS(1036), + [anon_sym___cdecl] = ACTIONS(1036), + [anon_sym___clrcall] = ACTIONS(1036), + [anon_sym___stdcall] = ACTIONS(1036), + [anon_sym___fastcall] = ACTIONS(1036), + [anon_sym___thiscall] = ACTIONS(1036), + [anon_sym___vectorcall] = ACTIONS(1036), + [anon_sym_LBRACE] = ACTIONS(1038), + [anon_sym_static] = ACTIONS(1036), + [anon_sym_auto] = ACTIONS(1036), + [anon_sym_register] = ACTIONS(1036), + [anon_sym_inline] = ACTIONS(1036), + [anon_sym_const] = ACTIONS(1036), + [anon_sym_volatile] = ACTIONS(1036), + [anon_sym_restrict] = ACTIONS(1036), + [anon_sym__Atomic] = ACTIONS(1036), + [anon_sym_signed] = ACTIONS(1036), + [anon_sym_unsigned] = ACTIONS(1036), + [anon_sym_long] = ACTIONS(1036), + [anon_sym_short] = ACTIONS(1036), + [sym_primitive_type] = ACTIONS(1036), + [anon_sym_enum] = ACTIONS(1036), + [anon_sym_struct] = ACTIONS(1036), + [anon_sym_union] = ACTIONS(1036), + [anon_sym_if] = ACTIONS(1036), + [anon_sym_switch] = ACTIONS(1036), + [anon_sym_case] = ACTIONS(1036), + [anon_sym_default] = ACTIONS(1036), + [anon_sym_while] = ACTIONS(1036), + [anon_sym_do] = ACTIONS(1036), + [anon_sym_for] = ACTIONS(1036), + [anon_sym_return] = ACTIONS(1036), + [anon_sym_break] = ACTIONS(1036), + [anon_sym_continue] = ACTIONS(1036), + [anon_sym_goto] = ACTIONS(1036), + [anon_sym_DASH_DASH] = ACTIONS(1038), + [anon_sym_PLUS_PLUS] = ACTIONS(1038), + [anon_sym_sizeof] = ACTIONS(1036), + [sym_number_literal] = ACTIONS(1038), + [anon_sym_L_SQUOTE] = ACTIONS(1038), + [anon_sym_u_SQUOTE] = ACTIONS(1038), + [anon_sym_U_SQUOTE] = ACTIONS(1038), + [anon_sym_u8_SQUOTE] = ACTIONS(1038), + [anon_sym_SQUOTE] = ACTIONS(1038), + [anon_sym_L_DQUOTE] = ACTIONS(1038), + [anon_sym_u_DQUOTE] = ACTIONS(1038), + [anon_sym_U_DQUOTE] = ACTIONS(1038), + [anon_sym_u8_DQUOTE] = ACTIONS(1038), + [anon_sym_DQUOTE] = ACTIONS(1038), + [sym_true] = ACTIONS(1036), + [sym_false] = ACTIONS(1036), + [sym_null] = ACTIONS(1036), + [sym_comment] = ACTIONS(3), + }, + [290] = { + [sym_identifier] = ACTIONS(1064), + [aux_sym_preproc_include_token1] = ACTIONS(1064), + [aux_sym_preproc_def_token1] = ACTIONS(1064), + [aux_sym_preproc_if_token1] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1064), + [sym_preproc_directive] = ACTIONS(1064), + [anon_sym_LPAREN2] = ACTIONS(1066), + [anon_sym_BANG] = ACTIONS(1066), + [anon_sym_TILDE] = ACTIONS(1066), + [anon_sym_DASH] = ACTIONS(1064), + [anon_sym_PLUS] = ACTIONS(1064), + [anon_sym_STAR] = ACTIONS(1066), + [anon_sym_AMP] = ACTIONS(1066), + [anon_sym_SEMI] = ACTIONS(1066), + [anon_sym_typedef] = ACTIONS(1064), + [anon_sym_extern] = ACTIONS(1064), + [anon_sym___attribute__] = ACTIONS(1064), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1066), + [anon_sym___declspec] = ACTIONS(1064), + [anon_sym___cdecl] = ACTIONS(1064), + [anon_sym___clrcall] = ACTIONS(1064), + [anon_sym___stdcall] = ACTIONS(1064), + [anon_sym___fastcall] = ACTIONS(1064), + [anon_sym___thiscall] = ACTIONS(1064), + [anon_sym___vectorcall] = ACTIONS(1064), + [anon_sym_LBRACE] = ACTIONS(1066), + [anon_sym_RBRACE] = ACTIONS(1066), + [anon_sym_static] = ACTIONS(1064), + [anon_sym_auto] = ACTIONS(1064), + [anon_sym_register] = ACTIONS(1064), + [anon_sym_inline] = ACTIONS(1064), + [anon_sym_const] = ACTIONS(1064), + [anon_sym_volatile] = ACTIONS(1064), + [anon_sym_restrict] = ACTIONS(1064), + [anon_sym__Atomic] = ACTIONS(1064), + [anon_sym_signed] = ACTIONS(1064), + [anon_sym_unsigned] = ACTIONS(1064), + [anon_sym_long] = ACTIONS(1064), + [anon_sym_short] = ACTIONS(1064), + [sym_primitive_type] = ACTIONS(1064), + [anon_sym_enum] = ACTIONS(1064), + [anon_sym_struct] = ACTIONS(1064), + [anon_sym_union] = ACTIONS(1064), + [anon_sym_if] = ACTIONS(1064), + [anon_sym_switch] = ACTIONS(1064), + [anon_sym_case] = ACTIONS(1064), + [anon_sym_default] = ACTIONS(1064), + [anon_sym_while] = ACTIONS(1064), + [anon_sym_do] = ACTIONS(1064), + [anon_sym_for] = ACTIONS(1064), + [anon_sym_return] = ACTIONS(1064), + [anon_sym_break] = ACTIONS(1064), + [anon_sym_continue] = ACTIONS(1064), + [anon_sym_goto] = ACTIONS(1064), + [anon_sym_DASH_DASH] = ACTIONS(1066), + [anon_sym_PLUS_PLUS] = ACTIONS(1066), + [anon_sym_sizeof] = ACTIONS(1064), + [sym_number_literal] = ACTIONS(1066), + [anon_sym_L_SQUOTE] = ACTIONS(1066), + [anon_sym_u_SQUOTE] = ACTIONS(1066), + [anon_sym_U_SQUOTE] = ACTIONS(1066), + [anon_sym_u8_SQUOTE] = ACTIONS(1066), + [anon_sym_SQUOTE] = ACTIONS(1066), + [anon_sym_L_DQUOTE] = ACTIONS(1066), + [anon_sym_u_DQUOTE] = ACTIONS(1066), + [anon_sym_U_DQUOTE] = ACTIONS(1066), + [anon_sym_u8_DQUOTE] = ACTIONS(1066), + [anon_sym_DQUOTE] = ACTIONS(1066), + [sym_true] = ACTIONS(1064), + [sym_false] = ACTIONS(1064), + [sym_null] = ACTIONS(1064), + [sym_comment] = ACTIONS(3), + }, + [291] = { + [ts_builtin_sym_end] = ACTIONS(1074), + [sym_identifier] = ACTIONS(1072), + [aux_sym_preproc_include_token1] = ACTIONS(1072), + [aux_sym_preproc_def_token1] = ACTIONS(1072), + [aux_sym_preproc_if_token1] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1072), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1072), + [sym_preproc_directive] = ACTIONS(1072), + [anon_sym_LPAREN2] = ACTIONS(1074), + [anon_sym_BANG] = ACTIONS(1074), + [anon_sym_TILDE] = ACTIONS(1074), + [anon_sym_DASH] = ACTIONS(1072), + [anon_sym_PLUS] = ACTIONS(1072), + [anon_sym_STAR] = ACTIONS(1074), + [anon_sym_AMP] = ACTIONS(1074), + [anon_sym_SEMI] = ACTIONS(1074), + [anon_sym_typedef] = ACTIONS(1072), + [anon_sym_extern] = ACTIONS(1072), + [anon_sym___attribute__] = ACTIONS(1072), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1074), + [anon_sym___declspec] = ACTIONS(1072), + [anon_sym___cdecl] = ACTIONS(1072), + [anon_sym___clrcall] = ACTIONS(1072), + [anon_sym___stdcall] = ACTIONS(1072), + [anon_sym___fastcall] = ACTIONS(1072), + [anon_sym___thiscall] = ACTIONS(1072), + [anon_sym___vectorcall] = ACTIONS(1072), + [anon_sym_LBRACE] = ACTIONS(1074), + [anon_sym_static] = ACTIONS(1072), + [anon_sym_auto] = ACTIONS(1072), + [anon_sym_register] = ACTIONS(1072), + [anon_sym_inline] = ACTIONS(1072), + [anon_sym_const] = ACTIONS(1072), + [anon_sym_volatile] = ACTIONS(1072), + [anon_sym_restrict] = ACTIONS(1072), + [anon_sym__Atomic] = ACTIONS(1072), + [anon_sym_signed] = ACTIONS(1072), + [anon_sym_unsigned] = ACTIONS(1072), + [anon_sym_long] = ACTIONS(1072), + [anon_sym_short] = ACTIONS(1072), + [sym_primitive_type] = ACTIONS(1072), + [anon_sym_enum] = ACTIONS(1072), + [anon_sym_struct] = ACTIONS(1072), + [anon_sym_union] = ACTIONS(1072), + [anon_sym_if] = ACTIONS(1072), + [anon_sym_switch] = ACTIONS(1072), + [anon_sym_case] = ACTIONS(1072), + [anon_sym_default] = ACTIONS(1072), + [anon_sym_while] = ACTIONS(1072), + [anon_sym_do] = ACTIONS(1072), + [anon_sym_for] = ACTIONS(1072), + [anon_sym_return] = ACTIONS(1072), + [anon_sym_break] = ACTIONS(1072), + [anon_sym_continue] = ACTIONS(1072), + [anon_sym_goto] = ACTIONS(1072), + [anon_sym_DASH_DASH] = ACTIONS(1074), + [anon_sym_PLUS_PLUS] = ACTIONS(1074), + [anon_sym_sizeof] = ACTIONS(1072), + [sym_number_literal] = ACTIONS(1074), + [anon_sym_L_SQUOTE] = ACTIONS(1074), + [anon_sym_u_SQUOTE] = ACTIONS(1074), + [anon_sym_U_SQUOTE] = ACTIONS(1074), + [anon_sym_u8_SQUOTE] = ACTIONS(1074), + [anon_sym_SQUOTE] = ACTIONS(1074), + [anon_sym_L_DQUOTE] = ACTIONS(1074), + [anon_sym_u_DQUOTE] = ACTIONS(1074), + [anon_sym_U_DQUOTE] = ACTIONS(1074), + [anon_sym_u8_DQUOTE] = ACTIONS(1074), + [anon_sym_DQUOTE] = ACTIONS(1074), + [sym_true] = ACTIONS(1072), + [sym_false] = ACTIONS(1072), + [sym_null] = ACTIONS(1072), + [sym_comment] = ACTIONS(3), + }, + [292] = { + [ts_builtin_sym_end] = ACTIONS(1082), + [sym_identifier] = ACTIONS(1080), + [aux_sym_preproc_include_token1] = ACTIONS(1080), + [aux_sym_preproc_def_token1] = ACTIONS(1080), + [aux_sym_preproc_if_token1] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1080), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1080), + [sym_preproc_directive] = ACTIONS(1080), + [anon_sym_LPAREN2] = ACTIONS(1082), + [anon_sym_BANG] = ACTIONS(1082), + [anon_sym_TILDE] = ACTIONS(1082), + [anon_sym_DASH] = ACTIONS(1080), + [anon_sym_PLUS] = ACTIONS(1080), + [anon_sym_STAR] = ACTIONS(1082), + [anon_sym_AMP] = ACTIONS(1082), + [anon_sym_SEMI] = ACTIONS(1082), + [anon_sym_typedef] = ACTIONS(1080), + [anon_sym_extern] = ACTIONS(1080), + [anon_sym___attribute__] = ACTIONS(1080), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1082), + [anon_sym___declspec] = ACTIONS(1080), + [anon_sym___cdecl] = ACTIONS(1080), + [anon_sym___clrcall] = ACTIONS(1080), + [anon_sym___stdcall] = ACTIONS(1080), + [anon_sym___fastcall] = ACTIONS(1080), + [anon_sym___thiscall] = ACTIONS(1080), + [anon_sym___vectorcall] = ACTIONS(1080), + [anon_sym_LBRACE] = ACTIONS(1082), + [anon_sym_static] = ACTIONS(1080), + [anon_sym_auto] = ACTIONS(1080), + [anon_sym_register] = ACTIONS(1080), + [anon_sym_inline] = ACTIONS(1080), + [anon_sym_const] = ACTIONS(1080), + [anon_sym_volatile] = ACTIONS(1080), + [anon_sym_restrict] = ACTIONS(1080), + [anon_sym__Atomic] = ACTIONS(1080), + [anon_sym_signed] = ACTIONS(1080), + [anon_sym_unsigned] = ACTIONS(1080), + [anon_sym_long] = ACTIONS(1080), + [anon_sym_short] = ACTIONS(1080), + [sym_primitive_type] = ACTIONS(1080), + [anon_sym_enum] = ACTIONS(1080), + [anon_sym_struct] = ACTIONS(1080), + [anon_sym_union] = ACTIONS(1080), + [anon_sym_if] = ACTIONS(1080), + [anon_sym_switch] = ACTIONS(1080), + [anon_sym_case] = ACTIONS(1080), + [anon_sym_default] = ACTIONS(1080), + [anon_sym_while] = ACTIONS(1080), + [anon_sym_do] = ACTIONS(1080), + [anon_sym_for] = ACTIONS(1080), + [anon_sym_return] = ACTIONS(1080), + [anon_sym_break] = ACTIONS(1080), + [anon_sym_continue] = ACTIONS(1080), + [anon_sym_goto] = ACTIONS(1080), + [anon_sym_DASH_DASH] = ACTIONS(1082), + [anon_sym_PLUS_PLUS] = ACTIONS(1082), + [anon_sym_sizeof] = ACTIONS(1080), + [sym_number_literal] = ACTIONS(1082), + [anon_sym_L_SQUOTE] = ACTIONS(1082), + [anon_sym_u_SQUOTE] = ACTIONS(1082), + [anon_sym_U_SQUOTE] = ACTIONS(1082), + [anon_sym_u8_SQUOTE] = ACTIONS(1082), + [anon_sym_SQUOTE] = ACTIONS(1082), + [anon_sym_L_DQUOTE] = ACTIONS(1082), + [anon_sym_u_DQUOTE] = ACTIONS(1082), + [anon_sym_U_DQUOTE] = ACTIONS(1082), + [anon_sym_u8_DQUOTE] = ACTIONS(1082), + [anon_sym_DQUOTE] = ACTIONS(1082), + [sym_true] = ACTIONS(1080), + [sym_false] = ACTIONS(1080), + [sym_null] = ACTIONS(1080), + [sym_comment] = ACTIONS(3), + }, + [293] = { + [sym_identifier] = ACTIONS(1060), + [aux_sym_preproc_include_token1] = ACTIONS(1060), + [aux_sym_preproc_def_token1] = ACTIONS(1060), + [aux_sym_preproc_if_token1] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1060), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1060), + [sym_preproc_directive] = ACTIONS(1060), + [anon_sym_LPAREN2] = ACTIONS(1062), + [anon_sym_BANG] = ACTIONS(1062), + [anon_sym_TILDE] = ACTIONS(1062), + [anon_sym_DASH] = ACTIONS(1060), + [anon_sym_PLUS] = ACTIONS(1060), + [anon_sym_STAR] = ACTIONS(1062), + [anon_sym_AMP] = ACTIONS(1062), + [anon_sym_SEMI] = ACTIONS(1062), + [anon_sym_typedef] = ACTIONS(1060), + [anon_sym_extern] = ACTIONS(1060), + [anon_sym___attribute__] = ACTIONS(1060), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1062), + [anon_sym___declspec] = ACTIONS(1060), + [anon_sym___cdecl] = ACTIONS(1060), + [anon_sym___clrcall] = ACTIONS(1060), + [anon_sym___stdcall] = ACTIONS(1060), + [anon_sym___fastcall] = ACTIONS(1060), + [anon_sym___thiscall] = ACTIONS(1060), + [anon_sym___vectorcall] = ACTIONS(1060), + [anon_sym_LBRACE] = ACTIONS(1062), + [anon_sym_RBRACE] = ACTIONS(1062), + [anon_sym_static] = ACTIONS(1060), + [anon_sym_auto] = ACTIONS(1060), + [anon_sym_register] = ACTIONS(1060), + [anon_sym_inline] = ACTIONS(1060), + [anon_sym_const] = ACTIONS(1060), + [anon_sym_volatile] = ACTIONS(1060), + [anon_sym_restrict] = ACTIONS(1060), + [anon_sym__Atomic] = ACTIONS(1060), + [anon_sym_signed] = ACTIONS(1060), + [anon_sym_unsigned] = ACTIONS(1060), + [anon_sym_long] = ACTIONS(1060), + [anon_sym_short] = ACTIONS(1060), + [sym_primitive_type] = ACTIONS(1060), + [anon_sym_enum] = ACTIONS(1060), + [anon_sym_struct] = ACTIONS(1060), + [anon_sym_union] = ACTIONS(1060), + [anon_sym_if] = ACTIONS(1060), + [anon_sym_switch] = ACTIONS(1060), + [anon_sym_case] = ACTIONS(1060), + [anon_sym_default] = ACTIONS(1060), + [anon_sym_while] = ACTIONS(1060), + [anon_sym_do] = ACTIONS(1060), + [anon_sym_for] = ACTIONS(1060), + [anon_sym_return] = ACTIONS(1060), + [anon_sym_break] = ACTIONS(1060), + [anon_sym_continue] = ACTIONS(1060), + [anon_sym_goto] = ACTIONS(1060), + [anon_sym_DASH_DASH] = ACTIONS(1062), + [anon_sym_PLUS_PLUS] = ACTIONS(1062), + [anon_sym_sizeof] = ACTIONS(1060), + [sym_number_literal] = ACTIONS(1062), + [anon_sym_L_SQUOTE] = ACTIONS(1062), + [anon_sym_u_SQUOTE] = ACTIONS(1062), + [anon_sym_U_SQUOTE] = ACTIONS(1062), + [anon_sym_u8_SQUOTE] = ACTIONS(1062), + [anon_sym_SQUOTE] = ACTIONS(1062), + [anon_sym_L_DQUOTE] = ACTIONS(1062), + [anon_sym_u_DQUOTE] = ACTIONS(1062), + [anon_sym_U_DQUOTE] = ACTIONS(1062), + [anon_sym_u8_DQUOTE] = ACTIONS(1062), + [anon_sym_DQUOTE] = ACTIONS(1062), + [sym_true] = ACTIONS(1060), + [sym_false] = ACTIONS(1060), + [sym_null] = ACTIONS(1060), + [sym_comment] = ACTIONS(3), + }, + [294] = { + [sym_identifier] = ACTIONS(1052), + [aux_sym_preproc_include_token1] = ACTIONS(1052), + [aux_sym_preproc_def_token1] = ACTIONS(1052), + [aux_sym_preproc_if_token1] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1052), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1052), + [sym_preproc_directive] = ACTIONS(1052), + [anon_sym_LPAREN2] = ACTIONS(1054), + [anon_sym_BANG] = ACTIONS(1054), + [anon_sym_TILDE] = ACTIONS(1054), + [anon_sym_DASH] = ACTIONS(1052), + [anon_sym_PLUS] = ACTIONS(1052), + [anon_sym_STAR] = ACTIONS(1054), + [anon_sym_AMP] = ACTIONS(1054), + [anon_sym_SEMI] = ACTIONS(1054), + [anon_sym_typedef] = ACTIONS(1052), + [anon_sym_extern] = ACTIONS(1052), + [anon_sym___attribute__] = ACTIONS(1052), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1054), + [anon_sym___declspec] = ACTIONS(1052), + [anon_sym___cdecl] = ACTIONS(1052), + [anon_sym___clrcall] = ACTIONS(1052), + [anon_sym___stdcall] = ACTIONS(1052), + [anon_sym___fastcall] = ACTIONS(1052), + [anon_sym___thiscall] = ACTIONS(1052), + [anon_sym___vectorcall] = ACTIONS(1052), + [anon_sym_LBRACE] = ACTIONS(1054), + [anon_sym_RBRACE] = ACTIONS(1054), + [anon_sym_static] = ACTIONS(1052), + [anon_sym_auto] = ACTIONS(1052), + [anon_sym_register] = ACTIONS(1052), + [anon_sym_inline] = ACTIONS(1052), + [anon_sym_const] = ACTIONS(1052), + [anon_sym_volatile] = ACTIONS(1052), + [anon_sym_restrict] = ACTIONS(1052), + [anon_sym__Atomic] = ACTIONS(1052), + [anon_sym_signed] = ACTIONS(1052), + [anon_sym_unsigned] = ACTIONS(1052), + [anon_sym_long] = ACTIONS(1052), + [anon_sym_short] = ACTIONS(1052), + [sym_primitive_type] = ACTIONS(1052), + [anon_sym_enum] = ACTIONS(1052), + [anon_sym_struct] = ACTIONS(1052), + [anon_sym_union] = ACTIONS(1052), + [anon_sym_if] = ACTIONS(1052), + [anon_sym_switch] = ACTIONS(1052), + [anon_sym_case] = ACTIONS(1052), + [anon_sym_default] = ACTIONS(1052), + [anon_sym_while] = ACTIONS(1052), + [anon_sym_do] = ACTIONS(1052), + [anon_sym_for] = ACTIONS(1052), + [anon_sym_return] = ACTIONS(1052), + [anon_sym_break] = ACTIONS(1052), + [anon_sym_continue] = ACTIONS(1052), + [anon_sym_goto] = ACTIONS(1052), + [anon_sym_DASH_DASH] = ACTIONS(1054), + [anon_sym_PLUS_PLUS] = ACTIONS(1054), + [anon_sym_sizeof] = ACTIONS(1052), + [sym_number_literal] = ACTIONS(1054), + [anon_sym_L_SQUOTE] = ACTIONS(1054), + [anon_sym_u_SQUOTE] = ACTIONS(1054), + [anon_sym_U_SQUOTE] = ACTIONS(1054), + [anon_sym_u8_SQUOTE] = ACTIONS(1054), + [anon_sym_SQUOTE] = ACTIONS(1054), + [anon_sym_L_DQUOTE] = ACTIONS(1054), + [anon_sym_u_DQUOTE] = ACTIONS(1054), + [anon_sym_U_DQUOTE] = ACTIONS(1054), + [anon_sym_u8_DQUOTE] = ACTIONS(1054), + [anon_sym_DQUOTE] = ACTIONS(1054), + [sym_true] = ACTIONS(1052), + [sym_false] = ACTIONS(1052), + [sym_null] = ACTIONS(1052), + [sym_comment] = ACTIONS(3), + }, + [295] = { + [sym_identifier] = ACTIONS(1048), + [aux_sym_preproc_include_token1] = ACTIONS(1048), + [aux_sym_preproc_def_token1] = ACTIONS(1048), + [aux_sym_preproc_if_token1] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1048), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1048), + [sym_preproc_directive] = ACTIONS(1048), + [anon_sym_LPAREN2] = ACTIONS(1050), + [anon_sym_BANG] = ACTIONS(1050), + [anon_sym_TILDE] = ACTIONS(1050), + [anon_sym_DASH] = ACTIONS(1048), + [anon_sym_PLUS] = ACTIONS(1048), + [anon_sym_STAR] = ACTIONS(1050), + [anon_sym_AMP] = ACTIONS(1050), + [anon_sym_SEMI] = ACTIONS(1050), + [anon_sym_typedef] = ACTIONS(1048), + [anon_sym_extern] = ACTIONS(1048), + [anon_sym___attribute__] = ACTIONS(1048), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1050), + [anon_sym___declspec] = ACTIONS(1048), + [anon_sym___cdecl] = ACTIONS(1048), + [anon_sym___clrcall] = ACTIONS(1048), + [anon_sym___stdcall] = ACTIONS(1048), + [anon_sym___fastcall] = ACTIONS(1048), + [anon_sym___thiscall] = ACTIONS(1048), + [anon_sym___vectorcall] = ACTIONS(1048), + [anon_sym_LBRACE] = ACTIONS(1050), + [anon_sym_RBRACE] = ACTIONS(1050), + [anon_sym_static] = ACTIONS(1048), + [anon_sym_auto] = ACTIONS(1048), + [anon_sym_register] = ACTIONS(1048), + [anon_sym_inline] = ACTIONS(1048), + [anon_sym_const] = ACTIONS(1048), + [anon_sym_volatile] = ACTIONS(1048), + [anon_sym_restrict] = ACTIONS(1048), + [anon_sym__Atomic] = ACTIONS(1048), + [anon_sym_signed] = ACTIONS(1048), + [anon_sym_unsigned] = ACTIONS(1048), + [anon_sym_long] = ACTIONS(1048), + [anon_sym_short] = ACTIONS(1048), + [sym_primitive_type] = ACTIONS(1048), + [anon_sym_enum] = ACTIONS(1048), + [anon_sym_struct] = ACTIONS(1048), + [anon_sym_union] = ACTIONS(1048), + [anon_sym_if] = ACTIONS(1048), + [anon_sym_switch] = ACTIONS(1048), + [anon_sym_case] = ACTIONS(1048), + [anon_sym_default] = ACTIONS(1048), + [anon_sym_while] = ACTIONS(1048), + [anon_sym_do] = ACTIONS(1048), + [anon_sym_for] = ACTIONS(1048), + [anon_sym_return] = ACTIONS(1048), + [anon_sym_break] = ACTIONS(1048), + [anon_sym_continue] = ACTIONS(1048), + [anon_sym_goto] = ACTIONS(1048), + [anon_sym_DASH_DASH] = ACTIONS(1050), + [anon_sym_PLUS_PLUS] = ACTIONS(1050), + [anon_sym_sizeof] = ACTIONS(1048), + [sym_number_literal] = ACTIONS(1050), + [anon_sym_L_SQUOTE] = ACTIONS(1050), + [anon_sym_u_SQUOTE] = ACTIONS(1050), + [anon_sym_U_SQUOTE] = ACTIONS(1050), + [anon_sym_u8_SQUOTE] = ACTIONS(1050), + [anon_sym_SQUOTE] = ACTIONS(1050), + [anon_sym_L_DQUOTE] = ACTIONS(1050), + [anon_sym_u_DQUOTE] = ACTIONS(1050), + [anon_sym_U_DQUOTE] = ACTIONS(1050), + [anon_sym_u8_DQUOTE] = ACTIONS(1050), + [anon_sym_DQUOTE] = ACTIONS(1050), + [sym_true] = ACTIONS(1048), + [sym_false] = ACTIONS(1048), + [sym_null] = ACTIONS(1048), + [sym_comment] = ACTIONS(3), + }, + [296] = { + [ts_builtin_sym_end] = ACTIONS(1058), + [sym_identifier] = ACTIONS(1056), + [aux_sym_preproc_include_token1] = ACTIONS(1056), + [aux_sym_preproc_def_token1] = ACTIONS(1056), + [aux_sym_preproc_if_token1] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1056), + [sym_preproc_directive] = ACTIONS(1056), + [anon_sym_LPAREN2] = ACTIONS(1058), + [anon_sym_BANG] = ACTIONS(1058), + [anon_sym_TILDE] = ACTIONS(1058), + [anon_sym_DASH] = ACTIONS(1056), + [anon_sym_PLUS] = ACTIONS(1056), + [anon_sym_STAR] = ACTIONS(1058), + [anon_sym_AMP] = ACTIONS(1058), + [anon_sym_SEMI] = ACTIONS(1058), + [anon_sym_typedef] = ACTIONS(1056), + [anon_sym_extern] = ACTIONS(1056), + [anon_sym___attribute__] = ACTIONS(1056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1058), + [anon_sym___declspec] = ACTIONS(1056), + [anon_sym___cdecl] = ACTIONS(1056), + [anon_sym___clrcall] = ACTIONS(1056), + [anon_sym___stdcall] = ACTIONS(1056), + [anon_sym___fastcall] = ACTIONS(1056), + [anon_sym___thiscall] = ACTIONS(1056), + [anon_sym___vectorcall] = ACTIONS(1056), + [anon_sym_LBRACE] = ACTIONS(1058), + [anon_sym_static] = ACTIONS(1056), + [anon_sym_auto] = ACTIONS(1056), + [anon_sym_register] = ACTIONS(1056), + [anon_sym_inline] = ACTIONS(1056), + [anon_sym_const] = ACTIONS(1056), + [anon_sym_volatile] = ACTIONS(1056), + [anon_sym_restrict] = ACTIONS(1056), + [anon_sym__Atomic] = ACTIONS(1056), + [anon_sym_signed] = ACTIONS(1056), + [anon_sym_unsigned] = ACTIONS(1056), + [anon_sym_long] = ACTIONS(1056), + [anon_sym_short] = ACTIONS(1056), + [sym_primitive_type] = ACTIONS(1056), + [anon_sym_enum] = ACTIONS(1056), + [anon_sym_struct] = ACTIONS(1056), + [anon_sym_union] = ACTIONS(1056), + [anon_sym_if] = ACTIONS(1056), + [anon_sym_switch] = ACTIONS(1056), + [anon_sym_case] = ACTIONS(1056), + [anon_sym_default] = ACTIONS(1056), + [anon_sym_while] = ACTIONS(1056), + [anon_sym_do] = ACTIONS(1056), + [anon_sym_for] = ACTIONS(1056), + [anon_sym_return] = ACTIONS(1056), + [anon_sym_break] = ACTIONS(1056), + [anon_sym_continue] = ACTIONS(1056), + [anon_sym_goto] = ACTIONS(1056), + [anon_sym_DASH_DASH] = ACTIONS(1058), + [anon_sym_PLUS_PLUS] = ACTIONS(1058), + [anon_sym_sizeof] = ACTIONS(1056), + [sym_number_literal] = ACTIONS(1058), + [anon_sym_L_SQUOTE] = ACTIONS(1058), + [anon_sym_u_SQUOTE] = ACTIONS(1058), + [anon_sym_U_SQUOTE] = ACTIONS(1058), + [anon_sym_u8_SQUOTE] = ACTIONS(1058), + [anon_sym_SQUOTE] = ACTIONS(1058), + [anon_sym_L_DQUOTE] = ACTIONS(1058), + [anon_sym_u_DQUOTE] = ACTIONS(1058), + [anon_sym_U_DQUOTE] = ACTIONS(1058), + [anon_sym_u8_DQUOTE] = ACTIONS(1058), + [anon_sym_DQUOTE] = ACTIONS(1058), + [sym_true] = ACTIONS(1056), + [sym_false] = ACTIONS(1056), + [sym_null] = ACTIONS(1056), + [sym_comment] = ACTIONS(3), + }, + [297] = { + [sym_identifier] = ACTIONS(1044), + [aux_sym_preproc_include_token1] = ACTIONS(1044), + [aux_sym_preproc_def_token1] = ACTIONS(1044), + [aux_sym_preproc_if_token1] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1044), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1044), + [sym_preproc_directive] = ACTIONS(1044), + [anon_sym_LPAREN2] = ACTIONS(1046), + [anon_sym_BANG] = ACTIONS(1046), + [anon_sym_TILDE] = ACTIONS(1046), + [anon_sym_DASH] = ACTIONS(1044), + [anon_sym_PLUS] = ACTIONS(1044), + [anon_sym_STAR] = ACTIONS(1046), + [anon_sym_AMP] = ACTIONS(1046), + [anon_sym_SEMI] = ACTIONS(1046), + [anon_sym_typedef] = ACTIONS(1044), + [anon_sym_extern] = ACTIONS(1044), + [anon_sym___attribute__] = ACTIONS(1044), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1046), + [anon_sym___declspec] = ACTIONS(1044), + [anon_sym___cdecl] = ACTIONS(1044), + [anon_sym___clrcall] = ACTIONS(1044), + [anon_sym___stdcall] = ACTIONS(1044), + [anon_sym___fastcall] = ACTIONS(1044), + [anon_sym___thiscall] = ACTIONS(1044), + [anon_sym___vectorcall] = ACTIONS(1044), + [anon_sym_LBRACE] = ACTIONS(1046), + [anon_sym_RBRACE] = ACTIONS(1046), + [anon_sym_static] = ACTIONS(1044), + [anon_sym_auto] = ACTIONS(1044), + [anon_sym_register] = ACTIONS(1044), + [anon_sym_inline] = ACTIONS(1044), + [anon_sym_const] = ACTIONS(1044), + [anon_sym_volatile] = ACTIONS(1044), + [anon_sym_restrict] = ACTIONS(1044), + [anon_sym__Atomic] = ACTIONS(1044), + [anon_sym_signed] = ACTIONS(1044), + [anon_sym_unsigned] = ACTIONS(1044), + [anon_sym_long] = ACTIONS(1044), + [anon_sym_short] = ACTIONS(1044), + [sym_primitive_type] = ACTIONS(1044), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_struct] = ACTIONS(1044), + [anon_sym_union] = ACTIONS(1044), + [anon_sym_if] = ACTIONS(1044), + [anon_sym_switch] = ACTIONS(1044), + [anon_sym_case] = ACTIONS(1044), + [anon_sym_default] = ACTIONS(1044), + [anon_sym_while] = ACTIONS(1044), + [anon_sym_do] = ACTIONS(1044), + [anon_sym_for] = ACTIONS(1044), + [anon_sym_return] = ACTIONS(1044), + [anon_sym_break] = ACTIONS(1044), + [anon_sym_continue] = ACTIONS(1044), + [anon_sym_goto] = ACTIONS(1044), + [anon_sym_DASH_DASH] = ACTIONS(1046), + [anon_sym_PLUS_PLUS] = ACTIONS(1046), + [anon_sym_sizeof] = ACTIONS(1044), + [sym_number_literal] = ACTIONS(1046), + [anon_sym_L_SQUOTE] = ACTIONS(1046), + [anon_sym_u_SQUOTE] = ACTIONS(1046), + [anon_sym_U_SQUOTE] = ACTIONS(1046), + [anon_sym_u8_SQUOTE] = ACTIONS(1046), + [anon_sym_SQUOTE] = ACTIONS(1046), + [anon_sym_L_DQUOTE] = ACTIONS(1046), + [anon_sym_u_DQUOTE] = ACTIONS(1046), + [anon_sym_U_DQUOTE] = ACTIONS(1046), + [anon_sym_u8_DQUOTE] = ACTIONS(1046), + [anon_sym_DQUOTE] = ACTIONS(1046), + [sym_true] = ACTIONS(1044), + [sym_false] = ACTIONS(1044), + [sym_null] = ACTIONS(1044), + [sym_comment] = ACTIONS(3), + }, + [298] = { + [sym_identifier] = ACTIONS(1068), + [aux_sym_preproc_include_token1] = ACTIONS(1068), + [aux_sym_preproc_def_token1] = ACTIONS(1068), + [aux_sym_preproc_if_token1] = ACTIONS(1068), + [aux_sym_preproc_if_token2] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1068), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1068), + [sym_preproc_directive] = ACTIONS(1068), + [anon_sym_LPAREN2] = ACTIONS(1070), + [anon_sym_BANG] = ACTIONS(1070), + [anon_sym_TILDE] = ACTIONS(1070), + [anon_sym_DASH] = ACTIONS(1068), + [anon_sym_PLUS] = ACTIONS(1068), + [anon_sym_STAR] = ACTIONS(1070), + [anon_sym_AMP] = ACTIONS(1070), + [anon_sym_SEMI] = ACTIONS(1070), + [anon_sym_typedef] = ACTIONS(1068), + [anon_sym_extern] = ACTIONS(1068), + [anon_sym___attribute__] = ACTIONS(1068), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1070), + [anon_sym___declspec] = ACTIONS(1068), + [anon_sym___cdecl] = ACTIONS(1068), + [anon_sym___clrcall] = ACTIONS(1068), + [anon_sym___stdcall] = ACTIONS(1068), + [anon_sym___fastcall] = ACTIONS(1068), + [anon_sym___thiscall] = ACTIONS(1068), + [anon_sym___vectorcall] = ACTIONS(1068), + [anon_sym_LBRACE] = ACTIONS(1070), + [anon_sym_static] = ACTIONS(1068), + [anon_sym_auto] = ACTIONS(1068), + [anon_sym_register] = ACTIONS(1068), + [anon_sym_inline] = ACTIONS(1068), + [anon_sym_const] = ACTIONS(1068), + [anon_sym_volatile] = ACTIONS(1068), + [anon_sym_restrict] = ACTIONS(1068), + [anon_sym__Atomic] = ACTIONS(1068), + [anon_sym_signed] = ACTIONS(1068), + [anon_sym_unsigned] = ACTIONS(1068), + [anon_sym_long] = ACTIONS(1068), + [anon_sym_short] = ACTIONS(1068), + [sym_primitive_type] = ACTIONS(1068), + [anon_sym_enum] = ACTIONS(1068), + [anon_sym_struct] = ACTIONS(1068), + [anon_sym_union] = ACTIONS(1068), + [anon_sym_if] = ACTIONS(1068), + [anon_sym_switch] = ACTIONS(1068), + [anon_sym_case] = ACTIONS(1068), + [anon_sym_default] = ACTIONS(1068), + [anon_sym_while] = ACTIONS(1068), + [anon_sym_do] = ACTIONS(1068), + [anon_sym_for] = ACTIONS(1068), + [anon_sym_return] = ACTIONS(1068), + [anon_sym_break] = ACTIONS(1068), + [anon_sym_continue] = ACTIONS(1068), + [anon_sym_goto] = ACTIONS(1068), + [anon_sym_DASH_DASH] = ACTIONS(1070), + [anon_sym_PLUS_PLUS] = ACTIONS(1070), + [anon_sym_sizeof] = ACTIONS(1068), + [sym_number_literal] = ACTIONS(1070), + [anon_sym_L_SQUOTE] = ACTIONS(1070), + [anon_sym_u_SQUOTE] = ACTIONS(1070), + [anon_sym_U_SQUOTE] = ACTIONS(1070), + [anon_sym_u8_SQUOTE] = ACTIONS(1070), + [anon_sym_SQUOTE] = ACTIONS(1070), + [anon_sym_L_DQUOTE] = ACTIONS(1070), + [anon_sym_u_DQUOTE] = ACTIONS(1070), + [anon_sym_U_DQUOTE] = ACTIONS(1070), + [anon_sym_u8_DQUOTE] = ACTIONS(1070), + [anon_sym_DQUOTE] = ACTIONS(1070), + [sym_true] = ACTIONS(1068), + [sym_false] = ACTIONS(1068), + [sym_null] = ACTIONS(1068), + [sym_comment] = ACTIONS(3), + }, + [299] = { + [sym_identifier] = ACTIONS(1036), + [aux_sym_preproc_include_token1] = ACTIONS(1036), + [aux_sym_preproc_def_token1] = ACTIONS(1036), + [aux_sym_preproc_if_token1] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1036), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1036), + [sym_preproc_directive] = ACTIONS(1036), + [anon_sym_LPAREN2] = ACTIONS(1038), + [anon_sym_BANG] = ACTIONS(1038), + [anon_sym_TILDE] = ACTIONS(1038), + [anon_sym_DASH] = ACTIONS(1036), + [anon_sym_PLUS] = ACTIONS(1036), + [anon_sym_STAR] = ACTIONS(1038), + [anon_sym_AMP] = ACTIONS(1038), + [anon_sym_SEMI] = ACTIONS(1038), + [anon_sym_typedef] = ACTIONS(1036), + [anon_sym_extern] = ACTIONS(1036), + [anon_sym___attribute__] = ACTIONS(1036), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1038), + [anon_sym___declspec] = ACTIONS(1036), + [anon_sym___cdecl] = ACTIONS(1036), + [anon_sym___clrcall] = ACTIONS(1036), + [anon_sym___stdcall] = ACTIONS(1036), + [anon_sym___fastcall] = ACTIONS(1036), + [anon_sym___thiscall] = ACTIONS(1036), + [anon_sym___vectorcall] = ACTIONS(1036), + [anon_sym_LBRACE] = ACTIONS(1038), + [anon_sym_RBRACE] = ACTIONS(1038), + [anon_sym_static] = ACTIONS(1036), + [anon_sym_auto] = ACTIONS(1036), + [anon_sym_register] = ACTIONS(1036), + [anon_sym_inline] = ACTIONS(1036), + [anon_sym_const] = ACTIONS(1036), + [anon_sym_volatile] = ACTIONS(1036), + [anon_sym_restrict] = ACTIONS(1036), + [anon_sym__Atomic] = ACTIONS(1036), + [anon_sym_signed] = ACTIONS(1036), + [anon_sym_unsigned] = ACTIONS(1036), + [anon_sym_long] = ACTIONS(1036), + [anon_sym_short] = ACTIONS(1036), + [sym_primitive_type] = ACTIONS(1036), + [anon_sym_enum] = ACTIONS(1036), + [anon_sym_struct] = ACTIONS(1036), + [anon_sym_union] = ACTIONS(1036), + [anon_sym_if] = ACTIONS(1036), + [anon_sym_switch] = ACTIONS(1036), + [anon_sym_case] = ACTIONS(1036), + [anon_sym_default] = ACTIONS(1036), + [anon_sym_while] = ACTIONS(1036), + [anon_sym_do] = ACTIONS(1036), + [anon_sym_for] = ACTIONS(1036), + [anon_sym_return] = ACTIONS(1036), + [anon_sym_break] = ACTIONS(1036), + [anon_sym_continue] = ACTIONS(1036), + [anon_sym_goto] = ACTIONS(1036), + [anon_sym_DASH_DASH] = ACTIONS(1038), + [anon_sym_PLUS_PLUS] = ACTIONS(1038), + [anon_sym_sizeof] = ACTIONS(1036), + [sym_number_literal] = ACTIONS(1038), + [anon_sym_L_SQUOTE] = ACTIONS(1038), + [anon_sym_u_SQUOTE] = ACTIONS(1038), + [anon_sym_U_SQUOTE] = ACTIONS(1038), + [anon_sym_u8_SQUOTE] = ACTIONS(1038), + [anon_sym_SQUOTE] = ACTIONS(1038), + [anon_sym_L_DQUOTE] = ACTIONS(1038), + [anon_sym_u_DQUOTE] = ACTIONS(1038), + [anon_sym_U_DQUOTE] = ACTIONS(1038), + [anon_sym_u8_DQUOTE] = ACTIONS(1038), + [anon_sym_DQUOTE] = ACTIONS(1038), + [sym_true] = ACTIONS(1036), + [sym_false] = ACTIONS(1036), + [sym_null] = ACTIONS(1036), + [sym_comment] = ACTIONS(3), + }, + [300] = { + [sym_identifier] = ACTIONS(1056), + [aux_sym_preproc_include_token1] = ACTIONS(1056), + [aux_sym_preproc_def_token1] = ACTIONS(1056), + [aux_sym_preproc_if_token1] = ACTIONS(1056), + [aux_sym_preproc_if_token2] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1056), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1056), + [sym_preproc_directive] = ACTIONS(1056), + [anon_sym_LPAREN2] = ACTIONS(1058), + [anon_sym_BANG] = ACTIONS(1058), + [anon_sym_TILDE] = ACTIONS(1058), + [anon_sym_DASH] = ACTIONS(1056), + [anon_sym_PLUS] = ACTIONS(1056), + [anon_sym_STAR] = ACTIONS(1058), + [anon_sym_AMP] = ACTIONS(1058), + [anon_sym_SEMI] = ACTIONS(1058), + [anon_sym_typedef] = ACTIONS(1056), + [anon_sym_extern] = ACTIONS(1056), + [anon_sym___attribute__] = ACTIONS(1056), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1058), + [anon_sym___declspec] = ACTIONS(1056), + [anon_sym___cdecl] = ACTIONS(1056), + [anon_sym___clrcall] = ACTIONS(1056), + [anon_sym___stdcall] = ACTIONS(1056), + [anon_sym___fastcall] = ACTIONS(1056), + [anon_sym___thiscall] = ACTIONS(1056), + [anon_sym___vectorcall] = ACTIONS(1056), + [anon_sym_LBRACE] = ACTIONS(1058), + [anon_sym_static] = ACTIONS(1056), + [anon_sym_auto] = ACTIONS(1056), + [anon_sym_register] = ACTIONS(1056), + [anon_sym_inline] = ACTIONS(1056), + [anon_sym_const] = ACTIONS(1056), + [anon_sym_volatile] = ACTIONS(1056), + [anon_sym_restrict] = ACTIONS(1056), + [anon_sym__Atomic] = ACTIONS(1056), + [anon_sym_signed] = ACTIONS(1056), + [anon_sym_unsigned] = ACTIONS(1056), + [anon_sym_long] = ACTIONS(1056), + [anon_sym_short] = ACTIONS(1056), + [sym_primitive_type] = ACTIONS(1056), + [anon_sym_enum] = ACTIONS(1056), + [anon_sym_struct] = ACTIONS(1056), + [anon_sym_union] = ACTIONS(1056), + [anon_sym_if] = ACTIONS(1056), + [anon_sym_switch] = ACTIONS(1056), + [anon_sym_case] = ACTIONS(1056), + [anon_sym_default] = ACTIONS(1056), + [anon_sym_while] = ACTIONS(1056), + [anon_sym_do] = ACTIONS(1056), + [anon_sym_for] = ACTIONS(1056), + [anon_sym_return] = ACTIONS(1056), + [anon_sym_break] = ACTIONS(1056), + [anon_sym_continue] = ACTIONS(1056), + [anon_sym_goto] = ACTIONS(1056), + [anon_sym_DASH_DASH] = ACTIONS(1058), + [anon_sym_PLUS_PLUS] = ACTIONS(1058), + [anon_sym_sizeof] = ACTIONS(1056), + [sym_number_literal] = ACTIONS(1058), + [anon_sym_L_SQUOTE] = ACTIONS(1058), + [anon_sym_u_SQUOTE] = ACTIONS(1058), + [anon_sym_U_SQUOTE] = ACTIONS(1058), + [anon_sym_u8_SQUOTE] = ACTIONS(1058), + [anon_sym_SQUOTE] = ACTIONS(1058), + [anon_sym_L_DQUOTE] = ACTIONS(1058), + [anon_sym_u_DQUOTE] = ACTIONS(1058), + [anon_sym_U_DQUOTE] = ACTIONS(1058), + [anon_sym_u8_DQUOTE] = ACTIONS(1058), + [anon_sym_DQUOTE] = ACTIONS(1058), + [sym_true] = ACTIONS(1056), + [sym_false] = ACTIONS(1056), + [sym_null] = ACTIONS(1056), + [sym_comment] = ACTIONS(3), + }, + [301] = { + [ts_builtin_sym_end] = ACTIONS(1030), + [sym_identifier] = ACTIONS(1028), + [aux_sym_preproc_include_token1] = ACTIONS(1028), + [aux_sym_preproc_def_token1] = ACTIONS(1028), + [aux_sym_preproc_if_token1] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1028), + [sym_preproc_directive] = ACTIONS(1028), + [anon_sym_LPAREN2] = ACTIONS(1030), + [anon_sym_BANG] = ACTIONS(1030), + [anon_sym_TILDE] = ACTIONS(1030), + [anon_sym_DASH] = ACTIONS(1028), + [anon_sym_PLUS] = ACTIONS(1028), + [anon_sym_STAR] = ACTIONS(1030), + [anon_sym_AMP] = ACTIONS(1030), + [anon_sym_SEMI] = ACTIONS(1030), + [anon_sym_typedef] = ACTIONS(1028), + [anon_sym_extern] = ACTIONS(1028), + [anon_sym___attribute__] = ACTIONS(1028), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1030), + [anon_sym___declspec] = ACTIONS(1028), + [anon_sym___cdecl] = ACTIONS(1028), + [anon_sym___clrcall] = ACTIONS(1028), + [anon_sym___stdcall] = ACTIONS(1028), + [anon_sym___fastcall] = ACTIONS(1028), + [anon_sym___thiscall] = ACTIONS(1028), + [anon_sym___vectorcall] = ACTIONS(1028), + [anon_sym_LBRACE] = ACTIONS(1030), + [anon_sym_static] = ACTIONS(1028), + [anon_sym_auto] = ACTIONS(1028), + [anon_sym_register] = ACTIONS(1028), + [anon_sym_inline] = ACTIONS(1028), + [anon_sym_const] = ACTIONS(1028), + [anon_sym_volatile] = ACTIONS(1028), + [anon_sym_restrict] = ACTIONS(1028), + [anon_sym__Atomic] = ACTIONS(1028), + [anon_sym_signed] = ACTIONS(1028), + [anon_sym_unsigned] = ACTIONS(1028), + [anon_sym_long] = ACTIONS(1028), + [anon_sym_short] = ACTIONS(1028), + [sym_primitive_type] = ACTIONS(1028), + [anon_sym_enum] = ACTIONS(1028), + [anon_sym_struct] = ACTIONS(1028), + [anon_sym_union] = ACTIONS(1028), + [anon_sym_if] = ACTIONS(1028), + [anon_sym_switch] = ACTIONS(1028), + [anon_sym_case] = ACTIONS(1028), + [anon_sym_default] = ACTIONS(1028), + [anon_sym_while] = ACTIONS(1028), + [anon_sym_do] = ACTIONS(1028), + [anon_sym_for] = ACTIONS(1028), + [anon_sym_return] = ACTIONS(1028), + [anon_sym_break] = ACTIONS(1028), + [anon_sym_continue] = ACTIONS(1028), + [anon_sym_goto] = ACTIONS(1028), + [anon_sym_DASH_DASH] = ACTIONS(1030), + [anon_sym_PLUS_PLUS] = ACTIONS(1030), + [anon_sym_sizeof] = ACTIONS(1028), + [sym_number_literal] = ACTIONS(1030), + [anon_sym_L_SQUOTE] = ACTIONS(1030), + [anon_sym_u_SQUOTE] = ACTIONS(1030), + [anon_sym_U_SQUOTE] = ACTIONS(1030), + [anon_sym_u8_SQUOTE] = ACTIONS(1030), + [anon_sym_SQUOTE] = ACTIONS(1030), + [anon_sym_L_DQUOTE] = ACTIONS(1030), + [anon_sym_u_DQUOTE] = ACTIONS(1030), + [anon_sym_U_DQUOTE] = ACTIONS(1030), + [anon_sym_u8_DQUOTE] = ACTIONS(1030), + [anon_sym_DQUOTE] = ACTIONS(1030), + [sym_true] = ACTIONS(1028), + [sym_false] = ACTIONS(1028), + [sym_null] = ACTIONS(1028), + [sym_comment] = ACTIONS(3), + }, + [302] = { + [sym_identifier] = ACTIONS(1064), + [aux_sym_preproc_include_token1] = ACTIONS(1064), + [aux_sym_preproc_def_token1] = ACTIONS(1064), + [aux_sym_preproc_if_token1] = ACTIONS(1064), + [aux_sym_preproc_if_token2] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1064), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1064), + [sym_preproc_directive] = ACTIONS(1064), + [anon_sym_LPAREN2] = ACTIONS(1066), + [anon_sym_BANG] = ACTIONS(1066), + [anon_sym_TILDE] = ACTIONS(1066), + [anon_sym_DASH] = ACTIONS(1064), + [anon_sym_PLUS] = ACTIONS(1064), + [anon_sym_STAR] = ACTIONS(1066), + [anon_sym_AMP] = ACTIONS(1066), + [anon_sym_SEMI] = ACTIONS(1066), + [anon_sym_typedef] = ACTIONS(1064), + [anon_sym_extern] = ACTIONS(1064), + [anon_sym___attribute__] = ACTIONS(1064), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1066), + [anon_sym___declspec] = ACTIONS(1064), + [anon_sym___cdecl] = ACTIONS(1064), + [anon_sym___clrcall] = ACTIONS(1064), + [anon_sym___stdcall] = ACTIONS(1064), + [anon_sym___fastcall] = ACTIONS(1064), + [anon_sym___thiscall] = ACTIONS(1064), + [anon_sym___vectorcall] = ACTIONS(1064), + [anon_sym_LBRACE] = ACTIONS(1066), + [anon_sym_static] = ACTIONS(1064), + [anon_sym_auto] = ACTIONS(1064), + [anon_sym_register] = ACTIONS(1064), + [anon_sym_inline] = ACTIONS(1064), + [anon_sym_const] = ACTIONS(1064), + [anon_sym_volatile] = ACTIONS(1064), + [anon_sym_restrict] = ACTIONS(1064), + [anon_sym__Atomic] = ACTIONS(1064), + [anon_sym_signed] = ACTIONS(1064), + [anon_sym_unsigned] = ACTIONS(1064), + [anon_sym_long] = ACTIONS(1064), + [anon_sym_short] = ACTIONS(1064), + [sym_primitive_type] = ACTIONS(1064), + [anon_sym_enum] = ACTIONS(1064), + [anon_sym_struct] = ACTIONS(1064), + [anon_sym_union] = ACTIONS(1064), + [anon_sym_if] = ACTIONS(1064), + [anon_sym_switch] = ACTIONS(1064), + [anon_sym_case] = ACTIONS(1064), + [anon_sym_default] = ACTIONS(1064), + [anon_sym_while] = ACTIONS(1064), + [anon_sym_do] = ACTIONS(1064), + [anon_sym_for] = ACTIONS(1064), + [anon_sym_return] = ACTIONS(1064), + [anon_sym_break] = ACTIONS(1064), + [anon_sym_continue] = ACTIONS(1064), + [anon_sym_goto] = ACTIONS(1064), + [anon_sym_DASH_DASH] = ACTIONS(1066), + [anon_sym_PLUS_PLUS] = ACTIONS(1066), + [anon_sym_sizeof] = ACTIONS(1064), + [sym_number_literal] = ACTIONS(1066), + [anon_sym_L_SQUOTE] = ACTIONS(1066), + [anon_sym_u_SQUOTE] = ACTIONS(1066), + [anon_sym_U_SQUOTE] = ACTIONS(1066), + [anon_sym_u8_SQUOTE] = ACTIONS(1066), + [anon_sym_SQUOTE] = ACTIONS(1066), + [anon_sym_L_DQUOTE] = ACTIONS(1066), + [anon_sym_u_DQUOTE] = ACTIONS(1066), + [anon_sym_U_DQUOTE] = ACTIONS(1066), + [anon_sym_u8_DQUOTE] = ACTIONS(1066), + [anon_sym_DQUOTE] = ACTIONS(1066), + [sym_true] = ACTIONS(1064), + [sym_false] = ACTIONS(1064), + [sym_null] = ACTIONS(1064), + [sym_comment] = ACTIONS(3), + }, + [303] = { + [sym_identifier] = ACTIONS(1124), + [aux_sym_preproc_include_token1] = ACTIONS(1124), + [aux_sym_preproc_def_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token1] = ACTIONS(1124), + [aux_sym_preproc_if_token2] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1124), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1124), + [sym_preproc_directive] = ACTIONS(1124), + [anon_sym_LPAREN2] = ACTIONS(1126), + [anon_sym_BANG] = ACTIONS(1126), + [anon_sym_TILDE] = ACTIONS(1126), + [anon_sym_DASH] = ACTIONS(1124), + [anon_sym_PLUS] = ACTIONS(1124), + [anon_sym_STAR] = ACTIONS(1126), + [anon_sym_AMP] = ACTIONS(1126), + [anon_sym_SEMI] = ACTIONS(1126), + [anon_sym_typedef] = ACTIONS(1124), + [anon_sym_extern] = ACTIONS(1124), + [anon_sym___attribute__] = ACTIONS(1124), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1126), + [anon_sym___declspec] = ACTIONS(1124), + [anon_sym___cdecl] = ACTIONS(1124), + [anon_sym___clrcall] = ACTIONS(1124), + [anon_sym___stdcall] = ACTIONS(1124), + [anon_sym___fastcall] = ACTIONS(1124), + [anon_sym___thiscall] = ACTIONS(1124), + [anon_sym___vectorcall] = ACTIONS(1124), + [anon_sym_LBRACE] = ACTIONS(1126), + [anon_sym_static] = ACTIONS(1124), + [anon_sym_auto] = ACTIONS(1124), + [anon_sym_register] = ACTIONS(1124), + [anon_sym_inline] = ACTIONS(1124), + [anon_sym_const] = ACTIONS(1124), + [anon_sym_volatile] = ACTIONS(1124), + [anon_sym_restrict] = ACTIONS(1124), + [anon_sym__Atomic] = ACTIONS(1124), + [anon_sym_signed] = ACTIONS(1124), + [anon_sym_unsigned] = ACTIONS(1124), + [anon_sym_long] = ACTIONS(1124), + [anon_sym_short] = ACTIONS(1124), + [sym_primitive_type] = ACTIONS(1124), + [anon_sym_enum] = ACTIONS(1124), + [anon_sym_struct] = ACTIONS(1124), + [anon_sym_union] = ACTIONS(1124), + [anon_sym_if] = ACTIONS(1124), + [anon_sym_switch] = ACTIONS(1124), + [anon_sym_case] = ACTIONS(1124), + [anon_sym_default] = ACTIONS(1124), + [anon_sym_while] = ACTIONS(1124), + [anon_sym_do] = ACTIONS(1124), + [anon_sym_for] = ACTIONS(1124), + [anon_sym_return] = ACTIONS(1124), + [anon_sym_break] = ACTIONS(1124), + [anon_sym_continue] = ACTIONS(1124), + [anon_sym_goto] = ACTIONS(1124), + [anon_sym_DASH_DASH] = ACTIONS(1126), + [anon_sym_PLUS_PLUS] = ACTIONS(1126), + [anon_sym_sizeof] = ACTIONS(1124), + [sym_number_literal] = ACTIONS(1126), + [anon_sym_L_SQUOTE] = ACTIONS(1126), + [anon_sym_u_SQUOTE] = ACTIONS(1126), + [anon_sym_U_SQUOTE] = ACTIONS(1126), + [anon_sym_u8_SQUOTE] = ACTIONS(1126), + [anon_sym_SQUOTE] = ACTIONS(1126), + [anon_sym_L_DQUOTE] = ACTIONS(1126), + [anon_sym_u_DQUOTE] = ACTIONS(1126), + [anon_sym_U_DQUOTE] = ACTIONS(1126), + [anon_sym_u8_DQUOTE] = ACTIONS(1126), + [anon_sym_DQUOTE] = ACTIONS(1126), + [sym_true] = ACTIONS(1124), + [sym_false] = ACTIONS(1124), + [sym_null] = ACTIONS(1124), + [sym_comment] = ACTIONS(3), + }, + [304] = { + [sym_identifier] = ACTIONS(1028), + [aux_sym_preproc_include_token1] = ACTIONS(1028), + [aux_sym_preproc_def_token1] = ACTIONS(1028), + [aux_sym_preproc_if_token1] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1028), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1028), + [sym_preproc_directive] = ACTIONS(1028), + [anon_sym_LPAREN2] = ACTIONS(1030), + [anon_sym_BANG] = ACTIONS(1030), + [anon_sym_TILDE] = ACTIONS(1030), + [anon_sym_DASH] = ACTIONS(1028), + [anon_sym_PLUS] = ACTIONS(1028), + [anon_sym_STAR] = ACTIONS(1030), + [anon_sym_AMP] = ACTIONS(1030), + [anon_sym_SEMI] = ACTIONS(1030), + [anon_sym_typedef] = ACTIONS(1028), + [anon_sym_extern] = ACTIONS(1028), + [anon_sym___attribute__] = ACTIONS(1028), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1030), + [anon_sym___declspec] = ACTIONS(1028), + [anon_sym___cdecl] = ACTIONS(1028), + [anon_sym___clrcall] = ACTIONS(1028), + [anon_sym___stdcall] = ACTIONS(1028), + [anon_sym___fastcall] = ACTIONS(1028), + [anon_sym___thiscall] = ACTIONS(1028), + [anon_sym___vectorcall] = ACTIONS(1028), + [anon_sym_LBRACE] = ACTIONS(1030), + [anon_sym_RBRACE] = ACTIONS(1030), + [anon_sym_static] = ACTIONS(1028), + [anon_sym_auto] = ACTIONS(1028), + [anon_sym_register] = ACTIONS(1028), + [anon_sym_inline] = ACTIONS(1028), + [anon_sym_const] = ACTIONS(1028), + [anon_sym_volatile] = ACTIONS(1028), + [anon_sym_restrict] = ACTIONS(1028), + [anon_sym__Atomic] = ACTIONS(1028), + [anon_sym_signed] = ACTIONS(1028), + [anon_sym_unsigned] = ACTIONS(1028), + [anon_sym_long] = ACTIONS(1028), + [anon_sym_short] = ACTIONS(1028), + [sym_primitive_type] = ACTIONS(1028), + [anon_sym_enum] = ACTIONS(1028), + [anon_sym_struct] = ACTIONS(1028), + [anon_sym_union] = ACTIONS(1028), + [anon_sym_if] = ACTIONS(1028), + [anon_sym_switch] = ACTIONS(1028), + [anon_sym_case] = ACTIONS(1028), + [anon_sym_default] = ACTIONS(1028), + [anon_sym_while] = ACTIONS(1028), + [anon_sym_do] = ACTIONS(1028), + [anon_sym_for] = ACTIONS(1028), + [anon_sym_return] = ACTIONS(1028), + [anon_sym_break] = ACTIONS(1028), + [anon_sym_continue] = ACTIONS(1028), + [anon_sym_goto] = ACTIONS(1028), + [anon_sym_DASH_DASH] = ACTIONS(1030), + [anon_sym_PLUS_PLUS] = ACTIONS(1030), + [anon_sym_sizeof] = ACTIONS(1028), + [sym_number_literal] = ACTIONS(1030), + [anon_sym_L_SQUOTE] = ACTIONS(1030), + [anon_sym_u_SQUOTE] = ACTIONS(1030), + [anon_sym_U_SQUOTE] = ACTIONS(1030), + [anon_sym_u8_SQUOTE] = ACTIONS(1030), + [anon_sym_SQUOTE] = ACTIONS(1030), + [anon_sym_L_DQUOTE] = ACTIONS(1030), + [anon_sym_u_DQUOTE] = ACTIONS(1030), + [anon_sym_U_DQUOTE] = ACTIONS(1030), + [anon_sym_u8_DQUOTE] = ACTIONS(1030), + [anon_sym_DQUOTE] = ACTIONS(1030), + [sym_true] = ACTIONS(1028), + [sym_false] = ACTIONS(1028), + [sym_null] = ACTIONS(1028), + [sym_comment] = ACTIONS(3), + }, + [305] = { + [sym_compound_statement] = STATE(100), + [sym_labeled_statement] = STATE(100), + [sym_expression_statement] = STATE(100), + [sym_if_statement] = STATE(100), + [sym_switch_statement] = STATE(100), + [sym_case_statement] = STATE(100), + [sym_while_statement] = STATE(100), + [sym_do_statement] = STATE(100), + [sym_for_statement] = STATE(100), + [sym_return_statement] = STATE(100), + [sym_break_statement] = STATE(100), + [sym_continue_statement] = STATE(100), + [sym_goto_statement] = STATE(100), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [306] = { + [sym_compound_statement] = STATE(1410), + [sym_labeled_statement] = STATE(1410), + [sym_expression_statement] = STATE(1410), + [sym_if_statement] = STATE(1410), + [sym_switch_statement] = STATE(1410), + [sym_case_statement] = STATE(1410), + [sym_while_statement] = STATE(1410), + [sym_do_statement] = STATE(1410), + [sym_for_statement] = STATE(1410), + [sym_return_statement] = STATE(1410), + [sym_break_statement] = STATE(1410), + [sym_continue_statement] = STATE(1410), + [sym_goto_statement] = STATE(1410), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [307] = { + [sym_compound_statement] = STATE(211), + [sym_labeled_statement] = STATE(211), + [sym_expression_statement] = STATE(211), + [sym_if_statement] = STATE(211), + [sym_switch_statement] = STATE(211), + [sym_case_statement] = STATE(211), + [sym_while_statement] = STATE(211), + [sym_do_statement] = STATE(211), + [sym_for_statement] = STATE(211), + [sym_return_statement] = STATE(211), + [sym_break_statement] = STATE(211), + [sym_continue_statement] = STATE(211), + [sym_goto_statement] = STATE(211), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [308] = { + [sym_compound_statement] = STATE(207), + [sym_labeled_statement] = STATE(207), + [sym_expression_statement] = STATE(207), + [sym_if_statement] = STATE(207), + [sym_switch_statement] = STATE(207), + [sym_case_statement] = STATE(207), + [sym_while_statement] = STATE(207), + [sym_do_statement] = STATE(207), + [sym_for_statement] = STATE(207), + [sym_return_statement] = STATE(207), + [sym_break_statement] = STATE(207), + [sym_continue_statement] = STATE(207), + [sym_goto_statement] = STATE(207), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [309] = { + [sym_compound_statement] = STATE(206), + [sym_labeled_statement] = STATE(206), + [sym_expression_statement] = STATE(206), + [sym_if_statement] = STATE(206), + [sym_switch_statement] = STATE(206), + [sym_case_statement] = STATE(206), + [sym_while_statement] = STATE(206), + [sym_do_statement] = STATE(206), + [sym_for_statement] = STATE(206), + [sym_return_statement] = STATE(206), + [sym_break_statement] = STATE(206), + [sym_continue_statement] = STATE(206), + [sym_goto_statement] = STATE(206), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [310] = { + [sym_compound_statement] = STATE(203), + [sym_labeled_statement] = STATE(203), + [sym_expression_statement] = STATE(203), + [sym_if_statement] = STATE(203), + [sym_switch_statement] = STATE(203), + [sym_case_statement] = STATE(203), + [sym_while_statement] = STATE(203), + [sym_do_statement] = STATE(203), + [sym_for_statement] = STATE(203), + [sym_return_statement] = STATE(203), + [sym_break_statement] = STATE(203), + [sym_continue_statement] = STATE(203), + [sym_goto_statement] = STATE(203), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [311] = { + [sym_compound_statement] = STATE(202), + [sym_labeled_statement] = STATE(202), + [sym_expression_statement] = STATE(202), + [sym_if_statement] = STATE(202), + [sym_switch_statement] = STATE(202), + [sym_case_statement] = STATE(202), + [sym_while_statement] = STATE(202), + [sym_do_statement] = STATE(202), + [sym_for_statement] = STATE(202), + [sym_return_statement] = STATE(202), + [sym_break_statement] = STATE(202), + [sym_continue_statement] = STATE(202), + [sym_goto_statement] = STATE(202), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [312] = { + [sym_compound_statement] = STATE(200), + [sym_labeled_statement] = STATE(200), + [sym_expression_statement] = STATE(200), + [sym_if_statement] = STATE(200), + [sym_switch_statement] = STATE(200), + [sym_case_statement] = STATE(200), + [sym_while_statement] = STATE(200), + [sym_do_statement] = STATE(200), + [sym_for_statement] = STATE(200), + [sym_return_statement] = STATE(200), + [sym_break_statement] = STATE(200), + [sym_continue_statement] = STATE(200), + [sym_goto_statement] = STATE(200), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [313] = { + [sym_compound_statement] = STATE(1447), + [sym_labeled_statement] = STATE(1447), + [sym_expression_statement] = STATE(1447), + [sym_if_statement] = STATE(1447), + [sym_switch_statement] = STATE(1447), + [sym_case_statement] = STATE(1447), + [sym_while_statement] = STATE(1447), + [sym_do_statement] = STATE(1447), + [sym_for_statement] = STATE(1447), + [sym_return_statement] = STATE(1447), + [sym_break_statement] = STATE(1447), + [sym_continue_statement] = STATE(1447), + [sym_goto_statement] = STATE(1447), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [314] = { + [sym_compound_statement] = STATE(199), + [sym_labeled_statement] = STATE(199), + [sym_expression_statement] = STATE(199), + [sym_if_statement] = STATE(199), + [sym_switch_statement] = STATE(199), + [sym_case_statement] = STATE(199), + [sym_while_statement] = STATE(199), + [sym_do_statement] = STATE(199), + [sym_for_statement] = STATE(199), + [sym_return_statement] = STATE(199), + [sym_break_statement] = STATE(199), + [sym_continue_statement] = STATE(199), + [sym_goto_statement] = STATE(199), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [315] = { + [sym_compound_statement] = STATE(198), + [sym_labeled_statement] = STATE(198), + [sym_expression_statement] = STATE(198), + [sym_if_statement] = STATE(198), + [sym_switch_statement] = STATE(198), + [sym_case_statement] = STATE(198), + [sym_while_statement] = STATE(198), + [sym_do_statement] = STATE(198), + [sym_for_statement] = STATE(198), + [sym_return_statement] = STATE(198), + [sym_break_statement] = STATE(198), + [sym_continue_statement] = STATE(198), + [sym_goto_statement] = STATE(198), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [316] = { + [sym_compound_statement] = STATE(1438), + [sym_labeled_statement] = STATE(1438), + [sym_expression_statement] = STATE(1438), + [sym_if_statement] = STATE(1438), + [sym_switch_statement] = STATE(1438), + [sym_case_statement] = STATE(1438), + [sym_while_statement] = STATE(1438), + [sym_do_statement] = STATE(1438), + [sym_for_statement] = STATE(1438), + [sym_return_statement] = STATE(1438), + [sym_break_statement] = STATE(1438), + [sym_continue_statement] = STATE(1438), + [sym_goto_statement] = STATE(1438), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [317] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(151), + [sym_labeled_statement] = STATE(151), + [sym_expression_statement] = STATE(151), + [sym_if_statement] = STATE(151), + [sym_switch_statement] = STATE(151), + [sym_while_statement] = STATE(151), + [sym_do_statement] = STATE(151), + [sym_for_statement] = STATE(151), + [sym_return_statement] = STATE(151), + [sym_break_statement] = STATE(151), + [sym_continue_statement] = STATE(151), + [sym_goto_statement] = STATE(151), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [318] = { + [sym_compound_statement] = STATE(92), + [sym_labeled_statement] = STATE(92), + [sym_expression_statement] = STATE(92), + [sym_if_statement] = STATE(92), + [sym_switch_statement] = STATE(92), + [sym_case_statement] = STATE(92), + [sym_while_statement] = STATE(92), + [sym_do_statement] = STATE(92), + [sym_for_statement] = STATE(92), + [sym_return_statement] = STATE(92), + [sym_break_statement] = STATE(92), + [sym_continue_statement] = STATE(92), + [sym_goto_statement] = STATE(92), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [319] = { + [sym_compound_statement] = STATE(208), + [sym_labeled_statement] = STATE(208), + [sym_expression_statement] = STATE(208), + [sym_if_statement] = STATE(208), + [sym_switch_statement] = STATE(208), + [sym_case_statement] = STATE(208), + [sym_while_statement] = STATE(208), + [sym_do_statement] = STATE(208), + [sym_for_statement] = STATE(208), + [sym_return_statement] = STATE(208), + [sym_break_statement] = STATE(208), + [sym_continue_statement] = STATE(208), + [sym_goto_statement] = STATE(208), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [320] = { + [sym_compound_statement] = STATE(227), + [sym_labeled_statement] = STATE(227), + [sym_expression_statement] = STATE(227), + [sym_if_statement] = STATE(227), + [sym_switch_statement] = STATE(227), + [sym_case_statement] = STATE(227), + [sym_while_statement] = STATE(227), + [sym_do_statement] = STATE(227), + [sym_for_statement] = STATE(227), + [sym_return_statement] = STATE(227), + [sym_break_statement] = STATE(227), + [sym_continue_statement] = STATE(227), + [sym_goto_statement] = STATE(227), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [321] = { + [sym_compound_statement] = STATE(169), + [sym_labeled_statement] = STATE(169), + [sym_expression_statement] = STATE(169), + [sym_if_statement] = STATE(169), + [sym_switch_statement] = STATE(169), + [sym_case_statement] = STATE(169), + [sym_while_statement] = STATE(169), + [sym_do_statement] = STATE(169), + [sym_for_statement] = STATE(169), + [sym_return_statement] = STATE(169), + [sym_break_statement] = STATE(169), + [sym_continue_statement] = STATE(169), + [sym_goto_statement] = STATE(169), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [322] = { + [sym_compound_statement] = STATE(233), + [sym_labeled_statement] = STATE(233), + [sym_expression_statement] = STATE(233), + [sym_if_statement] = STATE(233), + [sym_switch_statement] = STATE(233), + [sym_case_statement] = STATE(233), + [sym_while_statement] = STATE(233), + [sym_do_statement] = STATE(233), + [sym_for_statement] = STATE(233), + [sym_return_statement] = STATE(233), + [sym_break_statement] = STATE(233), + [sym_continue_statement] = STATE(233), + [sym_goto_statement] = STATE(233), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [323] = { + [sym_compound_statement] = STATE(161), + [sym_labeled_statement] = STATE(161), + [sym_expression_statement] = STATE(161), + [sym_if_statement] = STATE(161), + [sym_switch_statement] = STATE(161), + [sym_case_statement] = STATE(161), + [sym_while_statement] = STATE(161), + [sym_do_statement] = STATE(161), + [sym_for_statement] = STATE(161), + [sym_return_statement] = STATE(161), + [sym_break_statement] = STATE(161), + [sym_continue_statement] = STATE(161), + [sym_goto_statement] = STATE(161), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [324] = { + [sym_compound_statement] = STATE(184), + [sym_labeled_statement] = STATE(184), + [sym_expression_statement] = STATE(184), + [sym_if_statement] = STATE(184), + [sym_switch_statement] = STATE(184), + [sym_case_statement] = STATE(184), + [sym_while_statement] = STATE(184), + [sym_do_statement] = STATE(184), + [sym_for_statement] = STATE(184), + [sym_return_statement] = STATE(184), + [sym_break_statement] = STATE(184), + [sym_continue_statement] = STATE(184), + [sym_goto_statement] = STATE(184), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [325] = { + [sym_compound_statement] = STATE(143), + [sym_labeled_statement] = STATE(143), + [sym_expression_statement] = STATE(143), + [sym_if_statement] = STATE(143), + [sym_switch_statement] = STATE(143), + [sym_case_statement] = STATE(143), + [sym_while_statement] = STATE(143), + [sym_do_statement] = STATE(143), + [sym_for_statement] = STATE(143), + [sym_return_statement] = STATE(143), + [sym_break_statement] = STATE(143), + [sym_continue_statement] = STATE(143), + [sym_goto_statement] = STATE(143), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [326] = { + [sym_compound_statement] = STATE(195), + [sym_labeled_statement] = STATE(195), + [sym_expression_statement] = STATE(195), + [sym_if_statement] = STATE(195), + [sym_switch_statement] = STATE(195), + [sym_case_statement] = STATE(195), + [sym_while_statement] = STATE(195), + [sym_do_statement] = STATE(195), + [sym_for_statement] = STATE(195), + [sym_return_statement] = STATE(195), + [sym_break_statement] = STATE(195), + [sym_continue_statement] = STATE(195), + [sym_goto_statement] = STATE(195), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [327] = { + [sym_compound_statement] = STATE(139), + [sym_labeled_statement] = STATE(139), + [sym_expression_statement] = STATE(139), + [sym_if_statement] = STATE(139), + [sym_switch_statement] = STATE(139), + [sym_case_statement] = STATE(139), + [sym_while_statement] = STATE(139), + [sym_do_statement] = STATE(139), + [sym_for_statement] = STATE(139), + [sym_return_statement] = STATE(139), + [sym_break_statement] = STATE(139), + [sym_continue_statement] = STATE(139), + [sym_goto_statement] = STATE(139), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [328] = { + [sym_compound_statement] = STATE(231), + [sym_labeled_statement] = STATE(231), + [sym_expression_statement] = STATE(231), + [sym_if_statement] = STATE(231), + [sym_switch_statement] = STATE(231), + [sym_case_statement] = STATE(231), + [sym_while_statement] = STATE(231), + [sym_do_statement] = STATE(231), + [sym_for_statement] = STATE(231), + [sym_return_statement] = STATE(231), + [sym_break_statement] = STATE(231), + [sym_continue_statement] = STATE(231), + [sym_goto_statement] = STATE(231), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [329] = { + [sym_compound_statement] = STATE(73), + [sym_labeled_statement] = STATE(73), + [sym_expression_statement] = STATE(73), + [sym_if_statement] = STATE(73), + [sym_switch_statement] = STATE(73), + [sym_case_statement] = STATE(73), + [sym_while_statement] = STATE(73), + [sym_do_statement] = STATE(73), + [sym_for_statement] = STATE(73), + [sym_return_statement] = STATE(73), + [sym_break_statement] = STATE(73), + [sym_continue_statement] = STATE(73), + [sym_goto_statement] = STATE(73), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [330] = { + [sym_compound_statement] = STATE(153), + [sym_labeled_statement] = STATE(153), + [sym_expression_statement] = STATE(153), + [sym_if_statement] = STATE(153), + [sym_switch_statement] = STATE(153), + [sym_case_statement] = STATE(153), + [sym_while_statement] = STATE(153), + [sym_do_statement] = STATE(153), + [sym_for_statement] = STATE(153), + [sym_return_statement] = STATE(153), + [sym_break_statement] = STATE(153), + [sym_continue_statement] = STATE(153), + [sym_goto_statement] = STATE(153), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [331] = { + [sym_compound_statement] = STATE(220), + [sym_labeled_statement] = STATE(220), + [sym_expression_statement] = STATE(220), + [sym_if_statement] = STATE(220), + [sym_switch_statement] = STATE(220), + [sym_case_statement] = STATE(220), + [sym_while_statement] = STATE(220), + [sym_do_statement] = STATE(220), + [sym_for_statement] = STATE(220), + [sym_return_statement] = STATE(220), + [sym_break_statement] = STATE(220), + [sym_continue_statement] = STATE(220), + [sym_goto_statement] = STATE(220), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [332] = { + [sym_compound_statement] = STATE(95), + [sym_labeled_statement] = STATE(95), + [sym_expression_statement] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_switch_statement] = STATE(95), + [sym_case_statement] = STATE(95), + [sym_while_statement] = STATE(95), + [sym_do_statement] = STATE(95), + [sym_for_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_continue_statement] = STATE(95), + [sym_goto_statement] = STATE(95), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [333] = { + [sym_compound_statement] = STATE(1427), + [sym_labeled_statement] = STATE(1427), + [sym_expression_statement] = STATE(1427), + [sym_if_statement] = STATE(1427), + [sym_switch_statement] = STATE(1427), + [sym_case_statement] = STATE(1427), + [sym_while_statement] = STATE(1427), + [sym_do_statement] = STATE(1427), + [sym_for_statement] = STATE(1427), + [sym_return_statement] = STATE(1427), + [sym_break_statement] = STATE(1427), + [sym_continue_statement] = STATE(1427), + [sym_goto_statement] = STATE(1427), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [334] = { + [sym_compound_statement] = STATE(70), + [sym_labeled_statement] = STATE(70), + [sym_expression_statement] = STATE(70), + [sym_if_statement] = STATE(70), + [sym_switch_statement] = STATE(70), + [sym_case_statement] = STATE(70), + [sym_while_statement] = STATE(70), + [sym_do_statement] = STATE(70), + [sym_for_statement] = STATE(70), + [sym_return_statement] = STATE(70), + [sym_break_statement] = STATE(70), + [sym_continue_statement] = STATE(70), + [sym_goto_statement] = STATE(70), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [335] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(185), + [sym_labeled_statement] = STATE(185), + [sym_expression_statement] = STATE(185), + [sym_if_statement] = STATE(185), + [sym_switch_statement] = STATE(185), + [sym_while_statement] = STATE(185), + [sym_do_statement] = STATE(185), + [sym_for_statement] = STATE(185), + [sym_return_statement] = STATE(185), + [sym_break_statement] = STATE(185), + [sym_continue_statement] = STATE(185), + [sym_goto_statement] = STATE(185), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [336] = { + [sym_compound_statement] = STATE(98), + [sym_labeled_statement] = STATE(98), + [sym_expression_statement] = STATE(98), + [sym_if_statement] = STATE(98), + [sym_switch_statement] = STATE(98), + [sym_case_statement] = STATE(98), + [sym_while_statement] = STATE(98), + [sym_do_statement] = STATE(98), + [sym_for_statement] = STATE(98), + [sym_return_statement] = STATE(98), + [sym_break_statement] = STATE(98), + [sym_continue_statement] = STATE(98), + [sym_goto_statement] = STATE(98), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [337] = { + [sym_compound_statement] = STATE(232), + [sym_labeled_statement] = STATE(232), + [sym_expression_statement] = STATE(232), + [sym_if_statement] = STATE(232), + [sym_switch_statement] = STATE(232), + [sym_case_statement] = STATE(232), + [sym_while_statement] = STATE(232), + [sym_do_statement] = STATE(232), + [sym_for_statement] = STATE(232), + [sym_return_statement] = STATE(232), + [sym_break_statement] = STATE(232), + [sym_continue_statement] = STATE(232), + [sym_goto_statement] = STATE(232), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [338] = { + [sym_compound_statement] = STATE(99), + [sym_labeled_statement] = STATE(99), + [sym_expression_statement] = STATE(99), + [sym_if_statement] = STATE(99), + [sym_switch_statement] = STATE(99), + [sym_case_statement] = STATE(99), + [sym_while_statement] = STATE(99), + [sym_do_statement] = STATE(99), + [sym_for_statement] = STATE(99), + [sym_return_statement] = STATE(99), + [sym_break_statement] = STATE(99), + [sym_continue_statement] = STATE(99), + [sym_goto_statement] = STATE(99), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [339] = { + [sym_compound_statement] = STATE(223), + [sym_labeled_statement] = STATE(223), + [sym_expression_statement] = STATE(223), + [sym_if_statement] = STATE(223), + [sym_switch_statement] = STATE(223), + [sym_case_statement] = STATE(223), + [sym_while_statement] = STATE(223), + [sym_do_statement] = STATE(223), + [sym_for_statement] = STATE(223), + [sym_return_statement] = STATE(223), + [sym_break_statement] = STATE(223), + [sym_continue_statement] = STATE(223), + [sym_goto_statement] = STATE(223), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [340] = { + [sym_compound_statement] = STATE(145), + [sym_labeled_statement] = STATE(145), + [sym_expression_statement] = STATE(145), + [sym_if_statement] = STATE(145), + [sym_switch_statement] = STATE(145), + [sym_case_statement] = STATE(145), + [sym_while_statement] = STATE(145), + [sym_do_statement] = STATE(145), + [sym_for_statement] = STATE(145), + [sym_return_statement] = STATE(145), + [sym_break_statement] = STATE(145), + [sym_continue_statement] = STATE(145), + [sym_goto_statement] = STATE(145), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [341] = { + [sym_compound_statement] = STATE(221), + [sym_labeled_statement] = STATE(221), + [sym_expression_statement] = STATE(221), + [sym_if_statement] = STATE(221), + [sym_switch_statement] = STATE(221), + [sym_case_statement] = STATE(221), + [sym_while_statement] = STATE(221), + [sym_do_statement] = STATE(221), + [sym_for_statement] = STATE(221), + [sym_return_statement] = STATE(221), + [sym_break_statement] = STATE(221), + [sym_continue_statement] = STATE(221), + [sym_goto_statement] = STATE(221), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [342] = { + [sym_compound_statement] = STATE(213), + [sym_labeled_statement] = STATE(213), + [sym_expression_statement] = STATE(213), + [sym_if_statement] = STATE(213), + [sym_switch_statement] = STATE(213), + [sym_case_statement] = STATE(213), + [sym_while_statement] = STATE(213), + [sym_do_statement] = STATE(213), + [sym_for_statement] = STATE(213), + [sym_return_statement] = STATE(213), + [sym_break_statement] = STATE(213), + [sym_continue_statement] = STATE(213), + [sym_goto_statement] = STATE(213), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [343] = { + [sym_compound_statement] = STATE(146), + [sym_labeled_statement] = STATE(146), + [sym_expression_statement] = STATE(146), + [sym_if_statement] = STATE(146), + [sym_switch_statement] = STATE(146), + [sym_case_statement] = STATE(146), + [sym_while_statement] = STATE(146), + [sym_do_statement] = STATE(146), + [sym_for_statement] = STATE(146), + [sym_return_statement] = STATE(146), + [sym_break_statement] = STATE(146), + [sym_continue_statement] = STATE(146), + [sym_goto_statement] = STATE(146), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [344] = { + [sym_compound_statement] = STATE(189), + [sym_labeled_statement] = STATE(189), + [sym_expression_statement] = STATE(189), + [sym_if_statement] = STATE(189), + [sym_switch_statement] = STATE(189), + [sym_case_statement] = STATE(189), + [sym_while_statement] = STATE(189), + [sym_do_statement] = STATE(189), + [sym_for_statement] = STATE(189), + [sym_return_statement] = STATE(189), + [sym_break_statement] = STATE(189), + [sym_continue_statement] = STATE(189), + [sym_goto_statement] = STATE(189), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [345] = { + [sym_compound_statement] = STATE(214), + [sym_labeled_statement] = STATE(214), + [sym_expression_statement] = STATE(214), + [sym_if_statement] = STATE(214), + [sym_switch_statement] = STATE(214), + [sym_case_statement] = STATE(214), + [sym_while_statement] = STATE(214), + [sym_do_statement] = STATE(214), + [sym_for_statement] = STATE(214), + [sym_return_statement] = STATE(214), + [sym_break_statement] = STATE(214), + [sym_continue_statement] = STATE(214), + [sym_goto_statement] = STATE(214), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [346] = { + [sym_compound_statement] = STATE(76), + [sym_labeled_statement] = STATE(76), + [sym_expression_statement] = STATE(76), + [sym_if_statement] = STATE(76), + [sym_switch_statement] = STATE(76), + [sym_case_statement] = STATE(76), + [sym_while_statement] = STATE(76), + [sym_do_statement] = STATE(76), + [sym_for_statement] = STATE(76), + [sym_return_statement] = STATE(76), + [sym_break_statement] = STATE(76), + [sym_continue_statement] = STATE(76), + [sym_goto_statement] = STATE(76), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [347] = { + [sym_compound_statement] = STATE(179), + [sym_labeled_statement] = STATE(179), + [sym_expression_statement] = STATE(179), + [sym_if_statement] = STATE(179), + [sym_switch_statement] = STATE(179), + [sym_case_statement] = STATE(179), + [sym_while_statement] = STATE(179), + [sym_do_statement] = STATE(179), + [sym_for_statement] = STATE(179), + [sym_return_statement] = STATE(179), + [sym_break_statement] = STATE(179), + [sym_continue_statement] = STATE(179), + [sym_goto_statement] = STATE(179), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [348] = { + [sym_compound_statement] = STATE(102), + [sym_labeled_statement] = STATE(102), + [sym_expression_statement] = STATE(102), + [sym_if_statement] = STATE(102), + [sym_switch_statement] = STATE(102), + [sym_case_statement] = STATE(102), + [sym_while_statement] = STATE(102), + [sym_do_statement] = STATE(102), + [sym_for_statement] = STATE(102), + [sym_return_statement] = STATE(102), + [sym_break_statement] = STATE(102), + [sym_continue_statement] = STATE(102), + [sym_goto_statement] = STATE(102), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [349] = { + [sym_compound_statement] = STATE(103), + [sym_labeled_statement] = STATE(103), + [sym_expression_statement] = STATE(103), + [sym_if_statement] = STATE(103), + [sym_switch_statement] = STATE(103), + [sym_case_statement] = STATE(103), + [sym_while_statement] = STATE(103), + [sym_do_statement] = STATE(103), + [sym_for_statement] = STATE(103), + [sym_return_statement] = STATE(103), + [sym_break_statement] = STATE(103), + [sym_continue_statement] = STATE(103), + [sym_goto_statement] = STATE(103), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [350] = { + [sym_compound_statement] = STATE(101), + [sym_labeled_statement] = STATE(101), + [sym_expression_statement] = STATE(101), + [sym_if_statement] = STATE(101), + [sym_switch_statement] = STATE(101), + [sym_case_statement] = STATE(101), + [sym_while_statement] = STATE(101), + [sym_do_statement] = STATE(101), + [sym_for_statement] = STATE(101), + [sym_return_statement] = STATE(101), + [sym_break_statement] = STATE(101), + [sym_continue_statement] = STATE(101), + [sym_goto_statement] = STATE(101), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [351] = { + [sym_compound_statement] = STATE(79), + [sym_labeled_statement] = STATE(79), + [sym_expression_statement] = STATE(79), + [sym_if_statement] = STATE(79), + [sym_switch_statement] = STATE(79), + [sym_case_statement] = STATE(79), + [sym_while_statement] = STATE(79), + [sym_do_statement] = STATE(79), + [sym_for_statement] = STATE(79), + [sym_return_statement] = STATE(79), + [sym_break_statement] = STATE(79), + [sym_continue_statement] = STATE(79), + [sym_goto_statement] = STATE(79), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [352] = { + [sym_compound_statement] = STATE(173), + [sym_labeled_statement] = STATE(173), + [sym_expression_statement] = STATE(173), + [sym_if_statement] = STATE(173), + [sym_switch_statement] = STATE(173), + [sym_case_statement] = STATE(173), + [sym_while_statement] = STATE(173), + [sym_do_statement] = STATE(173), + [sym_for_statement] = STATE(173), + [sym_return_statement] = STATE(173), + [sym_break_statement] = STATE(173), + [sym_continue_statement] = STATE(173), + [sym_goto_statement] = STATE(173), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [353] = { + [sym_compound_statement] = STATE(218), + [sym_labeled_statement] = STATE(218), + [sym_expression_statement] = STATE(218), + [sym_if_statement] = STATE(218), + [sym_switch_statement] = STATE(218), + [sym_case_statement] = STATE(218), + [sym_while_statement] = STATE(218), + [sym_do_statement] = STATE(218), + [sym_for_statement] = STATE(218), + [sym_return_statement] = STATE(218), + [sym_break_statement] = STATE(218), + [sym_continue_statement] = STATE(218), + [sym_goto_statement] = STATE(218), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [354] = { + [sym_compound_statement] = STATE(170), + [sym_labeled_statement] = STATE(170), + [sym_expression_statement] = STATE(170), + [sym_if_statement] = STATE(170), + [sym_switch_statement] = STATE(170), + [sym_case_statement] = STATE(170), + [sym_while_statement] = STATE(170), + [sym_do_statement] = STATE(170), + [sym_for_statement] = STATE(170), + [sym_return_statement] = STATE(170), + [sym_break_statement] = STATE(170), + [sym_continue_statement] = STATE(170), + [sym_goto_statement] = STATE(170), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [355] = { + [sym_compound_statement] = STATE(224), + [sym_labeled_statement] = STATE(224), + [sym_expression_statement] = STATE(224), + [sym_if_statement] = STATE(224), + [sym_switch_statement] = STATE(224), + [sym_case_statement] = STATE(224), + [sym_while_statement] = STATE(224), + [sym_do_statement] = STATE(224), + [sym_for_statement] = STATE(224), + [sym_return_statement] = STATE(224), + [sym_break_statement] = STATE(224), + [sym_continue_statement] = STATE(224), + [sym_goto_statement] = STATE(224), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [356] = { + [sym_compound_statement] = STATE(234), + [sym_labeled_statement] = STATE(234), + [sym_expression_statement] = STATE(234), + [sym_if_statement] = STATE(234), + [sym_switch_statement] = STATE(234), + [sym_case_statement] = STATE(234), + [sym_while_statement] = STATE(234), + [sym_do_statement] = STATE(234), + [sym_for_statement] = STATE(234), + [sym_return_statement] = STATE(234), + [sym_break_statement] = STATE(234), + [sym_continue_statement] = STATE(234), + [sym_goto_statement] = STATE(234), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [357] = { + [sym_compound_statement] = STATE(147), + [sym_labeled_statement] = STATE(147), + [sym_expression_statement] = STATE(147), + [sym_if_statement] = STATE(147), + [sym_switch_statement] = STATE(147), + [sym_case_statement] = STATE(147), + [sym_while_statement] = STATE(147), + [sym_do_statement] = STATE(147), + [sym_for_statement] = STATE(147), + [sym_return_statement] = STATE(147), + [sym_break_statement] = STATE(147), + [sym_continue_statement] = STATE(147), + [sym_goto_statement] = STATE(147), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [358] = { + [sym_compound_statement] = STATE(148), + [sym_labeled_statement] = STATE(148), + [sym_expression_statement] = STATE(148), + [sym_if_statement] = STATE(148), + [sym_switch_statement] = STATE(148), + [sym_case_statement] = STATE(148), + [sym_while_statement] = STATE(148), + [sym_do_statement] = STATE(148), + [sym_for_statement] = STATE(148), + [sym_return_statement] = STATE(148), + [sym_break_statement] = STATE(148), + [sym_continue_statement] = STATE(148), + [sym_goto_statement] = STATE(148), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [359] = { + [sym_compound_statement] = STATE(217), + [sym_labeled_statement] = STATE(217), + [sym_expression_statement] = STATE(217), + [sym_if_statement] = STATE(217), + [sym_switch_statement] = STATE(217), + [sym_case_statement] = STATE(217), + [sym_while_statement] = STATE(217), + [sym_do_statement] = STATE(217), + [sym_for_statement] = STATE(217), + [sym_return_statement] = STATE(217), + [sym_break_statement] = STATE(217), + [sym_continue_statement] = STATE(217), + [sym_goto_statement] = STATE(217), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [360] = { + [sym_compound_statement] = STATE(150), + [sym_labeled_statement] = STATE(150), + [sym_expression_statement] = STATE(150), + [sym_if_statement] = STATE(150), + [sym_switch_statement] = STATE(150), + [sym_case_statement] = STATE(150), + [sym_while_statement] = STATE(150), + [sym_do_statement] = STATE(150), + [sym_for_statement] = STATE(150), + [sym_return_statement] = STATE(150), + [sym_break_statement] = STATE(150), + [sym_continue_statement] = STATE(150), + [sym_goto_statement] = STATE(150), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [361] = { + [sym_compound_statement] = STATE(81), + [sym_labeled_statement] = STATE(81), + [sym_expression_statement] = STATE(81), + [sym_if_statement] = STATE(81), + [sym_switch_statement] = STATE(81), + [sym_case_statement] = STATE(81), + [sym_while_statement] = STATE(81), + [sym_do_statement] = STATE(81), + [sym_for_statement] = STATE(81), + [sym_return_statement] = STATE(81), + [sym_break_statement] = STATE(81), + [sym_continue_statement] = STATE(81), + [sym_goto_statement] = STATE(81), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [362] = { + [sym_compound_statement] = STATE(222), + [sym_labeled_statement] = STATE(222), + [sym_expression_statement] = STATE(222), + [sym_if_statement] = STATE(222), + [sym_switch_statement] = STATE(222), + [sym_case_statement] = STATE(222), + [sym_while_statement] = STATE(222), + [sym_do_statement] = STATE(222), + [sym_for_statement] = STATE(222), + [sym_return_statement] = STATE(222), + [sym_break_statement] = STATE(222), + [sym_continue_statement] = STATE(222), + [sym_goto_statement] = STATE(222), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [363] = { + [sym_compound_statement] = STATE(230), + [sym_labeled_statement] = STATE(230), + [sym_expression_statement] = STATE(230), + [sym_if_statement] = STATE(230), + [sym_switch_statement] = STATE(230), + [sym_case_statement] = STATE(230), + [sym_while_statement] = STATE(230), + [sym_do_statement] = STATE(230), + [sym_for_statement] = STATE(230), + [sym_return_statement] = STATE(230), + [sym_break_statement] = STATE(230), + [sym_continue_statement] = STATE(230), + [sym_goto_statement] = STATE(230), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [364] = { + [sym_compound_statement] = STATE(158), + [sym_labeled_statement] = STATE(158), + [sym_expression_statement] = STATE(158), + [sym_if_statement] = STATE(158), + [sym_switch_statement] = STATE(158), + [sym_case_statement] = STATE(158), + [sym_while_statement] = STATE(158), + [sym_do_statement] = STATE(158), + [sym_for_statement] = STATE(158), + [sym_return_statement] = STATE(158), + [sym_break_statement] = STATE(158), + [sym_continue_statement] = STATE(158), + [sym_goto_statement] = STATE(158), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [365] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(191), + [sym_labeled_statement] = STATE(191), + [sym_expression_statement] = STATE(191), + [sym_if_statement] = STATE(191), + [sym_switch_statement] = STATE(191), + [sym_while_statement] = STATE(191), + [sym_do_statement] = STATE(191), + [sym_for_statement] = STATE(191), + [sym_return_statement] = STATE(191), + [sym_break_statement] = STATE(191), + [sym_continue_statement] = STATE(191), + [sym_goto_statement] = STATE(191), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [366] = { + [sym_attribute_declaration] = STATE(613), + [sym_compound_statement] = STATE(80), + [sym_labeled_statement] = STATE(80), + [sym_expression_statement] = STATE(80), + [sym_if_statement] = STATE(80), + [sym_switch_statement] = STATE(80), + [sym_while_statement] = STATE(80), + [sym_do_statement] = STATE(80), + [sym_for_statement] = STATE(80), + [sym_return_statement] = STATE(80), + [sym_break_statement] = STATE(80), + [sym_continue_statement] = STATE(80), + [sym_goto_statement] = STATE(80), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [aux_sym_attributed_declarator_repeat1] = STATE(613), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1136), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [367] = { + [sym_compound_statement] = STATE(83), + [sym_labeled_statement] = STATE(83), + [sym_expression_statement] = STATE(83), + [sym_if_statement] = STATE(83), + [sym_switch_statement] = STATE(83), + [sym_case_statement] = STATE(83), + [sym_while_statement] = STATE(83), + [sym_do_statement] = STATE(83), + [sym_for_statement] = STATE(83), + [sym_return_statement] = STATE(83), + [sym_break_statement] = STATE(83), + [sym_continue_statement] = STATE(83), + [sym_goto_statement] = STATE(83), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [368] = { + [sym_compound_statement] = STATE(69), + [sym_labeled_statement] = STATE(69), + [sym_expression_statement] = STATE(69), + [sym_if_statement] = STATE(69), + [sym_switch_statement] = STATE(69), + [sym_case_statement] = STATE(69), + [sym_while_statement] = STATE(69), + [sym_do_statement] = STATE(69), + [sym_for_statement] = STATE(69), + [sym_return_statement] = STATE(69), + [sym_break_statement] = STATE(69), + [sym_continue_statement] = STATE(69), + [sym_goto_statement] = STATE(69), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [369] = { + [sym_compound_statement] = STATE(152), + [sym_labeled_statement] = STATE(152), + [sym_expression_statement] = STATE(152), + [sym_if_statement] = STATE(152), + [sym_switch_statement] = STATE(152), + [sym_case_statement] = STATE(152), + [sym_while_statement] = STATE(152), + [sym_do_statement] = STATE(152), + [sym_for_statement] = STATE(152), + [sym_return_statement] = STATE(152), + [sym_break_statement] = STATE(152), + [sym_continue_statement] = STATE(152), + [sym_goto_statement] = STATE(152), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [370] = { + [sym_compound_statement] = STATE(154), + [sym_labeled_statement] = STATE(154), + [sym_expression_statement] = STATE(154), + [sym_if_statement] = STATE(154), + [sym_switch_statement] = STATE(154), + [sym_case_statement] = STATE(154), + [sym_while_statement] = STATE(154), + [sym_do_statement] = STATE(154), + [sym_for_statement] = STATE(154), + [sym_return_statement] = STATE(154), + [sym_break_statement] = STATE(154), + [sym_continue_statement] = STATE(154), + [sym_goto_statement] = STATE(154), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [371] = { + [sym_compound_statement] = STATE(229), + [sym_labeled_statement] = STATE(229), + [sym_expression_statement] = STATE(229), + [sym_if_statement] = STATE(229), + [sym_switch_statement] = STATE(229), + [sym_case_statement] = STATE(229), + [sym_while_statement] = STATE(229), + [sym_do_statement] = STATE(229), + [sym_for_statement] = STATE(229), + [sym_return_statement] = STATE(229), + [sym_break_statement] = STATE(229), + [sym_continue_statement] = STATE(229), + [sym_goto_statement] = STATE(229), + [sym__expression] = STATE(700), + [sym_comma_expression] = STATE(1281), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1138), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(367), + [anon_sym_LBRACE] = ACTIONS(373), + [anon_sym_if] = ACTIONS(375), + [anon_sym_switch] = ACTIONS(377), + [anon_sym_case] = ACTIONS(379), + [anon_sym_default] = ACTIONS(381), + [anon_sym_while] = ACTIONS(383), + [anon_sym_do] = ACTIONS(385), + [anon_sym_for] = ACTIONS(387), + [anon_sym_return] = ACTIONS(389), + [anon_sym_break] = ACTIONS(391), + [anon_sym_continue] = ACTIONS(393), + [anon_sym_goto] = ACTIONS(395), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [372] = { + [sym_compound_statement] = STATE(129), + [sym_labeled_statement] = STATE(129), + [sym_expression_statement] = STATE(129), + [sym_if_statement] = STATE(129), + [sym_switch_statement] = STATE(129), + [sym_case_statement] = STATE(129), + [sym_while_statement] = STATE(129), + [sym_do_statement] = STATE(129), + [sym_for_statement] = STATE(129), + [sym_return_statement] = STATE(129), + [sym_break_statement] = STATE(129), + [sym_continue_statement] = STATE(129), + [sym_goto_statement] = STATE(129), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [373] = { + [sym_compound_statement] = STATE(219), + [sym_labeled_statement] = STATE(219), + [sym_expression_statement] = STATE(219), + [sym_if_statement] = STATE(219), + [sym_switch_statement] = STATE(219), + [sym_case_statement] = STATE(219), + [sym_while_statement] = STATE(219), + [sym_do_statement] = STATE(219), + [sym_for_statement] = STATE(219), + [sym_return_statement] = STATE(219), + [sym_break_statement] = STATE(219), + [sym_continue_statement] = STATE(219), + [sym_goto_statement] = STATE(219), + [sym__expression] = STATE(698), + [sym_comma_expression] = STATE(1389), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1142), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(313), + [anon_sym_LBRACE] = ACTIONS(319), + [anon_sym_if] = ACTIONS(323), + [anon_sym_switch] = ACTIONS(325), + [anon_sym_case] = ACTIONS(327), + [anon_sym_default] = ACTIONS(329), + [anon_sym_while] = ACTIONS(331), + [anon_sym_do] = ACTIONS(333), + [anon_sym_for] = ACTIONS(335), + [anon_sym_return] = ACTIONS(337), + [anon_sym_break] = ACTIONS(339), + [anon_sym_continue] = ACTIONS(341), + [anon_sym_goto] = ACTIONS(343), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [374] = { + [sym_compound_statement] = STATE(128), + [sym_labeled_statement] = STATE(128), + [sym_expression_statement] = STATE(128), + [sym_if_statement] = STATE(128), + [sym_switch_statement] = STATE(128), + [sym_case_statement] = STATE(128), + [sym_while_statement] = STATE(128), + [sym_do_statement] = STATE(128), + [sym_for_statement] = STATE(128), + [sym_return_statement] = STATE(128), + [sym_break_statement] = STATE(128), + [sym_continue_statement] = STATE(128), + [sym_goto_statement] = STATE(128), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [375] = { + [sym_compound_statement] = STATE(87), + [sym_labeled_statement] = STATE(87), + [sym_expression_statement] = STATE(87), + [sym_if_statement] = STATE(87), + [sym_switch_statement] = STATE(87), + [sym_case_statement] = STATE(87), + [sym_while_statement] = STATE(87), + [sym_do_statement] = STATE(87), + [sym_for_statement] = STATE(87), + [sym_return_statement] = STATE(87), + [sym_break_statement] = STATE(87), + [sym_continue_statement] = STATE(87), + [sym_goto_statement] = STATE(87), + [sym__expression] = STATE(740), + [sym_comma_expression] = STATE(1380), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1140), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACE] = ACTIONS(115), + [anon_sym_if] = ACTIONS(117), + [anon_sym_switch] = ACTIONS(119), + [anon_sym_case] = ACTIONS(121), + [anon_sym_default] = ACTIONS(123), + [anon_sym_while] = ACTIONS(125), + [anon_sym_do] = ACTIONS(127), + [anon_sym_for] = ACTIONS(129), + [anon_sym_return] = ACTIONS(131), + [anon_sym_break] = ACTIONS(133), + [anon_sym_continue] = ACTIONS(135), + [anon_sym_goto] = ACTIONS(137), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [376] = { + [sym_compound_statement] = STATE(157), + [sym_labeled_statement] = STATE(157), + [sym_expression_statement] = STATE(157), + [sym_if_statement] = STATE(157), + [sym_switch_statement] = STATE(157), + [sym_case_statement] = STATE(157), + [sym_while_statement] = STATE(157), + [sym_do_statement] = STATE(157), + [sym_for_statement] = STATE(157), + [sym_return_statement] = STATE(157), + [sym_break_statement] = STATE(157), + [sym_continue_statement] = STATE(157), + [sym_goto_statement] = STATE(157), + [sym__expression] = STATE(701), + [sym_comma_expression] = STATE(1431), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1134), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_SEMI] = ACTIONS(27), + [anon_sym_LBRACE] = ACTIONS(41), + [anon_sym_if] = ACTIONS(57), + [anon_sym_switch] = ACTIONS(59), + [anon_sym_case] = ACTIONS(61), + [anon_sym_default] = ACTIONS(63), + [anon_sym_while] = ACTIONS(65), + [anon_sym_do] = ACTIONS(67), + [anon_sym_for] = ACTIONS(69), + [anon_sym_return] = ACTIONS(71), + [anon_sym_break] = ACTIONS(73), + [anon_sym_continue] = ACTIONS(75), + [anon_sym_goto] = ACTIONS(77), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [377] = { + [sym__expression] = STATE(607), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_initializer_list] = STATE(608), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_identifier] = ACTIONS(1144), + [anon_sym_COMMA] = ACTIONS(872), + [anon_sym_RPAREN] = ACTIONS(872), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(23), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_SLASH] = ACTIONS(882), + [anon_sym_PERCENT] = ACTIONS(872), + [anon_sym_PIPE_PIPE] = ACTIONS(872), + [anon_sym_AMP_AMP] = ACTIONS(872), + [anon_sym_PIPE] = ACTIONS(882), + [anon_sym_CARET] = ACTIONS(872), + [anon_sym_AMP] = ACTIONS(880), + [anon_sym_EQ_EQ] = ACTIONS(872), + [anon_sym_BANG_EQ] = ACTIONS(872), + [anon_sym_GT] = ACTIONS(882), + [anon_sym_GT_EQ] = ACTIONS(872), + [anon_sym_LT_EQ] = ACTIONS(872), + [anon_sym_LT] = ACTIONS(882), + [anon_sym_LT_LT] = ACTIONS(872), + [anon_sym_GT_GT] = ACTIONS(872), + [anon_sym_SEMI] = ACTIONS(872), + [anon_sym_LBRACE] = ACTIONS(884), + [anon_sym_RBRACE] = ACTIONS(872), + [anon_sym_LBRACK] = ACTIONS(872), + [anon_sym_COLON] = ACTIONS(872), + [anon_sym_QMARK] = ACTIONS(872), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [anon_sym_DOT] = ACTIONS(882), + [anon_sym_DASH_GT] = ACTIONS(872), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [378] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1425), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [379] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1347), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [380] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1348), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [381] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1365), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [382] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1422), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [383] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1375), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [384] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1398), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, + [385] = { + [sym_type_qualifier] = STATE(860), + [sym__type_specifier] = STATE(997), + [sym_sized_type_specifier] = STATE(881), + [sym_enum_specifier] = STATE(881), + [sym_struct_specifier] = STATE(881), + [sym_union_specifier] = STATE(881), + [sym__expression] = STATE(717), + [sym_comma_expression] = STATE(1423), + [sym_conditional_expression] = STATE(549), + [sym_assignment_expression] = STATE(549), + [sym_pointer_expression] = STATE(614), + [sym_unary_expression] = STATE(549), + [sym_binary_expression] = STATE(549), + [sym_update_expression] = STATE(549), + [sym_cast_expression] = STATE(549), + [sym_type_descriptor] = STATE(1419), + [sym_sizeof_expression] = STATE(549), + [sym_subscript_expression] = STATE(614), + [sym_call_expression] = STATE(614), + [sym_field_expression] = STATE(614), + [sym_compound_literal_expression] = STATE(549), + [sym_parenthesized_expression] = STATE(614), + [sym_char_literal] = STATE(549), + [sym_concatenated_string] = STATE(549), + [sym_string_literal] = STATE(436), + [sym_macro_type_specifier] = STATE(881), + [aux_sym_type_definition_repeat1] = STATE(860), + [aux_sym_sized_type_specifier_repeat1] = STATE(999), + [sym_identifier] = ACTIONS(1146), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(23), + [anon_sym_PLUS] = ACTIONS(23), + [anon_sym_STAR] = ACTIONS(25), + [anon_sym_AMP] = ACTIONS(25), + [anon_sym_const] = ACTIONS(45), + [anon_sym_volatile] = ACTIONS(45), + [anon_sym_restrict] = ACTIONS(45), + [anon_sym__Atomic] = ACTIONS(45), + [anon_sym_signed] = ACTIONS(1148), + [anon_sym_unsigned] = ACTIONS(1148), + [anon_sym_long] = ACTIONS(1148), + [anon_sym_short] = ACTIONS(1148), + [sym_primitive_type] = ACTIONS(49), + [anon_sym_enum] = ACTIONS(51), + [anon_sym_struct] = ACTIONS(53), + [anon_sym_union] = ACTIONS(55), + [anon_sym_DASH_DASH] = ACTIONS(79), + [anon_sym_PLUS_PLUS] = ACTIONS(79), + [anon_sym_sizeof] = ACTIONS(81), + [sym_number_literal] = ACTIONS(83), + [anon_sym_L_SQUOTE] = ACTIONS(85), + [anon_sym_u_SQUOTE] = ACTIONS(85), + [anon_sym_U_SQUOTE] = ACTIONS(85), + [anon_sym_u8_SQUOTE] = ACTIONS(85), + [anon_sym_SQUOTE] = ACTIONS(85), + [anon_sym_L_DQUOTE] = ACTIONS(87), + [anon_sym_u_DQUOTE] = ACTIONS(87), + [anon_sym_U_DQUOTE] = ACTIONS(87), + [anon_sym_u8_DQUOTE] = ACTIONS(87), + [anon_sym_DQUOTE] = ACTIONS(87), + [sym_true] = ACTIONS(89), + [sym_false] = ACTIONS(89), + [sym_null] = ACTIONS(89), + [sym_comment] = ACTIONS(3), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1152), 25, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1150), 38, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + [71] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1156), 25, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1154), 38, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + [142] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1094), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1164), 1, + anon_sym_TILDE, + ACTIONS(1166), 1, + anon_sym_STAR, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(608), 1, + sym_initializer_list, + STATE(634), 1, + sym__expression, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1162), 3, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(882), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_LT, + anon_sym_DOT, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + ACTIONS(872), 14, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_DASH_GT, + [249] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1172), 1, + sym_identifier, + ACTIONS(1181), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1177), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + ACTIONS(1179), 19, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + ACTIONS(1175), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [321] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1184), 1, + sym_identifier, + ACTIONS(1186), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1188), 1, + anon_sym_RPAREN, + ACTIONS(1190), 1, + anon_sym_LPAREN2, + ACTIONS(1192), 1, + anon_sym_STAR, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1196), 1, + anon_sym_LBRACK, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(935), 1, + sym__declaration_specifiers, + STATE(1091), 1, + sym__declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(1149), 1, + sym__abstract_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1173), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [440] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1204), 1, + aux_sym_preproc_if_token2, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1452), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(395), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [548] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1214), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1359), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [656] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1216), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1335), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(403), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [764] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1218), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1411), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [872] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1220), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1426), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [980] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1222), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1290), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(400), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1088] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1224), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1326), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(404), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1196] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1226), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1356), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(392), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1304] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1228), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1279), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1412] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1230), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1327), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1520] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1232), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1325), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(399), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1628] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1234), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1428), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(394), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1736] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1236), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1324), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1844] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1200), 1, + aux_sym_preproc_def_token1, + ACTIONS(1202), 1, + aux_sym_preproc_if_token1, + ACTIONS(1208), 1, + aux_sym_preproc_else_token1, + ACTIONS(1210), 1, + aux_sym_preproc_elif_token1, + ACTIONS(1212), 1, + sym_preproc_directive, + ACTIONS(1238), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1206), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + STATE(1349), 2, + sym_preproc_else_in_field_declaration_list, + sym_preproc_elif_in_field_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [1952] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1257), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + ACTIONS(1242), 13, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [2027] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1257), 1, + anon_sym_COLON, + ACTIONS(1261), 1, + anon_sym_SEMI, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1242), 12, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [2104] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1264), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + ACTIONS(1242), 13, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [2179] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1266), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + ACTIONS(1242), 13, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [2254] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1268), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + ACTIONS(1242), 13, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [2329] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1261), 1, + anon_sym_SEMI, + ACTIONS(1268), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1242), 12, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [2406] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1261), 1, + anon_sym_SEMI, + ACTIONS(1264), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1242), 12, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [2483] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1261), 1, + anon_sym_SEMI, + ACTIONS(1266), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1242), 12, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [2560] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1270), 1, + anon_sym_COMMA, + ACTIONS(1272), 1, + anon_sym_RBRACE, + ACTIONS(1274), 1, + anon_sym_LBRACK, + ACTIONS(1276), 1, + anon_sym_DOT, + STATE(436), 1, + sym_string_literal, + STATE(688), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(1203), 2, + sym_initializer_list, + sym_initializer_pair, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + STATE(1105), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [2660] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1253), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + ACTIONS(1242), 13, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [2732] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1278), 1, + sym_identifier, + ACTIONS(1281), 1, + aux_sym_preproc_def_token1, + ACTIONS(1284), 1, + aux_sym_preproc_if_token1, + ACTIONS(1292), 1, + sym_preproc_directive, + ACTIONS(1298), 1, + anon_sym___attribute__, + ACTIONS(1301), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1304), 1, + anon_sym___declspec, + ACTIONS(1313), 1, + sym_primitive_type, + ACTIONS(1316), 1, + anon_sym_enum, + ACTIONS(1319), 1, + anon_sym_struct, + ACTIONS(1322), 1, + anon_sym_union, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1001), 1, + sym__declaration_specifiers, + ACTIONS(1289), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + ACTIONS(1287), 3, + aux_sym_preproc_if_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + ACTIONS(1307), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1310), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1295), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(415), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [2832] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1274), 1, + anon_sym_LBRACK, + ACTIONS(1276), 1, + anon_sym_DOT, + ACTIONS(1325), 1, + anon_sym_RBRACE, + STATE(436), 1, + sym_string_literal, + STATE(706), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(1216), 2, + sym_initializer_list, + sym_initializer_pair, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + STATE(1105), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [2929] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1274), 1, + anon_sym_LBRACK, + ACTIONS(1276), 1, + anon_sym_DOT, + ACTIONS(1327), 1, + anon_sym_RBRACE, + STATE(436), 1, + sym_string_literal, + STATE(706), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(1216), 2, + sym_initializer_list, + sym_initializer_pair, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + STATE(1105), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [3026] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1329), 1, + aux_sym_preproc_def_token1, + ACTIONS(1331), 1, + aux_sym_preproc_if_token1, + ACTIONS(1335), 1, + sym_preproc_directive, + ACTIONS(1337), 1, + anon_sym_RBRACE, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1002), 1, + sym__declaration_specifiers, + ACTIONS(1333), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(423), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [3124] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1329), 1, + aux_sym_preproc_def_token1, + ACTIONS(1331), 1, + aux_sym_preproc_if_token1, + ACTIONS(1335), 1, + sym_preproc_directive, + ACTIONS(1339), 1, + anon_sym_RBRACE, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1002), 1, + sym__declaration_specifiers, + ACTIONS(1333), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(418), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [3222] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1341), 1, + aux_sym_preproc_def_token1, + ACTIONS(1343), 1, + aux_sym_preproc_if_token1, + ACTIONS(1345), 1, + aux_sym_preproc_if_token2, + ACTIONS(1349), 1, + sym_preproc_directive, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1000), 1, + sym__declaration_specifiers, + ACTIONS(1347), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(422), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [3320] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1274), 1, + anon_sym_LBRACK, + ACTIONS(1276), 1, + anon_sym_DOT, + STATE(436), 1, + sym_string_literal, + STATE(706), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(1216), 2, + sym_initializer_list, + sym_initializer_pair, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + STATE(1105), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [3414] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1278), 1, + sym_identifier, + ACTIONS(1287), 1, + aux_sym_preproc_if_token2, + ACTIONS(1298), 1, + anon_sym___attribute__, + ACTIONS(1301), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1304), 1, + anon_sym___declspec, + ACTIONS(1313), 1, + sym_primitive_type, + ACTIONS(1316), 1, + anon_sym_enum, + ACTIONS(1319), 1, + anon_sym_struct, + ACTIONS(1322), 1, + anon_sym_union, + ACTIONS(1351), 1, + aux_sym_preproc_def_token1, + ACTIONS(1354), 1, + aux_sym_preproc_if_token1, + ACTIONS(1360), 1, + sym_preproc_directive, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1000), 1, + sym__declaration_specifiers, + ACTIONS(1357), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + ACTIONS(1307), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1310), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1295), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(422), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [3512] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1278), 1, + sym_identifier, + ACTIONS(1298), 1, + anon_sym___attribute__, + ACTIONS(1301), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1304), 1, + anon_sym___declspec, + ACTIONS(1313), 1, + sym_primitive_type, + ACTIONS(1316), 1, + anon_sym_enum, + ACTIONS(1319), 1, + anon_sym_struct, + ACTIONS(1322), 1, + anon_sym_union, + ACTIONS(1363), 1, + aux_sym_preproc_def_token1, + ACTIONS(1366), 1, + aux_sym_preproc_if_token1, + ACTIONS(1372), 1, + sym_preproc_directive, + ACTIONS(1375), 1, + anon_sym_RBRACE, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1002), 1, + sym__declaration_specifiers, + ACTIONS(1369), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + ACTIONS(1307), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1310), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(1295), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(423), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [3610] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1341), 1, + aux_sym_preproc_def_token1, + ACTIONS(1343), 1, + aux_sym_preproc_if_token1, + ACTIONS(1349), 1, + sym_preproc_directive, + ACTIONS(1377), 1, + aux_sym_preproc_if_token2, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1000), 1, + sym__declaration_specifiers, + ACTIONS(1347), 2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + STATE(420), 8, + sym_preproc_def, + sym_preproc_function_def, + sym_preproc_call, + sym_preproc_if_in_field_declaration_list, + sym_preproc_ifdef_in_field_declaration_list, + sym__field_declaration_list_item, + sym_field_declaration, + aux_sym_preproc_if_in_field_declaration_list_repeat1, + [3708] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1379), 1, + anon_sym_STAR, + ACTIONS(1381), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(745), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(433), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [3799] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1186), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1188), 1, + anon_sym_RPAREN, + ACTIONS(1196), 1, + anon_sym_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1385), 1, + anon_sym_LPAREN2, + ACTIONS(1387), 1, + anon_sym_STAR, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(935), 1, + sym__declaration_specifiers, + STATE(1143), 1, + sym_parameter_list, + STATE(1149), 1, + sym__abstract_declarator, + STATE(1173), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [3902] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1389), 1, + anon_sym_STAR, + ACTIONS(1391), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(749), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(652), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [3993] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1393), 1, + anon_sym_STAR, + ACTIONS(1395), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(771), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(437), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4084] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1397), 1, + anon_sym_STAR, + ACTIONS(1399), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(791), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(427), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4175] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1401), 1, + anon_sym_STAR, + ACTIONS(1403), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(776), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(652), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4266] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(435), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1407), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1405), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [4327] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1409), 1, + anon_sym_STAR, + ACTIONS(1411), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(760), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(652), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4418] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1413), 1, + anon_sym_STAR, + ACTIONS(1415), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(746), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(652), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4509] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1417), 1, + anon_sym_STAR, + ACTIONS(1419), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(768), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(432), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4600] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(435), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(1425), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1423), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1421), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [4661] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(431), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1248), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1242), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [4722] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1428), 1, + anon_sym_STAR, + ACTIONS(1430), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(788), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(652), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4813] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1166), 1, + anon_sym_AMP, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1432), 1, + anon_sym_STAR, + ACTIONS(1434), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(831), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + STATE(430), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(1383), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [4904] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1438), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1436), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [4959] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1440), 1, + anon_sym_LBRACE, + STATE(648), 1, + sym_ms_call_modifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1010), 1, + sym__declaration_specifiers, + STATE(275), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [5050] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1442), 1, + anon_sym_LBRACE, + STATE(647), 1, + sym_ms_call_modifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1013), 1, + sym__declaration_specifiers, + STATE(120), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [5141] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1444), 1, + anon_sym_LBRACE, + STATE(649), 1, + sym_ms_call_modifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1015), 1, + sym__declaration_specifiers, + STATE(272), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [5232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1448), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1446), 34, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [5287] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + ACTIONS(1450), 1, + anon_sym_LBRACE, + STATE(645), 1, + sym_ms_call_modifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1008), 1, + sym__declaration_specifiers, + STATE(253), 3, + sym_function_definition, + sym_declaration, + sym_declaration_list, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + ACTIONS(39), 6, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [5378] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1452), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(728), 1, + sym__expression, + STATE(1321), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [5460] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1454), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(718), 1, + sym__expression, + STATE(1286), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [5542] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(607), 1, + sym__expression, + STATE(608), 1, + sym_initializer_list, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [5624] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1456), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(727), 1, + sym__expression, + STATE(1417), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [5706] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1458), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(744), 1, + sym__expression, + STATE(1409), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [5788] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1460), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(710), 1, + sym__expression, + STATE(1399), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [5870] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1462), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(734), 1, + sym__expression, + STATE(1407), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [5952] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1464), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(721), 1, + sym__expression, + STATE(1289), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6034] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1466), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(707), 1, + sym__expression, + STATE(1364), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6116] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1468), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(731), 1, + sym__expression, + STATE(1277), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6198] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1470), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(738), 1, + sym__expression, + STATE(1314), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6280] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1472), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(737), 1, + sym__expression, + STATE(1303), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6362] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1474), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(742), 1, + sym__expression, + STATE(1413), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6444] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1476), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(709), 1, + sym__expression, + STATE(1339), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6526] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(608), 1, + sym_initializer_list, + STATE(634), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6608] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1478), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(711), 1, + sym__expression, + STATE(1338), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6690] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1480), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(733), 1, + sym__expression, + STATE(1320), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6772] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1482), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(726), 1, + sym__expression, + STATE(1350), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6854] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1484), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(715), 1, + sym__expression, + STATE(1284), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [6936] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1486), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(714), 1, + sym__expression, + STATE(1336), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7018] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1488), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(713), 1, + sym__expression, + STATE(1282), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7100] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1490), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(735), 1, + sym__expression, + STATE(1420), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7182] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1492), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(736), 1, + sym__expression, + STATE(1300), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7264] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(607), 1, + sym__expression, + STATE(608), 1, + sym_initializer_list, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7346] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1494), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(743), 1, + sym__expression, + STATE(1322), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7428] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(608), 1, + sym_initializer_list, + STATE(634), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7510] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(699), 1, + sym__expression, + STATE(1221), 1, + sym_initializer_list, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7592] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1496), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(722), 1, + sym__expression, + STATE(1318), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7674] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1498), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(708), 1, + sym__expression, + STATE(1278), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7756] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1500), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(702), 1, + sym__expression, + STATE(1315), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7838] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(884), 1, + anon_sym_LBRACE, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(705), 1, + sym__expression, + STATE(1226), 1, + sym_initializer_list, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [7920] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1502), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(719), 1, + sym__expression, + STATE(1332), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8002] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1504), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(741), 1, + sym__expression, + STATE(1441), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8084] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1506), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(703), 1, + sym__expression, + STATE(1445), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8166] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1508), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8245] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1510), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8324] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(717), 1, + sym__expression, + STATE(1423), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8403] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1512), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(765), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8482] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1514), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8561] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1516), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8640] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1518), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(694), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8719] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1520), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8798] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1522), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(757), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8877] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1524), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(754), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [8956] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1526), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9035] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1528), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(752), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9114] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1530), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9193] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1532), 1, + anon_sym_RPAREN, + STATE(436), 1, + sym_string_literal, + STATE(689), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9272] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(695), 1, + sym__expression, + STATE(1231), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9351] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1536), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1534), 30, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [9402] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1538), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(821), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9481] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1540), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(803), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9560] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1542), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(790), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9639] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1544), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(778), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9718] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1546), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(802), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9797] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1548), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9876] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1550), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(747), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [9955] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1552), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(806), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10034] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1554), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10113] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1556), 1, + anon_sym_SEMI, + STATE(436), 1, + sym_string_literal, + STATE(813), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10192] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(704), 1, + sym__expression, + STATE(1429), 1, + sym_comma_expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10271] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1558), 1, + anon_sym_RBRACK, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10350] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(640), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10426] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(755), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10502] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(661), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10578] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(662), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10654] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(532), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10730] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(763), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10806] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(632), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10882] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(639), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [10958] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(633), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11034] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1562), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1560), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [11084] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(630), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11160] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(637), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11236] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(623), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11312] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(626), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11388] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1566), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1564), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [11438] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + ACTIONS(1568), 1, + anon_sym_LPAREN2, + STATE(436), 1, + sym_string_literal, + STATE(653), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11514] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(794), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11590] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(538), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11666] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(822), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11742] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(627), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11818] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(654), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11894] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(804), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [11970] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(628), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12046] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(629), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12122] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1572), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1570), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [12172] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1578), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1574), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [12232] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(655), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12308] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1592), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1594), 1, + anon_sym_AMP_AMP, + ACTIONS(1596), 1, + anon_sym_PIPE, + ACTIONS(1598), 1, + anon_sym_CARET, + ACTIONS(1600), 1, + anon_sym_AMP, + ACTIONS(1610), 1, + anon_sym_EQ, + ACTIONS(1612), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1602), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1586), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [12392] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(816), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12468] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(575), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12544] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1616), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1614), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [12594] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1620), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1618), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [12654] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1624), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1622), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [12704] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(631), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12780] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(635), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12856] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(785), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [12932] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(534), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13008] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(576), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13084] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(579), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13160] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(581), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13236] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(585), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13312] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(639), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13388] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1248), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1242), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [13438] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1628), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1626), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [13498] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1632), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1630), 24, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [13556] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(587), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13632] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1098), 1, + anon_sym_sizeof, + ACTIONS(1634), 1, + anon_sym_LPAREN2, + STATE(436), 1, + sym_string_literal, + STATE(638), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13708] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(1088), 1, + anon_sym_LPAREN2, + ACTIONS(1098), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(636), 1, + sym__expression, + ACTIONS(1090), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1092), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1096), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13784] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(632), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13860] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(659), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [13936] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(658), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14012] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1170), 1, + anon_sym_sizeof, + ACTIONS(1636), 1, + anon_sym_LPAREN2, + STATE(436), 1, + sym_string_literal, + STATE(777), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14088] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1244), 1, + anon_sym_LPAREN2, + ACTIONS(1250), 1, + anon_sym_STAR, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1261), 2, + anon_sym_RPAREN, + anon_sym_LBRACK, + ACTIONS(1253), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1242), 12, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [14150] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(588), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14226] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(589), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14302] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(532), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14378] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1640), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(1638), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [14444] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(664), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14520] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1644), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1642), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [14570] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(592), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14646] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1648), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1646), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [14696] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(657), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14772] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(812), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14848] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(725), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [14924] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(810), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15000] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(809), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15076] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(551), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15152] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(663), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15228] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 8, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1574), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [15292] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(1574), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [15358] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(697), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15434] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(550), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15510] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(1574), 20, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [15580] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(808), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15656] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1602), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(1574), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [15728] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(656), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15804] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(805), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [15880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1652), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1650), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [15930] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1600), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1602), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1578), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [16004] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(551), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [16080] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1598), 1, + anon_sym_CARET, + ACTIONS(1600), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1578), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1602), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [16156] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1578), 1, + anon_sym_EQ, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1596), 1, + anon_sym_PIPE, + ACTIONS(1598), 1, + anon_sym_CARET, + ACTIONS(1600), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1602), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [16234] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1578), 1, + anon_sym_EQ, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1594), 1, + anon_sym_AMP_AMP, + ACTIONS(1596), 1, + anon_sym_PIPE, + ACTIONS(1598), 1, + anon_sym_CARET, + ACTIONS(1600), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1602), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [16314] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(762), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [16390] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1248), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1242), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [16440] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1574), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [16502] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(827), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [16578] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(789), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [16654] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(636), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [16730] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1656), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1654), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [16780] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(795), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [16856] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(874), 1, + anon_sym_LPAREN2, + ACTIONS(888), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(538), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [16932] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(870), 1, + sym_identifier, + ACTIONS(888), 1, + anon_sym_sizeof, + ACTIONS(1658), 1, + anon_sym_LPAREN2, + STATE(436), 1, + sym_string_literal, + STATE(563), 1, + sym__expression, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(876), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(878), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(886), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(591), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17008] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1662), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1660), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [17058] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(793), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17134] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1592), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1594), 1, + anon_sym_AMP_AMP, + ACTIONS(1596), 1, + anon_sym_PIPE, + ACTIONS(1598), 1, + anon_sym_CARET, + ACTIONS(1600), 1, + anon_sym_AMP, + ACTIONS(1666), 1, + anon_sym_EQ, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1588), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1602), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1604), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1606), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1608), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1590), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1664), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [17216] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(807), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17292] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(660), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17368] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1670), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1668), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [17418] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(759), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17494] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1674), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1672), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [17554] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1678), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1676), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [17604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1682), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1680), 29, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [17654] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(19), 1, + anon_sym_LPAREN2, + ACTIONS(81), 1, + anon_sym_sizeof, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1144), 1, + sym_identifier, + STATE(436), 1, + sym_string_literal, + STATE(825), 1, + sym__expression, + ACTIONS(21), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(23), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(25), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(79), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(614), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17730] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(761), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17806] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym_number_literal, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_LPAREN2, + ACTIONS(1170), 1, + anon_sym_sizeof, + STATE(436), 1, + sym_string_literal, + STATE(823), 1, + sym__expression, + ACTIONS(1162), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1164), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(1166), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(1168), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(89), 3, + sym_true, + sym_false, + sym_null, + ACTIONS(85), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + ACTIONS(87), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + STATE(643), 5, + sym_pointer_expression, + sym_subscript_expression, + sym_call_expression, + sym_field_expression, + sym_parenthesized_expression, + STATE(549), 10, + sym_conditional_expression, + sym_assignment_expression, + sym_unary_expression, + sym_binary_expression, + sym_update_expression, + sym_cast_expression, + sym_sizeof_expression, + sym_compound_literal_expression, + sym_char_literal, + sym_concatenated_string, + [17882] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1688), 1, + anon_sym_LBRACK_LBRACK, + STATE(613), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(1684), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + ACTIONS(1686), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [17935] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1242), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [17988] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1186), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1188), 1, + anon_sym_RPAREN, + ACTIONS(1198), 1, + sym_identifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(935), 1, + sym__declaration_specifiers, + STATE(1173), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [18070] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1266), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1242), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [18123] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1150), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + ACTIONS(1152), 21, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [18170] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1268), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1242), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [18223] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1257), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1242), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [18276] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1186), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1198), 1, + sym_identifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(935), 1, + sym__declaration_specifiers, + STATE(1229), 2, + sym_variadic_parameter, + sym_parameter_declaration, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [18355] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1255), 1, + anon_sym_EQ, + ACTIONS(1264), 1, + anon_sym_COLON, + ACTIONS(1259), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1242), 15, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [18408] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1154), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + ACTIONS(1156), 21, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [18455] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(1574), 16, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [18521] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1666), 1, + anon_sym_EQ, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1703), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1705), 1, + anon_sym_AMP_AMP, + ACTIONS(1707), 1, + anon_sym_PIPE, + ACTIONS(1709), 1, + anon_sym_CARET, + ACTIONS(1711), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1713), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1664), 12, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [18599] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1536), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + ACTIONS(1534), 20, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [18645] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1713), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(1574), 14, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [18713] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1711), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1713), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1578), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 14, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [18783] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1709), 1, + anon_sym_CARET, + ACTIONS(1711), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1578), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1713), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 14, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [18855] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1578), 1, + anon_sym_EQ, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1707), 1, + anon_sym_PIPE, + ACTIONS(1709), 1, + anon_sym_CARET, + ACTIONS(1711), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1713), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 14, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [18929] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 8, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1574), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [18989] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1578), 1, + anon_sym_EQ, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1705), 1, + anon_sym_AMP_AMP, + ACTIONS(1707), 1, + anon_sym_PIPE, + ACTIONS(1709), 1, + anon_sym_CARET, + ACTIONS(1711), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1713), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1574), 13, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19065] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1620), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1618), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19121] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1610), 1, + anon_sym_EQ, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1703), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1705), 1, + anon_sym_AMP_AMP, + ACTIONS(1707), 1, + anon_sym_PIPE, + ACTIONS(1709), 1, + anon_sym_CARET, + ACTIONS(1711), 1, + anon_sym_AMP, + ACTIONS(1715), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1697), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1699), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1713), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1586), 11, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19201] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1674), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1672), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19257] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1574), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19315] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1578), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1574), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19371] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1578), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(1574), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19433] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1693), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1701), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1695), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1640), 6, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(1638), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19495] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1632), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1630), 20, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [19549] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1628), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1626), 18, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [19605] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1648), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1646), 24, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [19650] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1566), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1564), 24, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [19695] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1717), 1, + anon_sym_EQ, + ACTIONS(1719), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1248), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1242), 14, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [19744] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1572), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(1570), 24, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT, + anon_sym_DASH_GT, + [19789] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1045), 1, + sym__declaration_specifiers, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [19861] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1728), 1, + anon_sym___attribute__, + ACTIONS(1731), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1734), 1, + anon_sym___declspec, + ACTIONS(1737), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1725), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + ACTIONS(1723), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_COLON, + STATE(646), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(1721), 11, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [19917] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1020), 1, + sym__declaration_specifiers, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [19989] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1030), 1, + sym__declaration_specifiers, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [20061] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + STATE(696), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1032), 1, + sym__declaration_specifiers, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(650), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [20133] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1198), 1, + sym_identifier, + STATE(716), 1, + sym__type_specifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + STATE(646), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [20202] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1190), 1, + anon_sym_LPAREN2, + ACTIONS(1192), 1, + anon_sym_STAR, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(1748), 1, + anon_sym_LBRACK, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1034), 1, + sym__declarator, + STATE(1115), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(1403), 1, + sym_ms_based_modifier, + ACTIONS(1742), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(836), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(843), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [20276] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(652), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1754), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1750), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + ACTIONS(1752), 19, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_RBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [20320] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1640), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1638), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20377] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1664), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20448] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1574), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20503] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1574), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20560] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1578), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1574), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20621] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1578), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1574), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20684] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1578), 1, + anon_sym_PIPE, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1773), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1574), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20749] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1578), 1, + anon_sym_PIPE, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1574), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20816] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1574), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20883] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1574), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [20952] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1578), 6, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1574), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + anon_sym_QMARK, + [21005] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1586), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON, + [21078] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1785), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(1783), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21117] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1789), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_COLON, + ACTIONS(1787), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21155] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1791), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + ACTIONS(1793), 19, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_RBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [21193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1797), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1795), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21230] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1801), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1799), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1046), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1044), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21304] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1082), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1080), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21341] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1074), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1072), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21378] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1106), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1104), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1110), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1108), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21452] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1124), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21489] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1793), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(1791), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21526] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1805), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1803), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21563] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1809), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1807), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21600] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1813), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1811), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21637] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1817), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1815), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21674] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1156), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(1154), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21711] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1821), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1819), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21748] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1825), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1823), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1152), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(1150), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21822] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1829), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1827), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21859] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1833), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1831), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1837), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(1835), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [21933] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1839), 1, + anon_sym_COMMA, + ACTIONS(1841), 1, + anon_sym_RBRACE, + STATE(600), 1, + sym_argument_list, + STATE(1213), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22008] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1843), 1, + anon_sym_COMMA, + ACTIONS(1845), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + STATE(1206), 1, + aux_sym_argument_list_repeat1, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22083] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1849), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1847), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [22120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1853), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1851), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [22157] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1857), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1855), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [22194] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1859), 28, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [22231] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1843), 1, + anon_sym_COMMA, + ACTIONS(1863), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + STATE(1155), 1, + aux_sym_argument_list_repeat1, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22306] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1867), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [22379] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1869), 3, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + ACTIONS(1871), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_COLON, + STATE(723), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [22427] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1873), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [22497] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1875), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22569] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1877), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [22639] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1879), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22711] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1881), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22783] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1883), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22855] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1885), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22927] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1887), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [22999] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1889), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [23069] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1891), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [23139] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1893), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23211] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1895), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23283] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1897), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23355] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23427] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1901), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23499] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1446), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1448), 26, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [23535] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1903), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23607] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1905), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23679] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1907), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23751] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1909), 3, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + ACTIONS(1911), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_COLON, + STATE(732), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [23799] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1913), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23871] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1915), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [23943] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1917), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24015] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1919), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24087] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1921), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24159] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1923), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24231] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1925), 3, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + ACTIONS(1927), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_COLON, + STATE(646), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [24279] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1929), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24351] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1931), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [24421] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1933), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24493] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1935), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24565] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1937), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24637] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1436), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(1438), 26, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [24673] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1939), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24745] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1941), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24817] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1943), 3, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + ACTIONS(1945), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_COLON, + STATE(646), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [24865] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1947), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [24937] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1949), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25009] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1951), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25081] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1953), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25153] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1955), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25225] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1957), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25297] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1959), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25369] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1961), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25441] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1963), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25513] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1965), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25585] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1967), 1, + anon_sym_RPAREN, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25657] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1865), 1, + anon_sym_COMMA, + ACTIONS(1969), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25729] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1508), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [25798] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1554), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [25867] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1997), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [25936] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1817), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1815), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [25971] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1510), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [26040] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1046), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1044), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [26075] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1046), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1044), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [26110] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(1999), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [26179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1821), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1819), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [26214] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2001), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [26283] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2003), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [26352] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1082), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1080), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [26387] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2005), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [26456] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1074), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1072), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [26491] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + ACTIONS(2007), 1, + anon_sym_RBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [26560] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1530), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [26629] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1664), 2, + anon_sym_RBRACK, + anon_sym_QMARK, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [26696] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2009), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [26765] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + ACTIONS(2011), 1, + anon_sym_RBRACK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [26834] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1837), 1, + anon_sym_LBRACK_LBRACK, + STATE(444), 1, + sym_string_literal, + ACTIONS(2013), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1835), 20, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [26873] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2015), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [26942] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1825), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1823), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [26977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1829), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1827), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27012] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1558), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [27081] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1082), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1080), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1859), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27151] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1514), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [27220] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1833), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1831), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27255] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1797), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1795), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27290] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(774), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2021), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2019), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2017), 15, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_primitive_type, + sym_identifier, + [27329] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2024), 1, + sym_identifier, + ACTIONS(2033), 1, + sym_primitive_type, + STATE(774), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2031), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(2027), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2029), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + [27372] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1548), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [27441] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1640), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1638), 9, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [27494] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2035), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [27563] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1853), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1851), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27598] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1849), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1847), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27633] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1074), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1072), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27668] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1857), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1855), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27703] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1801), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1799), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27738] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1801), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1799), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27773] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1586), 1, + anon_sym_RBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [27842] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1849), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1847), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27877] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1853), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1851), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [27912] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1526), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [27981] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2037), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28050] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2039), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28119] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1516), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [28188] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1797), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1795), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28223] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2041), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28292] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2043), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28361] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1578), 6, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1574), 11, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + [28410] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1833), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1831), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28445] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1857), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1855), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1829), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1827), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1106), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1104), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28550] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1110), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1108), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28585] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1837), 1, + anon_sym_LBRACK_LBRACK, + STATE(440), 1, + sym_string_literal, + ACTIONS(2013), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1835), 20, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [28624] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2045), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28693] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2047), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28762] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2049), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28831] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1574), 3, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + [28896] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2051), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [28965] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2053), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [29034] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1574), 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [29097] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1578), 1, + anon_sym_PIPE, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1574), 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [29160] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1578), 1, + anon_sym_PIPE, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1985), 1, + anon_sym_AMP, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1574), 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [29221] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1825), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1823), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29256] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1578), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1574), 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [29315] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2055), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [29384] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1859), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1821), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1819), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29454] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1578), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1574), 7, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [29511] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1805), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1803), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29546] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1809), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1807), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29581] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1813), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1811), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29616] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1805), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1803), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29651] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2057), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [29720] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1574), 9, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [29773] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1578), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1574), 11, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + [29824] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1809), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1807), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29859] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2059), 1, + anon_sym_COLON, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [29928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1106), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1104), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [29963] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1761), 1, + anon_sym_SLASH, + ACTIONS(1765), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1767), 1, + anon_sym_AMP_AMP, + ACTIONS(1769), 1, + anon_sym_PIPE, + ACTIONS(1771), 1, + anon_sym_CARET, + ACTIONS(1773), 1, + anon_sym_AMP, + ACTIONS(1781), 1, + anon_sym_QMARK, + ACTIONS(2061), 1, + anon_sym_SEMI, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1757), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1759), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1763), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1775), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1777), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1779), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [30032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1110), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1108), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1126), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1124), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30102] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1837), 1, + anon_sym_LBRACK_LBRACK, + STATE(442), 1, + sym_string_literal, + ACTIONS(2013), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1835), 20, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30141] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1520), 1, + anon_sym_RBRACK, + ACTIONS(1580), 1, + anon_sym_LBRACK, + ACTIONS(1691), 1, + anon_sym_LPAREN2, + ACTIONS(1975), 1, + anon_sym_SLASH, + ACTIONS(1977), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1979), 1, + anon_sym_AMP_AMP, + ACTIONS(1981), 1, + anon_sym_PIPE, + ACTIONS(1983), 1, + anon_sym_CARET, + ACTIONS(1985), 1, + anon_sym_AMP, + ACTIONS(1995), 1, + anon_sym_QMARK, + STATE(600), 1, + sym_argument_list, + ACTIONS(1582), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(1584), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1971), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1973), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(1987), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1989), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1991), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(1993), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [30210] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1126), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1124), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30245] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1837), 1, + anon_sym_LBRACK_LBRACK, + STATE(441), 1, + sym_string_literal, + ACTIONS(2013), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(1835), 20, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30284] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1813), 2, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1811), 25, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1817), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1815), 26, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [30354] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1190), 1, + anon_sym_LPAREN2, + ACTIONS(1192), 1, + anon_sym_STAR, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(1748), 1, + anon_sym_LBRACK, + STATE(1037), 1, + sym__declarator, + STATE(1111), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(1403), 1, + sym_ms_based_modifier, + ACTIONS(2063), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [30412] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1034), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(843), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(987), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [30467] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1026), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(984), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [30522] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1051), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(841), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(989), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [30577] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1073), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(988), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [30632] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1052), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(985), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [30687] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1069), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(844), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(991), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [30742] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1037), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(983), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [30797] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1062), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(990), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [30852] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1062), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(840), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(990), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [30907] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1052), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(847), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(985), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [30962] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1053), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(986), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [31017] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + STATE(1037), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + ACTIONS(1746), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(838), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(983), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1744), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [31072] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2081), 1, + anon_sym_SEMI, + ACTIONS(1869), 2, + anon_sym___based, + sym_identifier, + ACTIONS(1871), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(723), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [31118] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2083), 1, + anon_sym_SEMI, + ACTIONS(1869), 2, + anon_sym___based, + sym_identifier, + ACTIONS(1871), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(723), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [31164] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2085), 1, + anon_sym_SEMI, + ACTIONS(1869), 2, + anon_sym___based, + sym_identifier, + ACTIONS(1871), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(723), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [31210] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(33), 1, + anon_sym___attribute__, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(862), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2087), 1, + anon_sym_SEMI, + ACTIONS(1869), 2, + anon_sym___based, + sym_identifier, + ACTIONS(1871), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(43), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + STATE(723), 7, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + aux_sym__declaration_specifiers_repeat1, + [31256] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 1, + anon_sym_LBRACE, + STATE(872), 1, + sym_field_declaration_list, + ACTIONS(2091), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2089), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [31291] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2099), 1, + anon_sym_LBRACE, + STATE(895), 1, + sym_enumerator_list, + ACTIONS(2097), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2095), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [31326] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(997), 1, + sym__type_specifier, + STATE(999), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1363), 1, + sym_type_descriptor, + STATE(860), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1148), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31377] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 1, + anon_sym_LBRACE, + STATE(885), 1, + sym_field_declaration_list, + ACTIONS(2103), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2101), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [31412] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 1, + anon_sym_LBRACE, + STATE(871), 1, + sym_field_declaration_list, + ACTIONS(2107), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2105), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [31447] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 1, + anon_sym_LBRACE, + STATE(883), 1, + sym_field_declaration_list, + ACTIONS(2111), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2109), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [31482] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1024), 1, + sym__type_specifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31530] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(994), 1, + sym__type_specifier, + STATE(999), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1148), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31578] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1036), 1, + sym__type_specifier, + STATE(862), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31626] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1041), 1, + sym__type_specifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31674] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1029), 1, + sym__type_specifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31722] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1039), 1, + sym__type_specifier, + STATE(863), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31770] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1023), 1, + sym__type_specifier, + STATE(859), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31818] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1019), 1, + sym__type_specifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31866] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2115), 1, + anon_sym_LPAREN2, + STATE(913), 1, + sym_preproc_argument_list, + ACTIONS(2117), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2113), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [31900] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(49), 1, + sym_primitive_type, + ACTIONS(51), 1, + anon_sym_enum, + ACTIONS(53), 1, + anon_sym_struct, + ACTIONS(55), 1, + anon_sym_union, + ACTIONS(1198), 1, + sym_identifier, + STATE(775), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1025), 1, + sym__type_specifier, + STATE(866), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(47), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(881), 5, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_macro_type_specifier, + [31948] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2121), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2119), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [31977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2125), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2123), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32006] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2129), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2127), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32035] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2133), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2131), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32064] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2137), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2135), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2141), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2139), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32122] = 5, + ACTIONS(2113), 1, + anon_sym_LF, + ACTIONS(2143), 1, + anon_sym_LPAREN2, + ACTIONS(2145), 1, + sym_comment, + STATE(957), 1, + sym_preproc_argument_list, + ACTIONS(2117), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [32155] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2147), 1, + anon_sym_LPAREN2, + ACTIONS(1253), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(1240), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2152), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2150), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32215] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2156), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2154), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32244] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2160), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2158), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32273] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2164), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2162), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2168), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2166), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32331] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2170), 1, + anon_sym_COMMA, + ACTIONS(2172), 1, + anon_sym_RPAREN, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2180), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2182), 1, + anon_sym_AMP_AMP, + ACTIONS(2184), 1, + anon_sym_PIPE, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + STATE(1207), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [32386] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2200), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2198), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2204), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2202), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32444] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2208), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2206), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32473] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2210), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(1752), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + ACTIONS(1750), 10, + anon_sym___based, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [32506] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2215), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2213), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32535] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2219), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2217), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32564] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2223), 1, + anon_sym_RPAREN, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2233), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(882), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [32607] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2170), 1, + anon_sym_COMMA, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2180), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2182), 1, + anon_sym_AMP_AMP, + ACTIONS(2184), 1, + anon_sym_PIPE, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2237), 1, + anon_sym_RPAREN, + STATE(1183), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [32662] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2241), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2239), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32691] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2245), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2243), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32720] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2249), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2247), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32749] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2251), 1, + anon_sym_RPAREN, + ACTIONS(2253), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(890), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [32792] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2257), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + ACTIONS(2255), 14, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [32821] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2261), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2259), 20, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_struct, + anon_sym_union, + sym_identifier, + [32850] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2265), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2263), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [32878] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2267), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(946), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [32918] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2279), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(970), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [32958] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2283), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(971), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [32998] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2285), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(981), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33038] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2287), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(955), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33078] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2289), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(972), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33118] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2291), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(958), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33158] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2293), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(973), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33198] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2180), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2182), 1, + anon_sym_AMP_AMP, + ACTIONS(2184), 1, + anon_sym_PIPE, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2295), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [33248] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2297), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(978), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33288] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2299), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(954), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33328] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2301), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(961), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33368] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2303), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(963), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33408] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2305), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(965), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33448] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2307), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(966), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33488] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2311), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2309), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [33516] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2315), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2313), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [33556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2319), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2317), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [33584] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1562), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(1560), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [33612] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2321), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(959), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33652] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2325), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2323), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [33680] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2327), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(938), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33720] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2329), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(942), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33760] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2331), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(943), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33800] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2333), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(944), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33840] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2335), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(945), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33880] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2337), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(969), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33920] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2339), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(982), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [33960] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2341), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(947), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34000] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2343), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(914), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34040] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2345), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(949), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34080] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2347), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(951), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34120] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2349), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(968), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34160] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2351), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(977), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34200] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2355), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2353), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34228] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2359), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2357), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34256] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2361), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(906), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34296] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1190), 1, + anon_sym_LPAREN2, + ACTIONS(1192), 1, + anon_sym_STAR, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(1748), 1, + anon_sym_LBRACK, + STATE(1087), 1, + sym__declarator, + STATE(1119), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(1403), 1, + sym_ms_based_modifier, + ACTIONS(2363), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [34344] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2365), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(956), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34384] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2367), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(967), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34424] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2315), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2313), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34456] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2371), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2369), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34484] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2373), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(960), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34524] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2269), 1, + sym_identifier, + ACTIONS(2271), 1, + anon_sym_LPAREN2, + ACTIONS(2273), 1, + anon_sym_defined, + ACTIONS(2375), 1, + sym_number_literal, + ACTIONS(2275), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2277), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2281), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(974), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34564] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2315), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2313), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34592] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2182), 1, + anon_sym_AMP_AMP, + ACTIONS(2184), 1, + anon_sym_PIPE, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2313), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + [34640] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2184), 1, + anon_sym_PIPE, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2313), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [34686] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2315), 1, + anon_sym_PIPE, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2313), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [34732] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2315), 1, + anon_sym_PIPE, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2313), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [34776] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2315), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(2313), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [34818] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2379), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2377), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34846] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2315), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2313), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [34882] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 1, + sym_identifier, + ACTIONS(2225), 1, + anon_sym_LPAREN2, + ACTIONS(2227), 1, + anon_sym_defined, + ACTIONS(2381), 1, + sym_number_literal, + ACTIONS(2229), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(2231), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2235), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(918), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [34922] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2315), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2313), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34956] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2317), 1, + anon_sym_LF, + ACTIONS(2319), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [34983] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2263), 1, + anon_sym_LF, + ACTIONS(2265), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35010] = 6, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2315), 11, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35043] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2389), 1, + anon_sym_LF, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35088] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2180), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2182), 1, + anon_sym_AMP_AMP, + ACTIONS(2184), 1, + anon_sym_PIPE, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2405), 1, + anon_sym_RPAREN, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35137] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2309), 1, + anon_sym_LF, + ACTIONS(2311), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35164] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2407), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35209] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2409), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35254] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2323), 1, + anon_sym_LF, + ACTIONS(2325), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35281] = 7, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(2315), 7, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [35316] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2357), 1, + anon_sym_LF, + ACTIONS(2359), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35343] = 8, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(2315), 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [35380] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2414), 1, + anon_sym_LPAREN2, + ACTIONS(2418), 1, + anon_sym_LBRACK, + ACTIONS(1253), 2, + anon_sym_COMMA, + anon_sym_STAR, + ACTIONS(2411), 2, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + ACTIONS(1240), 13, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_auto, + anon_sym_register, + anon_sym_inline, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [35413] = 9, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2315), 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35452] = 10, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2315), 3, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35493] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2421), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35538] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2423), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35583] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2425), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35628] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2427), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35673] = 11, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2315), 2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35716] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2315), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35761] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2315), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35788] = 4, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2315), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35817] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2353), 1, + anon_sym_LF, + ACTIONS(2355), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35844] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2377), 1, + anon_sym_LF, + ACTIONS(2379), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35871] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2429), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [35916] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2313), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2315), 13, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35947] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2369), 1, + anon_sym_LF, + ACTIONS(2371), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [35974] = 3, + ACTIONS(1560), 1, + anon_sym_LF, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(1562), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [36001] = 12, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2391), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2393), 1, + anon_sym_AMP_AMP, + ACTIONS(2395), 1, + anon_sym_PIPE, + ACTIONS(2397), 1, + anon_sym_CARET, + ACTIONS(2399), 1, + anon_sym_AMP, + ACTIONS(2431), 1, + anon_sym_LF, + ACTIONS(2383), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2387), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(2401), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2385), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(2403), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [36046] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2178), 1, + anon_sym_SLASH, + ACTIONS(2180), 1, + anon_sym_PIPE_PIPE, + ACTIONS(2182), 1, + anon_sym_AMP_AMP, + ACTIONS(2184), 1, + anon_sym_PIPE, + ACTIONS(2186), 1, + anon_sym_CARET, + ACTIONS(2188), 1, + anon_sym_AMP, + ACTIONS(2433), 1, + anon_sym_RPAREN, + ACTIONS(2174), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(2176), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(2190), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(2192), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(2194), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(2196), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [36095] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1026), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [36134] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1035), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [36173] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1053), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [36212] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1049), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [36251] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1037), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [36290] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1066), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [36329] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1052), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [36368] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1073), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [36407] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1062), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(45), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [36446] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1385), 1, + anon_sym_LPAREN2, + ACTIONS(1387), 1, + anon_sym_STAR, + ACTIONS(1748), 1, + anon_sym_LBRACK, + ACTIONS(2063), 1, + anon_sym_RPAREN, + STATE(1111), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2435), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [36484] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1385), 1, + anon_sym_LPAREN2, + ACTIONS(1387), 1, + anon_sym_STAR, + ACTIONS(1748), 1, + anon_sym_LBRACK, + ACTIONS(2437), 1, + anon_sym_RPAREN, + STATE(1128), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2435), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [36522] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1385), 1, + anon_sym_LPAREN2, + ACTIONS(1387), 1, + anon_sym_STAR, + ACTIONS(1748), 1, + anon_sym_LBRACK, + ACTIONS(2439), 1, + anon_sym_RPAREN, + STATE(1133), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(993), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2435), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [36560] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1385), 1, + anon_sym_LPAREN2, + ACTIONS(1387), 1, + anon_sym_STAR, + ACTIONS(1742), 1, + anon_sym_RPAREN, + ACTIONS(1748), 1, + anon_sym_LBRACK, + STATE(1115), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(992), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2435), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [36598] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(1003), 1, + sym_ms_unaligned_ptr_modifier, + ACTIONS(2443), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(2448), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(996), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(2445), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2441), 6, + anon_sym___based, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [36630] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1385), 1, + anon_sym_LPAREN2, + ACTIONS(1387), 1, + anon_sym_STAR, + ACTIONS(1748), 1, + anon_sym_LBRACK, + ACTIONS(2451), 1, + anon_sym_RPAREN, + STATE(1136), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(998), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2435), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [36668] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1385), 1, + anon_sym_LPAREN2, + ACTIONS(1387), 1, + anon_sym_STAR, + ACTIONS(1748), 1, + anon_sym_LBRACK, + ACTIONS(2453), 1, + anon_sym_RPAREN, + STATE(1134), 1, + sym__abstract_declarator, + STATE(1143), 1, + sym_parameter_list, + STATE(886), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2435), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + STATE(1141), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + [36706] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2033), 1, + sym_primitive_type, + ACTIONS(2455), 1, + sym_identifier, + STATE(774), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(2027), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACK, + ACTIONS(2029), 4, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + ACTIONS(2031), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [36737] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + ACTIONS(2457), 1, + anon_sym_SEMI, + ACTIONS(2459), 1, + anon_sym_COLON, + STATE(1021), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(1342), 1, + sym_bitfield_clause, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [36775] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2461), 1, + anon_sym_SEMI, + STATE(1018), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(1446), 1, + sym_bitfield_clause, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [36813] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2463), 1, + anon_sym_SEMI, + STATE(1031), 1, + sym__field_declarator, + STATE(1329), 1, + sym_bitfield_clause, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [36851] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2467), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(2465), 11, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [36872] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2471), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(2469), 11, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + sym_identifier, + [36893] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1071), 1, + sym__declarator, + STATE(1232), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [36925] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2477), 1, + anon_sym_SEMI, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + STATE(261), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1201), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [36963] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(319), 1, + anon_sym_LBRACE, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + ACTIONS(2483), 1, + anon_sym_SEMI, + STATE(290), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1167), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [37001] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1014), 1, + sym__declarator, + STATE(1156), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37033] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1057), 1, + sym__declarator, + STATE(1199), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37065] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1007), 1, + sym__declarator, + STATE(1199), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37097] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1050), 1, + sym__declarator, + STATE(1197), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37129] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1046), 1, + sym__declarator, + STATE(1168), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37161] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1016), 1, + sym__declarator, + STATE(1168), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37193] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(373), 1, + anon_sym_LBRACE, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + ACTIONS(2485), 1, + anon_sym_SEMI, + STATE(302), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1177), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [37231] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1006), 1, + sym__declarator, + STATE(1197), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37263] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(115), 1, + anon_sym_LBRACE, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + ACTIONS(2487), 1, + anon_sym_SEMI, + STATE(113), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1180), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [37301] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1054), 1, + sym__declarator, + STATE(1156), 1, + sym_init_declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37333] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2489), 1, + anon_sym_COMMA, + ACTIONS(2491), 1, + anon_sym_SEMI, + ACTIONS(2493), 1, + anon_sym_LBRACK, + STATE(1093), 1, + sym_parameter_list, + STATE(1112), 1, + aux_sym_field_declaration_repeat1, + STATE(1448), 1, + sym_bitfield_clause, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [37368] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1061), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37397] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1084), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37426] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2489), 1, + anon_sym_COMMA, + ACTIONS(2493), 1, + anon_sym_LBRACK, + ACTIONS(2495), 1, + anon_sym_SEMI, + STATE(1093), 1, + sym_parameter_list, + STATE(1113), 1, + aux_sym_field_declaration_repeat1, + STATE(1334), 1, + sym_bitfield_clause, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [37461] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1074), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [37490] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1063), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37519] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1065), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37548] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1076), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37577] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2497), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [37604] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2501), 1, + anon_sym___attribute__, + ACTIONS(2504), 1, + anon_sym_LBRACK, + STATE(1027), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(2499), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [37627] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1098), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37656] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1058), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37685] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1088), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37714] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2489), 1, + anon_sym_COMMA, + ACTIONS(2493), 1, + anon_sym_LBRACK, + ACTIONS(2506), 1, + anon_sym_SEMI, + STATE(1093), 1, + sym_parameter_list, + STATE(1118), 1, + aux_sym_field_declaration_repeat1, + STATE(1280), 1, + sym_bitfield_clause, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [37749] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1085), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [37778] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1086), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37807] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2508), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [37834] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2510), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [37861] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1059), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37890] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2512), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [37917] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2516), 1, + anon_sym___attribute__, + ACTIONS(2518), 1, + anon_sym_LBRACK, + STATE(1027), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(2514), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [37940] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1070), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [37969] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2069), 1, + sym_identifier, + ACTIONS(2071), 1, + anon_sym_LPAREN2, + ACTIONS(2073), 1, + anon_sym_STAR, + STATE(1092), 1, + sym__field_declarator, + STATE(1331), 1, + sym_ms_based_modifier, + STATE(1096), 5, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + [37998] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(2075), 1, + sym_identifier, + ACTIONS(2077), 1, + anon_sym_LPAREN2, + ACTIONS(2079), 1, + anon_sym_STAR, + STATE(1067), 1, + sym__type_declarator, + STATE(1385), 1, + sym_ms_based_modifier, + STATE(1109), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [38027] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1684), 1, + anon_sym_LBRACK, + ACTIONS(2520), 1, + anon_sym_LBRACK_LBRACK, + STATE(1042), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(1686), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [38050] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1091), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [38079] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2516), 1, + anon_sym___attribute__, + ACTIONS(2525), 1, + anon_sym_LBRACK, + STATE(1038), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(2523), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [38102] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1194), 1, + anon_sym___based, + ACTIONS(1740), 1, + sym_identifier, + ACTIONS(2065), 1, + anon_sym_LPAREN2, + ACTIONS(2067), 1, + anon_sym_STAR, + STATE(1082), 1, + sym__declarator, + STATE(1403), 1, + sym_ms_based_modifier, + STATE(1080), 5, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + [38131] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + ACTIONS(2487), 1, + anon_sym_SEMI, + STATE(1044), 1, + sym_parameter_list, + STATE(1180), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38163] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2529), 1, + anon_sym_LBRACK, + ACTIONS(2527), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [38181] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2533), 1, + anon_sym_LBRACK, + STATE(1042), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2531), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [38203] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2493), 1, + anon_sym_LBRACK, + STATE(1093), 1, + sym_parameter_list, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2535), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [38229] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2477), 1, + anon_sym_SEMI, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + STATE(1044), 1, + sym_parameter_list, + STATE(1201), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38261] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2493), 1, + anon_sym_LBRACK, + STATE(1093), 1, + sym_parameter_list, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2537), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [38287] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2493), 1, + anon_sym_LBRACK, + STATE(1093), 1, + sym_parameter_list, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2539), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [38313] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2493), 1, + anon_sym_LBRACK, + STATE(1093), 1, + sym_parameter_list, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2541), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_COLON, + [38339] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + ACTIONS(2485), 1, + anon_sym_SEMI, + STATE(1044), 1, + sym_parameter_list, + STATE(1177), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38371] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2545), 1, + anon_sym_LBRACK, + ACTIONS(2543), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [38389] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2549), 1, + anon_sym_LBRACK, + ACTIONS(2547), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [38407] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + ACTIONS(2483), 1, + anon_sym_SEMI, + STATE(1044), 1, + sym_parameter_list, + STATE(1167), 1, + aux_sym_declaration_repeat1, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38439] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2553), 1, + anon_sym_SEMI, + ACTIONS(2555), 1, + anon_sym_LBRACK, + STATE(1101), 1, + sym_parameter_list, + STATE(1211), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38468] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2557), 1, + anon_sym_SEMI, + STATE(1101), 1, + sym_parameter_list, + STATE(1179), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38497] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2559), 1, + sym_identifier, + ACTIONS(2563), 1, + sym_system_lib_string, + STATE(1391), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(2561), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [38518] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2565), 1, + anon_sym_SEMI, + STATE(1101), 1, + sym_parameter_list, + STATE(1195), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38547] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2555), 1, + anon_sym_LBRACK, + STATE(1101), 1, + sym_parameter_list, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2567), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [38572] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2569), 1, + anon_sym_SEMI, + STATE(1101), 1, + sym_parameter_list, + STATE(1193), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38601] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2571), 1, + sym_identifier, + ACTIONS(2573), 1, + sym_system_lib_string, + STATE(1379), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(2561), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [38622] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2575), 1, + anon_sym_SEMI, + STATE(1101), 1, + sym_parameter_list, + STATE(1188), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38651] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2555), 1, + anon_sym_LBRACK, + STATE(1101), 1, + sym_parameter_list, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2577), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [38676] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2579), 1, + anon_sym_SEMI, + STATE(1101), 1, + sym_parameter_list, + STATE(1189), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38705] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2581), 1, + sym_identifier, + ACTIONS(2583), 1, + sym_system_lib_string, + STATE(1287), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(2561), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [38726] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2555), 1, + anon_sym_LBRACK, + STATE(1101), 1, + sym_parameter_list, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2585), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [38751] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2587), 1, + anon_sym_SEMI, + STATE(1101), 1, + sym_parameter_list, + STATE(1202), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38780] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2481), 1, + anon_sym_EQ, + STATE(1044), 1, + sym_parameter_list, + ACTIONS(2589), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38807] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2593), 1, + anon_sym_LBRACK, + STATE(1042), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2591), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_COLON, + [38828] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2555), 1, + anon_sym_LBRACK, + STATE(1101), 1, + sym_parameter_list, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2595), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [38853] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2493), 1, + anon_sym_LBRACK, + STATE(1093), 1, + sym_parameter_list, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2597), 3, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_COLON, + [38878] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + sym_identifier, + ACTIONS(2601), 1, + sym_system_lib_string, + STATE(1430), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(2561), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [38899] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2603), 1, + anon_sym_SEMI, + STATE(1101), 1, + sym_parameter_list, + STATE(1186), 1, + aux_sym_type_definition_repeat2, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [38928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2607), 1, + anon_sym_LBRACK, + ACTIONS(2605), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [38944] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2611), 1, + anon_sym_LBRACK, + STATE(1042), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(2609), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + [38964] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2615), 1, + anon_sym_LBRACK, + ACTIONS(2613), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [38980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2619), 1, + anon_sym_LBRACK, + ACTIONS(2617), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [38996] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2623), 1, + anon_sym_LBRACK, + ACTIONS(2621), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [39012] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(373), 1, + anon_sym_LBRACE, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(289), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39038] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2627), 1, + anon_sym_LBRACK, + ACTIONS(2625), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [39054] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(115), 1, + anon_sym_LBRACE, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(106), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39080] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(41), 1, + anon_sym_LBRACE, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(247), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39106] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2555), 1, + anon_sym_LBRACK, + STATE(1101), 1, + sym_parameter_list, + ACTIONS(2629), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39130] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(1044), 1, + sym_parameter_list, + ACTIONS(2631), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39154] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(319), 1, + anon_sym_LBRACE, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + STATE(299), 1, + sym_compound_statement, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39180] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2635), 1, + anon_sym_LBRACK, + ACTIONS(2633), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + [39196] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2639), 1, + anon_sym_LBRACK, + ACTIONS(2637), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39211] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2479), 1, + anon_sym_LBRACK, + ACTIONS(2641), 1, + anon_sym_RPAREN, + STATE(1044), 1, + sym_parameter_list, + STATE(1048), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39234] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2493), 1, + anon_sym_LBRACK, + ACTIONS(2643), 1, + anon_sym_RPAREN, + STATE(1093), 1, + sym_parameter_list, + STATE(1072), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39257] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2647), 1, + anon_sym_LBRACK, + ACTIONS(2645), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39272] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2651), 1, + anon_sym_LBRACK, + ACTIONS(2649), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39287] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2655), 1, + anon_sym_LBRACK, + ACTIONS(2653), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2659), 1, + anon_sym_LBRACK, + ACTIONS(2657), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39317] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2663), 1, + anon_sym_LBRACK, + ACTIONS(2661), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39332] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(35), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2555), 1, + anon_sym_LBRACK, + ACTIONS(2665), 1, + anon_sym_RPAREN, + STATE(1101), 1, + sym_parameter_list, + STATE(1078), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [39355] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2669), 1, + anon_sym_LBRACK, + ACTIONS(2667), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39370] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2673), 1, + anon_sym_LBRACK, + ACTIONS(2671), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_COLON, + [39385] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2677), 1, + anon_sym_LBRACK, + ACTIONS(2675), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2681), 1, + anon_sym_LBRACK, + ACTIONS(2679), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2685), 1, + anon_sym_LBRACK, + ACTIONS(2683), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2689), 1, + anon_sym_LBRACK, + ACTIONS(2687), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39441] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1274), 1, + anon_sym_LBRACK, + ACTIONS(2691), 1, + anon_sym_EQ, + ACTIONS(2693), 1, + anon_sym_DOT, + STATE(1106), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [39459] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2695), 1, + anon_sym_LBRACK, + ACTIONS(2698), 1, + anon_sym_EQ, + ACTIONS(2700), 1, + anon_sym_DOT, + STATE(1106), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [39477] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2705), 1, + anon_sym_LBRACK, + ACTIONS(2703), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39491] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2709), 1, + anon_sym_LBRACK, + ACTIONS(2707), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39505] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2713), 1, + anon_sym_LBRACK, + ACTIONS(2711), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39519] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2717), 1, + anon_sym_LBRACK, + ACTIONS(2715), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [39533] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + STATE(1137), 1, + sym_parameter_list, + ACTIONS(2719), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [39550] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2489), 1, + anon_sym_COMMA, + ACTIONS(2723), 1, + anon_sym_SEMI, + STATE(1129), 1, + aux_sym_field_declaration_repeat1, + STATE(1421), 1, + sym_bitfield_clause, + [39569] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2489), 1, + anon_sym_COMMA, + ACTIONS(2725), 1, + anon_sym_SEMI, + STATE(1129), 1, + aux_sym_field_declaration_repeat1, + STATE(1323), 1, + sym_bitfield_clause, + [39588] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(2093), 1, + anon_sym_LBRACE, + ACTIONS(2727), 1, + sym_identifier, + STATE(879), 1, + sym_field_declaration_list, + STATE(1204), 1, + sym_ms_declspec_modifier, + [39607] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + STATE(1137), 1, + sym_parameter_list, + ACTIONS(2729), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [39624] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(37), 1, + anon_sym___declspec, + ACTIONS(2093), 1, + anon_sym_LBRACE, + ACTIONS(2731), 1, + sym_identifier, + STATE(878), 1, + sym_field_declaration_list, + STATE(1170), 1, + sym_ms_declspec_modifier, + [39643] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + ACTIONS(2735), 1, + anon_sym_COLON_COLON, + STATE(1245), 1, + sym_argument_list, + ACTIONS(2733), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [39660] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_COLON, + ACTIONS(2489), 1, + anon_sym_COMMA, + ACTIONS(2737), 1, + anon_sym_SEMI, + STATE(1129), 1, + aux_sym_field_declaration_repeat1, + STATE(1367), 1, + sym_bitfield_clause, + [39679] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + STATE(1137), 1, + sym_parameter_list, + ACTIONS(2631), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [39696] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2739), 1, + anon_sym_LF, + ACTIONS(2741), 1, + anon_sym_LPAREN, + ACTIONS(2743), 1, + sym_preproc_arg, + STATE(1228), 1, + sym_preproc_params, + [39712] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2741), 1, + anon_sym_LPAREN, + ACTIONS(2745), 1, + anon_sym_LF, + ACTIONS(2747), 1, + sym_preproc_arg, + STATE(1240), 1, + sym_preproc_params, + [39728] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2749), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39738] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2751), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39748] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2741), 1, + anon_sym_LPAREN, + ACTIONS(2753), 1, + anon_sym_LF, + ACTIONS(2755), 1, + sym_preproc_arg, + STATE(1269), 1, + sym_preproc_params, + [39764] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2757), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39774] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2741), 1, + anon_sym_LPAREN, + ACTIONS(2759), 1, + anon_sym_LF, + ACTIONS(2761), 1, + sym_preproc_arg, + STATE(1266), 1, + sym_preproc_params, + [39790] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2763), 1, + anon_sym_DQUOTE, + ACTIONS(2765), 1, + aux_sym_string_literal_token1, + ACTIONS(2767), 1, + sym_escape_sequence, + STATE(1152), 1, + aux_sym_string_literal_repeat1, + [39806] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + ACTIONS(2769), 1, + anon_sym_RPAREN, + STATE(1137), 1, + sym_parameter_list, + [39822] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2771), 1, + anon_sym_COMMA, + STATE(1129), 1, + aux_sym_field_declaration_repeat1, + ACTIONS(2774), 2, + anon_sym_SEMI, + anon_sym_COLON, + [39836] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2765), 1, + aux_sym_string_literal_token1, + ACTIONS(2767), 1, + sym_escape_sequence, + ACTIONS(2776), 1, + anon_sym_DQUOTE, + STATE(1152), 1, + aux_sym_string_literal_repeat1, + [39852] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + STATE(1250), 1, + sym_argument_list, + ACTIONS(2778), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [39866] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2780), 1, + anon_sym_DQUOTE, + ACTIONS(2782), 1, + aux_sym_string_literal_token1, + ACTIONS(2784), 1, + sym_escape_sequence, + STATE(1127), 1, + aux_sym_string_literal_repeat1, + [39882] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + ACTIONS(2786), 1, + anon_sym_RPAREN, + STATE(1137), 1, + sym_parameter_list, + [39898] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + ACTIONS(2788), 1, + anon_sym_RPAREN, + STATE(1137), 1, + sym_parameter_list, + [39914] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2790), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39924] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + ACTIONS(2792), 1, + anon_sym_RPAREN, + STATE(1137), 1, + sym_parameter_list, + [39940] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2794), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39950] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2741), 1, + anon_sym_LPAREN, + ACTIONS(2796), 1, + anon_sym_LF, + ACTIONS(2798), 1, + sym_preproc_arg, + STATE(1258), 1, + sym_preproc_params, + [39966] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2800), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39976] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2802), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39986] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2804), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [39996] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2741), 1, + anon_sym_LPAREN, + ACTIONS(2806), 1, + anon_sym_LF, + ACTIONS(2808), 1, + sym_preproc_arg, + STATE(1254), 1, + sym_preproc_params, + [40012] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2810), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [40022] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2812), 1, + sym_identifier, + ACTIONS(2814), 1, + anon_sym_COMMA, + ACTIONS(2816), 1, + anon_sym_RBRACE, + STATE(1162), 1, + sym_enumerator, + [40038] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2741), 1, + anon_sym_LPAREN, + ACTIONS(2818), 1, + anon_sym_LF, + ACTIONS(2820), 1, + sym_preproc_arg, + STATE(1263), 1, + sym_preproc_params, + [40054] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2822), 1, + anon_sym_DQUOTE, + ACTIONS(2824), 1, + aux_sym_string_literal_token1, + ACTIONS(2826), 1, + sym_escape_sequence, + STATE(1153), 1, + aux_sym_string_literal_repeat1, + [40070] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2828), 1, + anon_sym_DQUOTE, + ACTIONS(2830), 1, + aux_sym_string_literal_token1, + ACTIONS(2832), 1, + sym_escape_sequence, + STATE(1130), 1, + aux_sym_string_literal_repeat1, + [40086] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2834), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [40096] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2475), 1, + anon_sym_LPAREN2, + ACTIONS(2721), 1, + anon_sym_LBRACK, + ACTIONS(2836), 1, + anon_sym_RPAREN, + STATE(1137), 1, + sym_parameter_list, + [40112] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2838), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [40122] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2840), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [40132] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2842), 1, + anon_sym_DQUOTE, + ACTIONS(2844), 1, + aux_sym_string_literal_token1, + ACTIONS(2847), 1, + sym_escape_sequence, + STATE(1152), 1, + aux_sym_string_literal_repeat1, + [40148] = 5, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2765), 1, + aux_sym_string_literal_token1, + ACTIONS(2767), 1, + sym_escape_sequence, + ACTIONS(2850), 1, + anon_sym_DQUOTE, + STATE(1152), 1, + aux_sym_string_literal_repeat1, + [40164] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2852), 1, + anon_sym_COMMA, + ACTIONS(2855), 1, + anon_sym_RBRACE, + STATE(1154), 1, + aux_sym_enumerator_list_repeat1, + [40177] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1843), 1, + anon_sym_COMMA, + ACTIONS(2857), 1, + anon_sym_RPAREN, + STATE(1157), 1, + aux_sym_argument_list_repeat1, + [40190] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2859), 1, + anon_sym_SEMI, + STATE(1178), 1, + aux_sym_declaration_repeat1, + [40203] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1931), 1, + anon_sym_RPAREN, + ACTIONS(2861), 1, + anon_sym_COMMA, + STATE(1157), 1, + aux_sym_argument_list_repeat1, + [40216] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2866), 1, + anon_sym_EQ, + ACTIONS(2864), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [40227] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2868), 1, + anon_sym_COMMA, + ACTIONS(2870), 1, + anon_sym_RBRACK_RBRACK, + STATE(1176), 1, + aux_sym_attribute_declaration_repeat1, + [40240] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2295), 1, + anon_sym_RPAREN, + ACTIONS(2872), 1, + anon_sym_COMMA, + STATE(1160), 1, + aux_sym_preproc_argument_list_repeat1, + [40253] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2875), 1, + anon_sym_COMMA, + ACTIONS(2878), 1, + anon_sym_RPAREN, + STATE(1161), 1, + aux_sym_preproc_params_repeat1, + [40266] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2880), 1, + anon_sym_COMMA, + ACTIONS(2882), 1, + anon_sym_RBRACE, + STATE(1200), 1, + aux_sym_enumerator_list_repeat1, + [40279] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2868), 1, + anon_sym_COMMA, + ACTIONS(2884), 1, + anon_sym_RBRACK_RBRACK, + STATE(1174), 1, + aux_sym_attribute_declaration_repeat1, + [40292] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2886), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40305] = 4, + ACTIONS(2143), 1, + anon_sym_LPAREN2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2888), 1, + anon_sym_LF, + STATE(957), 1, + sym_preproc_argument_list, + [40318] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2890), 1, + anon_sym_COMMA, + ACTIONS(2892), 1, + anon_sym_RPAREN, + STATE(1210), 1, + aux_sym_preproc_params_repeat1, + [40331] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2894), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40344] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2896), 1, + anon_sym_SEMI, + STATE(1181), 1, + aux_sym_declaration_repeat1, + [40357] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2898), 1, + anon_sym_COMMA, + ACTIONS(2901), 1, + anon_sym_RPAREN, + STATE(1169), 1, + aux_sym_parameter_list_repeat1, + [40370] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 1, + anon_sym_LBRACE, + ACTIONS(2903), 1, + sym_identifier, + STATE(884), 1, + sym_field_declaration_list, + [40383] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2905), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [40392] = 4, + ACTIONS(2143), 1, + anon_sym_LPAREN2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2907), 1, + anon_sym_LF, + STATE(957), 1, + sym_preproc_argument_list, + [40405] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2909), 1, + anon_sym_COMMA, + ACTIONS(2911), 1, + anon_sym_RPAREN, + STATE(1209), 1, + aux_sym_parameter_list_repeat1, + [40418] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2868), 1, + anon_sym_COMMA, + ACTIONS(2913), 1, + anon_sym_RBRACK_RBRACK, + STATE(1196), 1, + aux_sym_attribute_declaration_repeat1, + [40431] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2915), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40444] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2868), 1, + anon_sym_COMMA, + ACTIONS(2917), 1, + anon_sym_RBRACK_RBRACK, + STATE(1196), 1, + aux_sym_attribute_declaration_repeat1, + [40457] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2919), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40470] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2921), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40483] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2923), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40496] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2925), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40509] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2927), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40522] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2812), 1, + sym_identifier, + ACTIONS(2929), 1, + anon_sym_RBRACE, + STATE(1249), 1, + sym_enumerator, + [40535] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2170), 1, + anon_sym_COMMA, + ACTIONS(2931), 1, + anon_sym_RPAREN, + STATE(1160), 1, + aux_sym_preproc_argument_list_repeat1, + [40548] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1891), 1, + anon_sym_RBRACE, + ACTIONS(2933), 1, + anon_sym_COMMA, + STATE(1184), 1, + aux_sym_initializer_list_repeat1, + [40561] = 4, + ACTIONS(2143), 1, + anon_sym_LPAREN2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2936), 1, + anon_sym_LF, + STATE(957), 1, + sym_preproc_argument_list, + [40574] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2938), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40587] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2940), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [40596] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2942), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40609] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2944), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40622] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2946), 1, + anon_sym_COMMA, + ACTIONS(2949), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40635] = 4, + ACTIONS(2143), 1, + anon_sym_LPAREN2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2951), 1, + anon_sym_LF, + STATE(957), 1, + sym_preproc_argument_list, + [40648] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2868), 1, + anon_sym_COMMA, + ACTIONS(2953), 1, + anon_sym_RBRACK_RBRACK, + STATE(1212), 1, + aux_sym_attribute_declaration_repeat1, + [40661] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2955), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40674] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2959), 1, + anon_sym_RPAREN, + ACTIONS(2957), 2, + anon_sym_DOT_DOT_DOT, + sym_identifier, + [40685] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2961), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40698] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2963), 1, + anon_sym_COMMA, + ACTIONS(2966), 1, + anon_sym_RBRACK_RBRACK, + STATE(1196), 1, + aux_sym_attribute_declaration_repeat1, + [40711] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2968), 1, + anon_sym_SEMI, + STATE(1164), 1, + aux_sym_declaration_repeat1, + [40724] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2812), 1, + sym_identifier, + ACTIONS(2970), 1, + anon_sym_RBRACE, + STATE(1249), 1, + sym_enumerator, + [40737] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2972), 1, + anon_sym_SEMI, + STATE(1175), 1, + aux_sym_declaration_repeat1, + [40750] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2970), 1, + anon_sym_RBRACE, + ACTIONS(2974), 1, + anon_sym_COMMA, + STATE(1154), 1, + aux_sym_enumerator_list_repeat1, + [40763] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2473), 1, + anon_sym_COMMA, + ACTIONS(2976), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40776] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2978), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40789] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1839), 1, + anon_sym_COMMA, + ACTIONS(1841), 1, + anon_sym_RBRACE, + STATE(1213), 1, + aux_sym_initializer_list_repeat1, + [40802] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 1, + anon_sym_LBRACE, + ACTIONS(2980), 1, + sym_identifier, + STATE(888), 1, + sym_field_declaration_list, + [40815] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2982), 1, + anon_sym_COMMA, + ACTIONS(2985), 1, + anon_sym_SEMI, + STATE(1205), 1, + aux_sym_declaration_repeat1, + [40828] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1843), 1, + anon_sym_COMMA, + ACTIONS(2987), 1, + anon_sym_RPAREN, + STATE(1157), 1, + aux_sym_argument_list_repeat1, + [40841] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2170), 1, + anon_sym_COMMA, + ACTIONS(2989), 1, + anon_sym_RPAREN, + STATE(1160), 1, + aux_sym_preproc_argument_list_repeat1, + [40854] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2099), 1, + anon_sym_LBRACE, + ACTIONS(2991), 1, + sym_identifier, + STATE(877), 1, + sym_enumerator_list, + [40867] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2909), 1, + anon_sym_COMMA, + ACTIONS(2993), 1, + anon_sym_RPAREN, + STATE(1169), 1, + aux_sym_parameter_list_repeat1, + [40880] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2890), 1, + anon_sym_COMMA, + ACTIONS(2995), 1, + anon_sym_RPAREN, + STATE(1161), 1, + aux_sym_preproc_params_repeat1, + [40893] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2551), 1, + anon_sym_COMMA, + ACTIONS(2997), 1, + anon_sym_SEMI, + STATE(1190), 1, + aux_sym_type_definition_repeat2, + [40906] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2868), 1, + anon_sym_COMMA, + ACTIONS(2999), 1, + anon_sym_RBRACK_RBRACK, + STATE(1196), 1, + aux_sym_attribute_declaration_repeat1, + [40919] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1325), 1, + anon_sym_RBRACE, + ACTIONS(3001), 1, + anon_sym_COMMA, + STATE(1184), 1, + aux_sym_initializer_list_repeat1, + [40932] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3003), 1, + anon_sym_LF, + ACTIONS(3005), 1, + sym_preproc_arg, + [40942] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3007), 2, + anon_sym_LF, + sym_preproc_arg, + [40950] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1891), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [40958] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1444), 1, + sym_parenthesized_expression, + [40968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2812), 1, + sym_identifier, + STATE(1249), 1, + sym_enumerator, + [40978] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2966), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [40986] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3011), 2, + anon_sym_DOT_DOT_DOT, + sym_identifier, + [40994] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [41002] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3013), 1, + anon_sym_LF, + ACTIONS(3015), 1, + sym_preproc_arg, + [41012] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3017), 1, + anon_sym_LF, + ACTIONS(3019), 1, + sym_preproc_arg, + [41022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(330), 1, + sym_parenthesized_expression, + [41032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(323), 1, + sym_parenthesized_expression, + [41042] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1889), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [41050] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3023), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [41058] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3025), 1, + anon_sym_LF, + ACTIONS(3027), 1, + sym_preproc_arg, + [41068] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2901), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [41076] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3029), 2, + anon_sym_LF, + sym_preproc_arg, + [41084] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1867), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [41092] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2589), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [41100] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1328), 1, + sym_parenthesized_expression, + [41110] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3031), 2, + anon_sym_LF, + sym_preproc_arg, + [41118] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(373), 1, + anon_sym_LBRACE, + STATE(156), 1, + sym_compound_statement, + [41128] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2878), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [41136] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(115), 1, + anon_sym_LBRACE, + STATE(85), 1, + sym_compound_statement, + [41146] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(354), 1, + sym_parenthesized_expression, + [41156] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3033), 1, + sym_identifier, + STATE(1159), 1, + sym_attribute, + [41166] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3035), 1, + anon_sym_LF, + ACTIONS(3037), 1, + sym_preproc_arg, + [41176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1237), 1, + sym_parenthesized_expression, + [41186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(352), 1, + sym_parenthesized_expression, + [41196] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3039), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [41204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3033), 1, + sym_identifier, + STATE(1219), 1, + sym_attribute, + [41214] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3041), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [41222] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1340), 1, + sym_parenthesized_expression, + [41232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(334), 1, + sym_parenthesized_expression, + [41242] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(346), 1, + sym_parenthesized_expression, + [41252] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2855), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [41260] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3043), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [41268] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3045), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [41276] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3047), 1, + sym_identifier, + ACTIONS(3049), 1, + anon_sym_LPAREN2, + [41286] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3051), 1, + anon_sym_LF, + ACTIONS(3053), 1, + sym_preproc_arg, + [41296] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3055), 1, + anon_sym_LF, + ACTIONS(3057), 1, + sym_preproc_arg, + [41306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(319), 1, + anon_sym_LBRACE, + STATE(172), 1, + sym_compound_statement, + [41316] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1235), 1, + sym_parenthesized_expression, + [41326] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + STATE(1361), 1, + sym_argument_list, + [41336] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3059), 1, + anon_sym_LF, + ACTIONS(3061), 1, + sym_preproc_arg, + [41346] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1306), 1, + sym_parenthesized_expression, + [41356] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACE, + STATE(228), 1, + sym_compound_statement, + [41366] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3063), 1, + anon_sym_LF, + ACTIONS(3065), 1, + sym_preproc_arg, + [41376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1576), 1, + anon_sym_LPAREN2, + STATE(1383), 1, + sym_argument_list, + [41386] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3067), 1, + anon_sym_LF, + ACTIONS(3069), 1, + sym_preproc_arg, + [41396] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3071), 1, + anon_sym_LF, + ACTIONS(3073), 1, + sym_preproc_arg, + [41406] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3075), 1, + sym_identifier, + ACTIONS(3077), 1, + anon_sym_LPAREN2, + [41416] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3079), 1, + anon_sym_LF, + ACTIONS(3081), 1, + sym_preproc_arg, + [41426] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3083), 1, + anon_sym_LF, + ACTIONS(3085), 1, + sym_preproc_arg, + [41436] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3087), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [41444] = 3, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3089), 1, + anon_sym_LF, + ACTIONS(3091), 1, + sym_preproc_arg, + [41454] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(322), 1, + sym_parenthesized_expression, + [41464] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1260), 1, + sym_parenthesized_expression, + [41474] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3021), 1, + anon_sym_LPAREN2, + STATE(320), 1, + sym_parenthesized_expression, + [41484] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3033), 1, + sym_identifier, + STATE(1192), 1, + sym_attribute, + [41494] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3009), 1, + anon_sym_LPAREN2, + STATE(1255), 1, + sym_parenthesized_expression, + [41504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3033), 1, + sym_identifier, + STATE(1163), 1, + sym_attribute, + [41514] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3093), 1, + anon_sym_LF, + [41521] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1941), 1, + anon_sym_RPAREN, + [41528] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_RPAREN, + [41535] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3095), 1, + aux_sym_preproc_if_token2, + [41542] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3097), 1, + anon_sym_SEMI, + [41549] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 1, + anon_sym_SEMI, + [41556] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_RPAREN, + [41563] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3099), 1, + sym_identifier, + [41570] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1907), 1, + anon_sym_RPAREN, + [41577] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1841), 1, + anon_sym_RBRACE, + [41584] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1915), 1, + anon_sym_RPAREN, + [41591] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2888), 1, + anon_sym_LF, + [41598] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3101), 1, + anon_sym_SEMI, + [41605] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1921), 1, + anon_sym_RPAREN, + [41612] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3103), 1, + aux_sym_preproc_if_token2, + [41619] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3105), 1, + anon_sym_LF, + [41626] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3107), 1, + anon_sym_LF, + [41633] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3109), 1, + anon_sym_LF, + [41640] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3111), 1, + aux_sym_preproc_if_token2, + [41647] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3113), 1, + anon_sym_LF, + [41654] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3115), 1, + anon_sym_SEMI, + [41661] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3117), 1, + aux_sym_preproc_if_token2, + [41668] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3119), 1, + anon_sym_LF, + [41675] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3121), 1, + anon_sym_LF, + [41682] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1953), 1, + anon_sym_SEMI, + [41689] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3123), 1, + anon_sym_LF, + [41696] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3125), 1, + anon_sym_SEMI, + [41703] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1955), 1, + anon_sym_RPAREN, + [41710] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3127), 1, + anon_sym_LF, + [41717] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3129), 1, + anon_sym_LF, + [41724] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3131), 1, + anon_sym_SEMI, + [41731] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3133), 1, + anon_sym_LF, + [41738] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3135), 1, + anon_sym_COLON, + [41745] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3137), 1, + sym_identifier, + [41752] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3139), 1, + sym_identifier, + [41759] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3141), 1, + anon_sym_LF, + [41766] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3143), 1, + aux_sym_preproc_if_token2, + [41773] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3145), 1, + anon_sym_LF, + [41780] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1957), 1, + anon_sym_RPAREN, + [41787] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1883), 1, + anon_sym_RPAREN, + [41794] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3147), 1, + sym_identifier, + [41801] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3149), 1, + aux_sym_preproc_if_token2, + [41808] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1923), 1, + anon_sym_RPAREN, + [41815] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3151), 1, + aux_sym_preproc_if_token2, + [41822] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1947), 1, + anon_sym_RPAREN, + [41829] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1937), 1, + anon_sym_RPAREN, + [41836] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1967), 1, + anon_sym_RPAREN, + [41843] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3153), 1, + anon_sym_SEMI, + [41850] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3155), 1, + aux_sym_preproc_if_token2, + [41857] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3157), 1, + aux_sym_preproc_if_token2, + [41864] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3159), 1, + aux_sym_preproc_if_token2, + [41871] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3161), 1, + aux_sym_preproc_if_token2, + [41878] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3163), 1, + anon_sym_SEMI, + [41885] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3165), 1, + anon_sym_SEMI, + [41892] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3167), 1, + aux_sym_preproc_if_token2, + [41899] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3169), 1, + anon_sym_STAR, + [41906] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1917), 1, + anon_sym_RPAREN, + [41913] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3171), 1, + aux_sym_preproc_if_token2, + [41920] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3173), 1, + anon_sym_SEMI, + [41927] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3175), 1, + aux_sym_preproc_if_token2, + [41934] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1905), 1, + anon_sym_RPAREN, + [41941] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3177), 1, + aux_sym_preproc_if_token2, + [41948] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1901), 1, + anon_sym_RPAREN, + [41955] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1897), 1, + anon_sym_RPAREN, + [41962] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3179), 1, + anon_sym_SEMI, + [41969] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3181), 1, + sym_identifier, + [41976] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3183), 1, + anon_sym_SEMI, + [41983] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3185), 1, + aux_sym_preproc_if_token2, + [41990] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3187), 1, + sym_identifier, + [41997] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3189), 1, + aux_sym_preproc_if_token2, + [42004] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3191), 1, + aux_sym_preproc_if_token2, + [42011] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3193), 1, + anon_sym_RPAREN, + [42018] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3195), 1, + anon_sym_RPAREN, + [42025] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3197), 1, + aux_sym_preproc_if_token2, + [42032] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1933), 1, + anon_sym_RPAREN, + [42039] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3199), 1, + aux_sym_preproc_if_token2, + [42046] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3201), 1, + aux_sym_preproc_if_token2, + [42053] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3203), 1, + aux_sym_preproc_if_token2, + [42060] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3205), 1, + anon_sym_RPAREN, + [42067] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3207), 1, + anon_sym_LF, + [42074] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3209), 1, + aux_sym_preproc_if_token2, + [42081] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3211), 1, + anon_sym_LF, + [42088] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3213), 1, + anon_sym_SQUOTE, + [42095] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3215), 1, + aux_sym_preproc_if_token2, + [42102] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3217), 1, + sym_identifier, + [42109] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3219), 1, + anon_sym_STAR, + [42116] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3221), 1, + anon_sym_SEMI, + [42123] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3223), 1, + anon_sym_RPAREN, + [42130] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1893), 1, + anon_sym_SEMI, + [42137] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3225), 1, + anon_sym_RPAREN, + [42144] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1939), 1, + anon_sym_SEMI, + [42151] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3227), 1, + anon_sym_SEMI, + [42158] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3229), 1, + sym_identifier, + [42165] = 2, + ACTIONS(1446), 1, + anon_sym_LF, + ACTIONS(2145), 1, + sym_comment, + [42172] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3231), 1, + sym_identifier, + [42179] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3233), 1, + sym_identifier, + [42186] = 2, + ACTIONS(1436), 1, + anon_sym_LF, + ACTIONS(2145), 1, + sym_comment, + [42193] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2882), 1, + anon_sym_RBRACE, + [42200] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3235), 1, + anon_sym_COLON, + [42207] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3237), 1, + anon_sym_RPAREN, + [42214] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3239), 1, + anon_sym_RPAREN, + [42221] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3241), 1, + sym_identifier, + [42228] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3243), 1, + anon_sym_LF, + [42235] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2907), 1, + anon_sym_LF, + [42242] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1961), 1, + anon_sym_SEMI, + [42249] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3245), 1, + anon_sym_SEMI, + [42256] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3247), 1, + sym_identifier, + [42263] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3249), 1, + anon_sym_RPAREN, + [42270] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3251), 1, + anon_sym_SEMI, + [42277] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3253), 1, + anon_sym_STAR, + [42284] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3255), 1, + sym_identifier, + [42291] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3257), 1, + anon_sym_SEMI, + [42298] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3259), 1, + anon_sym_SEMI, + [42305] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1875), 1, + anon_sym_SEMI, + [42312] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3261), 1, + anon_sym_COLON, + [42319] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2936), 1, + anon_sym_LF, + [42326] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3263), 1, + aux_sym_preproc_if_token2, + [42333] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3265), 1, + sym_identifier, + [42340] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3267), 1, + anon_sym_LF, + [42347] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3269), 1, + anon_sym_LF, + [42354] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3271), 1, + sym_identifier, + [42361] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3273), 1, + sym_identifier, + [42368] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3275), 1, + anon_sym_RPAREN, + [42375] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1899), 1, + anon_sym_SEMI, + [42382] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3277), 1, + sym_identifier, + [42389] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3279), 1, + sym_identifier, + [42396] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3281), 1, + anon_sym_SEMI, + [42403] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3283), 1, + anon_sym_STAR, + [42410] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3285), 1, + anon_sym_SQUOTE, + [42417] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3287), 1, + anon_sym_LF, + [42424] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3289), 1, + anon_sym_SQUOTE, + [42431] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1949), 1, + anon_sym_RPAREN, + [42438] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3291), 1, + anon_sym_SEMI, + [42445] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1969), 1, + anon_sym_SEMI, + [42452] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3293), 1, + anon_sym_while, + [42459] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3295), 1, + aux_sym_preproc_if_token2, + [42466] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3297), 1, + aux_sym_preproc_if_token2, + [42473] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1965), 1, + anon_sym_RPAREN, + [42480] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3299), 1, + sym_identifier, + [42487] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3301), 1, + sym_identifier, + [42494] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3303), 1, + sym_identifier, + [42501] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 1, + anon_sym_RPAREN, + [42508] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3305), 1, + sym_identifier, + [42515] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3307), 1, + anon_sym_RPAREN, + [42522] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1951), 1, + anon_sym_RPAREN, + [42529] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3309), 1, + anon_sym_SEMI, + [42536] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3311), 1, + anon_sym_RPAREN, + [42543] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1913), 1, + anon_sym_RPAREN, + [42550] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3313), 1, + anon_sym_LF, + [42557] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3315), 1, + anon_sym_RPAREN, + [42564] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3317), 1, + aux_sym_preproc_if_token2, + [42571] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3319), 1, + anon_sym_while, + [42578] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + aux_sym_preproc_if_token2, + [42585] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_RPAREN, + [42592] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(2951), 1, + anon_sym_LF, + [42599] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_SEMI, + [42606] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1929), 1, + anon_sym_SEMI, + [42613] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3323), 1, + ts_builtin_sym_end, + [42620] = 2, + ACTIONS(2145), 1, + sym_comment, + ACTIONS(3325), 1, + anon_sym_LF, + [42627] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3327), 1, + aux_sym_preproc_if_token2, + [42634] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3329), 1, + sym_identifier, + [42641] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3331), 1, + anon_sym_SEMI, + [42648] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3333), 1, + anon_sym_while, + [42655] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3335), 1, + anon_sym_SEMI, + [42662] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3337), 1, + anon_sym_LPAREN2, + [42669] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1963), 1, + anon_sym_RPAREN, + [42676] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1919), 1, + anon_sym_SEMI, + [42683] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3339), 1, + anon_sym_COLON, + [42690] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3341), 1, + anon_sym_SEMI, + [42697] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1885), 1, + anon_sym_RPAREN, + [42704] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3343), 1, + anon_sym_SEMI, + [42711] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 1, + anon_sym_while, + [42718] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3347), 1, + anon_sym_SEMI, + [42725] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3349), 1, + anon_sym_RPAREN, + [42732] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1959), 1, + anon_sym_SEMI, + [42739] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3351), 1, + anon_sym_LPAREN2, + [42746] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3353), 1, + aux_sym_preproc_if_token2, + [42753] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3355), 1, + anon_sym_LPAREN2, + [42760] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3357), 1, + anon_sym_LPAREN2, + [42767] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3359), 1, + aux_sym_preproc_if_token2, + [42774] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3361), 1, + anon_sym_LPAREN2, + [42781] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3363), 1, + sym_identifier, + [42788] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3365), 1, + anon_sym_LPAREN2, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(386)] = 0, + [SMALL_STATE(387)] = 71, + [SMALL_STATE(388)] = 142, + [SMALL_STATE(389)] = 249, + [SMALL_STATE(390)] = 321, + [SMALL_STATE(391)] = 440, + [SMALL_STATE(392)] = 548, + [SMALL_STATE(393)] = 656, + [SMALL_STATE(394)] = 764, + [SMALL_STATE(395)] = 872, + [SMALL_STATE(396)] = 980, + [SMALL_STATE(397)] = 1088, + [SMALL_STATE(398)] = 1196, + [SMALL_STATE(399)] = 1304, + [SMALL_STATE(400)] = 1412, + [SMALL_STATE(401)] = 1520, + [SMALL_STATE(402)] = 1628, + [SMALL_STATE(403)] = 1736, + [SMALL_STATE(404)] = 1844, + [SMALL_STATE(405)] = 1952, + [SMALL_STATE(406)] = 2027, + [SMALL_STATE(407)] = 2104, + [SMALL_STATE(408)] = 2179, + [SMALL_STATE(409)] = 2254, + [SMALL_STATE(410)] = 2329, + [SMALL_STATE(411)] = 2406, + [SMALL_STATE(412)] = 2483, + [SMALL_STATE(413)] = 2560, + [SMALL_STATE(414)] = 2660, + [SMALL_STATE(415)] = 2732, + [SMALL_STATE(416)] = 2832, + [SMALL_STATE(417)] = 2929, + [SMALL_STATE(418)] = 3026, + [SMALL_STATE(419)] = 3124, + [SMALL_STATE(420)] = 3222, + [SMALL_STATE(421)] = 3320, + [SMALL_STATE(422)] = 3414, + [SMALL_STATE(423)] = 3512, + [SMALL_STATE(424)] = 3610, + [SMALL_STATE(425)] = 3708, + [SMALL_STATE(426)] = 3799, + [SMALL_STATE(427)] = 3902, + [SMALL_STATE(428)] = 3993, + [SMALL_STATE(429)] = 4084, + [SMALL_STATE(430)] = 4175, + [SMALL_STATE(431)] = 4266, + [SMALL_STATE(432)] = 4327, + [SMALL_STATE(433)] = 4418, + [SMALL_STATE(434)] = 4509, + [SMALL_STATE(435)] = 4600, + [SMALL_STATE(436)] = 4661, + [SMALL_STATE(437)] = 4722, + [SMALL_STATE(438)] = 4813, + [SMALL_STATE(439)] = 4904, + [SMALL_STATE(440)] = 4959, + [SMALL_STATE(441)] = 5050, + [SMALL_STATE(442)] = 5141, + [SMALL_STATE(443)] = 5232, + [SMALL_STATE(444)] = 5287, + [SMALL_STATE(445)] = 5378, + [SMALL_STATE(446)] = 5460, + [SMALL_STATE(447)] = 5542, + [SMALL_STATE(448)] = 5624, + [SMALL_STATE(449)] = 5706, + [SMALL_STATE(450)] = 5788, + [SMALL_STATE(451)] = 5870, + [SMALL_STATE(452)] = 5952, + [SMALL_STATE(453)] = 6034, + [SMALL_STATE(454)] = 6116, + [SMALL_STATE(455)] = 6198, + [SMALL_STATE(456)] = 6280, + [SMALL_STATE(457)] = 6362, + [SMALL_STATE(458)] = 6444, + [SMALL_STATE(459)] = 6526, + [SMALL_STATE(460)] = 6608, + [SMALL_STATE(461)] = 6690, + [SMALL_STATE(462)] = 6772, + [SMALL_STATE(463)] = 6854, + [SMALL_STATE(464)] = 6936, + [SMALL_STATE(465)] = 7018, + [SMALL_STATE(466)] = 7100, + [SMALL_STATE(467)] = 7182, + [SMALL_STATE(468)] = 7264, + [SMALL_STATE(469)] = 7346, + [SMALL_STATE(470)] = 7428, + [SMALL_STATE(471)] = 7510, + [SMALL_STATE(472)] = 7592, + [SMALL_STATE(473)] = 7674, + [SMALL_STATE(474)] = 7756, + [SMALL_STATE(475)] = 7838, + [SMALL_STATE(476)] = 7920, + [SMALL_STATE(477)] = 8002, + [SMALL_STATE(478)] = 8084, + [SMALL_STATE(479)] = 8166, + [SMALL_STATE(480)] = 8245, + [SMALL_STATE(481)] = 8324, + [SMALL_STATE(482)] = 8403, + [SMALL_STATE(483)] = 8482, + [SMALL_STATE(484)] = 8561, + [SMALL_STATE(485)] = 8640, + [SMALL_STATE(486)] = 8719, + [SMALL_STATE(487)] = 8798, + [SMALL_STATE(488)] = 8877, + [SMALL_STATE(489)] = 8956, + [SMALL_STATE(490)] = 9035, + [SMALL_STATE(491)] = 9114, + [SMALL_STATE(492)] = 9193, + [SMALL_STATE(493)] = 9272, + [SMALL_STATE(494)] = 9351, + [SMALL_STATE(495)] = 9402, + [SMALL_STATE(496)] = 9481, + [SMALL_STATE(497)] = 9560, + [SMALL_STATE(498)] = 9639, + [SMALL_STATE(499)] = 9718, + [SMALL_STATE(500)] = 9797, + [SMALL_STATE(501)] = 9876, + [SMALL_STATE(502)] = 9955, + [SMALL_STATE(503)] = 10034, + [SMALL_STATE(504)] = 10113, + [SMALL_STATE(505)] = 10192, + [SMALL_STATE(506)] = 10271, + [SMALL_STATE(507)] = 10350, + [SMALL_STATE(508)] = 10426, + [SMALL_STATE(509)] = 10502, + [SMALL_STATE(510)] = 10578, + [SMALL_STATE(511)] = 10654, + [SMALL_STATE(512)] = 10730, + [SMALL_STATE(513)] = 10806, + [SMALL_STATE(514)] = 10882, + [SMALL_STATE(515)] = 10958, + [SMALL_STATE(516)] = 11034, + [SMALL_STATE(517)] = 11084, + [SMALL_STATE(518)] = 11160, + [SMALL_STATE(519)] = 11236, + [SMALL_STATE(520)] = 11312, + [SMALL_STATE(521)] = 11388, + [SMALL_STATE(522)] = 11438, + [SMALL_STATE(523)] = 11514, + [SMALL_STATE(524)] = 11590, + [SMALL_STATE(525)] = 11666, + [SMALL_STATE(526)] = 11742, + [SMALL_STATE(527)] = 11818, + [SMALL_STATE(528)] = 11894, + [SMALL_STATE(529)] = 11970, + [SMALL_STATE(530)] = 12046, + [SMALL_STATE(531)] = 12122, + [SMALL_STATE(532)] = 12172, + [SMALL_STATE(533)] = 12232, + [SMALL_STATE(534)] = 12308, + [SMALL_STATE(535)] = 12392, + [SMALL_STATE(536)] = 12468, + [SMALL_STATE(537)] = 12544, + [SMALL_STATE(538)] = 12594, + [SMALL_STATE(539)] = 12654, + [SMALL_STATE(540)] = 12704, + [SMALL_STATE(541)] = 12780, + [SMALL_STATE(542)] = 12856, + [SMALL_STATE(543)] = 12932, + [SMALL_STATE(544)] = 13008, + [SMALL_STATE(545)] = 13084, + [SMALL_STATE(546)] = 13160, + [SMALL_STATE(547)] = 13236, + [SMALL_STATE(548)] = 13312, + [SMALL_STATE(549)] = 13388, + [SMALL_STATE(550)] = 13438, + [SMALL_STATE(551)] = 13498, + [SMALL_STATE(552)] = 13556, + [SMALL_STATE(553)] = 13632, + [SMALL_STATE(554)] = 13708, + [SMALL_STATE(555)] = 13784, + [SMALL_STATE(556)] = 13860, + [SMALL_STATE(557)] = 13936, + [SMALL_STATE(558)] = 14012, + [SMALL_STATE(559)] = 14088, + [SMALL_STATE(560)] = 14150, + [SMALL_STATE(561)] = 14226, + [SMALL_STATE(562)] = 14302, + [SMALL_STATE(563)] = 14378, + [SMALL_STATE(564)] = 14444, + [SMALL_STATE(565)] = 14520, + [SMALL_STATE(566)] = 14570, + [SMALL_STATE(567)] = 14646, + [SMALL_STATE(568)] = 14696, + [SMALL_STATE(569)] = 14772, + [SMALL_STATE(570)] = 14848, + [SMALL_STATE(571)] = 14924, + [SMALL_STATE(572)] = 15000, + [SMALL_STATE(573)] = 15076, + [SMALL_STATE(574)] = 15152, + [SMALL_STATE(575)] = 15228, + [SMALL_STATE(576)] = 15292, + [SMALL_STATE(577)] = 15358, + [SMALL_STATE(578)] = 15434, + [SMALL_STATE(579)] = 15510, + [SMALL_STATE(580)] = 15580, + [SMALL_STATE(581)] = 15656, + [SMALL_STATE(582)] = 15728, + [SMALL_STATE(583)] = 15804, + [SMALL_STATE(584)] = 15880, + [SMALL_STATE(585)] = 15930, + [SMALL_STATE(586)] = 16004, + [SMALL_STATE(587)] = 16080, + [SMALL_STATE(588)] = 16156, + [SMALL_STATE(589)] = 16234, + [SMALL_STATE(590)] = 16314, + [SMALL_STATE(591)] = 16390, + [SMALL_STATE(592)] = 16440, + [SMALL_STATE(593)] = 16502, + [SMALL_STATE(594)] = 16578, + [SMALL_STATE(595)] = 16654, + [SMALL_STATE(596)] = 16730, + [SMALL_STATE(597)] = 16780, + [SMALL_STATE(598)] = 16856, + [SMALL_STATE(599)] = 16932, + [SMALL_STATE(600)] = 17008, + [SMALL_STATE(601)] = 17058, + [SMALL_STATE(602)] = 17134, + [SMALL_STATE(603)] = 17216, + [SMALL_STATE(604)] = 17292, + [SMALL_STATE(605)] = 17368, + [SMALL_STATE(606)] = 17418, + [SMALL_STATE(607)] = 17494, + [SMALL_STATE(608)] = 17554, + [SMALL_STATE(609)] = 17604, + [SMALL_STATE(610)] = 17654, + [SMALL_STATE(611)] = 17730, + [SMALL_STATE(612)] = 17806, + [SMALL_STATE(613)] = 17882, + [SMALL_STATE(614)] = 17935, + [SMALL_STATE(615)] = 17988, + [SMALL_STATE(616)] = 18070, + [SMALL_STATE(617)] = 18123, + [SMALL_STATE(618)] = 18170, + [SMALL_STATE(619)] = 18223, + [SMALL_STATE(620)] = 18276, + [SMALL_STATE(621)] = 18355, + [SMALL_STATE(622)] = 18408, + [SMALL_STATE(623)] = 18455, + [SMALL_STATE(624)] = 18521, + [SMALL_STATE(625)] = 18599, + [SMALL_STATE(626)] = 18645, + [SMALL_STATE(627)] = 18713, + [SMALL_STATE(628)] = 18783, + [SMALL_STATE(629)] = 18855, + [SMALL_STATE(630)] = 18929, + [SMALL_STATE(631)] = 18989, + [SMALL_STATE(632)] = 19065, + [SMALL_STATE(633)] = 19121, + [SMALL_STATE(634)] = 19201, + [SMALL_STATE(635)] = 19257, + [SMALL_STATE(636)] = 19315, + [SMALL_STATE(637)] = 19371, + [SMALL_STATE(638)] = 19433, + [SMALL_STATE(639)] = 19495, + [SMALL_STATE(640)] = 19549, + [SMALL_STATE(641)] = 19605, + [SMALL_STATE(642)] = 19650, + [SMALL_STATE(643)] = 19695, + [SMALL_STATE(644)] = 19744, + [SMALL_STATE(645)] = 19789, + [SMALL_STATE(646)] = 19861, + [SMALL_STATE(647)] = 19917, + [SMALL_STATE(648)] = 19989, + [SMALL_STATE(649)] = 20061, + [SMALL_STATE(650)] = 20133, + [SMALL_STATE(651)] = 20202, + [SMALL_STATE(652)] = 20276, + [SMALL_STATE(653)] = 20320, + [SMALL_STATE(654)] = 20377, + [SMALL_STATE(655)] = 20448, + [SMALL_STATE(656)] = 20503, + [SMALL_STATE(657)] = 20560, + [SMALL_STATE(658)] = 20621, + [SMALL_STATE(659)] = 20684, + [SMALL_STATE(660)] = 20749, + [SMALL_STATE(661)] = 20816, + [SMALL_STATE(662)] = 20883, + [SMALL_STATE(663)] = 20952, + [SMALL_STATE(664)] = 21005, + [SMALL_STATE(665)] = 21078, + [SMALL_STATE(666)] = 21117, + [SMALL_STATE(667)] = 21155, + [SMALL_STATE(668)] = 21193, + [SMALL_STATE(669)] = 21230, + [SMALL_STATE(670)] = 21267, + [SMALL_STATE(671)] = 21304, + [SMALL_STATE(672)] = 21341, + [SMALL_STATE(673)] = 21378, + [SMALL_STATE(674)] = 21415, + [SMALL_STATE(675)] = 21452, + [SMALL_STATE(676)] = 21489, + [SMALL_STATE(677)] = 21526, + [SMALL_STATE(678)] = 21563, + [SMALL_STATE(679)] = 21600, + [SMALL_STATE(680)] = 21637, + [SMALL_STATE(681)] = 21674, + [SMALL_STATE(682)] = 21711, + [SMALL_STATE(683)] = 21748, + [SMALL_STATE(684)] = 21785, + [SMALL_STATE(685)] = 21822, + [SMALL_STATE(686)] = 21859, + [SMALL_STATE(687)] = 21896, + [SMALL_STATE(688)] = 21933, + [SMALL_STATE(689)] = 22008, + [SMALL_STATE(690)] = 22083, + [SMALL_STATE(691)] = 22120, + [SMALL_STATE(692)] = 22157, + [SMALL_STATE(693)] = 22194, + [SMALL_STATE(694)] = 22231, + [SMALL_STATE(695)] = 22306, + [SMALL_STATE(696)] = 22379, + [SMALL_STATE(697)] = 22427, + [SMALL_STATE(698)] = 22497, + [SMALL_STATE(699)] = 22569, + [SMALL_STATE(700)] = 22639, + [SMALL_STATE(701)] = 22711, + [SMALL_STATE(702)] = 22783, + [SMALL_STATE(703)] = 22855, + [SMALL_STATE(704)] = 22927, + [SMALL_STATE(705)] = 22999, + [SMALL_STATE(706)] = 23069, + [SMALL_STATE(707)] = 23139, + [SMALL_STATE(708)] = 23211, + [SMALL_STATE(709)] = 23283, + [SMALL_STATE(710)] = 23355, + [SMALL_STATE(711)] = 23427, + [SMALL_STATE(712)] = 23499, + [SMALL_STATE(713)] = 23535, + [SMALL_STATE(714)] = 23607, + [SMALL_STATE(715)] = 23679, + [SMALL_STATE(716)] = 23751, + [SMALL_STATE(717)] = 23799, + [SMALL_STATE(718)] = 23871, + [SMALL_STATE(719)] = 23943, + [SMALL_STATE(720)] = 24015, + [SMALL_STATE(721)] = 24087, + [SMALL_STATE(722)] = 24159, + [SMALL_STATE(723)] = 24231, + [SMALL_STATE(724)] = 24279, + [SMALL_STATE(725)] = 24351, + [SMALL_STATE(726)] = 24421, + [SMALL_STATE(727)] = 24493, + [SMALL_STATE(728)] = 24565, + [SMALL_STATE(729)] = 24637, + [SMALL_STATE(730)] = 24673, + [SMALL_STATE(731)] = 24745, + [SMALL_STATE(732)] = 24817, + [SMALL_STATE(733)] = 24865, + [SMALL_STATE(734)] = 24937, + [SMALL_STATE(735)] = 25009, + [SMALL_STATE(736)] = 25081, + [SMALL_STATE(737)] = 25153, + [SMALL_STATE(738)] = 25225, + [SMALL_STATE(739)] = 25297, + [SMALL_STATE(740)] = 25369, + [SMALL_STATE(741)] = 25441, + [SMALL_STATE(742)] = 25513, + [SMALL_STATE(743)] = 25585, + [SMALL_STATE(744)] = 25657, + [SMALL_STATE(745)] = 25729, + [SMALL_STATE(746)] = 25798, + [SMALL_STATE(747)] = 25867, + [SMALL_STATE(748)] = 25936, + [SMALL_STATE(749)] = 25971, + [SMALL_STATE(750)] = 26040, + [SMALL_STATE(751)] = 26075, + [SMALL_STATE(752)] = 26110, + [SMALL_STATE(753)] = 26179, + [SMALL_STATE(754)] = 26214, + [SMALL_STATE(755)] = 26283, + [SMALL_STATE(756)] = 26352, + [SMALL_STATE(757)] = 26387, + [SMALL_STATE(758)] = 26456, + [SMALL_STATE(759)] = 26491, + [SMALL_STATE(760)] = 26560, + [SMALL_STATE(761)] = 26629, + [SMALL_STATE(762)] = 26696, + [SMALL_STATE(763)] = 26765, + [SMALL_STATE(764)] = 26834, + [SMALL_STATE(765)] = 26873, + [SMALL_STATE(766)] = 26942, + [SMALL_STATE(767)] = 26977, + [SMALL_STATE(768)] = 27012, + [SMALL_STATE(769)] = 27081, + [SMALL_STATE(770)] = 27116, + [SMALL_STATE(771)] = 27151, + [SMALL_STATE(772)] = 27220, + [SMALL_STATE(773)] = 27255, + [SMALL_STATE(774)] = 27290, + [SMALL_STATE(775)] = 27329, + [SMALL_STATE(776)] = 27372, + [SMALL_STATE(777)] = 27441, + [SMALL_STATE(778)] = 27494, + [SMALL_STATE(779)] = 27563, + [SMALL_STATE(780)] = 27598, + [SMALL_STATE(781)] = 27633, + [SMALL_STATE(782)] = 27668, + [SMALL_STATE(783)] = 27703, + [SMALL_STATE(784)] = 27738, + [SMALL_STATE(785)] = 27773, + [SMALL_STATE(786)] = 27842, + [SMALL_STATE(787)] = 27877, + [SMALL_STATE(788)] = 27912, + [SMALL_STATE(789)] = 27981, + [SMALL_STATE(790)] = 28050, + [SMALL_STATE(791)] = 28119, + [SMALL_STATE(792)] = 28188, + [SMALL_STATE(793)] = 28223, + [SMALL_STATE(794)] = 28292, + [SMALL_STATE(795)] = 28361, + [SMALL_STATE(796)] = 28410, + [SMALL_STATE(797)] = 28445, + [SMALL_STATE(798)] = 28480, + [SMALL_STATE(799)] = 28515, + [SMALL_STATE(800)] = 28550, + [SMALL_STATE(801)] = 28585, + [SMALL_STATE(802)] = 28624, + [SMALL_STATE(803)] = 28693, + [SMALL_STATE(804)] = 28762, + [SMALL_STATE(805)] = 28831, + [SMALL_STATE(806)] = 28896, + [SMALL_STATE(807)] = 28965, + [SMALL_STATE(808)] = 29034, + [SMALL_STATE(809)] = 29097, + [SMALL_STATE(810)] = 29160, + [SMALL_STATE(811)] = 29221, + [SMALL_STATE(812)] = 29256, + [SMALL_STATE(813)] = 29315, + [SMALL_STATE(814)] = 29384, + [SMALL_STATE(815)] = 29419, + [SMALL_STATE(816)] = 29454, + [SMALL_STATE(817)] = 29511, + [SMALL_STATE(818)] = 29546, + [SMALL_STATE(819)] = 29581, + [SMALL_STATE(820)] = 29616, + [SMALL_STATE(821)] = 29651, + [SMALL_STATE(822)] = 29720, + [SMALL_STATE(823)] = 29773, + [SMALL_STATE(824)] = 29824, + [SMALL_STATE(825)] = 29859, + [SMALL_STATE(826)] = 29928, + [SMALL_STATE(827)] = 29963, + [SMALL_STATE(828)] = 30032, + [SMALL_STATE(829)] = 30067, + [SMALL_STATE(830)] = 30102, + [SMALL_STATE(831)] = 30141, + [SMALL_STATE(832)] = 30210, + [SMALL_STATE(833)] = 30245, + [SMALL_STATE(834)] = 30284, + [SMALL_STATE(835)] = 30319, + [SMALL_STATE(836)] = 30354, + [SMALL_STATE(837)] = 30412, + [SMALL_STATE(838)] = 30467, + [SMALL_STATE(839)] = 30522, + [SMALL_STATE(840)] = 30577, + [SMALL_STATE(841)] = 30632, + [SMALL_STATE(842)] = 30687, + [SMALL_STATE(843)] = 30742, + [SMALL_STATE(844)] = 30797, + [SMALL_STATE(845)] = 30852, + [SMALL_STATE(846)] = 30907, + [SMALL_STATE(847)] = 30962, + [SMALL_STATE(848)] = 31017, + [SMALL_STATE(849)] = 31072, + [SMALL_STATE(850)] = 31118, + [SMALL_STATE(851)] = 31164, + [SMALL_STATE(852)] = 31210, + [SMALL_STATE(853)] = 31256, + [SMALL_STATE(854)] = 31291, + [SMALL_STATE(855)] = 31326, + [SMALL_STATE(856)] = 31377, + [SMALL_STATE(857)] = 31412, + [SMALL_STATE(858)] = 31447, + [SMALL_STATE(859)] = 31482, + [SMALL_STATE(860)] = 31530, + [SMALL_STATE(861)] = 31578, + [SMALL_STATE(862)] = 31626, + [SMALL_STATE(863)] = 31674, + [SMALL_STATE(864)] = 31722, + [SMALL_STATE(865)] = 31770, + [SMALL_STATE(866)] = 31818, + [SMALL_STATE(867)] = 31866, + [SMALL_STATE(868)] = 31900, + [SMALL_STATE(869)] = 31948, + [SMALL_STATE(870)] = 31977, + [SMALL_STATE(871)] = 32006, + [SMALL_STATE(872)] = 32035, + [SMALL_STATE(873)] = 32064, + [SMALL_STATE(874)] = 32093, + [SMALL_STATE(875)] = 32122, + [SMALL_STATE(876)] = 32155, + [SMALL_STATE(877)] = 32186, + [SMALL_STATE(878)] = 32215, + [SMALL_STATE(879)] = 32244, + [SMALL_STATE(880)] = 32273, + [SMALL_STATE(881)] = 32302, + [SMALL_STATE(882)] = 32331, + [SMALL_STATE(883)] = 32386, + [SMALL_STATE(884)] = 32415, + [SMALL_STATE(885)] = 32444, + [SMALL_STATE(886)] = 32473, + [SMALL_STATE(887)] = 32506, + [SMALL_STATE(888)] = 32535, + [SMALL_STATE(889)] = 32564, + [SMALL_STATE(890)] = 32607, + [SMALL_STATE(891)] = 32662, + [SMALL_STATE(892)] = 32691, + [SMALL_STATE(893)] = 32720, + [SMALL_STATE(894)] = 32749, + [SMALL_STATE(895)] = 32792, + [SMALL_STATE(896)] = 32821, + [SMALL_STATE(897)] = 32850, + [SMALL_STATE(898)] = 32878, + [SMALL_STATE(899)] = 32918, + [SMALL_STATE(900)] = 32958, + [SMALL_STATE(901)] = 32998, + [SMALL_STATE(902)] = 33038, + [SMALL_STATE(903)] = 33078, + [SMALL_STATE(904)] = 33118, + [SMALL_STATE(905)] = 33158, + [SMALL_STATE(906)] = 33198, + [SMALL_STATE(907)] = 33248, + [SMALL_STATE(908)] = 33288, + [SMALL_STATE(909)] = 33328, + [SMALL_STATE(910)] = 33368, + [SMALL_STATE(911)] = 33408, + [SMALL_STATE(912)] = 33448, + [SMALL_STATE(913)] = 33488, + [SMALL_STATE(914)] = 33516, + [SMALL_STATE(915)] = 33556, + [SMALL_STATE(916)] = 33584, + [SMALL_STATE(917)] = 33612, + [SMALL_STATE(918)] = 33652, + [SMALL_STATE(919)] = 33680, + [SMALL_STATE(920)] = 33720, + [SMALL_STATE(921)] = 33760, + [SMALL_STATE(922)] = 33800, + [SMALL_STATE(923)] = 33840, + [SMALL_STATE(924)] = 33880, + [SMALL_STATE(925)] = 33920, + [SMALL_STATE(926)] = 33960, + [SMALL_STATE(927)] = 34000, + [SMALL_STATE(928)] = 34040, + [SMALL_STATE(929)] = 34080, + [SMALL_STATE(930)] = 34120, + [SMALL_STATE(931)] = 34160, + [SMALL_STATE(932)] = 34200, + [SMALL_STATE(933)] = 34228, + [SMALL_STATE(934)] = 34256, + [SMALL_STATE(935)] = 34296, + [SMALL_STATE(936)] = 34344, + [SMALL_STATE(937)] = 34384, + [SMALL_STATE(938)] = 34424, + [SMALL_STATE(939)] = 34456, + [SMALL_STATE(940)] = 34484, + [SMALL_STATE(941)] = 34524, + [SMALL_STATE(942)] = 34564, + [SMALL_STATE(943)] = 34592, + [SMALL_STATE(944)] = 34640, + [SMALL_STATE(945)] = 34686, + [SMALL_STATE(946)] = 34732, + [SMALL_STATE(947)] = 34776, + [SMALL_STATE(948)] = 34818, + [SMALL_STATE(949)] = 34846, + [SMALL_STATE(950)] = 34882, + [SMALL_STATE(951)] = 34922, + [SMALL_STATE(952)] = 34956, + [SMALL_STATE(953)] = 34983, + [SMALL_STATE(954)] = 35010, + [SMALL_STATE(955)] = 35043, + [SMALL_STATE(956)] = 35088, + [SMALL_STATE(957)] = 35137, + [SMALL_STATE(958)] = 35164, + [SMALL_STATE(959)] = 35209, + [SMALL_STATE(960)] = 35254, + [SMALL_STATE(961)] = 35281, + [SMALL_STATE(962)] = 35316, + [SMALL_STATE(963)] = 35343, + [SMALL_STATE(964)] = 35380, + [SMALL_STATE(965)] = 35413, + [SMALL_STATE(966)] = 35452, + [SMALL_STATE(967)] = 35493, + [SMALL_STATE(968)] = 35538, + [SMALL_STATE(969)] = 35583, + [SMALL_STATE(970)] = 35628, + [SMALL_STATE(971)] = 35673, + [SMALL_STATE(972)] = 35716, + [SMALL_STATE(973)] = 35761, + [SMALL_STATE(974)] = 35788, + [SMALL_STATE(975)] = 35817, + [SMALL_STATE(976)] = 35844, + [SMALL_STATE(977)] = 35871, + [SMALL_STATE(978)] = 35916, + [SMALL_STATE(979)] = 35947, + [SMALL_STATE(980)] = 35974, + [SMALL_STATE(981)] = 36001, + [SMALL_STATE(982)] = 36046, + [SMALL_STATE(983)] = 36095, + [SMALL_STATE(984)] = 36134, + [SMALL_STATE(985)] = 36173, + [SMALL_STATE(986)] = 36212, + [SMALL_STATE(987)] = 36251, + [SMALL_STATE(988)] = 36290, + [SMALL_STATE(989)] = 36329, + [SMALL_STATE(990)] = 36368, + [SMALL_STATE(991)] = 36407, + [SMALL_STATE(992)] = 36446, + [SMALL_STATE(993)] = 36484, + [SMALL_STATE(994)] = 36522, + [SMALL_STATE(995)] = 36560, + [SMALL_STATE(996)] = 36598, + [SMALL_STATE(997)] = 36630, + [SMALL_STATE(998)] = 36668, + [SMALL_STATE(999)] = 36706, + [SMALL_STATE(1000)] = 36737, + [SMALL_STATE(1001)] = 36775, + [SMALL_STATE(1002)] = 36813, + [SMALL_STATE(1003)] = 36851, + [SMALL_STATE(1004)] = 36872, + [SMALL_STATE(1005)] = 36893, + [SMALL_STATE(1006)] = 36925, + [SMALL_STATE(1007)] = 36963, + [SMALL_STATE(1008)] = 37001, + [SMALL_STATE(1009)] = 37033, + [SMALL_STATE(1010)] = 37065, + [SMALL_STATE(1011)] = 37097, + [SMALL_STATE(1012)] = 37129, + [SMALL_STATE(1013)] = 37161, + [SMALL_STATE(1014)] = 37193, + [SMALL_STATE(1015)] = 37231, + [SMALL_STATE(1016)] = 37263, + [SMALL_STATE(1017)] = 37301, + [SMALL_STATE(1018)] = 37333, + [SMALL_STATE(1019)] = 37368, + [SMALL_STATE(1020)] = 37397, + [SMALL_STATE(1021)] = 37426, + [SMALL_STATE(1022)] = 37461, + [SMALL_STATE(1023)] = 37490, + [SMALL_STATE(1024)] = 37519, + [SMALL_STATE(1025)] = 37548, + [SMALL_STATE(1026)] = 37577, + [SMALL_STATE(1027)] = 37604, + [SMALL_STATE(1028)] = 37627, + [SMALL_STATE(1029)] = 37656, + [SMALL_STATE(1030)] = 37685, + [SMALL_STATE(1031)] = 37714, + [SMALL_STATE(1032)] = 37749, + [SMALL_STATE(1033)] = 37778, + [SMALL_STATE(1034)] = 37807, + [SMALL_STATE(1035)] = 37834, + [SMALL_STATE(1036)] = 37861, + [SMALL_STATE(1037)] = 37890, + [SMALL_STATE(1038)] = 37917, + [SMALL_STATE(1039)] = 37940, + [SMALL_STATE(1040)] = 37969, + [SMALL_STATE(1041)] = 37998, + [SMALL_STATE(1042)] = 38027, + [SMALL_STATE(1043)] = 38050, + [SMALL_STATE(1044)] = 38079, + [SMALL_STATE(1045)] = 38102, + [SMALL_STATE(1046)] = 38131, + [SMALL_STATE(1047)] = 38163, + [SMALL_STATE(1048)] = 38181, + [SMALL_STATE(1049)] = 38203, + [SMALL_STATE(1050)] = 38229, + [SMALL_STATE(1051)] = 38261, + [SMALL_STATE(1052)] = 38287, + [SMALL_STATE(1053)] = 38313, + [SMALL_STATE(1054)] = 38339, + [SMALL_STATE(1055)] = 38371, + [SMALL_STATE(1056)] = 38389, + [SMALL_STATE(1057)] = 38407, + [SMALL_STATE(1058)] = 38439, + [SMALL_STATE(1059)] = 38468, + [SMALL_STATE(1060)] = 38497, + [SMALL_STATE(1061)] = 38518, + [SMALL_STATE(1062)] = 38547, + [SMALL_STATE(1063)] = 38572, + [SMALL_STATE(1064)] = 38601, + [SMALL_STATE(1065)] = 38622, + [SMALL_STATE(1066)] = 38651, + [SMALL_STATE(1067)] = 38676, + [SMALL_STATE(1068)] = 38705, + [SMALL_STATE(1069)] = 38726, + [SMALL_STATE(1070)] = 38751, + [SMALL_STATE(1071)] = 38780, + [SMALL_STATE(1072)] = 38807, + [SMALL_STATE(1073)] = 38828, + [SMALL_STATE(1074)] = 38853, + [SMALL_STATE(1075)] = 38878, + [SMALL_STATE(1076)] = 38899, + [SMALL_STATE(1077)] = 38928, + [SMALL_STATE(1078)] = 38944, + [SMALL_STATE(1079)] = 38964, + [SMALL_STATE(1080)] = 38980, + [SMALL_STATE(1081)] = 38996, + [SMALL_STATE(1082)] = 39012, + [SMALL_STATE(1083)] = 39038, + [SMALL_STATE(1084)] = 39054, + [SMALL_STATE(1085)] = 39080, + [SMALL_STATE(1086)] = 39106, + [SMALL_STATE(1087)] = 39130, + [SMALL_STATE(1088)] = 39154, + [SMALL_STATE(1089)] = 39180, + [SMALL_STATE(1090)] = 39196, + [SMALL_STATE(1091)] = 39211, + [SMALL_STATE(1092)] = 39234, + [SMALL_STATE(1093)] = 39257, + [SMALL_STATE(1094)] = 39272, + [SMALL_STATE(1095)] = 39287, + [SMALL_STATE(1096)] = 39302, + [SMALL_STATE(1097)] = 39317, + [SMALL_STATE(1098)] = 39332, + [SMALL_STATE(1099)] = 39355, + [SMALL_STATE(1100)] = 39370, + [SMALL_STATE(1101)] = 39385, + [SMALL_STATE(1102)] = 39399, + [SMALL_STATE(1103)] = 39413, + [SMALL_STATE(1104)] = 39427, + [SMALL_STATE(1105)] = 39441, + [SMALL_STATE(1106)] = 39459, + [SMALL_STATE(1107)] = 39477, + [SMALL_STATE(1108)] = 39491, + [SMALL_STATE(1109)] = 39505, + [SMALL_STATE(1110)] = 39519, + [SMALL_STATE(1111)] = 39533, + [SMALL_STATE(1112)] = 39550, + [SMALL_STATE(1113)] = 39569, + [SMALL_STATE(1114)] = 39588, + [SMALL_STATE(1115)] = 39607, + [SMALL_STATE(1116)] = 39624, + [SMALL_STATE(1117)] = 39643, + [SMALL_STATE(1118)] = 39660, + [SMALL_STATE(1119)] = 39679, + [SMALL_STATE(1120)] = 39696, + [SMALL_STATE(1121)] = 39712, + [SMALL_STATE(1122)] = 39728, + [SMALL_STATE(1123)] = 39738, + [SMALL_STATE(1124)] = 39748, + [SMALL_STATE(1125)] = 39764, + [SMALL_STATE(1126)] = 39774, + [SMALL_STATE(1127)] = 39790, + [SMALL_STATE(1128)] = 39806, + [SMALL_STATE(1129)] = 39822, + [SMALL_STATE(1130)] = 39836, + [SMALL_STATE(1131)] = 39852, + [SMALL_STATE(1132)] = 39866, + [SMALL_STATE(1133)] = 39882, + [SMALL_STATE(1134)] = 39898, + [SMALL_STATE(1135)] = 39914, + [SMALL_STATE(1136)] = 39924, + [SMALL_STATE(1137)] = 39940, + [SMALL_STATE(1138)] = 39950, + [SMALL_STATE(1139)] = 39966, + [SMALL_STATE(1140)] = 39976, + [SMALL_STATE(1141)] = 39986, + [SMALL_STATE(1142)] = 39996, + [SMALL_STATE(1143)] = 40012, + [SMALL_STATE(1144)] = 40022, + [SMALL_STATE(1145)] = 40038, + [SMALL_STATE(1146)] = 40054, + [SMALL_STATE(1147)] = 40070, + [SMALL_STATE(1148)] = 40086, + [SMALL_STATE(1149)] = 40096, + [SMALL_STATE(1150)] = 40112, + [SMALL_STATE(1151)] = 40122, + [SMALL_STATE(1152)] = 40132, + [SMALL_STATE(1153)] = 40148, + [SMALL_STATE(1154)] = 40164, + [SMALL_STATE(1155)] = 40177, + [SMALL_STATE(1156)] = 40190, + [SMALL_STATE(1157)] = 40203, + [SMALL_STATE(1158)] = 40216, + [SMALL_STATE(1159)] = 40227, + [SMALL_STATE(1160)] = 40240, + [SMALL_STATE(1161)] = 40253, + [SMALL_STATE(1162)] = 40266, + [SMALL_STATE(1163)] = 40279, + [SMALL_STATE(1164)] = 40292, + [SMALL_STATE(1165)] = 40305, + [SMALL_STATE(1166)] = 40318, + [SMALL_STATE(1167)] = 40331, + [SMALL_STATE(1168)] = 40344, + [SMALL_STATE(1169)] = 40357, + [SMALL_STATE(1170)] = 40370, + [SMALL_STATE(1171)] = 40383, + [SMALL_STATE(1172)] = 40392, + [SMALL_STATE(1173)] = 40405, + [SMALL_STATE(1174)] = 40418, + [SMALL_STATE(1175)] = 40431, + [SMALL_STATE(1176)] = 40444, + [SMALL_STATE(1177)] = 40457, + [SMALL_STATE(1178)] = 40470, + [SMALL_STATE(1179)] = 40483, + [SMALL_STATE(1180)] = 40496, + [SMALL_STATE(1181)] = 40509, + [SMALL_STATE(1182)] = 40522, + [SMALL_STATE(1183)] = 40535, + [SMALL_STATE(1184)] = 40548, + [SMALL_STATE(1185)] = 40561, + [SMALL_STATE(1186)] = 40574, + [SMALL_STATE(1187)] = 40587, + [SMALL_STATE(1188)] = 40596, + [SMALL_STATE(1189)] = 40609, + [SMALL_STATE(1190)] = 40622, + [SMALL_STATE(1191)] = 40635, + [SMALL_STATE(1192)] = 40648, + [SMALL_STATE(1193)] = 40661, + [SMALL_STATE(1194)] = 40674, + [SMALL_STATE(1195)] = 40685, + [SMALL_STATE(1196)] = 40698, + [SMALL_STATE(1197)] = 40711, + [SMALL_STATE(1198)] = 40724, + [SMALL_STATE(1199)] = 40737, + [SMALL_STATE(1200)] = 40750, + [SMALL_STATE(1201)] = 40763, + [SMALL_STATE(1202)] = 40776, + [SMALL_STATE(1203)] = 40789, + [SMALL_STATE(1204)] = 40802, + [SMALL_STATE(1205)] = 40815, + [SMALL_STATE(1206)] = 40828, + [SMALL_STATE(1207)] = 40841, + [SMALL_STATE(1208)] = 40854, + [SMALL_STATE(1209)] = 40867, + [SMALL_STATE(1210)] = 40880, + [SMALL_STATE(1211)] = 40893, + [SMALL_STATE(1212)] = 40906, + [SMALL_STATE(1213)] = 40919, + [SMALL_STATE(1214)] = 40932, + [SMALL_STATE(1215)] = 40942, + [SMALL_STATE(1216)] = 40950, + [SMALL_STATE(1217)] = 40958, + [SMALL_STATE(1218)] = 40968, + [SMALL_STATE(1219)] = 40978, + [SMALL_STATE(1220)] = 40986, + [SMALL_STATE(1221)] = 40994, + [SMALL_STATE(1222)] = 41002, + [SMALL_STATE(1223)] = 41012, + [SMALL_STATE(1224)] = 41022, + [SMALL_STATE(1225)] = 41032, + [SMALL_STATE(1226)] = 41042, + [SMALL_STATE(1227)] = 41050, + [SMALL_STATE(1228)] = 41058, + [SMALL_STATE(1229)] = 41068, + [SMALL_STATE(1230)] = 41076, + [SMALL_STATE(1231)] = 41084, + [SMALL_STATE(1232)] = 41092, + [SMALL_STATE(1233)] = 41100, + [SMALL_STATE(1234)] = 41110, + [SMALL_STATE(1235)] = 41118, + [SMALL_STATE(1236)] = 41128, + [SMALL_STATE(1237)] = 41136, + [SMALL_STATE(1238)] = 41146, + [SMALL_STATE(1239)] = 41156, + [SMALL_STATE(1240)] = 41166, + [SMALL_STATE(1241)] = 41176, + [SMALL_STATE(1242)] = 41186, + [SMALL_STATE(1243)] = 41196, + [SMALL_STATE(1244)] = 41204, + [SMALL_STATE(1245)] = 41214, + [SMALL_STATE(1246)] = 41222, + [SMALL_STATE(1247)] = 41232, + [SMALL_STATE(1248)] = 41242, + [SMALL_STATE(1249)] = 41252, + [SMALL_STATE(1250)] = 41260, + [SMALL_STATE(1251)] = 41268, + [SMALL_STATE(1252)] = 41276, + [SMALL_STATE(1253)] = 41286, + [SMALL_STATE(1254)] = 41296, + [SMALL_STATE(1255)] = 41306, + [SMALL_STATE(1256)] = 41316, + [SMALL_STATE(1257)] = 41326, + [SMALL_STATE(1258)] = 41336, + [SMALL_STATE(1259)] = 41346, + [SMALL_STATE(1260)] = 41356, + [SMALL_STATE(1261)] = 41366, + [SMALL_STATE(1262)] = 41376, + [SMALL_STATE(1263)] = 41386, + [SMALL_STATE(1264)] = 41396, + [SMALL_STATE(1265)] = 41406, + [SMALL_STATE(1266)] = 41416, + [SMALL_STATE(1267)] = 41426, + [SMALL_STATE(1268)] = 41436, + [SMALL_STATE(1269)] = 41444, + [SMALL_STATE(1270)] = 41454, + [SMALL_STATE(1271)] = 41464, + [SMALL_STATE(1272)] = 41474, + [SMALL_STATE(1273)] = 41484, + [SMALL_STATE(1274)] = 41494, + [SMALL_STATE(1275)] = 41504, + [SMALL_STATE(1276)] = 41514, + [SMALL_STATE(1277)] = 41521, + [SMALL_STATE(1278)] = 41528, + [SMALL_STATE(1279)] = 41535, + [SMALL_STATE(1280)] = 41542, + [SMALL_STATE(1281)] = 41549, + [SMALL_STATE(1282)] = 41556, + [SMALL_STATE(1283)] = 41563, + [SMALL_STATE(1284)] = 41570, + [SMALL_STATE(1285)] = 41577, + [SMALL_STATE(1286)] = 41584, + [SMALL_STATE(1287)] = 41591, + [SMALL_STATE(1288)] = 41598, + [SMALL_STATE(1289)] = 41605, + [SMALL_STATE(1290)] = 41612, + [SMALL_STATE(1291)] = 41619, + [SMALL_STATE(1292)] = 41626, + [SMALL_STATE(1293)] = 41633, + [SMALL_STATE(1294)] = 41640, + [SMALL_STATE(1295)] = 41647, + [SMALL_STATE(1296)] = 41654, + [SMALL_STATE(1297)] = 41661, + [SMALL_STATE(1298)] = 41668, + [SMALL_STATE(1299)] = 41675, + [SMALL_STATE(1300)] = 41682, + [SMALL_STATE(1301)] = 41689, + [SMALL_STATE(1302)] = 41696, + [SMALL_STATE(1303)] = 41703, + [SMALL_STATE(1304)] = 41710, + [SMALL_STATE(1305)] = 41717, + [SMALL_STATE(1306)] = 41724, + [SMALL_STATE(1307)] = 41731, + [SMALL_STATE(1308)] = 41738, + [SMALL_STATE(1309)] = 41745, + [SMALL_STATE(1310)] = 41752, + [SMALL_STATE(1311)] = 41759, + [SMALL_STATE(1312)] = 41766, + [SMALL_STATE(1313)] = 41773, + [SMALL_STATE(1314)] = 41780, + [SMALL_STATE(1315)] = 41787, + [SMALL_STATE(1316)] = 41794, + [SMALL_STATE(1317)] = 41801, + [SMALL_STATE(1318)] = 41808, + [SMALL_STATE(1319)] = 41815, + [SMALL_STATE(1320)] = 41822, + [SMALL_STATE(1321)] = 41829, + [SMALL_STATE(1322)] = 41836, + [SMALL_STATE(1323)] = 41843, + [SMALL_STATE(1324)] = 41850, + [SMALL_STATE(1325)] = 41857, + [SMALL_STATE(1326)] = 41864, + [SMALL_STATE(1327)] = 41871, + [SMALL_STATE(1328)] = 41878, + [SMALL_STATE(1329)] = 41885, + [SMALL_STATE(1330)] = 41892, + [SMALL_STATE(1331)] = 41899, + [SMALL_STATE(1332)] = 41906, + [SMALL_STATE(1333)] = 41913, + [SMALL_STATE(1334)] = 41920, + [SMALL_STATE(1335)] = 41927, + [SMALL_STATE(1336)] = 41934, + [SMALL_STATE(1337)] = 41941, + [SMALL_STATE(1338)] = 41948, + [SMALL_STATE(1339)] = 41955, + [SMALL_STATE(1340)] = 41962, + [SMALL_STATE(1341)] = 41969, + [SMALL_STATE(1342)] = 41976, + [SMALL_STATE(1343)] = 41983, + [SMALL_STATE(1344)] = 41990, + [SMALL_STATE(1345)] = 41997, + [SMALL_STATE(1346)] = 42004, + [SMALL_STATE(1347)] = 42011, + [SMALL_STATE(1348)] = 42018, + [SMALL_STATE(1349)] = 42025, + [SMALL_STATE(1350)] = 42032, + [SMALL_STATE(1351)] = 42039, + [SMALL_STATE(1352)] = 42046, + [SMALL_STATE(1353)] = 42053, + [SMALL_STATE(1354)] = 42060, + [SMALL_STATE(1355)] = 42067, + [SMALL_STATE(1356)] = 42074, + [SMALL_STATE(1357)] = 42081, + [SMALL_STATE(1358)] = 42088, + [SMALL_STATE(1359)] = 42095, + [SMALL_STATE(1360)] = 42102, + [SMALL_STATE(1361)] = 42109, + [SMALL_STATE(1362)] = 42116, + [SMALL_STATE(1363)] = 42123, + [SMALL_STATE(1364)] = 42130, + [SMALL_STATE(1365)] = 42137, + [SMALL_STATE(1366)] = 42144, + [SMALL_STATE(1367)] = 42151, + [SMALL_STATE(1368)] = 42158, + [SMALL_STATE(1369)] = 42165, + [SMALL_STATE(1370)] = 42172, + [SMALL_STATE(1371)] = 42179, + [SMALL_STATE(1372)] = 42186, + [SMALL_STATE(1373)] = 42193, + [SMALL_STATE(1374)] = 42200, + [SMALL_STATE(1375)] = 42207, + [SMALL_STATE(1376)] = 42214, + [SMALL_STATE(1377)] = 42221, + [SMALL_STATE(1378)] = 42228, + [SMALL_STATE(1379)] = 42235, + [SMALL_STATE(1380)] = 42242, + [SMALL_STATE(1381)] = 42249, + [SMALL_STATE(1382)] = 42256, + [SMALL_STATE(1383)] = 42263, + [SMALL_STATE(1384)] = 42270, + [SMALL_STATE(1385)] = 42277, + [SMALL_STATE(1386)] = 42284, + [SMALL_STATE(1387)] = 42291, + [SMALL_STATE(1388)] = 42298, + [SMALL_STATE(1389)] = 42305, + [SMALL_STATE(1390)] = 42312, + [SMALL_STATE(1391)] = 42319, + [SMALL_STATE(1392)] = 42326, + [SMALL_STATE(1393)] = 42333, + [SMALL_STATE(1394)] = 42340, + [SMALL_STATE(1395)] = 42347, + [SMALL_STATE(1396)] = 42354, + [SMALL_STATE(1397)] = 42361, + [SMALL_STATE(1398)] = 42368, + [SMALL_STATE(1399)] = 42375, + [SMALL_STATE(1400)] = 42382, + [SMALL_STATE(1401)] = 42389, + [SMALL_STATE(1402)] = 42396, + [SMALL_STATE(1403)] = 42403, + [SMALL_STATE(1404)] = 42410, + [SMALL_STATE(1405)] = 42417, + [SMALL_STATE(1406)] = 42424, + [SMALL_STATE(1407)] = 42431, + [SMALL_STATE(1408)] = 42438, + [SMALL_STATE(1409)] = 42445, + [SMALL_STATE(1410)] = 42452, + [SMALL_STATE(1411)] = 42459, + [SMALL_STATE(1412)] = 42466, + [SMALL_STATE(1413)] = 42473, + [SMALL_STATE(1414)] = 42480, + [SMALL_STATE(1415)] = 42487, + [SMALL_STATE(1416)] = 42494, + [SMALL_STATE(1417)] = 42501, + [SMALL_STATE(1418)] = 42508, + [SMALL_STATE(1419)] = 42515, + [SMALL_STATE(1420)] = 42522, + [SMALL_STATE(1421)] = 42529, + [SMALL_STATE(1422)] = 42536, + [SMALL_STATE(1423)] = 42543, + [SMALL_STATE(1424)] = 42550, + [SMALL_STATE(1425)] = 42557, + [SMALL_STATE(1426)] = 42564, + [SMALL_STATE(1427)] = 42571, + [SMALL_STATE(1428)] = 42578, + [SMALL_STATE(1429)] = 42585, + [SMALL_STATE(1430)] = 42592, + [SMALL_STATE(1431)] = 42599, + [SMALL_STATE(1432)] = 42606, + [SMALL_STATE(1433)] = 42613, + [SMALL_STATE(1434)] = 42620, + [SMALL_STATE(1435)] = 42627, + [SMALL_STATE(1436)] = 42634, + [SMALL_STATE(1437)] = 42641, + [SMALL_STATE(1438)] = 42648, + [SMALL_STATE(1439)] = 42655, + [SMALL_STATE(1440)] = 42662, + [SMALL_STATE(1441)] = 42669, + [SMALL_STATE(1442)] = 42676, + [SMALL_STATE(1443)] = 42683, + [SMALL_STATE(1444)] = 42690, + [SMALL_STATE(1445)] = 42697, + [SMALL_STATE(1446)] = 42704, + [SMALL_STATE(1447)] = 42711, + [SMALL_STATE(1448)] = 42718, + [SMALL_STATE(1449)] = 42725, + [SMALL_STATE(1450)] = 42732, + [SMALL_STATE(1451)] = 42739, + [SMALL_STATE(1452)] = 42746, + [SMALL_STATE(1453)] = 42753, + [SMALL_STATE(1454)] = 42760, + [SMALL_STATE(1455)] = 42767, + [SMALL_STATE(1456)] = 42774, + [SMALL_STATE(1457)] = 42781, + [SMALL_STATE(1458)] = 42788, +}; + +static const TSParseActionEntry ts_parse_actions[] = { + [0] = {.entry = {.count = 0, .reusable = false}}, + [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), + [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 0), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1075), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1400), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(899), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1457), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1223), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(586), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(865), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(830), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1454), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1275), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1451), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(896), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(687), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(676), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(775), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(881), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1208), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1116), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1114), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1272), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1271), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1443), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1270), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1440), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(449), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1439), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1437), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1436), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(522), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1268), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1132), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(549), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1064), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1370), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(930), + [99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 3, .production_id = 35), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1371), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(902), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1214), + [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(868), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(833), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1248), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1241), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(594), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1390), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1247), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(316), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1456), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(453), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1388), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1387), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1377), + [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), + [143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251), + [147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 4, .production_id = 35), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), + [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), + [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(294), + [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281), + [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284), + [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), + [173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(411), + [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1064), + [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1370), + [182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(930), + [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), + [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1371), + [190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1214), + [193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(382), + [196] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(586), + [199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(586), + [202] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(578), + [205] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(74), + [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(868), + [211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(833), + [214] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1454), + [217] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1275), + [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1451), + [223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(896), + [226] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(24), + [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(687), + [232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(676), + [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(775), + [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(881), + [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1208), + [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1116), + [247] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1114), + [250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1248), + [253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1241), + [256] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(594), + [259] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1390), + [262] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1247), + [265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(316), + [268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1456), + [271] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(453), + [274] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1388), + [277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1387), + [280] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1377), + [283] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(524), + [286] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(522), + [289] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(549), + [292] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1268), + [295] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1132), + [298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(549), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412), + [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1060), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1309), + [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(924), + [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1310), + [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1253), + [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(864), + [317] = {.entry = {.count = 1, .reusable = false}}, SHIFT(801), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1238), + [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1274), + [327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528), + [329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1374), + [331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1242), + [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), + [335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1453), + [337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(450), + [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1381), + [341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1384), + [343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1316), + [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), + [355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1068), + [357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1414), + [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(937), + [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 1), + [363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1397), + [365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1261), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [369] = {.entry = {.count = 1, .reusable = false}}, SHIFT(861), + [371] = {.entry = {.count = 1, .reusable = false}}, SHIFT(764), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1224), + [377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1256), + [379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(523), + [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1308), + [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1225), + [385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), + [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1458), + [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467), + [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1288), + [393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1296), + [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1401), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [415] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(412), + [418] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1060), + [421] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1309), + [424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(924), + [427] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1310), + [430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1253), + [433] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(159), + [436] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(864), + [439] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(801), + [442] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(31), + [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), + [447] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1238), + [450] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1274), + [453] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(528), + [456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1374), + [459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1242), + [462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(333), + [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1453), + [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(450), + [471] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1381), + [474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1384), + [477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1316), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(410), + [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1068), + [488] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1414), + [491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(937), + [494] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1397), + [497] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1261), + [500] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(141), + [503] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(861), + [506] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(764), + [509] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(29), + [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1224), + [515] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1256), + [518] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(523), + [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1308), + [524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1225), + [527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(313), + [530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1458), + [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(467), + [536] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1288), + [539] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1296), + [542] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1401), + [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 2), + [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1), + [549] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(406), + [552] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1075), + [555] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1400), + [558] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(899), + [561] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1457), + [564] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1223), + [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(136), + [570] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(865), + [573] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(830), + [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(25), + [579] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1272), + [582] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1271), + [585] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(508), + [588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1443), + [591] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1270), + [594] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(306), + [597] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1440), + [600] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(449), + [603] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1439), + [606] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1437), + [609] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1436), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(407), + [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 4, .production_id = 8), + [618] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 2), + [620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3), + [622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, .production_id = 8), + [624] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(407), + [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), + [629] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(382), + [632] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(586), + [635] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(586), + [638] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(578), + [641] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(74), + [644] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(868), + [647] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(687), + [650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1454), + [653] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1275), + [656] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1451), + [659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(24), + [662] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(676), + [665] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(775), + [668] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(881), + [671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1208), + [674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1116), + [677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1114), + [680] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1248), + [683] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1241), + [686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1247), + [689] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(316), + [692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1456), + [695] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(453), + [698] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1388), + [701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1387), + [704] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1377), + [707] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(524), + [710] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(522), + [713] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(549), + [716] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1268), + [719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1132), + [722] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(549), + [725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3), + [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), + [733] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(405), + [736] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(136), + [739] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(865), + [742] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(25), + [745] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1272), + [748] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1271), + [751] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1270), + [754] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(306), + [757] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1440), + [760] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(449), + [763] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1439), + [766] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1437), + [769] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1436), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, .production_id = 8), + [774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(405), + [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 2), + [778] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(409), + [781] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(141), + [784] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(861), + [787] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(29), + [790] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1224), + [793] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1256), + [796] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1225), + [799] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(313), + [802] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1458), + [805] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(467), + [808] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1288), + [811] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1296), + [814] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1401), + [817] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(408), + [820] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(159), + [823] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(864), + [826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(31), + [829] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1238), + [832] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1274), + [835] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1242), + [838] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(333), + [841] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1453), + [844] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(450), + [847] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1381), + [850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1384), + [853] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1316), + [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, .production_id = 8), + [858] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), + [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1273), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), + [870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(591), + [872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 4, .production_id = 44), + [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [880] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578), + [882] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 4, .production_id = 44), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [888] = {.entry = {.count = 1, .reusable = false}}, SHIFT(599), + [890] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, .production_id = 28), + [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, .production_id = 28), + [894] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 80), + [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 80), + [898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, .production_id = 23), + [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, .production_id = 23), + [902] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3), + [904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3), + [906] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, .production_id = 24), + [908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, .production_id = 24), + [910] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, .production_id = 26), + [912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, .production_id = 26), + [914] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1), + [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1), + [918] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, .production_id = 22), + [920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, .production_id = 22), + [922] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318), + [924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3), + [926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3), + [928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4, .production_id = 40), + [930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4, .production_id = 40), + [932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 70), + [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 70), + [936] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_non_case_statement, 2), + [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_non_case_statement, 2), + [940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 78), + [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 78), + [944] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, .production_id = 49), + [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, .production_id = 49), + [948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 79), + [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 79), + [952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, .production_id = 23), + [954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, .production_id = 23), + [956] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2), + [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2), + [960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 81), + [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 81), + [964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, .production_id = 58), + [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, .production_id = 58), + [968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2), + [970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2), + [972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, .production_id = 59), + [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, .production_id = 59), + [976] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2), + [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2), + [980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 61), + [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 61), + [984] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 5, .production_id = 62), + [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 5, .production_id = 62), + [988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6, .production_id = 69), + [990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6, .production_id = 69), + [992] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6), + [994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6), + [996] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2), + [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2), + [1000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2), + [1002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2), + [1004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, .production_id = 70), + [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, .production_id = 70), + [1008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 74), + [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 74), + [1012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 75), + [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 75), + [1016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 82), + [1018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 82), + [1020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 76), + [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 76), + [1024] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 77), + [1026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 77), + [1028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 3, .production_id = 14), + [1030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 3, .production_id = 14), + [1032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2), + [1034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2), + [1036] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, .production_id = 51), + [1038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, .production_id = 51), + [1040] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 6, .production_id = 66), + [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 6, .production_id = 66), + [1044] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 5, .production_id = 53), + [1046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 5, .production_id = 53), + [1048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, .production_id = 54), + [1050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, .production_id = 54), + [1052] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, .production_id = 35), + [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, .production_id = 35), + [1056] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 4, .production_id = 35), + [1058] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 4, .production_id = 35), + [1060] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 5, .production_id = 55), + [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 5, .production_id = 55), + [1064] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, .production_id = 29), + [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, .production_id = 29), + [1068] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 36), + [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 36), + [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 4, .production_id = 33), + [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 4, .production_id = 33), + [1076] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 14), + [1078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 14), + [1080] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 4, .production_id = 34), + [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 4, .production_id = 34), + [1084] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3), + [1086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [1090] = {.entry = {.count = 1, .reusable = false}}, SHIFT(514), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [1094] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [1098] = {.entry = {.count = 1, .reusable = false}}, SHIFT(553), + [1100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_linkage_specification, 3, .production_id = 18), + [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_linkage_specification, 3, .production_id = 18), + [1104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 3, .production_id = 15), + [1106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 3, .production_id = 15), + [1108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 3, .production_id = 14), + [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 3, .production_id = 14), + [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_include, 3, .production_id = 13), + [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_include, 3, .production_id = 13), + [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_statement, 2), + [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_statement, 2), + [1120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__empty_declaration, 2), + [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__empty_declaration, 2), + [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 2, .production_id = 3), + [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 2, .production_id = 3), + [1128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(319), + [1130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), + [1132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(372), + [1134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(619), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1239), + [1138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(618), + [1140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621), + [1142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(616), + [1144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(614), + [1146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(559), + [1148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(999), + [1150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3), + [1152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3), + [1154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4), + [1156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4), + [1158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(643), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548), + [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), + [1170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(558), + [1172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1), REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [1175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [1177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [1179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1), + [1181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1), REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [1184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(964), + [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1227), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1056), + [1190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), + [1194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1257), + [1196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429), + [1198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(876), + [1200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1415), + [1202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(931), + [1204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(679), + [1206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1344), + [1208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424), + [1210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(901), + [1212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1264), + [1214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, .production_id = 35), + [1216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(819), + [1218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(690), + [1220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(685), + [1222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(834), + [1224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(753), + [1226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 3, .production_id = 35), + [1228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(786), + [1230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(767), + [1232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(815), + [1234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(682), + [1236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(798), + [1238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(780), + [1240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_specifier, 1, .production_id = 1), + [1242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [1244] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__type_specifier, 1, .production_id = 1), REDUCE(sym__expression, 1), SHIFT(855), + [1248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), + [1250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_specifier, 1, .production_id = 1), REDUCE(sym__expression, 1), + [1253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_specifier, 1, .production_id = 1), + [1255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(527), + [1257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [1259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [1261] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_specifier, 1, .production_id = 1), REDUCE(sym__expression, 1), + [1264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [1266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [1270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1285), + [1272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [1274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [1276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1283), + [1278] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(876), + [1281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1415), + [1284] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(931), + [1287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), + [1289] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1344), + [1292] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1264), + [1295] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(687), + [1298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1454), + [1301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1273), + [1304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1451), + [1307] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(676), + [1310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(775), + [1313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(881), + [1316] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1208), + [1319] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1116), + [1322] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1114), + [1325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [1327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), + [1329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1396), + [1331] = {.entry = {.count = 1, .reusable = false}}, SHIFT(917), + [1333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1368), + [1335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1222), + [1337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873), + [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870), + [1341] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1416), + [1343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(904), + [1345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 2), + [1347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1386), + [1349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1267), + [1351] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1416), + [1354] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(904), + [1357] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1386), + [1360] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1267), + [1363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1396), + [1366] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(917), + [1369] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1368), + [1372] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1222), + [1375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), + [1377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 1), + [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [1381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1089), + [1383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(667), + [1385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(995), + [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1148), + [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1099), + [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1140), + [1401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103), + [1405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2), + [1407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2), + [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), + [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1139), + [1413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1083), + [1417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), + [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1125), + [1421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), + [1423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), + [1425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(1132), + [1428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1095), + [1432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [1434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1107), + [1436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [1438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [1440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [1442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [1444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [1448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [1450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [1454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [1456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [1458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [1462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [1466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [1470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [1472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [1476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [1478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [1480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [1482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [1484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [1486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [1488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [1494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [1498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [1504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [1506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [1508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1081), + [1510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1151), + [1512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [1514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1097), + [1516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1123), + [1518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [1520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1104), + [1522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [1526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1094), + [1528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1135), + [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), + [1534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3), + [1536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3), + [1538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [1540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [1542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [1544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [1548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1102), + [1550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [1552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [1554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1077), + [1556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [1558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1150), + [1560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3), + [1562] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3), + [1564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4), + [1566] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4), + [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [1570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2), + [1572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2), + [1574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 25), + [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [1578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 25), + [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1360), + [1586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, .production_id = 65), + [1588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(566), + [1590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(562), + [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), + [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [1596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(552), + [1598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(547), + [1600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(546), + [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [1604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(544), + [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), + [1608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(536), + [1610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, .production_id = 65), + [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [1614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, .production_id = 32), + [1616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 32), + [1618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, .production_id = 4), + [1620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, .production_id = 4), + [1622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 3), + [1624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 3), + [1626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_expression, 2, .production_id = 4), + [1628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_expression, 2, .production_id = 4), + [1630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 4), + [1632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), + [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [1636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [1638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 2, .production_id = 8), + [1640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 2, .production_id = 8), + [1642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, .production_id = 52), + [1644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, .production_id = 52), + [1646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3), + [1648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3), + [1650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 4), + [1652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 4), + [1654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, .production_id = 9), + [1656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, .production_id = 9), + [1658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [1660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, .production_id = 10), + [1662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, .production_id = 10), + [1664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 25), + [1666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 25), + [1668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 5), + [1670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 5), + [1672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, .production_id = 39), + [1674] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, .production_id = 39), + [1676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 4, .production_id = 39), + [1678] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 4, .production_id = 39), + [1680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 2), + [1682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 2), + [1684] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), + [1686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), + [1688] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), SHIFT_REPEAT(1239), + [1691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [1693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(541), + [1695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554), + [1697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(518), + [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [1701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(517), + [1703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), + [1705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [1707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(529), + [1709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(526), + [1711] = {.entry = {.count = 1, .reusable = false}}, SHIFT(520), + [1713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [1715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [1717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(611), + [1719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [1721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), + [1723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), + [1725] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(687), + [1728] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(1454), + [1731] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(1273), + [1734] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(1451), + [1737] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(676), + [1740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1080), + [1742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 1, .dynamic_precedence = 1), + [1744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1003), + [1746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1004), + [1748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), + [1752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2), + [1754] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(667), + [1757] = {.entry = {.count = 1, .reusable = false}}, SHIFT(574), + [1759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [1761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(511), + [1763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), + [1765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [1767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [1769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(604), + [1771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [1773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(557), + [1775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [1777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(582), + [1779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), + [1781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [1783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_specifier, 4), + [1785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_specifier, 4), + [1787] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_declspec_modifier, 4), + [1789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_declspec_modifier, 4), + [1791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualifier, 1), + [1793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualifier, 1), + [1795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 49), + [1797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 49), + [1799] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, .production_id = 55), + [1801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, .production_id = 55), + [1803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, .production_id = 37), + [1805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, .production_id = 37), + [1807] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, .production_id = 28), + [1809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, .production_id = 28), + [1811] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, .production_id = 14), + [1813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, .production_id = 14), + [1815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, .production_id = 37), + [1817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, .production_id = 37), + [1819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, .production_id = 35), + [1821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, .production_id = 35), + [1823] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 36), + [1825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 36), + [1827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 14), + [1829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 14), + [1831] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 28), + [1833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 28), + [1835] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_class_specifier, 1), + [1837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1), + [1839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [1843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [1845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567), + [1847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 35), + [1849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 35), + [1851] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 54), + [1853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 54), + [1855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, .production_id = 49), + [1857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, .production_id = 49), + [1859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, .production_id = 66), + [1861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, .production_id = 66), + [1863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641), + [1865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [1867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comma_expression, 3, .production_id = 31), + [1869] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 1, .production_id = 2), + [1871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 1, .production_id = 2), + [1873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, .production_id = 60), + [1875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 3, .production_id = 48), + [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [1889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, .production_id = 73), + [1891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2), + [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [1899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [1903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [1905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [1907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [1909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 11), + [1911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 11), + [1913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [1915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [1917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [1919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [1921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [1923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [1925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 2), + [1927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 2), + [1929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), + [1931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2), + [1933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [1935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [1937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [1939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [1941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [1943] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 3, .production_id = 11), + [1945] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 3, .production_id = 11), + [1947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [1949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [1951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [1953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [1955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [1957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [1959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [1961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [1963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [1965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [1967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [1969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [1971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(597), + [1973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [1975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(595), + [1977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), + [1979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [1981] = {.entry = {.count = 1, .reusable = false}}, SHIFT(572), + [1983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [1985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(569), + [1987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), + [1989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(525), + [1991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [1993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [1995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [1997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [2001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [2003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [2005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [2007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1187), + [2009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), + [2011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), + [2013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1146), + [2015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [2017] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), + [2019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), + [2021] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(774), + [2024] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1), SHIFT(891), + [2027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1), + [2029] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1), + [2031] = {.entry = {.count = 1, .reusable = false}}, SHIFT(774), + [2033] = {.entry = {.count = 1, .reusable = false}}, SHIFT(892), + [2035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [2037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [2039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [2041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [2043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [2045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [2047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [2049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [2051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [2053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [2055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [2057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [2059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), + [2061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_clause, 2), + [2063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, .dynamic_precedence = 1), + [2065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1043), + [2067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837), + [2069] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1090), + [2071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1040), + [2073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(839), + [2075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1108), + [2077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1028), + [2079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(842), + [2081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [2083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [2085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [2087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [2089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, .production_id = 20), + [2091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, .production_id = 20), + [2093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [2095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, .production_id = 6), + [2097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, .production_id = 6), + [2099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1144), + [2101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, .production_id = 6), + [2103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, .production_id = 6), + [2105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, .production_id = 20), + [2107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, .production_id = 20), + [2109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, .production_id = 6), + [2111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, .production_id = 6), + [2113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1), + [2115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894), + [2117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__preproc_expression, 1), + [2119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_type_specifier, 4, .dynamic_precedence = -1, .production_id = 45), + [2121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_type_specifier, 4, .dynamic_precedence = -1, .production_id = 45), + [2123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2), + [2125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2), + [2127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, .production_id = 43), + [2129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, .production_id = 43), + [2131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, .production_id = 43), + [2133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, .production_id = 43), + [2135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3), + [2137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3), + [2139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 3), + [2141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 3), + [2143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(889), + [2145] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [2147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_specifier, 1, .production_id = 1), SHIFT(855), + [2150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, .production_id = 7), + [2152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, .production_id = 7), + [2154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, .production_id = 7), + [2156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, .production_id = 7), + [2158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, .production_id = 7), + [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, .production_id = 7), + [2162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 4), + [2164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 4), + [2166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_specifier, 1), + [2168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_specifier, 1), + [2170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934), + [2172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(979), + [2174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(919), + [2176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(920), + [2178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(920), + [2180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921), + [2182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922), + [2184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(923), + [2186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(898), + [2188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(926), + [2190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(927), + [2192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(928), + [2194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928), + [2196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929), + [2198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, .production_id = 19), + [2200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, .production_id = 19), + [2202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, .production_id = 21), + [2204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, .production_id = 21), + [2206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, .production_id = 19), + [2208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, .production_id = 19), + [2210] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(676), + [2213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 2), + [2215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 2), + [2217] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, .production_id = 21), + [2219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, .production_id = 21), + [2221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(867), + [2223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(976), + [2225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(925), + [2227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1252), + [2229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950), + [2231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(950), + [2233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(882), + [2235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1243), + [2237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(939), + [2239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, .dynamic_precedence = -1, .production_id = 12), + [2241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, .dynamic_precedence = -1, .production_id = 12), + [2243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, .production_id = 11), + [2245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, .production_id = 11), + [2247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 5), + [2249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 5), + [2251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948), + [2253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(890), + [2255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, .production_id = 19), + [2257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, .production_id = 19), + [2259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_call_modifier, 1), + [2261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_call_modifier, 1), + [2263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 4), + [2265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 4), + [2267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946), + [2269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(875), + [2271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(936), + [2273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1265), + [2275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(940), + [2277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(940), + [2279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(970), + [2281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1251), + [2283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(971), + [2285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(981), + [2287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955), + [2289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(972), + [2291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(958), + [2293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(973), + [2295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2), + [2297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978), + [2299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954), + [2301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(961), + [2303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963), + [2305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(965), + [2307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(966), + [2309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call_expression, 2, .production_id = 10), + [2311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call_expression, 2, .production_id = 10), + [2313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, .production_id = 25), + [2315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_binary_expression, 3, .production_id = 25), + [2317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 2), + [2319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 2), + [2321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959), + [2323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, .production_id = 4), + [2325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_unary_expression, 2, .production_id = 4), + [2327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938), + [2329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942), + [2331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943), + [2333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(944), + [2335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(945), + [2337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(969), + [2339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(982), + [2341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), + [2343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(914), + [2345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949), + [2347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(951), + [2349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(968), + [2351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(977), + [2353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3), + [2355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_parenthesized_expression, 3), + [2357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 4), + [2359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 4), + [2361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(906), + [2363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, .production_id = 37), + [2365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956), + [2367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(967), + [2369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 3), + [2371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 3), + [2373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(960), + [2375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974), + [2377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 2), + [2379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 2), + [2381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(918), + [2383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(941), + [2385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(905), + [2387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(907), + [2389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [2391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(903), + [2393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(900), + [2395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(912), + [2397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(911), + [2399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(910), + [2401] = {.entry = {.count = 1, .reusable = false}}, SHIFT(909), + [2403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(908), + [2405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(975), + [2407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [2409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [2411] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1), REDUCE(sym__type_specifier, 1, .production_id = 1), + [2414] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__declarator, 1), REDUCE(sym__type_specifier, 1, .production_id = 1), SHIFT(855), + [2418] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1), REDUCE(sym__type_specifier, 1, .production_id = 1), + [2421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [2423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [2425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [2427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [2429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [2431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [2433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(932), + [2435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(676), + [2437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, .production_id = 11), + [2439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, .production_id = 11), + [2441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), + [2443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), + [2445] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), SHIFT_REPEAT(1003), + [2448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), SHIFT_REPEAT(1004), + [2451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 1, .production_id = 2), + [2453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, .production_id = 2), + [2455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(891), + [2457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(835), + [2459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [2461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680), + [2463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(748), + [2465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_pointer_modifier, 1), + [2467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_pointer_modifier, 1), + [2469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1), + [2471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1), + [2473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005), + [2475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), + [2477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [2479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), + [2481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [2483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [2485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [2487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [2489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1022), + [2491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), + [2493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(428), + [2495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(818), + [2497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 4, .dynamic_precedence = 1, .production_id = 63), + [2499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2), + [2501] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2), SHIFT_REPEAT(1454), + [2504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2), + [2506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824), + [2508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 2, .dynamic_precedence = 1, .production_id = 27), + [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 5, .dynamic_precedence = 1, .production_id = 71), + [2512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 3, .dynamic_precedence = 1, .production_id = 46), + [2514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 3, .production_id = 30), + [2516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1454), + [2518] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 3, .production_id = 30), + [2520] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), SHIFT_REPEAT(1275), + [2523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 2, .production_id = 30), + [2525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 2, .production_id = 30), + [2527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4), + [2529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4), + [2531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_declarator, 2), + [2533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_declarator, 2), + [2535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 5, .dynamic_precedence = 1, .production_id = 71), + [2537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 2, .dynamic_precedence = 1, .production_id = 27), + [2539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 3, .dynamic_precedence = 1, .production_id = 46), + [2541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 4, .dynamic_precedence = 1, .production_id = 63), + [2543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3), + [2545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3), + [2547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2), + [2549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2), + [2551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1033), + [2553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [2555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(438), + [2557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [2559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1185), + [2561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1147), + [2563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1391), + [2565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [2567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 3, .dynamic_precedence = 1, .production_id = 46), + [2569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [2571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1172), + [2573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1379), + [2575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [2577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 5, .dynamic_precedence = 1, .production_id = 71), + [2579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [2581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1165), + [2583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1287), + [2585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 2, .dynamic_precedence = 1, .production_id = 27), + [2587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [2589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, .production_id = 27), + [2591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_field_declarator, 2), + [2593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_field_declarator, 2), + [2595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 4, .dynamic_precedence = 1, .production_id = 63), + [2597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, .production_id = 27), + [2599] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1191), + [2601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1430), + [2603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [2605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 5, .production_id = 72), + [2607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 5, .production_id = 72), + [2609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_type_declarator, 2), + [2611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_type_declarator, 2), + [2613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 3, .dynamic_precedence = -10), + [2615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 3, .dynamic_precedence = -10), + [2617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declarator, 1), + [2619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declarator, 1), + [2621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, .production_id = 64), + [2623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, .production_id = 64), + [2625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, .production_id = 47), + [2627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, .production_id = 47), + [2629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat2, 2, .production_id = 27), + [2631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, .production_id = 28), + [2633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 3, .production_id = 47), + [2635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 3, .production_id = 47), + [2637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, .production_id = 42), + [2639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, .production_id = 42), + [2641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1079), + [2643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1100), + [2645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 2, .production_id = 30), + [2647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 2, .production_id = 30), + [2649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 5, .production_id = 72), + [2651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 5, .production_id = 72), + [2653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, .production_id = 47), + [2655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, .production_id = 47), + [2657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1), + [2659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1), + [2661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, .production_id = 64), + [2663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, .production_id = 64), + [2665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1110), + [2667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 3, .production_id = 47), + [2669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 3, .production_id = 47), + [2671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 3, .dynamic_precedence = -10), + [2673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 3, .dynamic_precedence = -10), + [2675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_declarator, 2, .production_id = 30), + [2677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_declarator, 2, .production_id = 30), + [2679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 5, .production_id = 72), + [2681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 5, .production_id = 72), + [2683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, .production_id = 47), + [2685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, .production_id = 47), + [2687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, .production_id = 64), + [2689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, .production_id = 64), + [2691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [2693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1283), + [2695] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2), SHIFT_REPEAT(606), + [2698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2), + [2700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2), SHIFT_REPEAT(1283), + [2703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 3, .production_id = 47), + [2705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 3, .production_id = 47), + [2707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, .production_id = 1), + [2709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, .production_id = 1), + [2711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1), + [2713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1), + [2715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 3, .dynamic_precedence = -10), + [2717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 3, .dynamic_precedence = -10), + [2719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, .dynamic_precedence = 1, .production_id = 46), + [2721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [2723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [2725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792), + [2727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(856), + [2729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, .dynamic_precedence = 1, .production_id = 27), + [2731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(858), + [2733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, .production_id = 5), + [2735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1382), + [2737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [2739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), + [2741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1194), + [2743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1357), + [2745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(800), + [2747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1311), + [2749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 3), + [2751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, .production_id = 56), + [2753] = {.entry = {.count = 1, .reusable = false}}, SHIFT(828), + [2755] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1305), + [2757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, .production_id = 47), + [2759] = {.entry = {.count = 1, .reusable = false}}, SHIFT(674), + [2761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1299), + [2763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), + [2765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1152), + [2767] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1152), + [2769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 4, .production_id = 57), + [2771] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, .production_id = 50), SHIFT_REPEAT(1022), + [2774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, .production_id = 50), + [2776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1369), + [2778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 41), + [2780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), + [2782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1127), + [2784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1127), + [2786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, .production_id = 40), + [2788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, .production_id = 38), + [2790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 5, .production_id = 72), + [2792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, .production_id = 16), + [2794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, .production_id = 30), + [2796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270), + [2798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1405), + [2800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 47), + [2802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 2), + [2804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__abstract_declarator, 1), + [2806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), + [2808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1395), + [2810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 1, .production_id = 17), + [2812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1158), + [2814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1373), + [2816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(887), + [2818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), + [2820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1293), + [2822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729), + [2824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1153), + [2826] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1153), + [2828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1372), + [2830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1130), + [2832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1130), + [2834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3), + [2836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1122), + [2838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 64), + [2840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 67), + [2842] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [2844] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(1152), + [2847] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(1152), + [2850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(712), + [2852] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2), SHIFT_REPEAT(1218), + [2855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2), + [2857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), + [2859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [2861] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2), SHIFT_REPEAT(570), + [2864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, .production_id = 5), + [2866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), + [2868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1244), + [2870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [2872] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2), SHIFT_REPEAT(934), + [2875] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2), SHIFT_REPEAT(1220), + [2878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2), + [2880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198), + [2882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874), + [2884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [2886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [2888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [2890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220), + [2892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1215), + [2894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [2896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [2898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(620), + [2901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), + [2903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(853), + [2905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_designator, 2, .production_id = 68), + [2907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [2909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [2911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1055), + [2913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [2915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [2917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), + [2919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [2921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [2923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [2925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [2927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [2929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(893), + [2931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933), + [2933] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2), SHIFT_REPEAT(421), + [2936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [2938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [2940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_designator, 3), + [2942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [2944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [2946] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat2, 2, .production_id = 50), SHIFT_REPEAT(1033), + [2949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat2, 2, .production_id = 50), + [2951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [2953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(684), + [2955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [2957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1166), + [2959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230), + [2961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [2963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2), SHIFT_REPEAT(1244), + [2966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2), + [2968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [2970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(880), + [2972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [2974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1182), + [2976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [2978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [2980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857), + [2982] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, .production_id = 50), SHIFT_REPEAT(1005), + [2985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, .production_id = 50), + [2987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [2989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962), + [2991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854), + [2993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1047), + [2995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1234), + [2997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [2999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(681), + [3001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [3003] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), + [3005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1378), + [3007] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 3), + [3009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), + [3011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1236), + [3013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(832), + [3015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1313), + [3017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), + [3019] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1424), + [3021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), + [3023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter, 1), + [3025] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), + [3027] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1276), + [3029] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 2), + [3031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 4), + [3033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1117), + [3035] = {.entry = {.count = 1, .reusable = false}}, SHIFT(756), + [3037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1291), + [3039] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1358), + [3041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, .production_id = 5), + [3043] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, .production_id = 41), + [3045] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1404), + [3047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(915), + [3049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1341), + [3051] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [3053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1394), + [3055] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292), + [3057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1355), + [3059] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285), + [3061] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1434), + [3063] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303), + [3065] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1292), + [3067] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257), + [3069] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1295), + [3071] = {.entry = {.count = 1, .reusable = false}}, SHIFT(675), + [3073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1298), + [3075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952), + [3077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1393), + [3079] = {.entry = {.count = 1, .reusable = false}}, SHIFT(671), + [3081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1301), + [3083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(829), + [3085] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1304), + [3087] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1406), + [3089] = {.entry = {.count = 1, .reusable = false}}, SHIFT(769), + [3091] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1307), + [3093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [3095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770), + [3097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772), + [3099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1171), + [3101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [3103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), + [3105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), + [3107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [3109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [3111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [3113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [3115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [3117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [3119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(673), + [3121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672), + [3123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670), + [3125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [3127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826), + [3129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781), + [3131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [3133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(751), + [3135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [3137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1138), + [3139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [3141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(758), + [3143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [3145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799), + [3147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1402), + [3149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [3151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [3153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782), + [3155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), + [3157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(787), + [3159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779), + [3161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783), + [3163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [3165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(820), + [3167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [3169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(846), + [3171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 4, .production_id = 54), + [3173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(796), + [3175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811), + [3177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [3179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [3181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449), + [3183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(817), + [3185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 5, .production_id = 66), + [3187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [3189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [3191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [3193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [3195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [3197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814), + [3199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [3201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [3203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [3205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(953), + [3207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [3209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, .production_id = 54), + [3211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [3213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(916), + [3215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 5, .production_id = 66), + [3217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), + [3219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_based_modifier, 2), + [3221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [3223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(869), + [3225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [3227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), + [3229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [3231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1120), + [3233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [3235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [3237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [3239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), + [3241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1362), + [3243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [3245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [3247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1131), + [3249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), + [3251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [3253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845), + [3255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [3257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [3259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [3261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [3263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [3265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1354), + [3267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [3269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [3271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1121), + [3273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [3275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [3277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1142), + [3279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1302), + [3281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [3283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848), + [3285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(980), + [3287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [3289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [3291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [3293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233), + [3295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(693), + [3297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [3299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1145), + [3301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1126), + [3303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1124), + [3305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1376), + [3307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [3309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692), + [3311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [3313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [3315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [3317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669), + [3319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1217), + [3321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691), + [3323] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [3325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [3327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [3329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1408), + [3331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [3333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1246), + [3335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [3337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [3339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [3341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [3343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677), + [3345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1259), + [3347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686), + [3349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897), + [3351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1418), + [3353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(683), + [3355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [3357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1262), + [3359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [3361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [3363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [3365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), +}; + +#ifdef __cplusplus +extern "C" { +#endif +#ifdef _WIN32 +#define extern __declspec(dllexport) +#endif + +extern const TSLanguage *tree_sitter_c(void) { + static const TSLanguage language = { + .version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .field_names = ts_field_names, + .field_map_slices = ts_field_map_slices, + .field_map_entries = ts_field_map_entries, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym_identifier, + }; + return &language; +} +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/non-source/foreign/tree-sitter/lang/cpp/parser.c b/non-source/foreign/tree-sitter/lang/cpp/parser.c new file mode 100644 index 00000000..9564a5a4 --- /dev/null +++ b/non-source/foreign/tree-sitter/lang/cpp/parser.c @@ -0,0 +1,336887 @@ +#include + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#ifdef _MSC_VER +#pragma optimize("", off) +#elif defined(__clang__) +#pragma clang optimize off +#elif defined(__GNUC__) +#pragma GCC optimize ("O0") +#endif + +#define LANGUAGE_VERSION 13 +#define STATE_COUNT 6497 +#define LARGE_STATE_COUNT 1505 +#define SYMBOL_COUNT 419 +#define ALIAS_COUNT 5 +#define TOKEN_COUNT 171 +#define EXTERNAL_TOKEN_COUNT 1 +#define FIELD_COUNT 37 +#define MAX_ALIAS_SEQUENCE_LENGTH 9 +#define PRODUCTION_ID_COUNT 166 + +enum { + sym_identifier = 1, + aux_sym_preproc_include_token1 = 2, + anon_sym_LF = 3, + aux_sym_preproc_def_token1 = 4, + anon_sym_LPAREN = 5, + anon_sym_DOT_DOT_DOT = 6, + anon_sym_COMMA = 7, + anon_sym_RPAREN = 8, + aux_sym_preproc_if_token1 = 9, + aux_sym_preproc_if_token2 = 10, + aux_sym_preproc_ifdef_token1 = 11, + aux_sym_preproc_ifdef_token2 = 12, + aux_sym_preproc_else_token1 = 13, + aux_sym_preproc_elif_token1 = 14, + sym_preproc_directive = 15, + sym_preproc_arg = 16, + anon_sym_LPAREN2 = 17, + anon_sym_defined = 18, + anon_sym_BANG = 19, + anon_sym_TILDE = 20, + anon_sym_DASH = 21, + anon_sym_PLUS = 22, + anon_sym_STAR = 23, + anon_sym_SLASH = 24, + anon_sym_PERCENT = 25, + anon_sym_PIPE_PIPE = 26, + anon_sym_AMP_AMP = 27, + anon_sym_PIPE = 28, + anon_sym_CARET = 29, + anon_sym_AMP = 30, + anon_sym_EQ_EQ = 31, + anon_sym_BANG_EQ = 32, + anon_sym_GT = 33, + anon_sym_GT_EQ = 34, + anon_sym_LT_EQ = 35, + anon_sym_LT = 36, + anon_sym_LT_LT = 37, + anon_sym_GT_GT = 38, + anon_sym_SEMI = 39, + anon_sym_typedef = 40, + anon_sym_extern = 41, + anon_sym___attribute__ = 42, + anon_sym_COLON_COLON = 43, + anon_sym_LBRACK_LBRACK = 44, + anon_sym_RBRACK_RBRACK = 45, + anon_sym___declspec = 46, + anon_sym___based = 47, + anon_sym___cdecl = 48, + anon_sym___clrcall = 49, + anon_sym___stdcall = 50, + anon_sym___fastcall = 51, + anon_sym___thiscall = 52, + anon_sym___vectorcall = 53, + sym_ms_restrict_modifier = 54, + sym_ms_unsigned_ptr_modifier = 55, + sym_ms_signed_ptr_modifier = 56, + anon_sym__unaligned = 57, + anon_sym___unaligned = 58, + anon_sym_LBRACE = 59, + anon_sym_RBRACE = 60, + anon_sym_LBRACK = 61, + anon_sym_RBRACK = 62, + anon_sym_EQ = 63, + anon_sym_static = 64, + anon_sym_register = 65, + anon_sym_inline = 66, + anon_sym_thread_local = 67, + anon_sym_const = 68, + anon_sym_volatile = 69, + anon_sym_restrict = 70, + anon_sym__Atomic = 71, + anon_sym_mutable = 72, + anon_sym_constexpr = 73, + anon_sym_constinit = 74, + anon_sym_consteval = 75, + anon_sym_signed = 76, + anon_sym_unsigned = 77, + anon_sym_long = 78, + anon_sym_short = 79, + sym_primitive_type = 80, + anon_sym_enum = 81, + anon_sym_class = 82, + anon_sym_struct = 83, + anon_sym_union = 84, + anon_sym_COLON = 85, + anon_sym_if = 86, + anon_sym_else = 87, + anon_sym_switch = 88, + anon_sym_case = 89, + anon_sym_default = 90, + anon_sym_while = 91, + anon_sym_do = 92, + anon_sym_for = 93, + anon_sym_return = 94, + anon_sym_break = 95, + anon_sym_continue = 96, + anon_sym_goto = 97, + anon_sym_QMARK = 98, + anon_sym_STAR_EQ = 99, + anon_sym_SLASH_EQ = 100, + anon_sym_PERCENT_EQ = 101, + anon_sym_PLUS_EQ = 102, + anon_sym_DASH_EQ = 103, + anon_sym_LT_LT_EQ = 104, + anon_sym_GT_GT_EQ = 105, + anon_sym_AMP_EQ = 106, + anon_sym_CARET_EQ = 107, + anon_sym_PIPE_EQ = 108, + anon_sym_LT_EQ_GT = 109, + anon_sym_DASH_DASH = 110, + anon_sym_PLUS_PLUS = 111, + anon_sym_sizeof = 112, + anon_sym_DOT = 113, + anon_sym_DASH_GT = 114, + sym_number_literal = 115, + anon_sym_L_SQUOTE = 116, + anon_sym_u_SQUOTE = 117, + anon_sym_U_SQUOTE = 118, + anon_sym_u8_SQUOTE = 119, + anon_sym_SQUOTE = 120, + aux_sym_char_literal_token1 = 121, + anon_sym_L_DQUOTE = 122, + anon_sym_u_DQUOTE = 123, + anon_sym_U_DQUOTE = 124, + anon_sym_u8_DQUOTE = 125, + anon_sym_DQUOTE = 126, + aux_sym_string_literal_token1 = 127, + sym_escape_sequence = 128, + sym_system_lib_string = 129, + sym_true = 130, + sym_false = 131, + sym_null = 132, + sym_comment = 133, + sym_auto = 134, + anon_sym_decltype = 135, + anon_sym_final = 136, + anon_sym_override = 137, + anon_sym_virtual = 138, + anon_sym_explicit = 139, + anon_sym_public = 140, + anon_sym_private = 141, + anon_sym_protected = 142, + anon_sym_typename = 143, + anon_sym_template = 144, + anon_sym_GT2 = 145, + anon_sym_operator = 146, + anon_sym_delete = 147, + anon_sym_friend = 148, + anon_sym_noexcept = 149, + anon_sym_throw = 150, + anon_sym_namespace = 151, + anon_sym_using = 152, + anon_sym_static_assert = 153, + anon_sym_concept = 154, + anon_sym_co_return = 155, + anon_sym_co_yield = 156, + anon_sym_try = 157, + anon_sym_catch = 158, + anon_sym_co_await = 159, + anon_sym_new = 160, + anon_sym_requires = 161, + anon_sym_DOT_STAR = 162, + anon_sym_DASH_GT_STAR = 163, + anon_sym_LPAREN_RPAREN = 164, + anon_sym_LBRACK_RBRACK = 165, + anon_sym_DQUOTE_DQUOTE = 166, + sym_this = 167, + sym_nullptr = 168, + sym_literal_suffix = 169, + sym_raw_string_literal = 170, + sym_translation_unit = 171, + sym_preproc_include = 172, + sym_preproc_def = 173, + sym_preproc_function_def = 174, + sym_preproc_params = 175, + sym_preproc_call = 176, + sym_preproc_if = 177, + sym_preproc_ifdef = 178, + sym_preproc_else = 179, + sym_preproc_elif = 180, + sym_preproc_if_in_field_declaration_list = 181, + sym_preproc_ifdef_in_field_declaration_list = 182, + sym_preproc_else_in_field_declaration_list = 183, + sym_preproc_elif_in_field_declaration_list = 184, + sym__preproc_expression = 185, + sym_preproc_parenthesized_expression = 186, + sym_preproc_defined = 187, + sym_preproc_unary_expression = 188, + sym_preproc_call_expression = 189, + sym_preproc_argument_list = 190, + sym_preproc_binary_expression = 191, + sym_function_definition = 192, + sym_declaration = 193, + sym_type_definition = 194, + sym__declaration_modifiers = 195, + sym__declaration_specifiers = 196, + sym_linkage_specification = 197, + sym_attribute_specifier = 198, + sym_attribute = 199, + sym_attribute_declaration = 200, + sym_ms_declspec_modifier = 201, + sym_ms_based_modifier = 202, + sym_ms_call_modifier = 203, + sym_ms_unaligned_ptr_modifier = 204, + sym_ms_pointer_modifier = 205, + sym_declaration_list = 206, + sym__declarator = 207, + sym__field_declarator = 208, + sym__type_declarator = 209, + sym__abstract_declarator = 210, + sym_parenthesized_declarator = 211, + sym_parenthesized_field_declarator = 212, + sym_parenthesized_type_declarator = 213, + sym_abstract_parenthesized_declarator = 214, + sym_attributed_declarator = 215, + sym_attributed_field_declarator = 216, + sym_attributed_type_declarator = 217, + sym_pointer_declarator = 218, + sym_pointer_field_declarator = 219, + sym_pointer_type_declarator = 220, + sym_abstract_pointer_declarator = 221, + sym_function_declarator = 222, + sym_function_field_declarator = 223, + sym_function_type_declarator = 224, + sym_abstract_function_declarator = 225, + sym_array_declarator = 226, + sym_array_field_declarator = 227, + sym_array_type_declarator = 228, + sym_abstract_array_declarator = 229, + sym_init_declarator = 230, + sym_compound_statement = 231, + sym_storage_class_specifier = 232, + sym_type_qualifier = 233, + sym__type_specifier = 234, + sym_sized_type_specifier = 235, + sym_enum_specifier = 236, + sym_enumerator_list = 237, + sym_struct_specifier = 238, + sym_union_specifier = 239, + sym_field_declaration_list = 240, + sym__field_declaration_list_item = 241, + sym_field_declaration = 242, + sym_bitfield_clause = 243, + sym_enumerator = 244, + sym_parameter_list = 245, + sym_parameter_declaration = 246, + sym_attributed_statement = 247, + sym_attributed_non_case_statement = 248, + sym_labeled_statement = 249, + sym_expression_statement = 250, + sym_if_statement = 251, + sym_switch_statement = 252, + sym_case_statement = 253, + sym_while_statement = 254, + sym_do_statement = 255, + sym_for_statement = 256, + sym_return_statement = 257, + sym_break_statement = 258, + sym_continue_statement = 259, + sym_goto_statement = 260, + sym__expression = 261, + sym_comma_expression = 262, + sym_conditional_expression = 263, + sym_assignment_expression = 264, + sym_pointer_expression = 265, + sym_unary_expression = 266, + sym_binary_expression = 267, + sym_update_expression = 268, + sym_cast_expression = 269, + sym_type_descriptor = 270, + sym_sizeof_expression = 271, + sym_subscript_expression = 272, + sym_call_expression = 273, + sym_argument_list = 274, + sym_field_expression = 275, + sym_compound_literal_expression = 276, + sym_parenthesized_expression = 277, + sym_initializer_list = 278, + sym_initializer_pair = 279, + sym_subscript_designator = 280, + sym_field_designator = 281, + sym_char_literal = 282, + sym_concatenated_string = 283, + sym_string_literal = 284, + sym__empty_declaration = 285, + sym_placeholder_type_specifier = 286, + sym_decltype_auto = 287, + sym_decltype = 288, + sym_class_specifier = 289, + sym__class_name = 290, + sym_virtual_specifier = 291, + sym_virtual_function_specifier = 292, + sym_explicit_function_specifier = 293, + sym_base_class_clause = 294, + sym__enum_base_clause = 295, + sym_dependent_type = 296, + sym_template_declaration = 297, + sym_template_instantiation = 298, + sym_template_parameter_list = 299, + sym_type_parameter_declaration = 300, + sym_variadic_type_parameter_declaration = 301, + sym_optional_type_parameter_declaration = 302, + sym_template_template_parameter_declaration = 303, + sym_optional_parameter_declaration = 304, + sym_variadic_parameter_declaration = 305, + sym_variadic_declarator = 306, + sym_variadic_reference_declarator = 307, + sym_operator_cast = 308, + sym_field_initializer_list = 309, + sym_field_initializer = 310, + sym_inline_method_definition = 311, + sym__constructor_specifiers = 312, + sym_operator_cast_definition = 313, + sym_operator_cast_declaration = 314, + sym_constructor_or_destructor_definition = 315, + sym_constructor_or_destructor_declaration = 316, + sym_default_method_clause = 317, + sym_delete_method_clause = 318, + sym_friend_declaration = 319, + sym_access_specifier = 320, + sym_reference_declarator = 321, + sym_reference_field_declarator = 322, + sym_abstract_reference_declarator = 323, + sym_structured_binding_declarator = 324, + sym_ref_qualifier = 325, + sym_trailing_return_type = 326, + sym_noexcept = 327, + sym_throw_specifier = 328, + sym_template_type = 329, + sym_template_method = 330, + sym_template_function = 331, + sym_template_argument_list = 332, + sym_namespace_definition = 333, + sym_namespace_alias_definition = 334, + sym_namespace_definition_name = 335, + sym_using_declaration = 336, + sym_alias_declaration = 337, + sym_static_assert_declaration = 338, + sym_concept_definition = 339, + sym_condition_clause = 340, + sym_condition_declaration = 341, + sym_for_range_loop = 342, + sym_co_return_statement = 343, + sym_co_yield_statement = 344, + sym_throw_statement = 345, + sym_try_statement = 346, + sym_catch_clause = 347, + sym_co_await_expression = 348, + sym_new_expression = 349, + sym_new_declarator = 350, + sym_delete_expression = 351, + sym_type_requirement = 352, + sym_compound_requirement = 353, + sym__requirement = 354, + sym_requirement_seq = 355, + sym_constraint_conjunction = 356, + sym_constraint_disjunction = 357, + sym__requirement_clause_constraint = 358, + sym_requires_clause = 359, + sym_requires_parameter_list = 360, + sym_requires_expression = 361, + sym_lambda_expression = 362, + sym_lambda_capture_specifier = 363, + sym_lambda_default_capture = 364, + sym__fold_operator = 365, + sym__binary_fold_operator = 366, + sym__unary_left_fold = 367, + sym__unary_right_fold = 368, + sym__binary_fold = 369, + sym_fold_expression = 370, + sym_parameter_pack_expansion = 371, + sym_type_parameter_pack_expansion = 372, + sym_destructor_name = 373, + sym_dependent_identifier = 374, + sym_dependent_field_identifier = 375, + sym_dependent_type_identifier = 376, + sym__scope_resolution = 377, + sym_qualified_field_identifier = 378, + sym_qualified_identifier = 379, + sym_qualified_type_identifier = 380, + sym_qualified_operator_cast_identifier = 381, + sym_operator_name = 382, + sym_user_defined_literal = 383, + aux_sym_translation_unit_repeat1 = 384, + aux_sym_preproc_params_repeat1 = 385, + aux_sym_preproc_if_in_field_declaration_list_repeat1 = 386, + aux_sym_preproc_argument_list_repeat1 = 387, + aux_sym_declaration_repeat1 = 388, + aux_sym_type_definition_repeat1 = 389, + aux_sym_type_definition_repeat2 = 390, + aux_sym__declaration_specifiers_repeat1 = 391, + aux_sym_attribute_declaration_repeat1 = 392, + aux_sym_attributed_declarator_repeat1 = 393, + aux_sym_pointer_declarator_repeat1 = 394, + aux_sym_function_declarator_repeat1 = 395, + aux_sym_function_declarator_repeat2 = 396, + aux_sym_abstract_function_declarator_repeat1 = 397, + aux_sym_sized_type_specifier_repeat1 = 398, + aux_sym_enumerator_list_repeat1 = 399, + aux_sym_field_declaration_repeat1 = 400, + aux_sym_parameter_list_repeat1 = 401, + aux_sym_case_statement_repeat1 = 402, + aux_sym_argument_list_repeat1 = 403, + aux_sym_initializer_list_repeat1 = 404, + aux_sym_initializer_pair_repeat1 = 405, + aux_sym_concatenated_string_repeat1 = 406, + aux_sym_string_literal_repeat1 = 407, + aux_sym_base_class_clause_repeat1 = 408, + aux_sym_template_parameter_list_repeat1 = 409, + aux_sym_field_initializer_list_repeat1 = 410, + aux_sym_operator_cast_definition_repeat1 = 411, + aux_sym_structured_binding_declarator_repeat1 = 412, + aux_sym_throw_specifier_repeat1 = 413, + aux_sym_template_argument_list_repeat1 = 414, + aux_sym_try_statement_repeat1 = 415, + aux_sym_requirement_seq_repeat1 = 416, + aux_sym_requires_parameter_list_repeat1 = 417, + aux_sym_lambda_capture_specifier_repeat1 = 418, + alias_sym_field_identifier = 419, + alias_sym_namespace_identifier = 420, + alias_sym_simple_requirement = 421, + alias_sym_statement_identifier = 422, + alias_sym_type_identifier = 423, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym_identifier] = "identifier", + [aux_sym_preproc_include_token1] = "#include", + [anon_sym_LF] = "\n", + [aux_sym_preproc_def_token1] = "#define", + [anon_sym_LPAREN] = "(", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_COMMA] = ",", + [anon_sym_RPAREN] = ")", + [aux_sym_preproc_if_token1] = "#if", + [aux_sym_preproc_if_token2] = "#endif", + [aux_sym_preproc_ifdef_token1] = "#ifdef", + [aux_sym_preproc_ifdef_token2] = "#ifndef", + [aux_sym_preproc_else_token1] = "#else", + [aux_sym_preproc_elif_token1] = "#elif", + [sym_preproc_directive] = "preproc_directive", + [sym_preproc_arg] = "preproc_arg", + [anon_sym_LPAREN2] = "(", + [anon_sym_defined] = "defined", + [anon_sym_BANG] = "!", + [anon_sym_TILDE] = "~", + [anon_sym_DASH] = "-", + [anon_sym_PLUS] = "+", + [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", + [anon_sym_PERCENT] = "%", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_AMP_AMP] = "&&", + [anon_sym_PIPE] = "|", + [anon_sym_CARET] = "^", + [anon_sym_AMP] = "&", + [anon_sym_EQ_EQ] = "==", + [anon_sym_BANG_EQ] = "!=", + [anon_sym_GT] = ">", + [anon_sym_GT_EQ] = ">=", + [anon_sym_LT_EQ] = "<=", + [anon_sym_LT] = "<", + [anon_sym_LT_LT] = "<<", + [anon_sym_GT_GT] = ">>", + [anon_sym_SEMI] = ";", + [anon_sym_typedef] = "typedef", + [anon_sym_extern] = "extern", + [anon_sym___attribute__] = "__attribute__", + [anon_sym_COLON_COLON] = "::", + [anon_sym_LBRACK_LBRACK] = "[[", + [anon_sym_RBRACK_RBRACK] = "]]", + [anon_sym___declspec] = "__declspec", + [anon_sym___based] = "__based", + [anon_sym___cdecl] = "__cdecl", + [anon_sym___clrcall] = "__clrcall", + [anon_sym___stdcall] = "__stdcall", + [anon_sym___fastcall] = "__fastcall", + [anon_sym___thiscall] = "__thiscall", + [anon_sym___vectorcall] = "__vectorcall", + [sym_ms_restrict_modifier] = "ms_restrict_modifier", + [sym_ms_unsigned_ptr_modifier] = "ms_unsigned_ptr_modifier", + [sym_ms_signed_ptr_modifier] = "ms_signed_ptr_modifier", + [anon_sym__unaligned] = "_unaligned", + [anon_sym___unaligned] = "__unaligned", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", + [anon_sym_EQ] = "=", + [anon_sym_static] = "static", + [anon_sym_register] = "register", + [anon_sym_inline] = "inline", + [anon_sym_thread_local] = "thread_local", + [anon_sym_const] = "const", + [anon_sym_volatile] = "volatile", + [anon_sym_restrict] = "restrict", + [anon_sym__Atomic] = "_Atomic", + [anon_sym_mutable] = "mutable", + [anon_sym_constexpr] = "constexpr", + [anon_sym_constinit] = "constinit", + [anon_sym_consteval] = "consteval", + [anon_sym_signed] = "signed", + [anon_sym_unsigned] = "unsigned", + [anon_sym_long] = "long", + [anon_sym_short] = "short", + [sym_primitive_type] = "primitive_type", + [anon_sym_enum] = "enum", + [anon_sym_class] = "class", + [anon_sym_struct] = "struct", + [anon_sym_union] = "union", + [anon_sym_COLON] = ":", + [anon_sym_if] = "if", + [anon_sym_else] = "else", + [anon_sym_switch] = "switch", + [anon_sym_case] = "case", + [anon_sym_default] = "default", + [anon_sym_while] = "while", + [anon_sym_do] = "do", + [anon_sym_for] = "for", + [anon_sym_return] = "return", + [anon_sym_break] = "break", + [anon_sym_continue] = "continue", + [anon_sym_goto] = "goto", + [anon_sym_QMARK] = "\?", + [anon_sym_STAR_EQ] = "*=", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_PERCENT_EQ] = "%=", + [anon_sym_PLUS_EQ] = "+=", + [anon_sym_DASH_EQ] = "-=", + [anon_sym_LT_LT_EQ] = "<<=", + [anon_sym_GT_GT_EQ] = ">>=", + [anon_sym_AMP_EQ] = "&=", + [anon_sym_CARET_EQ] = "^=", + [anon_sym_PIPE_EQ] = "|=", + [anon_sym_LT_EQ_GT] = "<=>", + [anon_sym_DASH_DASH] = "--", + [anon_sym_PLUS_PLUS] = "++", + [anon_sym_sizeof] = "sizeof", + [anon_sym_DOT] = ".", + [anon_sym_DASH_GT] = "->", + [sym_number_literal] = "number_literal", + [anon_sym_L_SQUOTE] = "L'", + [anon_sym_u_SQUOTE] = "u'", + [anon_sym_U_SQUOTE] = "U'", + [anon_sym_u8_SQUOTE] = "u8'", + [anon_sym_SQUOTE] = "'", + [aux_sym_char_literal_token1] = "char_literal_token1", + [anon_sym_L_DQUOTE] = "L\"", + [anon_sym_u_DQUOTE] = "u\"", + [anon_sym_U_DQUOTE] = "U\"", + [anon_sym_u8_DQUOTE] = "u8\"", + [anon_sym_DQUOTE] = "\"", + [aux_sym_string_literal_token1] = "string_literal_token1", + [sym_escape_sequence] = "escape_sequence", + [sym_system_lib_string] = "system_lib_string", + [sym_true] = "true", + [sym_false] = "false", + [sym_null] = "null", + [sym_comment] = "comment", + [sym_auto] = "auto", + [anon_sym_decltype] = "decltype", + [anon_sym_final] = "final", + [anon_sym_override] = "override", + [anon_sym_virtual] = "virtual", + [anon_sym_explicit] = "explicit", + [anon_sym_public] = "public", + [anon_sym_private] = "private", + [anon_sym_protected] = "protected", + [anon_sym_typename] = "typename", + [anon_sym_template] = "template", + [anon_sym_GT2] = ">", + [anon_sym_operator] = "operator", + [anon_sym_delete] = "delete", + [anon_sym_friend] = "friend", + [anon_sym_noexcept] = "noexcept", + [anon_sym_throw] = "throw", + [anon_sym_namespace] = "namespace", + [anon_sym_using] = "using", + [anon_sym_static_assert] = "static_assert", + [anon_sym_concept] = "concept", + [anon_sym_co_return] = "co_return", + [anon_sym_co_yield] = "co_yield", + [anon_sym_try] = "try", + [anon_sym_catch] = "catch", + [anon_sym_co_await] = "co_await", + [anon_sym_new] = "new", + [anon_sym_requires] = "requires", + [anon_sym_DOT_STAR] = ".*", + [anon_sym_DASH_GT_STAR] = "->*", + [anon_sym_LPAREN_RPAREN] = "()", + [anon_sym_LBRACK_RBRACK] = "[]", + [anon_sym_DQUOTE_DQUOTE] = "\"\"", + [sym_this] = "this", + [sym_nullptr] = "nullptr", + [sym_literal_suffix] = "literal_suffix", + [sym_raw_string_literal] = "raw_string_literal", + [sym_translation_unit] = "translation_unit", + [sym_preproc_include] = "preproc_include", + [sym_preproc_def] = "preproc_def", + [sym_preproc_function_def] = "preproc_function_def", + [sym_preproc_params] = "preproc_params", + [sym_preproc_call] = "preproc_call", + [sym_preproc_if] = "preproc_if", + [sym_preproc_ifdef] = "preproc_ifdef", + [sym_preproc_else] = "preproc_else", + [sym_preproc_elif] = "preproc_elif", + [sym_preproc_if_in_field_declaration_list] = "preproc_if", + [sym_preproc_ifdef_in_field_declaration_list] = "preproc_ifdef", + [sym_preproc_else_in_field_declaration_list] = "preproc_else", + [sym_preproc_elif_in_field_declaration_list] = "preproc_elif", + [sym__preproc_expression] = "_preproc_expression", + [sym_preproc_parenthesized_expression] = "parenthesized_expression", + [sym_preproc_defined] = "preproc_defined", + [sym_preproc_unary_expression] = "unary_expression", + [sym_preproc_call_expression] = "call_expression", + [sym_preproc_argument_list] = "argument_list", + [sym_preproc_binary_expression] = "binary_expression", + [sym_function_definition] = "function_definition", + [sym_declaration] = "declaration", + [sym_type_definition] = "type_definition", + [sym__declaration_modifiers] = "_declaration_modifiers", + [sym__declaration_specifiers] = "_declaration_specifiers", + [sym_linkage_specification] = "linkage_specification", + [sym_attribute_specifier] = "attribute_specifier", + [sym_attribute] = "attribute", + [sym_attribute_declaration] = "attribute_declaration", + [sym_ms_declspec_modifier] = "ms_declspec_modifier", + [sym_ms_based_modifier] = "ms_based_modifier", + [sym_ms_call_modifier] = "ms_call_modifier", + [sym_ms_unaligned_ptr_modifier] = "ms_unaligned_ptr_modifier", + [sym_ms_pointer_modifier] = "ms_pointer_modifier", + [sym_declaration_list] = "declaration_list", + [sym__declarator] = "_declarator", + [sym__field_declarator] = "_field_declarator", + [sym__type_declarator] = "_type_declarator", + [sym__abstract_declarator] = "_abstract_declarator", + [sym_parenthesized_declarator] = "parenthesized_declarator", + [sym_parenthesized_field_declarator] = "parenthesized_declarator", + [sym_parenthesized_type_declarator] = "parenthesized_declarator", + [sym_abstract_parenthesized_declarator] = "abstract_parenthesized_declarator", + [sym_attributed_declarator] = "attributed_declarator", + [sym_attributed_field_declarator] = "attributed_declarator", + [sym_attributed_type_declarator] = "attributed_declarator", + [sym_pointer_declarator] = "pointer_declarator", + [sym_pointer_field_declarator] = "pointer_declarator", + [sym_pointer_type_declarator] = "pointer_declarator", + [sym_abstract_pointer_declarator] = "abstract_pointer_declarator", + [sym_function_declarator] = "function_declarator", + [sym_function_field_declarator] = "function_declarator", + [sym_function_type_declarator] = "function_declarator", + [sym_abstract_function_declarator] = "abstract_function_declarator", + [sym_array_declarator] = "array_declarator", + [sym_array_field_declarator] = "array_declarator", + [sym_array_type_declarator] = "array_declarator", + [sym_abstract_array_declarator] = "abstract_array_declarator", + [sym_init_declarator] = "init_declarator", + [sym_compound_statement] = "compound_statement", + [sym_storage_class_specifier] = "storage_class_specifier", + [sym_type_qualifier] = "type_qualifier", + [sym__type_specifier] = "_type_specifier", + [sym_sized_type_specifier] = "sized_type_specifier", + [sym_enum_specifier] = "enum_specifier", + [sym_enumerator_list] = "enumerator_list", + [sym_struct_specifier] = "struct_specifier", + [sym_union_specifier] = "union_specifier", + [sym_field_declaration_list] = "field_declaration_list", + [sym__field_declaration_list_item] = "_field_declaration_list_item", + [sym_field_declaration] = "field_declaration", + [sym_bitfield_clause] = "bitfield_clause", + [sym_enumerator] = "enumerator", + [sym_parameter_list] = "parameter_list", + [sym_parameter_declaration] = "parameter_declaration", + [sym_attributed_statement] = "attributed_statement", + [sym_attributed_non_case_statement] = "attributed_statement", + [sym_labeled_statement] = "labeled_statement", + [sym_expression_statement] = "expression_statement", + [sym_if_statement] = "if_statement", + [sym_switch_statement] = "switch_statement", + [sym_case_statement] = "case_statement", + [sym_while_statement] = "while_statement", + [sym_do_statement] = "do_statement", + [sym_for_statement] = "for_statement", + [sym_return_statement] = "return_statement", + [sym_break_statement] = "break_statement", + [sym_continue_statement] = "continue_statement", + [sym_goto_statement] = "goto_statement", + [sym__expression] = "_expression", + [sym_comma_expression] = "comma_expression", + [sym_conditional_expression] = "conditional_expression", + [sym_assignment_expression] = "assignment_expression", + [sym_pointer_expression] = "pointer_expression", + [sym_unary_expression] = "unary_expression", + [sym_binary_expression] = "binary_expression", + [sym_update_expression] = "update_expression", + [sym_cast_expression] = "cast_expression", + [sym_type_descriptor] = "type_descriptor", + [sym_sizeof_expression] = "sizeof_expression", + [sym_subscript_expression] = "subscript_expression", + [sym_call_expression] = "call_expression", + [sym_argument_list] = "argument_list", + [sym_field_expression] = "field_expression", + [sym_compound_literal_expression] = "compound_literal_expression", + [sym_parenthesized_expression] = "parenthesized_expression", + [sym_initializer_list] = "initializer_list", + [sym_initializer_pair] = "initializer_pair", + [sym_subscript_designator] = "subscript_designator", + [sym_field_designator] = "field_designator", + [sym_char_literal] = "char_literal", + [sym_concatenated_string] = "concatenated_string", + [sym_string_literal] = "string_literal", + [sym__empty_declaration] = "_empty_declaration", + [sym_placeholder_type_specifier] = "placeholder_type_specifier", + [sym_decltype_auto] = "decltype", + [sym_decltype] = "decltype", + [sym_class_specifier] = "class_specifier", + [sym__class_name] = "_class_name", + [sym_virtual_specifier] = "virtual_specifier", + [sym_virtual_function_specifier] = "virtual_function_specifier", + [sym_explicit_function_specifier] = "explicit_function_specifier", + [sym_base_class_clause] = "base_class_clause", + [sym__enum_base_clause] = "_enum_base_clause", + [sym_dependent_type] = "dependent_type", + [sym_template_declaration] = "template_declaration", + [sym_template_instantiation] = "template_instantiation", + [sym_template_parameter_list] = "template_parameter_list", + [sym_type_parameter_declaration] = "type_parameter_declaration", + [sym_variadic_type_parameter_declaration] = "variadic_type_parameter_declaration", + [sym_optional_type_parameter_declaration] = "optional_type_parameter_declaration", + [sym_template_template_parameter_declaration] = "template_template_parameter_declaration", + [sym_optional_parameter_declaration] = "optional_parameter_declaration", + [sym_variadic_parameter_declaration] = "variadic_parameter_declaration", + [sym_variadic_declarator] = "variadic_declarator", + [sym_variadic_reference_declarator] = "reference_declarator", + [sym_operator_cast] = "operator_cast", + [sym_field_initializer_list] = "field_initializer_list", + [sym_field_initializer] = "field_initializer", + [sym_inline_method_definition] = "function_definition", + [sym__constructor_specifiers] = "_constructor_specifiers", + [sym_operator_cast_definition] = "function_definition", + [sym_operator_cast_declaration] = "declaration", + [sym_constructor_or_destructor_definition] = "function_definition", + [sym_constructor_or_destructor_declaration] = "declaration", + [sym_default_method_clause] = "default_method_clause", + [sym_delete_method_clause] = "delete_method_clause", + [sym_friend_declaration] = "friend_declaration", + [sym_access_specifier] = "access_specifier", + [sym_reference_declarator] = "reference_declarator", + [sym_reference_field_declarator] = "reference_declarator", + [sym_abstract_reference_declarator] = "abstract_reference_declarator", + [sym_structured_binding_declarator] = "structured_binding_declarator", + [sym_ref_qualifier] = "ref_qualifier", + [sym_trailing_return_type] = "trailing_return_type", + [sym_noexcept] = "noexcept", + [sym_throw_specifier] = "throw_specifier", + [sym_template_type] = "template_type", + [sym_template_method] = "template_method", + [sym_template_function] = "template_function", + [sym_template_argument_list] = "template_argument_list", + [sym_namespace_definition] = "namespace_definition", + [sym_namespace_alias_definition] = "namespace_alias_definition", + [sym_namespace_definition_name] = "namespace_definition_name", + [sym_using_declaration] = "using_declaration", + [sym_alias_declaration] = "alias_declaration", + [sym_static_assert_declaration] = "static_assert_declaration", + [sym_concept_definition] = "concept_definition", + [sym_condition_clause] = "condition_clause", + [sym_condition_declaration] = "declaration", + [sym_for_range_loop] = "for_range_loop", + [sym_co_return_statement] = "co_return_statement", + [sym_co_yield_statement] = "co_yield_statement", + [sym_throw_statement] = "throw_statement", + [sym_try_statement] = "try_statement", + [sym_catch_clause] = "catch_clause", + [sym_co_await_expression] = "co_await_expression", + [sym_new_expression] = "new_expression", + [sym_new_declarator] = "new_declarator", + [sym_delete_expression] = "delete_expression", + [sym_type_requirement] = "type_requirement", + [sym_compound_requirement] = "compound_requirement", + [sym__requirement] = "_requirement", + [sym_requirement_seq] = "requirement_seq", + [sym_constraint_conjunction] = "constraint_conjunction", + [sym_constraint_disjunction] = "constraint_disjunction", + [sym__requirement_clause_constraint] = "_requirement_clause_constraint", + [sym_requires_clause] = "requires_clause", + [sym_requires_parameter_list] = "parameter_list", + [sym_requires_expression] = "requires_expression", + [sym_lambda_expression] = "lambda_expression", + [sym_lambda_capture_specifier] = "lambda_capture_specifier", + [sym_lambda_default_capture] = "lambda_default_capture", + [sym__fold_operator] = "_fold_operator", + [sym__binary_fold_operator] = "_binary_fold_operator", + [sym__unary_left_fold] = "_unary_left_fold", + [sym__unary_right_fold] = "_unary_right_fold", + [sym__binary_fold] = "_binary_fold", + [sym_fold_expression] = "fold_expression", + [sym_parameter_pack_expansion] = "parameter_pack_expansion", + [sym_type_parameter_pack_expansion] = "parameter_pack_expansion", + [sym_destructor_name] = "destructor_name", + [sym_dependent_identifier] = "dependent_name", + [sym_dependent_field_identifier] = "dependent_name", + [sym_dependent_type_identifier] = "dependent_name", + [sym__scope_resolution] = "_scope_resolution", + [sym_qualified_field_identifier] = "qualified_identifier", + [sym_qualified_identifier] = "qualified_identifier", + [sym_qualified_type_identifier] = "qualified_identifier", + [sym_qualified_operator_cast_identifier] = "qualified_identifier", + [sym_operator_name] = "operator_name", + [sym_user_defined_literal] = "user_defined_literal", + [aux_sym_translation_unit_repeat1] = "translation_unit_repeat1", + [aux_sym_preproc_params_repeat1] = "preproc_params_repeat1", + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = "preproc_if_in_field_declaration_list_repeat1", + [aux_sym_preproc_argument_list_repeat1] = "preproc_argument_list_repeat1", + [aux_sym_declaration_repeat1] = "declaration_repeat1", + [aux_sym_type_definition_repeat1] = "type_definition_repeat1", + [aux_sym_type_definition_repeat2] = "type_definition_repeat2", + [aux_sym__declaration_specifiers_repeat1] = "_declaration_specifiers_repeat1", + [aux_sym_attribute_declaration_repeat1] = "attribute_declaration_repeat1", + [aux_sym_attributed_declarator_repeat1] = "attributed_declarator_repeat1", + [aux_sym_pointer_declarator_repeat1] = "pointer_declarator_repeat1", + [aux_sym_function_declarator_repeat1] = "function_declarator_repeat1", + [aux_sym_function_declarator_repeat2] = "function_declarator_repeat2", + [aux_sym_abstract_function_declarator_repeat1] = "abstract_function_declarator_repeat1", + [aux_sym_sized_type_specifier_repeat1] = "sized_type_specifier_repeat1", + [aux_sym_enumerator_list_repeat1] = "enumerator_list_repeat1", + [aux_sym_field_declaration_repeat1] = "field_declaration_repeat1", + [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", + [aux_sym_case_statement_repeat1] = "case_statement_repeat1", + [aux_sym_argument_list_repeat1] = "argument_list_repeat1", + [aux_sym_initializer_list_repeat1] = "initializer_list_repeat1", + [aux_sym_initializer_pair_repeat1] = "initializer_pair_repeat1", + [aux_sym_concatenated_string_repeat1] = "concatenated_string_repeat1", + [aux_sym_string_literal_repeat1] = "string_literal_repeat1", + [aux_sym_base_class_clause_repeat1] = "base_class_clause_repeat1", + [aux_sym_template_parameter_list_repeat1] = "template_parameter_list_repeat1", + [aux_sym_field_initializer_list_repeat1] = "field_initializer_list_repeat1", + [aux_sym_operator_cast_definition_repeat1] = "operator_cast_definition_repeat1", + [aux_sym_structured_binding_declarator_repeat1] = "structured_binding_declarator_repeat1", + [aux_sym_throw_specifier_repeat1] = "throw_specifier_repeat1", + [aux_sym_template_argument_list_repeat1] = "template_argument_list_repeat1", + [aux_sym_try_statement_repeat1] = "try_statement_repeat1", + [aux_sym_requirement_seq_repeat1] = "requirement_seq_repeat1", + [aux_sym_requires_parameter_list_repeat1] = "requires_parameter_list_repeat1", + [aux_sym_lambda_capture_specifier_repeat1] = "lambda_capture_specifier_repeat1", + [alias_sym_field_identifier] = "field_identifier", + [alias_sym_namespace_identifier] = "namespace_identifier", + [alias_sym_simple_requirement] = "simple_requirement", + [alias_sym_statement_identifier] = "statement_identifier", + [alias_sym_type_identifier] = "type_identifier", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym_identifier] = sym_identifier, + [aux_sym_preproc_include_token1] = aux_sym_preproc_include_token1, + [anon_sym_LF] = anon_sym_LF, + [aux_sym_preproc_def_token1] = aux_sym_preproc_def_token1, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [aux_sym_preproc_if_token1] = aux_sym_preproc_if_token1, + [aux_sym_preproc_if_token2] = aux_sym_preproc_if_token2, + [aux_sym_preproc_ifdef_token1] = aux_sym_preproc_ifdef_token1, + [aux_sym_preproc_ifdef_token2] = aux_sym_preproc_ifdef_token2, + [aux_sym_preproc_else_token1] = aux_sym_preproc_else_token1, + [aux_sym_preproc_elif_token1] = aux_sym_preproc_elif_token1, + [sym_preproc_directive] = sym_preproc_directive, + [sym_preproc_arg] = sym_preproc_arg, + [anon_sym_LPAREN2] = anon_sym_LPAREN, + [anon_sym_defined] = anon_sym_defined, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_TILDE] = anon_sym_TILDE, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_AMP] = anon_sym_AMP, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_typedef] = anon_sym_typedef, + [anon_sym_extern] = anon_sym_extern, + [anon_sym___attribute__] = anon_sym___attribute__, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, + [anon_sym_LBRACK_LBRACK] = anon_sym_LBRACK_LBRACK, + [anon_sym_RBRACK_RBRACK] = anon_sym_RBRACK_RBRACK, + [anon_sym___declspec] = anon_sym___declspec, + [anon_sym___based] = anon_sym___based, + [anon_sym___cdecl] = anon_sym___cdecl, + [anon_sym___clrcall] = anon_sym___clrcall, + [anon_sym___stdcall] = anon_sym___stdcall, + [anon_sym___fastcall] = anon_sym___fastcall, + [anon_sym___thiscall] = anon_sym___thiscall, + [anon_sym___vectorcall] = anon_sym___vectorcall, + [sym_ms_restrict_modifier] = sym_ms_restrict_modifier, + [sym_ms_unsigned_ptr_modifier] = sym_ms_unsigned_ptr_modifier, + [sym_ms_signed_ptr_modifier] = sym_ms_signed_ptr_modifier, + [anon_sym__unaligned] = anon_sym__unaligned, + [anon_sym___unaligned] = anon_sym___unaligned, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_static] = anon_sym_static, + [anon_sym_register] = anon_sym_register, + [anon_sym_inline] = anon_sym_inline, + [anon_sym_thread_local] = anon_sym_thread_local, + [anon_sym_const] = anon_sym_const, + [anon_sym_volatile] = anon_sym_volatile, + [anon_sym_restrict] = anon_sym_restrict, + [anon_sym__Atomic] = anon_sym__Atomic, + [anon_sym_mutable] = anon_sym_mutable, + [anon_sym_constexpr] = anon_sym_constexpr, + [anon_sym_constinit] = anon_sym_constinit, + [anon_sym_consteval] = anon_sym_consteval, + [anon_sym_signed] = anon_sym_signed, + [anon_sym_unsigned] = anon_sym_unsigned, + [anon_sym_long] = anon_sym_long, + [anon_sym_short] = anon_sym_short, + [sym_primitive_type] = sym_primitive_type, + [anon_sym_enum] = anon_sym_enum, + [anon_sym_class] = anon_sym_class, + [anon_sym_struct] = anon_sym_struct, + [anon_sym_union] = anon_sym_union, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_if] = anon_sym_if, + [anon_sym_else] = anon_sym_else, + [anon_sym_switch] = anon_sym_switch, + [anon_sym_case] = anon_sym_case, + [anon_sym_default] = anon_sym_default, + [anon_sym_while] = anon_sym_while, + [anon_sym_do] = anon_sym_do, + [anon_sym_for] = anon_sym_for, + [anon_sym_return] = anon_sym_return, + [anon_sym_break] = anon_sym_break, + [anon_sym_continue] = anon_sym_continue, + [anon_sym_goto] = anon_sym_goto, + [anon_sym_QMARK] = anon_sym_QMARK, + [anon_sym_STAR_EQ] = anon_sym_STAR_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ, + [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, + [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ, + [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ, + [anon_sym_AMP_EQ] = anon_sym_AMP_EQ, + [anon_sym_CARET_EQ] = anon_sym_CARET_EQ, + [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ, + [anon_sym_LT_EQ_GT] = anon_sym_LT_EQ_GT, + [anon_sym_DASH_DASH] = anon_sym_DASH_DASH, + [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, + [anon_sym_sizeof] = anon_sym_sizeof, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [sym_number_literal] = sym_number_literal, + [anon_sym_L_SQUOTE] = anon_sym_L_SQUOTE, + [anon_sym_u_SQUOTE] = anon_sym_u_SQUOTE, + [anon_sym_U_SQUOTE] = anon_sym_U_SQUOTE, + [anon_sym_u8_SQUOTE] = anon_sym_u8_SQUOTE, + [anon_sym_SQUOTE] = anon_sym_SQUOTE, + [aux_sym_char_literal_token1] = aux_sym_char_literal_token1, + [anon_sym_L_DQUOTE] = anon_sym_L_DQUOTE, + [anon_sym_u_DQUOTE] = anon_sym_u_DQUOTE, + [anon_sym_U_DQUOTE] = anon_sym_U_DQUOTE, + [anon_sym_u8_DQUOTE] = anon_sym_u8_DQUOTE, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym_string_literal_token1] = aux_sym_string_literal_token1, + [sym_escape_sequence] = sym_escape_sequence, + [sym_system_lib_string] = sym_system_lib_string, + [sym_true] = sym_true, + [sym_false] = sym_false, + [sym_null] = sym_null, + [sym_comment] = sym_comment, + [sym_auto] = sym_auto, + [anon_sym_decltype] = anon_sym_decltype, + [anon_sym_final] = anon_sym_final, + [anon_sym_override] = anon_sym_override, + [anon_sym_virtual] = anon_sym_virtual, + [anon_sym_explicit] = anon_sym_explicit, + [anon_sym_public] = anon_sym_public, + [anon_sym_private] = anon_sym_private, + [anon_sym_protected] = anon_sym_protected, + [anon_sym_typename] = anon_sym_typename, + [anon_sym_template] = anon_sym_template, + [anon_sym_GT2] = anon_sym_GT, + [anon_sym_operator] = anon_sym_operator, + [anon_sym_delete] = anon_sym_delete, + [anon_sym_friend] = anon_sym_friend, + [anon_sym_noexcept] = anon_sym_noexcept, + [anon_sym_throw] = anon_sym_throw, + [anon_sym_namespace] = anon_sym_namespace, + [anon_sym_using] = anon_sym_using, + [anon_sym_static_assert] = anon_sym_static_assert, + [anon_sym_concept] = anon_sym_concept, + [anon_sym_co_return] = anon_sym_co_return, + [anon_sym_co_yield] = anon_sym_co_yield, + [anon_sym_try] = anon_sym_try, + [anon_sym_catch] = anon_sym_catch, + [anon_sym_co_await] = anon_sym_co_await, + [anon_sym_new] = anon_sym_new, + [anon_sym_requires] = anon_sym_requires, + [anon_sym_DOT_STAR] = anon_sym_DOT_STAR, + [anon_sym_DASH_GT_STAR] = anon_sym_DASH_GT_STAR, + [anon_sym_LPAREN_RPAREN] = anon_sym_LPAREN_RPAREN, + [anon_sym_LBRACK_RBRACK] = anon_sym_LBRACK_RBRACK, + [anon_sym_DQUOTE_DQUOTE] = anon_sym_DQUOTE_DQUOTE, + [sym_this] = sym_this, + [sym_nullptr] = sym_nullptr, + [sym_literal_suffix] = sym_literal_suffix, + [sym_raw_string_literal] = sym_raw_string_literal, + [sym_translation_unit] = sym_translation_unit, + [sym_preproc_include] = sym_preproc_include, + [sym_preproc_def] = sym_preproc_def, + [sym_preproc_function_def] = sym_preproc_function_def, + [sym_preproc_params] = sym_preproc_params, + [sym_preproc_call] = sym_preproc_call, + [sym_preproc_if] = sym_preproc_if, + [sym_preproc_ifdef] = sym_preproc_ifdef, + [sym_preproc_else] = sym_preproc_else, + [sym_preproc_elif] = sym_preproc_elif, + [sym_preproc_if_in_field_declaration_list] = sym_preproc_if, + [sym_preproc_ifdef_in_field_declaration_list] = sym_preproc_ifdef, + [sym_preproc_else_in_field_declaration_list] = sym_preproc_else, + [sym_preproc_elif_in_field_declaration_list] = sym_preproc_elif, + [sym__preproc_expression] = sym__preproc_expression, + [sym_preproc_parenthesized_expression] = sym_parenthesized_expression, + [sym_preproc_defined] = sym_preproc_defined, + [sym_preproc_unary_expression] = sym_unary_expression, + [sym_preproc_call_expression] = sym_call_expression, + [sym_preproc_argument_list] = sym_argument_list, + [sym_preproc_binary_expression] = sym_binary_expression, + [sym_function_definition] = sym_function_definition, + [sym_declaration] = sym_declaration, + [sym_type_definition] = sym_type_definition, + [sym__declaration_modifiers] = sym__declaration_modifiers, + [sym__declaration_specifiers] = sym__declaration_specifiers, + [sym_linkage_specification] = sym_linkage_specification, + [sym_attribute_specifier] = sym_attribute_specifier, + [sym_attribute] = sym_attribute, + [sym_attribute_declaration] = sym_attribute_declaration, + [sym_ms_declspec_modifier] = sym_ms_declspec_modifier, + [sym_ms_based_modifier] = sym_ms_based_modifier, + [sym_ms_call_modifier] = sym_ms_call_modifier, + [sym_ms_unaligned_ptr_modifier] = sym_ms_unaligned_ptr_modifier, + [sym_ms_pointer_modifier] = sym_ms_pointer_modifier, + [sym_declaration_list] = sym_declaration_list, + [sym__declarator] = sym__declarator, + [sym__field_declarator] = sym__field_declarator, + [sym__type_declarator] = sym__type_declarator, + [sym__abstract_declarator] = sym__abstract_declarator, + [sym_parenthesized_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_field_declarator] = sym_parenthesized_declarator, + [sym_parenthesized_type_declarator] = sym_parenthesized_declarator, + [sym_abstract_parenthesized_declarator] = sym_abstract_parenthesized_declarator, + [sym_attributed_declarator] = sym_attributed_declarator, + [sym_attributed_field_declarator] = sym_attributed_declarator, + [sym_attributed_type_declarator] = sym_attributed_declarator, + [sym_pointer_declarator] = sym_pointer_declarator, + [sym_pointer_field_declarator] = sym_pointer_declarator, + [sym_pointer_type_declarator] = sym_pointer_declarator, + [sym_abstract_pointer_declarator] = sym_abstract_pointer_declarator, + [sym_function_declarator] = sym_function_declarator, + [sym_function_field_declarator] = sym_function_declarator, + [sym_function_type_declarator] = sym_function_declarator, + [sym_abstract_function_declarator] = sym_abstract_function_declarator, + [sym_array_declarator] = sym_array_declarator, + [sym_array_field_declarator] = sym_array_declarator, + [sym_array_type_declarator] = sym_array_declarator, + [sym_abstract_array_declarator] = sym_abstract_array_declarator, + [sym_init_declarator] = sym_init_declarator, + [sym_compound_statement] = sym_compound_statement, + [sym_storage_class_specifier] = sym_storage_class_specifier, + [sym_type_qualifier] = sym_type_qualifier, + [sym__type_specifier] = sym__type_specifier, + [sym_sized_type_specifier] = sym_sized_type_specifier, + [sym_enum_specifier] = sym_enum_specifier, + [sym_enumerator_list] = sym_enumerator_list, + [sym_struct_specifier] = sym_struct_specifier, + [sym_union_specifier] = sym_union_specifier, + [sym_field_declaration_list] = sym_field_declaration_list, + [sym__field_declaration_list_item] = sym__field_declaration_list_item, + [sym_field_declaration] = sym_field_declaration, + [sym_bitfield_clause] = sym_bitfield_clause, + [sym_enumerator] = sym_enumerator, + [sym_parameter_list] = sym_parameter_list, + [sym_parameter_declaration] = sym_parameter_declaration, + [sym_attributed_statement] = sym_attributed_statement, + [sym_attributed_non_case_statement] = sym_attributed_statement, + [sym_labeled_statement] = sym_labeled_statement, + [sym_expression_statement] = sym_expression_statement, + [sym_if_statement] = sym_if_statement, + [sym_switch_statement] = sym_switch_statement, + [sym_case_statement] = sym_case_statement, + [sym_while_statement] = sym_while_statement, + [sym_do_statement] = sym_do_statement, + [sym_for_statement] = sym_for_statement, + [sym_return_statement] = sym_return_statement, + [sym_break_statement] = sym_break_statement, + [sym_continue_statement] = sym_continue_statement, + [sym_goto_statement] = sym_goto_statement, + [sym__expression] = sym__expression, + [sym_comma_expression] = sym_comma_expression, + [sym_conditional_expression] = sym_conditional_expression, + [sym_assignment_expression] = sym_assignment_expression, + [sym_pointer_expression] = sym_pointer_expression, + [sym_unary_expression] = sym_unary_expression, + [sym_binary_expression] = sym_binary_expression, + [sym_update_expression] = sym_update_expression, + [sym_cast_expression] = sym_cast_expression, + [sym_type_descriptor] = sym_type_descriptor, + [sym_sizeof_expression] = sym_sizeof_expression, + [sym_subscript_expression] = sym_subscript_expression, + [sym_call_expression] = sym_call_expression, + [sym_argument_list] = sym_argument_list, + [sym_field_expression] = sym_field_expression, + [sym_compound_literal_expression] = sym_compound_literal_expression, + [sym_parenthesized_expression] = sym_parenthesized_expression, + [sym_initializer_list] = sym_initializer_list, + [sym_initializer_pair] = sym_initializer_pair, + [sym_subscript_designator] = sym_subscript_designator, + [sym_field_designator] = sym_field_designator, + [sym_char_literal] = sym_char_literal, + [sym_concatenated_string] = sym_concatenated_string, + [sym_string_literal] = sym_string_literal, + [sym__empty_declaration] = sym__empty_declaration, + [sym_placeholder_type_specifier] = sym_placeholder_type_specifier, + [sym_decltype_auto] = sym_decltype, + [sym_decltype] = sym_decltype, + [sym_class_specifier] = sym_class_specifier, + [sym__class_name] = sym__class_name, + [sym_virtual_specifier] = sym_virtual_specifier, + [sym_virtual_function_specifier] = sym_virtual_function_specifier, + [sym_explicit_function_specifier] = sym_explicit_function_specifier, + [sym_base_class_clause] = sym_base_class_clause, + [sym__enum_base_clause] = sym__enum_base_clause, + [sym_dependent_type] = sym_dependent_type, + [sym_template_declaration] = sym_template_declaration, + [sym_template_instantiation] = sym_template_instantiation, + [sym_template_parameter_list] = sym_template_parameter_list, + [sym_type_parameter_declaration] = sym_type_parameter_declaration, + [sym_variadic_type_parameter_declaration] = sym_variadic_type_parameter_declaration, + [sym_optional_type_parameter_declaration] = sym_optional_type_parameter_declaration, + [sym_template_template_parameter_declaration] = sym_template_template_parameter_declaration, + [sym_optional_parameter_declaration] = sym_optional_parameter_declaration, + [sym_variadic_parameter_declaration] = sym_variadic_parameter_declaration, + [sym_variadic_declarator] = sym_variadic_declarator, + [sym_variadic_reference_declarator] = sym_reference_declarator, + [sym_operator_cast] = sym_operator_cast, + [sym_field_initializer_list] = sym_field_initializer_list, + [sym_field_initializer] = sym_field_initializer, + [sym_inline_method_definition] = sym_function_definition, + [sym__constructor_specifiers] = sym__constructor_specifiers, + [sym_operator_cast_definition] = sym_function_definition, + [sym_operator_cast_declaration] = sym_declaration, + [sym_constructor_or_destructor_definition] = sym_function_definition, + [sym_constructor_or_destructor_declaration] = sym_declaration, + [sym_default_method_clause] = sym_default_method_clause, + [sym_delete_method_clause] = sym_delete_method_clause, + [sym_friend_declaration] = sym_friend_declaration, + [sym_access_specifier] = sym_access_specifier, + [sym_reference_declarator] = sym_reference_declarator, + [sym_reference_field_declarator] = sym_reference_declarator, + [sym_abstract_reference_declarator] = sym_abstract_reference_declarator, + [sym_structured_binding_declarator] = sym_structured_binding_declarator, + [sym_ref_qualifier] = sym_ref_qualifier, + [sym_trailing_return_type] = sym_trailing_return_type, + [sym_noexcept] = sym_noexcept, + [sym_throw_specifier] = sym_throw_specifier, + [sym_template_type] = sym_template_type, + [sym_template_method] = sym_template_method, + [sym_template_function] = sym_template_function, + [sym_template_argument_list] = sym_template_argument_list, + [sym_namespace_definition] = sym_namespace_definition, + [sym_namespace_alias_definition] = sym_namespace_alias_definition, + [sym_namespace_definition_name] = sym_namespace_definition_name, + [sym_using_declaration] = sym_using_declaration, + [sym_alias_declaration] = sym_alias_declaration, + [sym_static_assert_declaration] = sym_static_assert_declaration, + [sym_concept_definition] = sym_concept_definition, + [sym_condition_clause] = sym_condition_clause, + [sym_condition_declaration] = sym_declaration, + [sym_for_range_loop] = sym_for_range_loop, + [sym_co_return_statement] = sym_co_return_statement, + [sym_co_yield_statement] = sym_co_yield_statement, + [sym_throw_statement] = sym_throw_statement, + [sym_try_statement] = sym_try_statement, + [sym_catch_clause] = sym_catch_clause, + [sym_co_await_expression] = sym_co_await_expression, + [sym_new_expression] = sym_new_expression, + [sym_new_declarator] = sym_new_declarator, + [sym_delete_expression] = sym_delete_expression, + [sym_type_requirement] = sym_type_requirement, + [sym_compound_requirement] = sym_compound_requirement, + [sym__requirement] = sym__requirement, + [sym_requirement_seq] = sym_requirement_seq, + [sym_constraint_conjunction] = sym_constraint_conjunction, + [sym_constraint_disjunction] = sym_constraint_disjunction, + [sym__requirement_clause_constraint] = sym__requirement_clause_constraint, + [sym_requires_clause] = sym_requires_clause, + [sym_requires_parameter_list] = sym_parameter_list, + [sym_requires_expression] = sym_requires_expression, + [sym_lambda_expression] = sym_lambda_expression, + [sym_lambda_capture_specifier] = sym_lambda_capture_specifier, + [sym_lambda_default_capture] = sym_lambda_default_capture, + [sym__fold_operator] = sym__fold_operator, + [sym__binary_fold_operator] = sym__binary_fold_operator, + [sym__unary_left_fold] = sym__unary_left_fold, + [sym__unary_right_fold] = sym__unary_right_fold, + [sym__binary_fold] = sym__binary_fold, + [sym_fold_expression] = sym_fold_expression, + [sym_parameter_pack_expansion] = sym_parameter_pack_expansion, + [sym_type_parameter_pack_expansion] = sym_parameter_pack_expansion, + [sym_destructor_name] = sym_destructor_name, + [sym_dependent_identifier] = sym_dependent_identifier, + [sym_dependent_field_identifier] = sym_dependent_identifier, + [sym_dependent_type_identifier] = sym_dependent_identifier, + [sym__scope_resolution] = sym__scope_resolution, + [sym_qualified_field_identifier] = sym_qualified_identifier, + [sym_qualified_identifier] = sym_qualified_identifier, + [sym_qualified_type_identifier] = sym_qualified_identifier, + [sym_qualified_operator_cast_identifier] = sym_qualified_identifier, + [sym_operator_name] = sym_operator_name, + [sym_user_defined_literal] = sym_user_defined_literal, + [aux_sym_translation_unit_repeat1] = aux_sym_translation_unit_repeat1, + [aux_sym_preproc_params_repeat1] = aux_sym_preproc_params_repeat1, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = aux_sym_preproc_if_in_field_declaration_list_repeat1, + [aux_sym_preproc_argument_list_repeat1] = aux_sym_preproc_argument_list_repeat1, + [aux_sym_declaration_repeat1] = aux_sym_declaration_repeat1, + [aux_sym_type_definition_repeat1] = aux_sym_type_definition_repeat1, + [aux_sym_type_definition_repeat2] = aux_sym_type_definition_repeat2, + [aux_sym__declaration_specifiers_repeat1] = aux_sym__declaration_specifiers_repeat1, + [aux_sym_attribute_declaration_repeat1] = aux_sym_attribute_declaration_repeat1, + [aux_sym_attributed_declarator_repeat1] = aux_sym_attributed_declarator_repeat1, + [aux_sym_pointer_declarator_repeat1] = aux_sym_pointer_declarator_repeat1, + [aux_sym_function_declarator_repeat1] = aux_sym_function_declarator_repeat1, + [aux_sym_function_declarator_repeat2] = aux_sym_function_declarator_repeat2, + [aux_sym_abstract_function_declarator_repeat1] = aux_sym_abstract_function_declarator_repeat1, + [aux_sym_sized_type_specifier_repeat1] = aux_sym_sized_type_specifier_repeat1, + [aux_sym_enumerator_list_repeat1] = aux_sym_enumerator_list_repeat1, + [aux_sym_field_declaration_repeat1] = aux_sym_field_declaration_repeat1, + [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, + [aux_sym_case_statement_repeat1] = aux_sym_case_statement_repeat1, + [aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1, + [aux_sym_initializer_list_repeat1] = aux_sym_initializer_list_repeat1, + [aux_sym_initializer_pair_repeat1] = aux_sym_initializer_pair_repeat1, + [aux_sym_concatenated_string_repeat1] = aux_sym_concatenated_string_repeat1, + [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, + [aux_sym_base_class_clause_repeat1] = aux_sym_base_class_clause_repeat1, + [aux_sym_template_parameter_list_repeat1] = aux_sym_template_parameter_list_repeat1, + [aux_sym_field_initializer_list_repeat1] = aux_sym_field_initializer_list_repeat1, + [aux_sym_operator_cast_definition_repeat1] = aux_sym_operator_cast_definition_repeat1, + [aux_sym_structured_binding_declarator_repeat1] = aux_sym_structured_binding_declarator_repeat1, + [aux_sym_throw_specifier_repeat1] = aux_sym_throw_specifier_repeat1, + [aux_sym_template_argument_list_repeat1] = aux_sym_template_argument_list_repeat1, + [aux_sym_try_statement_repeat1] = aux_sym_try_statement_repeat1, + [aux_sym_requirement_seq_repeat1] = aux_sym_requirement_seq_repeat1, + [aux_sym_requires_parameter_list_repeat1] = aux_sym_requires_parameter_list_repeat1, + [aux_sym_lambda_capture_specifier_repeat1] = aux_sym_lambda_capture_specifier_repeat1, + [alias_sym_field_identifier] = alias_sym_field_identifier, + [alias_sym_namespace_identifier] = alias_sym_namespace_identifier, + [alias_sym_simple_requirement] = alias_sym_simple_requirement, + [alias_sym_statement_identifier] = alias_sym_statement_identifier, + [alias_sym_type_identifier] = alias_sym_type_identifier, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym_identifier] = { + .visible = true, + .named = true, + }, + [aux_sym_preproc_include_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LF] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_def_token1] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_if_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_ifdef_token2] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_else_token1] = { + .visible = true, + .named = false, + }, + [aux_sym_preproc_elif_token1] = { + .visible = true, + .named = false, + }, + [sym_preproc_directive] = { + .visible = true, + .named = true, + }, + [sym_preproc_arg] = { + .visible = true, + .named = true, + }, + [anon_sym_LPAREN2] = { + .visible = true, + .named = false, + }, + [anon_sym_defined] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_TILDE] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym_typedef] = { + .visible = true, + .named = false, + }, + [anon_sym_extern] = { + .visible = true, + .named = false, + }, + [anon_sym___attribute__] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym___declspec] = { + .visible = true, + .named = false, + }, + [anon_sym___based] = { + .visible = true, + .named = false, + }, + [anon_sym___cdecl] = { + .visible = true, + .named = false, + }, + [anon_sym___clrcall] = { + .visible = true, + .named = false, + }, + [anon_sym___stdcall] = { + .visible = true, + .named = false, + }, + [anon_sym___fastcall] = { + .visible = true, + .named = false, + }, + [anon_sym___thiscall] = { + .visible = true, + .named = false, + }, + [anon_sym___vectorcall] = { + .visible = true, + .named = false, + }, + [sym_ms_restrict_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unsigned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_signed_ptr_modifier] = { + .visible = true, + .named = true, + }, + [anon_sym__unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym___unaligned] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_static] = { + .visible = true, + .named = false, + }, + [anon_sym_register] = { + .visible = true, + .named = false, + }, + [anon_sym_inline] = { + .visible = true, + .named = false, + }, + [anon_sym_thread_local] = { + .visible = true, + .named = false, + }, + [anon_sym_const] = { + .visible = true, + .named = false, + }, + [anon_sym_volatile] = { + .visible = true, + .named = false, + }, + [anon_sym_restrict] = { + .visible = true, + .named = false, + }, + [anon_sym__Atomic] = { + .visible = true, + .named = false, + }, + [anon_sym_mutable] = { + .visible = true, + .named = false, + }, + [anon_sym_constexpr] = { + .visible = true, + .named = false, + }, + [anon_sym_constinit] = { + .visible = true, + .named = false, + }, + [anon_sym_consteval] = { + .visible = true, + .named = false, + }, + [anon_sym_signed] = { + .visible = true, + .named = false, + }, + [anon_sym_unsigned] = { + .visible = true, + .named = false, + }, + [anon_sym_long] = { + .visible = true, + .named = false, + }, + [anon_sym_short] = { + .visible = true, + .named = false, + }, + [sym_primitive_type] = { + .visible = true, + .named = true, + }, + [anon_sym_enum] = { + .visible = true, + .named = false, + }, + [anon_sym_class] = { + .visible = true, + .named = false, + }, + [anon_sym_struct] = { + .visible = true, + .named = false, + }, + [anon_sym_union] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_switch] = { + .visible = true, + .named = false, + }, + [anon_sym_case] = { + .visible = true, + .named = false, + }, + [anon_sym_default] = { + .visible = true, + .named = false, + }, + [anon_sym_while] = { + .visible = true, + .named = false, + }, + [anon_sym_do] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_return] = { + .visible = true, + .named = false, + }, + [anon_sym_break] = { + .visible = true, + .named = false, + }, + [anon_sym_continue] = { + .visible = true, + .named = false, + }, + [anon_sym_goto] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_sizeof] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [sym_number_literal] = { + .visible = true, + .named = true, + }, + [anon_sym_L_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_SQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_SQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_char_literal_token1] = { + .visible = false, + .named = false, + }, + [anon_sym_L_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_U_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_u8_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_string_literal_token1] = { + .visible = false, + .named = false, + }, + [sym_escape_sequence] = { + .visible = true, + .named = true, + }, + [sym_system_lib_string] = { + .visible = true, + .named = true, + }, + [sym_true] = { + .visible = true, + .named = true, + }, + [sym_false] = { + .visible = true, + .named = true, + }, + [sym_null] = { + .visible = true, + .named = true, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [sym_auto] = { + .visible = true, + .named = true, + }, + [anon_sym_decltype] = { + .visible = true, + .named = false, + }, + [anon_sym_final] = { + .visible = true, + .named = false, + }, + [anon_sym_override] = { + .visible = true, + .named = false, + }, + [anon_sym_virtual] = { + .visible = true, + .named = false, + }, + [anon_sym_explicit] = { + .visible = true, + .named = false, + }, + [anon_sym_public] = { + .visible = true, + .named = false, + }, + [anon_sym_private] = { + .visible = true, + .named = false, + }, + [anon_sym_protected] = { + .visible = true, + .named = false, + }, + [anon_sym_typename] = { + .visible = true, + .named = false, + }, + [anon_sym_template] = { + .visible = true, + .named = false, + }, + [anon_sym_GT2] = { + .visible = true, + .named = false, + }, + [anon_sym_operator] = { + .visible = true, + .named = false, + }, + [anon_sym_delete] = { + .visible = true, + .named = false, + }, + [anon_sym_friend] = { + .visible = true, + .named = false, + }, + [anon_sym_noexcept] = { + .visible = true, + .named = false, + }, + [anon_sym_throw] = { + .visible = true, + .named = false, + }, + [anon_sym_namespace] = { + .visible = true, + .named = false, + }, + [anon_sym_using] = { + .visible = true, + .named = false, + }, + [anon_sym_static_assert] = { + .visible = true, + .named = false, + }, + [anon_sym_concept] = { + .visible = true, + .named = false, + }, + [anon_sym_co_return] = { + .visible = true, + .named = false, + }, + [anon_sym_co_yield] = { + .visible = true, + .named = false, + }, + [anon_sym_try] = { + .visible = true, + .named = false, + }, + [anon_sym_catch] = { + .visible = true, + .named = false, + }, + [anon_sym_co_await] = { + .visible = true, + .named = false, + }, + [anon_sym_new] = { + .visible = true, + .named = false, + }, + [anon_sym_requires] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE_DQUOTE] = { + .visible = true, + .named = false, + }, + [sym_this] = { + .visible = true, + .named = true, + }, + [sym_nullptr] = { + .visible = true, + .named = true, + }, + [sym_literal_suffix] = { + .visible = true, + .named = true, + }, + [sym_raw_string_literal] = { + .visible = true, + .named = true, + }, + [sym_translation_unit] = { + .visible = true, + .named = true, + }, + [sym_preproc_include] = { + .visible = true, + .named = true, + }, + [sym_preproc_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_function_def] = { + .visible = true, + .named = true, + }, + [sym_preproc_params] = { + .visible = true, + .named = true, + }, + [sym_preproc_call] = { + .visible = true, + .named = true, + }, + [sym_preproc_if] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef] = { + .visible = true, + .named = true, + }, + [sym_preproc_else] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif] = { + .visible = true, + .named = true, + }, + [sym_preproc_if_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_ifdef_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_else_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_elif_in_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__preproc_expression] = { + .visible = false, + .named = true, + }, + [sym_preproc_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_defined] = { + .visible = true, + .named = true, + }, + [sym_preproc_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_call_expression] = { + .visible = true, + .named = true, + }, + [sym_preproc_argument_list] = { + .visible = true, + .named = true, + }, + [sym_preproc_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_function_definition] = { + .visible = true, + .named = true, + }, + [sym_declaration] = { + .visible = true, + .named = true, + }, + [sym_type_definition] = { + .visible = true, + .named = true, + }, + [sym__declaration_modifiers] = { + .visible = false, + .named = true, + }, + [sym__declaration_specifiers] = { + .visible = false, + .named = true, + }, + [sym_linkage_specification] = { + .visible = true, + .named = true, + }, + [sym_attribute_specifier] = { + .visible = true, + .named = true, + }, + [sym_attribute] = { + .visible = true, + .named = true, + }, + [sym_attribute_declaration] = { + .visible = true, + .named = true, + }, + [sym_ms_declspec_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_based_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_call_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_unaligned_ptr_modifier] = { + .visible = true, + .named = true, + }, + [sym_ms_pointer_modifier] = { + .visible = true, + .named = true, + }, + [sym_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__field_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__type_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__abstract_declarator] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_parenthesized_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_attributed_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_pointer_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_pointer_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_function_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_function_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_array_type_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_array_declarator] = { + .visible = true, + .named = true, + }, + [sym_init_declarator] = { + .visible = true, + .named = true, + }, + [sym_compound_statement] = { + .visible = true, + .named = true, + }, + [sym_storage_class_specifier] = { + .visible = true, + .named = true, + }, + [sym_type_qualifier] = { + .visible = true, + .named = true, + }, + [sym__type_specifier] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_sized_type_specifier] = { + .visible = true, + .named = true, + }, + [sym_enum_specifier] = { + .visible = true, + .named = true, + }, + [sym_enumerator_list] = { + .visible = true, + .named = true, + }, + [sym_struct_specifier] = { + .visible = true, + .named = true, + }, + [sym_union_specifier] = { + .visible = true, + .named = true, + }, + [sym_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym__field_declaration_list_item] = { + .visible = false, + .named = true, + }, + [sym_field_declaration] = { + .visible = true, + .named = true, + }, + [sym_bitfield_clause] = { + .visible = true, + .named = true, + }, + [sym_enumerator] = { + .visible = true, + .named = true, + }, + [sym_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_attributed_statement] = { + .visible = true, + .named = true, + }, + [sym_attributed_non_case_statement] = { + .visible = true, + .named = true, + }, + [sym_labeled_statement] = { + .visible = true, + .named = true, + }, + [sym_expression_statement] = { + .visible = true, + .named = true, + }, + [sym_if_statement] = { + .visible = true, + .named = true, + }, + [sym_switch_statement] = { + .visible = true, + .named = true, + }, + [sym_case_statement] = { + .visible = true, + .named = true, + }, + [sym_while_statement] = { + .visible = true, + .named = true, + }, + [sym_do_statement] = { + .visible = true, + .named = true, + }, + [sym_for_statement] = { + .visible = true, + .named = true, + }, + [sym_return_statement] = { + .visible = true, + .named = true, + }, + [sym_break_statement] = { + .visible = true, + .named = true, + }, + [sym_continue_statement] = { + .visible = true, + .named = true, + }, + [sym_goto_statement] = { + .visible = true, + .named = true, + }, + [sym__expression] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_comma_expression] = { + .visible = true, + .named = true, + }, + [sym_conditional_expression] = { + .visible = true, + .named = true, + }, + [sym_assignment_expression] = { + .visible = true, + .named = true, + }, + [sym_pointer_expression] = { + .visible = true, + .named = true, + }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_update_expression] = { + .visible = true, + .named = true, + }, + [sym_cast_expression] = { + .visible = true, + .named = true, + }, + [sym_type_descriptor] = { + .visible = true, + .named = true, + }, + [sym_sizeof_expression] = { + .visible = true, + .named = true, + }, + [sym_subscript_expression] = { + .visible = true, + .named = true, + }, + [sym_call_expression] = { + .visible = true, + .named = true, + }, + [sym_argument_list] = { + .visible = true, + .named = true, + }, + [sym_field_expression] = { + .visible = true, + .named = true, + }, + [sym_compound_literal_expression] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_initializer_list] = { + .visible = true, + .named = true, + }, + [sym_initializer_pair] = { + .visible = true, + .named = true, + }, + [sym_subscript_designator] = { + .visible = true, + .named = true, + }, + [sym_field_designator] = { + .visible = true, + .named = true, + }, + [sym_char_literal] = { + .visible = true, + .named = true, + }, + [sym_concatenated_string] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym__empty_declaration] = { + .visible = false, + .named = true, + }, + [sym_placeholder_type_specifier] = { + .visible = true, + .named = true, + }, + [sym_decltype_auto] = { + .visible = true, + .named = true, + }, + [sym_decltype] = { + .visible = true, + .named = true, + }, + [sym_class_specifier] = { + .visible = true, + .named = true, + }, + [sym__class_name] = { + .visible = false, + .named = true, + }, + [sym_virtual_specifier] = { + .visible = true, + .named = true, + }, + [sym_virtual_function_specifier] = { + .visible = true, + .named = true, + }, + [sym_explicit_function_specifier] = { + .visible = true, + .named = true, + }, + [sym_base_class_clause] = { + .visible = true, + .named = true, + }, + [sym__enum_base_clause] = { + .visible = false, + .named = true, + }, + [sym_dependent_type] = { + .visible = true, + .named = true, + }, + [sym_template_declaration] = { + .visible = true, + .named = true, + }, + [sym_template_instantiation] = { + .visible = true, + .named = true, + }, + [sym_template_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_type_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_variadic_type_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_optional_type_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_template_template_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_optional_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_variadic_parameter_declaration] = { + .visible = true, + .named = true, + }, + [sym_variadic_declarator] = { + .visible = true, + .named = true, + }, + [sym_variadic_reference_declarator] = { + .visible = true, + .named = true, + }, + [sym_operator_cast] = { + .visible = true, + .named = true, + }, + [sym_field_initializer_list] = { + .visible = true, + .named = true, + }, + [sym_field_initializer] = { + .visible = true, + .named = true, + }, + [sym_inline_method_definition] = { + .visible = true, + .named = true, + }, + [sym__constructor_specifiers] = { + .visible = false, + .named = true, + }, + [sym_operator_cast_definition] = { + .visible = true, + .named = true, + }, + [sym_operator_cast_declaration] = { + .visible = true, + .named = true, + }, + [sym_constructor_or_destructor_definition] = { + .visible = true, + .named = true, + }, + [sym_constructor_or_destructor_declaration] = { + .visible = true, + .named = true, + }, + [sym_default_method_clause] = { + .visible = true, + .named = true, + }, + [sym_delete_method_clause] = { + .visible = true, + .named = true, + }, + [sym_friend_declaration] = { + .visible = true, + .named = true, + }, + [sym_access_specifier] = { + .visible = true, + .named = true, + }, + [sym_reference_declarator] = { + .visible = true, + .named = true, + }, + [sym_reference_field_declarator] = { + .visible = true, + .named = true, + }, + [sym_abstract_reference_declarator] = { + .visible = true, + .named = true, + }, + [sym_structured_binding_declarator] = { + .visible = true, + .named = true, + }, + [sym_ref_qualifier] = { + .visible = true, + .named = true, + }, + [sym_trailing_return_type] = { + .visible = true, + .named = true, + }, + [sym_noexcept] = { + .visible = true, + .named = true, + }, + [sym_throw_specifier] = { + .visible = true, + .named = true, + }, + [sym_template_type] = { + .visible = true, + .named = true, + }, + [sym_template_method] = { + .visible = true, + .named = true, + }, + [sym_template_function] = { + .visible = true, + .named = true, + }, + [sym_template_argument_list] = { + .visible = true, + .named = true, + }, + [sym_namespace_definition] = { + .visible = true, + .named = true, + }, + [sym_namespace_alias_definition] = { + .visible = true, + .named = true, + }, + [sym_namespace_definition_name] = { + .visible = true, + .named = true, + }, + [sym_using_declaration] = { + .visible = true, + .named = true, + }, + [sym_alias_declaration] = { + .visible = true, + .named = true, + }, + [sym_static_assert_declaration] = { + .visible = true, + .named = true, + }, + [sym_concept_definition] = { + .visible = true, + .named = true, + }, + [sym_condition_clause] = { + .visible = true, + .named = true, + }, + [sym_condition_declaration] = { + .visible = true, + .named = true, + }, + [sym_for_range_loop] = { + .visible = true, + .named = true, + }, + [sym_co_return_statement] = { + .visible = true, + .named = true, + }, + [sym_co_yield_statement] = { + .visible = true, + .named = true, + }, + [sym_throw_statement] = { + .visible = true, + .named = true, + }, + [sym_try_statement] = { + .visible = true, + .named = true, + }, + [sym_catch_clause] = { + .visible = true, + .named = true, + }, + [sym_co_await_expression] = { + .visible = true, + .named = true, + }, + [sym_new_expression] = { + .visible = true, + .named = true, + }, + [sym_new_declarator] = { + .visible = true, + .named = true, + }, + [sym_delete_expression] = { + .visible = true, + .named = true, + }, + [sym_type_requirement] = { + .visible = true, + .named = true, + }, + [sym_compound_requirement] = { + .visible = true, + .named = true, + }, + [sym__requirement] = { + .visible = false, + .named = true, + }, + [sym_requirement_seq] = { + .visible = true, + .named = true, + }, + [sym_constraint_conjunction] = { + .visible = true, + .named = true, + }, + [sym_constraint_disjunction] = { + .visible = true, + .named = true, + }, + [sym__requirement_clause_constraint] = { + .visible = false, + .named = true, + }, + [sym_requires_clause] = { + .visible = true, + .named = true, + }, + [sym_requires_parameter_list] = { + .visible = true, + .named = true, + }, + [sym_requires_expression] = { + .visible = true, + .named = true, + }, + [sym_lambda_expression] = { + .visible = true, + .named = true, + }, + [sym_lambda_capture_specifier] = { + .visible = true, + .named = true, + }, + [sym_lambda_default_capture] = { + .visible = true, + .named = true, + }, + [sym__fold_operator] = { + .visible = false, + .named = true, + }, + [sym__binary_fold_operator] = { + .visible = false, + .named = true, + }, + [sym__unary_left_fold] = { + .visible = false, + .named = true, + }, + [sym__unary_right_fold] = { + .visible = false, + .named = true, + }, + [sym__binary_fold] = { + .visible = false, + .named = true, + }, + [sym_fold_expression] = { + .visible = true, + .named = true, + }, + [sym_parameter_pack_expansion] = { + .visible = true, + .named = true, + }, + [sym_type_parameter_pack_expansion] = { + .visible = true, + .named = true, + }, + [sym_destructor_name] = { + .visible = true, + .named = true, + }, + [sym_dependent_identifier] = { + .visible = true, + .named = true, + }, + [sym_dependent_field_identifier] = { + .visible = true, + .named = true, + }, + [sym_dependent_type_identifier] = { + .visible = true, + .named = true, + }, + [sym__scope_resolution] = { + .visible = false, + .named = true, + }, + [sym_qualified_field_identifier] = { + .visible = true, + .named = true, + }, + [sym_qualified_identifier] = { + .visible = true, + .named = true, + }, + [sym_qualified_type_identifier] = { + .visible = true, + .named = true, + }, + [sym_qualified_operator_cast_identifier] = { + .visible = true, + .named = true, + }, + [sym_operator_name] = { + .visible = true, + .named = true, + }, + [sym_user_defined_literal] = { + .visible = true, + .named = true, + }, + [aux_sym_translation_unit_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_params_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_preproc_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_type_definition_repeat2] = { + .visible = false, + .named = false, + }, + [aux_sym__declaration_specifiers_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attribute_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attributed_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_pointer_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_function_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_function_declarator_repeat2] = { + .visible = false, + .named = false, + }, + [aux_sym_abstract_function_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_sized_type_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enumerator_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_field_declaration_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_case_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_initializer_pair_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_concatenated_string_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_string_literal_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_base_class_clause_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_template_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_field_initializer_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_operator_cast_definition_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_structured_binding_declarator_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_throw_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_template_argument_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_try_statement_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_requirement_seq_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_requires_parameter_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_lambda_capture_specifier_repeat1] = { + .visible = false, + .named = false, + }, + [alias_sym_field_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_namespace_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_simple_requirement] = { + .visible = true, + .named = true, + }, + [alias_sym_statement_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_type_identifier] = { + .visible = true, + .named = true, + }, +}; + +enum { + field_alternative = 1, + field_argument = 2, + field_arguments = 3, + field_base = 4, + field_body = 5, + field_captures = 6, + field_condition = 7, + field_consequence = 8, + field_constraint = 9, + field_declarator = 10, + field_default_type = 11, + field_default_value = 12, + field_designator = 13, + field_directive = 14, + field_field = 15, + field_function = 16, + field_index = 17, + field_initializer = 18, + field_label = 19, + field_left = 20, + field_length = 21, + field_message = 22, + field_name = 23, + field_operator = 24, + field_parameters = 25, + field_path = 26, + field_pattern = 27, + field_placement = 28, + field_prefix = 29, + field_requirements = 30, + field_right = 31, + field_scope = 32, + field_size = 33, + field_template_parameters = 34, + field_type = 35, + field_update = 36, + field_value = 37, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_alternative] = "alternative", + [field_argument] = "argument", + [field_arguments] = "arguments", + [field_base] = "base", + [field_body] = "body", + [field_captures] = "captures", + [field_condition] = "condition", + [field_consequence] = "consequence", + [field_constraint] = "constraint", + [field_declarator] = "declarator", + [field_default_type] = "default_type", + [field_default_value] = "default_value", + [field_designator] = "designator", + [field_directive] = "directive", + [field_field] = "field", + [field_function] = "function", + [field_index] = "index", + [field_initializer] = "initializer", + [field_label] = "label", + [field_left] = "left", + [field_length] = "length", + [field_message] = "message", + [field_name] = "name", + [field_operator] = "operator", + [field_parameters] = "parameters", + [field_path] = "path", + [field_pattern] = "pattern", + [field_placement] = "placement", + [field_prefix] = "prefix", + [field_requirements] = "requirements", + [field_right] = "right", + [field_scope] = "scope", + [field_size] = "size", + [field_template_parameters] = "template_parameters", + [field_type] = "type", + [field_update] = "update", + [field_value] = "value", +}; + +static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [2] = {.index = 0, .length = 1}, + [3] = {.index = 1, .length = 1}, + [4] = {.index = 2, .length = 2}, + [5] = {.index = 4, .length = 1}, + [6] = {.index = 5, .length = 1}, + [7] = {.index = 6, .length = 2}, + [8] = {.index = 8, .length = 1}, + [9] = {.index = 9, .length = 1}, + [10] = {.index = 10, .length = 1}, + [11] = {.index = 11, .length = 1}, + [12] = {.index = 12, .length = 2}, + [13] = {.index = 12, .length = 2}, + [14] = {.index = 14, .length = 1}, + [15] = {.index = 15, .length = 1}, + [16] = {.index = 16, .length = 1}, + [17] = {.index = 17, .length = 2}, + [18] = {.index = 19, .length = 2}, + [19] = {.index = 21, .length = 1}, + [20] = {.index = 22, .length = 1}, + [21] = {.index = 23, .length = 1}, + [22] = {.index = 24, .length = 2}, + [23] = {.index = 26, .length = 2}, + [24] = {.index = 11, .length = 1}, + [25] = {.index = 28, .length = 2}, + [26] = {.index = 30, .length = 1}, + [27] = {.index = 31, .length = 2}, + [28] = {.index = 31, .length = 2}, + [29] = {.index = 14, .length = 1}, + [30] = {.index = 33, .length = 1}, + [31] = {.index = 34, .length = 2}, + [32] = {.index = 36, .length = 2}, + [33] = {.index = 38, .length = 3}, + [34] = {.index = 41, .length = 1}, + [35] = {.index = 42, .length = 2}, + [36] = {.index = 44, .length = 1}, + [37] = {.index = 45, .length = 1}, + [38] = {.index = 46, .length = 1}, + [39] = {.index = 47, .length = 2}, + [40] = {.index = 49, .length = 2}, + [41] = {.index = 51, .length = 2}, + [42] = {.index = 53, .length = 2}, + [43] = {.index = 55, .length = 1}, + [44] = {.index = 56, .length = 3}, + [45] = {.index = 59, .length = 1}, + [46] = {.index = 60, .length = 1}, + [47] = {.index = 61, .length = 1}, + [48] = {.index = 62, .length = 2}, + [49] = {.index = 64, .length = 2}, + [50] = {.index = 66, .length = 2}, + [51] = {.index = 68, .length = 2}, + [53] = {.index = 70, .length = 2}, + [54] = {.index = 72, .length = 2}, + [55] = {.index = 74, .length = 3}, + [56] = {.index = 77, .length = 2}, + [57] = {.index = 79, .length = 2}, + [58] = {.index = 81, .length = 2}, + [59] = {.index = 83, .length = 3}, + [60] = {.index = 86, .length = 2}, + [61] = {.index = 88, .length = 3}, + [62] = {.index = 91, .length = 3}, + [63] = {.index = 94, .length = 2}, + [64] = {.index = 96, .length = 2}, + [65] = {.index = 98, .length = 2}, + [66] = {.index = 100, .length = 1}, + [67] = {.index = 101, .length = 2}, + [68] = {.index = 103, .length = 2}, + [69] = {.index = 105, .length = 3}, + [70] = {.index = 108, .length = 2}, + [71] = {.index = 110, .length = 1}, + [72] = {.index = 111, .length = 2}, + [73] = {.index = 113, .length = 2}, + [74] = {.index = 115, .length = 2}, + [75] = {.index = 117, .length = 2}, + [76] = {.index = 119, .length = 2}, + [77] = {.index = 121, .length = 2}, + [78] = {.index = 123, .length = 1}, + [79] = {.index = 123, .length = 1}, + [80] = {.index = 124, .length = 3}, + [82] = {.index = 127, .length = 1}, + [83] = {.index = 128, .length = 1}, + [84] = {.index = 129, .length = 2}, + [85] = {.index = 131, .length = 2}, + [88] = {.index = 133, .length = 3}, + [89] = {.index = 136, .length = 3}, + [90] = {.index = 139, .length = 3}, + [91] = {.index = 142, .length = 2}, + [92] = {.index = 144, .length = 3}, + [93] = {.index = 147, .length = 2}, + [94] = {.index = 149, .length = 3}, + [95] = {.index = 152, .length = 2}, + [96] = {.index = 12, .length = 2}, + [97] = {.index = 31, .length = 2}, + [98] = {.index = 154, .length = 2}, + [99] = {.index = 156, .length = 2}, + [100] = {.index = 158, .length = 1}, + [101] = {.index = 159, .length = 4}, + [102] = {.index = 163, .length = 4}, + [103] = {.index = 167, .length = 2}, + [104] = {.index = 169, .length = 3}, + [105] = {.index = 172, .length = 2}, + [106] = {.index = 174, .length = 2}, + [107] = {.index = 176, .length = 1}, + [108] = {.index = 177, .length = 2}, + [109] = {.index = 179, .length = 3}, + [110] = {.index = 182, .length = 3}, + [111] = {.index = 185, .length = 3}, + [112] = {.index = 188, .length = 3}, + [113] = {.index = 191, .length = 2}, + [114] = {.index = 193, .length = 3}, + [115] = {.index = 196, .length = 2}, + [116] = {.index = 198, .length = 2}, + [117] = {.index = 200, .length = 1}, + [118] = {.index = 201, .length = 2}, + [119] = {.index = 203, .length = 2}, + [120] = {.index = 205, .length = 2}, + [121] = {.index = 207, .length = 3}, + [122] = {.index = 210, .length = 3}, + [123] = {.index = 213, .length = 2}, + [124] = {.index = 215, .length = 2}, + [125] = {.index = 217, .length = 1}, + [127] = {.index = 218, .length = 1}, + [128] = {.index = 219, .length = 2}, + [129] = {.index = 221, .length = 2}, + [130] = {.index = 223, .length = 1}, + [131] = {.index = 224, .length = 2}, + [132] = {.index = 226, .length = 1}, + [133] = {.index = 227, .length = 4}, + [134] = {.index = 231, .length = 1}, + [135] = {.index = 232, .length = 2}, + [136] = {.index = 234, .length = 3}, + [137] = {.index = 237, .length = 1}, + [138] = {.index = 238, .length = 5}, + [139] = {.index = 243, .length = 2}, + [140] = {.index = 245, .length = 2}, + [141] = {.index = 247, .length = 3}, + [142] = {.index = 250, .length = 4}, + [143] = {.index = 254, .length = 3}, + [144] = {.index = 257, .length = 2}, + [145] = {.index = 259, .length = 2}, + [146] = {.index = 261, .length = 1}, + [147] = {.index = 262, .length = 3}, + [148] = {.index = 265, .length = 3}, + [149] = {.index = 268, .length = 1}, + [150] = {.index = 269, .length = 2}, + [151] = {.index = 271, .length = 3}, + [152] = {.index = 274, .length = 4}, + [153] = {.index = 278, .length = 2}, + [154] = {.index = 280, .length = 1}, + [155] = {.index = 281, .length = 1}, + [156] = {.index = 282, .length = 2}, + [157] = {.index = 284, .length = 2}, + [158] = {.index = 286, .length = 2}, + [159] = {.index = 288, .length = 4}, + [160] = {.index = 292, .length = 2}, + [161] = {.index = 294, .length = 3}, + [162] = {.index = 297, .length = 4}, + [163] = {.index = 301, .length = 2}, + [164] = {.index = 303, .length = 2}, + [165] = {.index = 305, .length = 3}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_type, 0}, + [1] = + {field_directive, 0}, + [2] = + {field_argument, 1}, + {field_operator, 0}, + [4] = + {field_declarator, 1}, + [5] = + {field_name, 0}, + [6] = + {field_arguments, 1}, + {field_function, 0}, + [8] = + {field_body, 1}, + [9] = + {field_name, 1}, + [10] = + {field_value, 1}, + [11] = + {field_scope, 0}, + [12] = + {field_arguments, 1}, + {field_name, 0}, + [14] = + {field_type, 1}, + [15] = + {field_requirements, 1}, + [16] = + {field_constraint, 1}, + [17] = + {field_declarator, 0}, + {field_parameters, 1}, + [19] = + {field_body, 1}, + {field_declarator, 0}, + [21] = + {field_declarator, 0}, + [22] = + {field_constraint, 0}, + [23] = + {field_pattern, 0}, + [24] = + {field_argument, 0}, + {field_operator, 1}, + [26] = + {field_type, 0}, + {field_value, 1}, + [28] = + {field_body, 1}, + {field_captures, 0}, + [30] = + {field_parameters, 0}, + [31] = + {field_name, 1}, + {field_scope, 0, .inherited = true}, + [33] = + {field_path, 1}, + [34] = + {field_argument, 1}, + {field_directive, 0}, + [36] = + {field_declarator, 1}, + {field_type, 0}, + [38] = + {field_left, 1, .inherited = true}, + {field_operator, 1, .inherited = true}, + {field_right, 1, .inherited = true}, + [41] = + {field_declarator, 2}, + [42] = + {field_body, 2}, + {field_value, 1}, + [44] = + {field_type, 2}, + [45] = + {field_body, 2}, + [46] = + {field_name, 2}, + [47] = + {field_body, 2}, + {field_name, 1}, + [49] = + {field_base, 2, .inherited = true}, + {field_name, 1}, + [51] = + {field_condition, 1}, + {field_consequence, 2}, + [53] = + {field_body, 2}, + {field_condition, 1}, + [55] = + {field_label, 1}, + [56] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [59] = + {field_label, 0}, + [60] = + {field_type, 0, .inherited = true}, + [61] = + {field_parameters, 1}, + [62] = + {field_declarator, 2}, + {field_type, 1, .inherited = true}, + [64] = + {field_arguments, 2}, + {field_type, 1}, + [66] = + {field_declarator, 2}, + {field_type, 1}, + [68] = + {field_placement, 1}, + {field_type, 2}, + [70] = + {field_parameters, 1}, + {field_requirements, 2}, + [72] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [74] = + {field_body, 2}, + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + [77] = + {field_declarator, 0}, + {field_value, 1}, + [79] = + {field_body, 2}, + {field_declarator, 0}, + [81] = + {field_left, 0}, + {field_right, 2}, + [83] = + {field_argument, 0}, + {field_field, 2}, + {field_operator, 1}, + [86] = + {field_argument, 0}, + {field_field, 2}, + [88] = + {field_body, 2}, + {field_captures, 0}, + {field_declarator, 1}, + [91] = + {field_body, 2}, + {field_captures, 0}, + {field_template_parameters, 1}, + [94] = + {field_body, 2}, + {field_declarator, 1}, + [96] = + {field_name, 1}, + {field_value, 2}, + [98] = + {field_name, 1}, + {field_parameters, 2}, + [100] = + {field_condition, 1}, + [101] = + {field_alternative, 2}, + {field_name, 1}, + [103] = + {field_declarator, 2}, + {field_type, 0}, + [105] = + {field_left, 0}, + {field_operator, 1, .inherited = true}, + {field_right, 2}, + [108] = + {field_type, 1}, + {field_value, 3}, + [110] = + {field_declarator, 3}, + [111] = + {field_arguments, 3}, + {field_type, 2}, + [113] = + {field_declarator, 3}, + {field_type, 2}, + [115] = + {field_placement, 2}, + {field_type, 3}, + [117] = + {field_name, 2}, + {field_prefix, 0}, + [119] = + {field_body, 3}, + {field_name, 2}, + [121] = + {field_base, 3, .inherited = true}, + {field_name, 2}, + [123] = + {field_base, 1}, + [124] = + {field_base, 2, .inherited = true}, + {field_body, 3}, + {field_name, 1}, + [127] = + {field_body, 3}, + [128] = + {field_name, 3}, + [129] = + {field_body, 3}, + {field_name, 1}, + [131] = + {field_condition, 2}, + {field_consequence, 3}, + [133] = + {field_arguments, 3}, + {field_declarator, 2}, + {field_type, 1}, + [136] = + {field_arguments, 3}, + {field_placement, 1}, + {field_type, 2}, + [139] = + {field_declarator, 3}, + {field_placement, 1}, + {field_type, 2}, + [142] = + {field_declarator, 0}, + {field_value, 2}, + [144] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_type, 0, .inherited = true}, + [147] = + {field_declarator, 0, .inherited = true}, + {field_declarator, 1, .inherited = true}, + [149] = + {field_body, 3}, + {field_declarator, 2}, + {field_type, 1, .inherited = true}, + [152] = + {field_declarator, 0}, + {field_size, 2}, + [154] = + {field_argument, 0}, + {field_index, 2}, + [156] = + {field_declarator, 0}, + {field_default_value, 2}, + [158] = + {field_size, 1}, + [159] = + {field_body, 3}, + {field_captures, 0}, + {field_declarator, 2}, + {field_template_parameters, 1}, + [163] = + {field_body, 3}, + {field_captures, 0}, + {field_constraint, 2}, + {field_template_parameters, 1}, + [167] = + {field_body, 3}, + {field_declarator, 1}, + [169] = + {field_name, 1}, + {field_parameters, 2}, + {field_value, 3}, + [172] = + {field_alternative, 3}, + {field_condition, 1}, + [174] = + {field_alternative, 3}, + {field_name, 1}, + [176] = + {field_operator, 0}, + [177] = + {field_declarator, 3}, + {field_type, 1}, + [179] = + {field_declarator, 2}, + {field_declarator, 3, .inherited = true}, + {field_type, 1}, + [182] = + {field_arguments, 4}, + {field_declarator, 3}, + {field_type, 2}, + [185] = + {field_arguments, 4}, + {field_placement, 2}, + {field_type, 3}, + [188] = + {field_declarator, 4}, + {field_placement, 2}, + {field_type, 3}, + [191] = + {field_name, 0}, + {field_value, 2}, + [193] = + {field_base, 3, .inherited = true}, + {field_body, 4}, + {field_name, 2}, + [196] = + {field_default_value, 1}, + {field_type, 0, .inherited = true}, + [198] = + {field_body, 4}, + {field_name, 2}, + [200] = + {field_body, 4}, + [201] = + {field_body, 4}, + {field_name, 3}, + [203] = + {field_body, 4}, + {field_name, 1}, + [205] = + {field_initializer, 1}, + {field_value, 2}, + [207] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + {field_value, 2}, + [210] = + {field_alternative, 4}, + {field_condition, 1}, + {field_consequence, 2}, + [213] = + {field_body, 1}, + {field_condition, 3}, + [215] = + {field_designator, 0}, + {field_value, 2}, + [217] = + {field_value, 3}, + [218] = + {field_default_type, 2}, + [219] = + {field_default_value, 2}, + {field_type, 0, .inherited = true}, + [221] = + {field_name, 1}, + {field_type, 3}, + [223] = + {field_condition, 2}, + [224] = + {field_body, 2}, + {field_parameters, 1}, + [226] = + {field_length, 1}, + [227] = + {field_arguments, 4}, + {field_declarator, 3}, + {field_placement, 1}, + {field_type, 2}, + [231] = + {field_declarator, 4}, + [232] = + {field_declarator, 0}, + {field_size, 3}, + [234] = + {field_alternative, 4}, + {field_condition, 0}, + {field_consequence, 2}, + [237] = + {field_size, 2}, + [238] = + {field_body, 4}, + {field_captures, 0}, + {field_constraint, 2}, + {field_declarator, 3}, + {field_template_parameters, 1}, + [243] = + {field_declarator, 1}, + {field_default_value, 3}, + [245] = + {field_alternative, 4}, + {field_condition, 1}, + [247] = + {field_declarator, 3}, + {field_declarator, 4, .inherited = true}, + {field_type, 2}, + [250] = + {field_arguments, 5}, + {field_declarator, 4}, + {field_placement, 2}, + {field_type, 3}, + [254] = + {field_declarator, 1}, + {field_default_value, 2}, + {field_type, 0, .inherited = true}, + [257] = + {field_body, 5}, + {field_name, 2}, + [259] = + {field_body, 5}, + {field_name, 3}, + [261] = + {field_body, 5}, + [262] = + {field_declarator, 1}, + {field_type, 0, .inherited = true}, + {field_value, 3}, + [265] = + {field_alternative, 5}, + {field_condition, 2}, + {field_consequence, 3}, + [268] = + {field_initializer, 2}, + [269] = + {field_default_type, 3}, + {field_name, 1}, + [271] = + {field_declarator, 1}, + {field_default_value, 3}, + {field_type, 0, .inherited = true}, + [274] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_default_value, 3}, + {field_type, 0, .inherited = true}, + [278] = + {field_body, 6}, + {field_name, 3}, + [280] = + {field_update, 4}, + [281] = + {field_condition, 3}, + [282] = + {field_initializer, 2}, + {field_update, 4}, + [284] = + {field_condition, 3}, + {field_initializer, 2}, + [286] = + {field_condition, 2}, + {field_message, 4}, + [288] = + {field_declarator, 1}, + {field_declarator, 2, .inherited = true}, + {field_default_value, 4}, + {field_type, 0, .inherited = true}, + [292] = + {field_condition, 3}, + {field_update, 5}, + [294] = + {field_condition, 3}, + {field_initializer, 2}, + {field_update, 5}, + [297] = + {field_body, 7}, + {field_declarator, 3}, + {field_right, 5}, + {field_type, 2, .inherited = true}, + [301] = + {field_initializer, 2}, + {field_update, 5}, + [303] = + {field_condition, 4}, + {field_initializer, 2}, + [305] = + {field_condition, 4}, + {field_initializer, 2}, + {field_update, 6}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, + [1] = { + [0] = alias_sym_type_identifier, + }, + [11] = { + [0] = alias_sym_namespace_identifier, + }, + [12] = { + [0] = alias_sym_type_identifier, + }, + [28] = { + [1] = alias_sym_type_identifier, + }, + [29] = { + [1] = alias_sym_type_identifier, + }, + [43] = { + [1] = alias_sym_statement_identifier, + }, + [45] = { + [0] = alias_sym_statement_identifier, + }, + [52] = { + [0] = alias_sym_simple_requirement, + }, + [59] = { + [2] = alias_sym_field_identifier, + }, + [78] = { + [1] = alias_sym_type_identifier, + }, + [81] = { + [0] = alias_sym_field_identifier, + }, + [86] = { + [1] = alias_sym_field_identifier, + }, + [87] = { + [1] = alias_sym_type_identifier, + }, + [96] = { + [0] = alias_sym_field_identifier, + }, + [97] = { + [1] = alias_sym_field_identifier, + }, + [126] = { + [2] = alias_sym_type_identifier, + }, + [129] = { + [1] = alias_sym_type_identifier, + }, + [150] = { + [1] = alias_sym_type_identifier, + }, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + sym_expression_statement, 2, + sym_expression_statement, + alias_sym_simple_requirement, + 0, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(240); + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '#') ADVANCE(207); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(245); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(310); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(299); + if (lookahead == '.') ADVANCE(380); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(356); + if (lookahead == '\\') SKIP(235) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(238) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 1: + if (lookahead == '\n') SKIP(124) + END_STATE(); + case 2: + if (lookahead == '\n') SKIP(124) + if (lookahead == '\r') SKIP(1) + END_STATE(); + case 3: + if (lookahead == '\n') SKIP(126) + END_STATE(); + case 4: + if (lookahead == '\n') SKIP(126) + if (lookahead == '\r') SKIP(3) + END_STATE(); + case 5: + if (lookahead == '\n') SKIP(125) + END_STATE(); + case 6: + if (lookahead == '\n') SKIP(125) + if (lookahead == '\r') SKIP(5) + END_STATE(); + case 7: + if (lookahead == '\n') SKIP(127) + END_STATE(); + case 8: + if (lookahead == '\n') SKIP(127) + if (lookahead == '\r') SKIP(7) + END_STATE(); + case 9: + if (lookahead == '\n') SKIP(175) + END_STATE(); + case 10: + if (lookahead == '\n') SKIP(175) + if (lookahead == '\r') SKIP(9) + END_STATE(); + case 11: + if (lookahead == '\n') SKIP(174) + END_STATE(); + case 12: + if (lookahead == '\n') SKIP(174) + if (lookahead == '\r') SKIP(11) + END_STATE(); + case 13: + if (lookahead == '\n') SKIP(141) + END_STATE(); + case 14: + if (lookahead == '\n') SKIP(141) + if (lookahead == '\r') SKIP(13) + END_STATE(); + case 15: + if (lookahead == '\n') SKIP(128) + END_STATE(); + case 16: + if (lookahead == '\n') SKIP(128) + if (lookahead == '\r') SKIP(15) + END_STATE(); + case 17: + if (lookahead == '\n') SKIP(118) + END_STATE(); + case 18: + if (lookahead == '\n') SKIP(118) + if (lookahead == '\r') SKIP(17) + END_STATE(); + case 19: + if (lookahead == '\n') SKIP(117) + END_STATE(); + case 20: + if (lookahead == '\n') SKIP(117) + if (lookahead == '\r') SKIP(19) + END_STATE(); + case 21: + if (lookahead == '\n') SKIP(119) + END_STATE(); + case 22: + if (lookahead == '\n') SKIP(119) + if (lookahead == '\r') SKIP(21) + END_STATE(); + case 23: + if (lookahead == '\n') SKIP(122) + END_STATE(); + case 24: + if (lookahead == '\n') SKIP(122) + if (lookahead == '\r') SKIP(23) + END_STATE(); + case 25: + if (lookahead == '\n') SKIP(148) + END_STATE(); + case 26: + if (lookahead == '\n') SKIP(148) + if (lookahead == '\r') SKIP(25) + END_STATE(); + case 27: + if (lookahead == '\n') SKIP(143) + END_STATE(); + case 28: + if (lookahead == '\n') SKIP(143) + if (lookahead == '\r') SKIP(27) + END_STATE(); + case 29: + if (lookahead == '\n') SKIP(142) + END_STATE(); + case 30: + if (lookahead == '\n') SKIP(142) + if (lookahead == '\r') SKIP(29) + END_STATE(); + case 31: + if (lookahead == '\n') SKIP(150) + END_STATE(); + case 32: + if (lookahead == '\n') SKIP(150) + if (lookahead == '\r') SKIP(31) + END_STATE(); + case 33: + if (lookahead == '\n') SKIP(151) + END_STATE(); + case 34: + if (lookahead == '\n') SKIP(151) + if (lookahead == '\r') SKIP(33) + END_STATE(); + case 35: + if (lookahead == '\n') SKIP(133) + END_STATE(); + case 36: + if (lookahead == '\n') SKIP(133) + if (lookahead == '\r') SKIP(35) + END_STATE(); + case 37: + if (lookahead == '\n') SKIP(152) + END_STATE(); + case 38: + if (lookahead == '\n') SKIP(152) + if (lookahead == '\r') SKIP(37) + END_STATE(); + case 39: + if (lookahead == '\n') SKIP(146) + END_STATE(); + case 40: + if (lookahead == '\n') SKIP(146) + if (lookahead == '\r') SKIP(39) + END_STATE(); + case 41: + if (lookahead == '\n') SKIP(131) + END_STATE(); + case 42: + if (lookahead == '\n') SKIP(131) + if (lookahead == '\r') SKIP(41) + END_STATE(); + case 43: + if (lookahead == '\n') SKIP(156) + END_STATE(); + case 44: + if (lookahead == '\n') SKIP(156) + if (lookahead == '\r') SKIP(43) + END_STATE(); + case 45: + if (lookahead == '\n') SKIP(135) + END_STATE(); + case 46: + if (lookahead == '\n') SKIP(135) + if (lookahead == '\r') SKIP(45) + END_STATE(); + case 47: + if (lookahead == '\n') SKIP(154) + END_STATE(); + case 48: + if (lookahead == '\n') SKIP(154) + if (lookahead == '\r') SKIP(47) + END_STATE(); + case 49: + if (lookahead == '\n') SKIP(136) + END_STATE(); + case 50: + if (lookahead == '\n') SKIP(136) + if (lookahead == '\r') SKIP(49) + END_STATE(); + case 51: + if (lookahead == '\n') SKIP(162) + END_STATE(); + case 52: + if (lookahead == '\n') SKIP(162) + if (lookahead == '\r') SKIP(51) + END_STATE(); + case 53: + if (lookahead == '\n') SKIP(153) + END_STATE(); + case 54: + if (lookahead == '\n') SKIP(153) + if (lookahead == '\r') SKIP(53) + END_STATE(); + case 55: + if (lookahead == '\n') SKIP(145) + END_STATE(); + case 56: + if (lookahead == '\n') SKIP(145) + if (lookahead == '\r') SKIP(55) + END_STATE(); + case 57: + if (lookahead == '\n') SKIP(176) + END_STATE(); + case 58: + if (lookahead == '\n') SKIP(176) + if (lookahead == '\r') SKIP(57) + END_STATE(); + case 59: + if (lookahead == '\n') SKIP(123) + END_STATE(); + case 60: + if (lookahead == '\n') SKIP(123) + if (lookahead == '\r') SKIP(59) + END_STATE(); + case 61: + if (lookahead == '\n') SKIP(155) + END_STATE(); + case 62: + if (lookahead == '\n') SKIP(155) + if (lookahead == '\r') SKIP(61) + END_STATE(); + case 63: + if (lookahead == '\n') SKIP(157) + END_STATE(); + case 64: + if (lookahead == '\n') SKIP(157) + if (lookahead == '\r') SKIP(63) + END_STATE(); + case 65: + if (lookahead == '\n') SKIP(179) + END_STATE(); + case 66: + if (lookahead == '\n') SKIP(179) + if (lookahead == '\r') SKIP(65) + END_STATE(); + case 67: + if (lookahead == '\n') SKIP(178) + END_STATE(); + case 68: + if (lookahead == '\n') SKIP(178) + if (lookahead == '\r') SKIP(67) + END_STATE(); + case 69: + if (lookahead == '\n') SKIP(158) + END_STATE(); + case 70: + if (lookahead == '\n') SKIP(158) + if (lookahead == '\r') SKIP(69) + END_STATE(); + case 71: + if (lookahead == '\n') SKIP(181) + END_STATE(); + case 72: + if (lookahead == '\n') SKIP(181) + if (lookahead == '\r') SKIP(71) + END_STATE(); + case 73: + if (lookahead == '\n') SKIP(180) + END_STATE(); + case 74: + if (lookahead == '\n') SKIP(180) + if (lookahead == '\r') SKIP(73) + END_STATE(); + case 75: + if (lookahead == '\n') SKIP(77) + END_STATE(); + case 76: + if (lookahead == '\n') SKIP(77) + if (lookahead == '\r') SKIP(75) + END_STATE(); + case 77: + if (lookahead == '\n') ADVANCE(242); + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(308); + if (lookahead == '-') ADVANCE(298); + if (lookahead == '/') ADVANCE(317); + if (lookahead == '<') ADVANCE(343); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '\\') SKIP(76) + if (lookahead == '^') ADVANCE(326); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') SKIP(77) + END_STATE(); + case 78: + if (lookahead == '\n') SKIP(129) + END_STATE(); + case 79: + if (lookahead == '\n') SKIP(129) + if (lookahead == '\r') SKIP(78) + END_STATE(); + case 80: + if (lookahead == '\n') SKIP(167) + END_STATE(); + case 81: + if (lookahead == '\n') SKIP(167) + if (lookahead == '\r') SKIP(80) + END_STATE(); + case 82: + if (lookahead == '\n') ADVANCE(243); + if (lookahead == '(') ADVANCE(245); + if (lookahead == '/') ADVANCE(287); + if (lookahead == '\\') ADVANCE(285); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(284); + if (lookahead != 0) ADVANCE(288); + END_STATE(); + case 83: + if (lookahead == '\n') ADVANCE(243); + if (lookahead == '/') ADVANCE(287); + if (lookahead == '\\') ADVANCE(285); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(284); + if (lookahead != 0) ADVANCE(288); + END_STATE(); + case 84: + if (lookahead == '\n') SKIP(168) + if (lookahead == '"') ADVANCE(413); + if (lookahead == '/') ADVANCE(414); + if (lookahead == '\\') ADVANCE(85); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(417); + if (lookahead != 0) ADVANCE(418); + END_STATE(); + case 85: + if (lookahead == '\n') ADVANCE(420); + if (lookahead == '\r') ADVANCE(419); + if (lookahead == 'U') ADVANCE(232); + if (lookahead == 'u') ADVANCE(228); + if (lookahead == 'x') ADVANCE(226); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(422); + if (lookahead != 0) ADVANCE(419); + END_STATE(); + case 86: + if (lookahead == '\n') SKIP(193) + if (lookahead == '/') ADVANCE(407); + if (lookahead == '\\') ADVANCE(406); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(408); + if (lookahead != 0 && + lookahead != '\'') ADVANCE(405); + END_STATE(); + case 87: + if (lookahead == '\n') SKIP(120) + END_STATE(); + case 88: + if (lookahead == '\n') SKIP(120) + if (lookahead == '\r') SKIP(87) + END_STATE(); + case 89: + if (lookahead == '\n') SKIP(121) + END_STATE(); + case 90: + if (lookahead == '\n') SKIP(121) + if (lookahead == '\r') SKIP(89) + END_STATE(); + case 91: + if (lookahead == '\n') SKIP(159) + END_STATE(); + case 92: + if (lookahead == '\n') SKIP(159) + if (lookahead == '\r') SKIP(91) + END_STATE(); + case 93: + if (lookahead == '\n') SKIP(160) + END_STATE(); + case 94: + if (lookahead == '\n') SKIP(160) + if (lookahead == '\r') SKIP(93) + END_STATE(); + case 95: + if (lookahead == '\n') SKIP(144) + END_STATE(); + case 96: + if (lookahead == '\n') SKIP(144) + if (lookahead == '\r') SKIP(95) + END_STATE(); + case 97: + if (lookahead == '\n') SKIP(163) + END_STATE(); + case 98: + if (lookahead == '\n') SKIP(163) + if (lookahead == '\r') SKIP(97) + END_STATE(); + case 99: + if (lookahead == '\n') SKIP(138) + END_STATE(); + case 100: + if (lookahead == '\n') SKIP(138) + if (lookahead == '\r') SKIP(99) + END_STATE(); + case 101: + if (lookahead == '\n') SKIP(149) + END_STATE(); + case 102: + if (lookahead == '\n') SKIP(149) + if (lookahead == '\r') SKIP(101) + END_STATE(); + case 103: + if (lookahead == '\n') SKIP(166) + END_STATE(); + case 104: + if (lookahead == '\n') SKIP(166) + if (lookahead == '\r') SKIP(103) + END_STATE(); + case 105: + if (lookahead == '\n') SKIP(140) + END_STATE(); + case 106: + if (lookahead == '\n') SKIP(140) + if (lookahead == '\r') SKIP(105) + END_STATE(); + case 107: + if (lookahead == '\n') SKIP(165) + END_STATE(); + case 108: + if (lookahead == '\n') SKIP(165) + if (lookahead == '\r') SKIP(107) + END_STATE(); + case 109: + if (lookahead == '\n') SKIP(147) + END_STATE(); + case 110: + if (lookahead == '\n') SKIP(147) + if (lookahead == '\r') SKIP(109) + END_STATE(); + case 111: + if (lookahead == '\n') SKIP(177) + END_STATE(); + case 112: + if (lookahead == '\n') SKIP(177) + if (lookahead == '\r') SKIP(111) + END_STATE(); + case 113: + if (lookahead == '\n') SKIP(164) + END_STATE(); + case 114: + if (lookahead == '\n') SKIP(164) + if (lookahead == '\r') SKIP(113) + END_STATE(); + case 115: + if (lookahead == '\n') SKIP(161) + END_STATE(); + case 116: + if (lookahead == '\n') SKIP(161) + if (lookahead == '\r') SKIP(115) + END_STATE(); + case 117: + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(310); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(299); + if (lookahead == '.') ADVANCE(380); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(20) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(117) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 118: + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(310); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(300); + if (lookahead == '.') ADVANCE(382); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(18) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(118) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 119: + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(310); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(300); + if (lookahead == '.') ADVANCE(382); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(22) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(119) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 120: + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(301); + if (lookahead == '.') ADVANCE(382); + if (lookahead == '/') ADVANCE(317); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(88) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(120) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 121: + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(301); + if (lookahead == '.') ADVANCE(382); + if (lookahead == '/') ADVANCE(317); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(90) + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(121) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 122: + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(173); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(182); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(194); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '[') ADVANCE(204); + if (lookahead == '\\') SKIP(24) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(122) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 123: + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(173); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(182); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '[') ADVANCE(205); + if (lookahead == '\\') SKIP(60) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(123) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 124: + if (lookahead == '!') ADVANCE(295); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '#') ADVANCE(207); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(302); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(195); + if (lookahead == '>') ADVANCE(333); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(2) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(124) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 125: + if (lookahead == '!') ADVANCE(295); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '#') ADVANCE(214); + if (lookahead == '&') ADVANCE(328); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == '-') ADVANCE(302); + if (lookahead == '.') ADVANCE(191); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '>') ADVANCE(200); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(6) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(125) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 126: + if (lookahead == '!') ADVANCE(295); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '#') ADVANCE(209); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(302); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '>') ADVANCE(198); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(4) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(126) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 127: + if (lookahead == '!') ADVANCE(295); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(302); + if (lookahead == '.') ADVANCE(382); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(339); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(8) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(218); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(127) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 128: + if (lookahead == '!') ADVANCE(295); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '&') ADVANCE(328); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(302); + if (lookahead == '.') ADVANCE(382); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(339); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(16) + if (lookahead == ']') ADVANCE(358); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(128) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 129: + if (lookahead == '!') ADVANCE(295); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '+') ADVANCE(313); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(306); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == 'L') ADVANCE(436); + if (lookahead == 'U') ADVANCE(437); + if (lookahead == '[') ADVANCE(356); + if (lookahead == '\\') SKIP(79) + if (lookahead == 'u') ADVANCE(438); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(129) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 130: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(502); + if (lookahead == 'U') ADVANCE(503); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(42) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'u') ADVANCE(504); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(131) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 131: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(169); + if (lookahead == 'U') ADVANCE(170); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(42) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'u') ADVANCE(171); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(131) + END_STATE(); + case 132: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(502); + if (lookahead == 'U') ADVANCE(503); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(36) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'u') ADVANCE(504); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(133) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 133: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(169); + if (lookahead == 'U') ADVANCE(170); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(36) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'u') ADVANCE(171); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(133) + END_STATE(); + case 134: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(502); + if (lookahead == 'U') ADVANCE(503); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(46) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'u') ADVANCE(504); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(135) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 135: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(169); + if (lookahead == 'U') ADVANCE(170); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(46) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'u') ADVANCE(171); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(135) + END_STATE(); + case 136: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(308); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(298); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(194); + if (lookahead == '<') ADVANCE(343); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == 'L') ADVANCE(428); + if (lookahead == 'U') ADVANCE(430); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(50) + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(432); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(136) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 137: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(502); + if (lookahead == 'U') ADVANCE(503); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(100) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'u') ADVANCE(504); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(138) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 138: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(169); + if (lookahead == 'U') ADVANCE(170); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(100) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'u') ADVANCE(171); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(138) + END_STATE(); + case 139: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(502); + if (lookahead == 'U') ADVANCE(503); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(106) + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'u') ADVANCE(504); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(140) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 140: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'L') ADVANCE(169); + if (lookahead == 'U') ADVANCE(170); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(106) + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'u') ADVANCE(171); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(140) + END_STATE(); + case 141: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '#') ADVANCE(210); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(14) + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(141) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 142: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(30) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(142) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 143: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(28) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(143) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 144: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(363); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(96) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(144) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 145: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(356); + if (lookahead == '\\') SKIP(56) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(145) + END_STATE(); + case 146: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(40) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(146) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 147: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(303); + if (lookahead == '.') ADVANCE(379); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(357); + if (lookahead == '\\') SKIP(110) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(147) + END_STATE(); + case 148: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(26) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(148) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 149: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(102) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(149) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 150: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(364); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(32) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(150) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 151: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(34) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(151) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 152: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(38) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(152) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 153: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(357); + if (lookahead == '\\') SKIP(54) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(153) + END_STATE(); + case 154: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(363); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(48) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(154) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 155: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(356); + if (lookahead == '\\') SKIP(62) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(155) + END_STATE(); + case 156: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(44) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(156) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 157: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(312); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(304); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(357); + if (lookahead == '\\') SKIP(64) + if (lookahead == '^') ADVANCE(327); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(157) + END_STATE(); + case 158: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(314); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(307); + if (lookahead == '.') ADVANCE(183); + if (lookahead == '/') ADVANCE(318); + if (lookahead == ':') ADVANCE(194); + if (lookahead == '<') ADVANCE(341); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(335); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(70) + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'f') ADVANCE(453); + if (lookahead == 't') ADVANCE(480); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(158) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 159: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(92) + if (lookahead == '^') ADVANCE(326); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(159) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 160: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(94) + if (lookahead == '^') ADVANCE(326); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(160) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 161: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(116) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(326); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(161) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 162: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(52) + if (lookahead == ']') ADVANCE(206); + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(162) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 163: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(98) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(163) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 164: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(334); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(114) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(326); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(164) + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 165: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == ':') ADVANCE(363); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(108) + if (lookahead == '^') ADVANCE(326); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(165) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 166: + if (lookahead == '!') ADVANCE(196); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(309); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(305); + if (lookahead == '.') ADVANCE(381); + if (lookahead == '/') ADVANCE(317); + if (lookahead == '<') ADVANCE(342); + if (lookahead == '=') ADVANCE(197); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(104) + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(325); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(166) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 167: + if (lookahead == '"') ADVANCE(413); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '<') ADVANCE(202); + if (lookahead == 'L') ADVANCE(428); + if (lookahead == 'U') ADVANCE(430); + if (lookahead == '\\') SKIP(81) + if (lookahead == 'u') ADVANCE(433); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(167) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 168: + if (lookahead == '"') ADVANCE(413); + if (lookahead == '/') ADVANCE(184); + if (lookahead == '\\') ADVANCE(85); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(168) + END_STATE(); + case 169: + if (lookahead == '"') ADVANCE(409); + END_STATE(); + case 170: + if (lookahead == '"') ADVANCE(411); + END_STATE(); + case 171: + if (lookahead == '"') ADVANCE(410); + if (lookahead == '8') ADVANCE(172); + END_STATE(); + case 172: + if (lookahead == '"') ADVANCE(412); + END_STATE(); + case 173: + if (lookahead == '"') ADVANCE(501); + END_STATE(); + case 174: + if (lookahead == '#') ADVANCE(212); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(298); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(12) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(218); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(174) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 175: + if (lookahead == '#') ADVANCE(208); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(308); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(201); + if (lookahead == '.') ADVANCE(190); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ':') ADVANCE(194); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(339); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(10) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(218); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(175) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 176: + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(201); + if (lookahead == '.') ADVANCE(190); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(339); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(58) + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(218); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(176) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 177: + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(201); + if (lookahead == '.') ADVANCE(190); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(339); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(112) + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(218); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(177) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 178: + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(201); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(68) + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(218); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(178) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 179: + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(339); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(66) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(179) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 180: + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ':') ADVANCE(363); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(74) + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(218); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(180) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 181: + if (lookahead == '&') ADVANCE(329); + if (lookahead == '(') ADVANCE(294); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '/') ADVANCE(184); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '[') ADVANCE(354); + if (lookahead == '\\') SKIP(72) + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(470); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 'u') ADVANCE(466); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(181) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 182: + if (lookahead == ')') ADVANCE(499); + END_STATE(); + case 183: + if (lookahead == '*') ADVANCE(497); + END_STATE(); + case 184: + if (lookahead == '*') ADVANCE(187); + if (lookahead == '/') ADVANCE(492); + END_STATE(); + case 185: + if (lookahead == '*') ADVANCE(498); + END_STATE(); + case 186: + if (lookahead == '*') ADVANCE(186); + if (lookahead == '/') ADVANCE(490); + if (lookahead != 0) ADVANCE(187); + END_STATE(); + case 187: + if (lookahead == '*') ADVANCE(186); + if (lookahead != 0) ADVANCE(187); + END_STATE(); + case 188: + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(387); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(388); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(396); + END_STATE(); + case 189: + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(390); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 190: + if (lookahead == '.') ADVANCE(192); + END_STATE(); + case 191: + if (lookahead == '.') ADVANCE(192); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(385); + END_STATE(); + case 192: + if (lookahead == '.') ADVANCE(246); + END_STATE(); + case 193: + if (lookahead == '/') ADVANCE(184); + if (lookahead == '\\') ADVANCE(85); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(193) + END_STATE(); + case 194: + if (lookahead == ':') ADVANCE(349); + END_STATE(); + case 195: + if (lookahead == '<') ADVANCE(344); + if (lookahead == '=') ADVANCE(337); + END_STATE(); + case 196: + if (lookahead == '=') ADVANCE(332); + END_STATE(); + case 197: + if (lookahead == '=') ADVANCE(331); + END_STATE(); + case 198: + if (lookahead == '=') ADVANCE(336); + if (lookahead == '>') ADVANCE(199); + END_STATE(); + case 199: + if (lookahead == '=') ADVANCE(372); + END_STATE(); + case 200: + if (lookahead == '>') ADVANCE(346); + END_STATE(); + case 201: + if (lookahead == '>') ADVANCE(383); + END_STATE(); + case 202: + if (lookahead == '>') ADVANCE(423); + if (lookahead == '\\') ADVANCE(203); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(202); + END_STATE(); + case 203: + if (lookahead == '>') ADVANCE(424); + if (lookahead == '\\') ADVANCE(203); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(202); + END_STATE(); + case 204: + if (lookahead == '[') ADVANCE(350); + if (lookahead == ']') ADVANCE(500); + END_STATE(); + case 205: + if (lookahead == ']') ADVANCE(500); + END_STATE(); + case 206: + if (lookahead == ']') ADVANCE(351); + END_STATE(); + case 207: + if (lookahead == 'd') ADVANCE(260); + if (lookahead == 'e') ADVANCE(276); + if (lookahead == 'i') ADVANCE(266); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(207); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 208: + if (lookahead == 'd') ADVANCE(260); + if (lookahead == 'e') ADVANCE(276); + if (lookahead == 'i') ADVANCE(267); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(208); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 209: + if (lookahead == 'd') ADVANCE(260); + if (lookahead == 'e') ADVANCE(278); + if (lookahead == 'i') ADVANCE(266); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(209); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 210: + if (lookahead == 'd') ADVANCE(260); + if (lookahead == 'e') ADVANCE(278); + if (lookahead == 'i') ADVANCE(267); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(210); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 211: + if (lookahead == 'd') ADVANCE(260); + if (lookahead == 'i') ADVANCE(266); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(211); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 212: + if (lookahead == 'd') ADVANCE(260); + if (lookahead == 'i') ADVANCE(267); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(212); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 213: + if (lookahead == 'd') ADVANCE(216); + END_STATE(); + case 214: + if (lookahead == 'e') ADVANCE(217); + if (lookahead == '\t' || + lookahead == ' ') ADVANCE(214); + END_STATE(); + case 215: + if (lookahead == 'f') ADVANCE(250); + END_STATE(); + case 216: + if (lookahead == 'i') ADVANCE(215); + END_STATE(); + case 217: + if (lookahead == 'n') ADVANCE(213); + END_STATE(); + case 218: + if (lookahead == '|') ADVANCE(321); + END_STATE(); + case 219: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 220: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(385); + END_STATE(); + case 221: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(388); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(396); + END_STATE(); + case 222: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(393); + END_STATE(); + case 223: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(396); + END_STATE(); + case 224: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(386); + END_STATE(); + case 225: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(419); + END_STATE(); + case 226: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(225); + END_STATE(); + case 227: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(226); + END_STATE(); + case 228: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(227); + END_STATE(); + case 229: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(228); + END_STATE(); + case 230: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(229); + END_STATE(); + case 231: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(230); + END_STATE(); + case 232: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(231); + END_STATE(); + case 233: + if (lookahead != 0 && + lookahead != '\r') ADVANCE(492); + if (lookahead == '\r') ADVANCE(494); + END_STATE(); + case 234: + if (eof) ADVANCE(240); + if (lookahead == '\n') SKIP(238) + END_STATE(); + case 235: + if (eof) ADVANCE(240); + if (lookahead == '\n') SKIP(238) + if (lookahead == '\r') SKIP(234) + END_STATE(); + case 236: + if (eof) ADVANCE(240); + if (lookahead == '\n') SKIP(239) + END_STATE(); + case 237: + if (eof) ADVANCE(240); + if (lookahead == '\n') SKIP(239) + if (lookahead == '\r') SKIP(236) + END_STATE(); + case 238: + if (eof) ADVANCE(240); + if (lookahead == '!') ADVANCE(296); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '#') ADVANCE(207); + if (lookahead == '%') ADVANCE(320); + if (lookahead == '&') ADVANCE(330); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(316); + if (lookahead == '+') ADVANCE(310); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(299); + if (lookahead == '.') ADVANCE(380); + if (lookahead == '/') ADVANCE(318); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(340); + if (lookahead == '=') ADVANCE(360); + if (lookahead == '>') ADVANCE(496); + if (lookahead == '?') ADVANCE(365); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(356); + if (lookahead == '\\') SKIP(235) + if (lookahead == ']') ADVANCE(358); + if (lookahead == '^') ADVANCE(327); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(324); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(238) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 239: + if (eof) ADVANCE(240); + if (lookahead == '!') ADVANCE(295); + if (lookahead == '"') ADVANCE(413); + if (lookahead == '#') ADVANCE(211); + if (lookahead == '%') ADVANCE(319); + if (lookahead == '&') ADVANCE(329); + if (lookahead == '\'') ADVANCE(404); + if (lookahead == '(') ADVANCE(294); + if (lookahead == ')') ADVANCE(248); + if (lookahead == '*') ADVANCE(315); + if (lookahead == '+') ADVANCE(311); + if (lookahead == ',') ADVANCE(247); + if (lookahead == '-') ADVANCE(302); + if (lookahead == '.') ADVANCE(382); + if (lookahead == '/') ADVANCE(317); + if (lookahead == '0') ADVANCE(389); + if (lookahead == ':') ADVANCE(364); + if (lookahead == ';') ADVANCE(348); + if (lookahead == '<') ADVANCE(339); + if (lookahead == '=') ADVANCE(359); + if (lookahead == '>') ADVANCE(496); + if (lookahead == 'F') ADVANCE(444); + if (lookahead == 'L') ADVANCE(427); + if (lookahead == 'T') ADVANCE(448); + if (lookahead == 'U') ADVANCE(429); + if (lookahead == '[') ADVANCE(355); + if (lookahead == '\\') SKIP(237) + if (lookahead == ']') ADVANCE(206); + if (lookahead == '^') ADVANCE(326); + if (lookahead == 'b') ADVANCE(477); + if (lookahead == 'c') ADVANCE(462); + if (lookahead == 'd') ADVANCE(473); + if (lookahead == 'f') ADVANCE(452); + if (lookahead == 'i') ADVANCE(471); + if (lookahead == 's') ADVANCE(463); + if (lookahead == 't') ADVANCE(480); + if (lookahead == 'u') ADVANCE(431); + if (lookahead == 'v') ADVANCE(476); + if (lookahead == '{') ADVANCE(352); + if (lookahead == '|') ADVANCE(323); + if (lookahead == '}') ADVANCE(353); + if (lookahead == '~') ADVANCE(297); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(239) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + if (('A' <= lookahead && lookahead <= '_') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 240: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 241: + ACCEPT_TOKEN(aux_sym_preproc_include_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 242: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(242); + END_STATE(); + case 243: + ACCEPT_TOKEN(anon_sym_LF); + if (lookahead == '\n') ADVANCE(243); + if (lookahead == '\\') ADVANCE(285); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(284); + END_STATE(); + case 244: + ACCEPT_TOKEN(aux_sym_preproc_def_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 245: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 246: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 247: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 248: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 249: + ACCEPT_TOKEN(aux_sym_preproc_if_token1); + if (lookahead == 'd') ADVANCE(264); + if (lookahead == 'n') ADVANCE(259); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 250: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + END_STATE(); + case 251: + ACCEPT_TOKEN(aux_sym_preproc_if_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 252: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 253: + ACCEPT_TOKEN(aux_sym_preproc_ifdef_token2); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 254: + ACCEPT_TOKEN(aux_sym_preproc_else_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 255: + ACCEPT_TOKEN(aux_sym_preproc_elif_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 256: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'c') ADVANCE(277); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 257: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(275); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 258: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(263); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 259: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'd') ADVANCE(265); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 260: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(268); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 261: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(254); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 262: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(244); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 263: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(241); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 264: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(271); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 265: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'e') ADVANCE(272); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 266: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(249); + if (lookahead == 'n') ADVANCE(256); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 267: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(249); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 268: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(273); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 269: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(255); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 270: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(251); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 271: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(252); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 272: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'f') ADVANCE(253); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 273: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(279); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 274: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(269); + if (lookahead == 's') ADVANCE(261); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 275: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'i') ADVANCE(270); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 276: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(274); + if (lookahead == 'n') ADVANCE(257); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 277: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'l') ADVANCE(280); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 278: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(257); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 279: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'n') ADVANCE(262); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 280: + ACCEPT_TOKEN(sym_preproc_directive); + if (lookahead == 'u') ADVANCE(258); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 281: + ACCEPT_TOKEN(sym_preproc_directive); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281); + END_STATE(); + case 282: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(187); + if (lookahead == '*') ADVANCE(282); + if (lookahead == '/') ADVANCE(490); + if (lookahead == '\\') ADVANCE(289); + if (lookahead != 0) ADVANCE(283); + END_STATE(); + case 283: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(187); + if (lookahead == '*') ADVANCE(282); + if (lookahead == '\\') ADVANCE(289); + if (lookahead != 0) ADVANCE(283); + END_STATE(); + case 284: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(243); + if (lookahead == '/') ADVANCE(287); + if (lookahead == '\\') ADVANCE(285); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(284); + if (lookahead != 0) ADVANCE(288); + END_STATE(); + case 285: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(284); + if (lookahead == '\r') ADVANCE(286); + if (lookahead == '\\') ADVANCE(290); + if (lookahead != 0) ADVANCE(288); + END_STATE(); + case 286: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\n') ADVANCE(284); + if (lookahead == '\\') ADVANCE(290); + if (lookahead != 0) ADVANCE(288); + END_STATE(); + case 287: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '*') ADVANCE(283); + if (lookahead == '/') ADVANCE(493); + if (lookahead == '\\') ADVANCE(290); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(288); + END_STATE(); + case 288: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead == '\\') ADVANCE(290); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(288); + END_STATE(); + case 289: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '*' && + lookahead != '\\') ADVANCE(283); + if (lookahead == '\r') ADVANCE(292); + if (lookahead == '*') ADVANCE(282); + if (lookahead == '\\') ADVANCE(289); + END_STATE(); + case 290: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '\\') ADVANCE(288); + if (lookahead == '\r') ADVANCE(293); + if (lookahead == '\\') ADVANCE(290); + END_STATE(); + case 291: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\r' && + lookahead != '\\') ADVANCE(493); + if (lookahead == '\r') ADVANCE(495); + if (lookahead == '\\') ADVANCE(491); + END_STATE(); + case 292: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '*' && + lookahead != '\\') ADVANCE(283); + if (lookahead == '*') ADVANCE(282); + if (lookahead == '\\') ADVANCE(289); + END_STATE(); + case 293: + ACCEPT_TOKEN(sym_preproc_arg); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(288); + if (lookahead == '\\') ADVANCE(290); + END_STATE(); + case 294: + ACCEPT_TOKEN(anon_sym_LPAREN2); + END_STATE(); + case 295: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 296: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(332); + END_STATE(); + case 297: + ACCEPT_TOKEN(anon_sym_TILDE); + END_STATE(); + case 298: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 299: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(377); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (lookahead == '=') ADVANCE(370); + if (lookahead == '>') ADVANCE(384); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 300: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(377); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (lookahead == '=') ADVANCE(370); + if (lookahead == '>') ADVANCE(383); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 301: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(377); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (lookahead == '>') ADVANCE(383); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 302: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(377); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 303: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(377); + if (lookahead == '=') ADVANCE(370); + if (lookahead == '>') ADVANCE(384); + END_STATE(); + case 304: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(377); + if (lookahead == '=') ADVANCE(370); + if (lookahead == '>') ADVANCE(383); + END_STATE(); + case 305: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '-') ADVANCE(377); + if (lookahead == '>') ADVANCE(383); + END_STATE(); + case 306: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 307: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(370); + if (lookahead == '>') ADVANCE(185); + END_STATE(); + case 308: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 309: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(378); + END_STATE(); + case 310: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(378); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (lookahead == '=') ADVANCE(369); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 311: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(378); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 312: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '+') ADVANCE(378); + if (lookahead == '=') ADVANCE(369); + END_STATE(); + case 313: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '.') ADVANCE(220); + if (lookahead == '0') ADVANCE(389); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 314: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(369); + END_STATE(); + case 315: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 316: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(366); + END_STATE(); + case 317: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(187); + if (lookahead == '/') ADVANCE(492); + END_STATE(); + case 318: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(187); + if (lookahead == '/') ADVANCE(492); + if (lookahead == '=') ADVANCE(367); + END_STATE(); + case 319: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 320: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(368); + END_STATE(); + case 321: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 322: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 323: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 324: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(375); + if (lookahead == '|') ADVANCE(321); + END_STATE(); + case 325: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(321); + END_STATE(); + case 326: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 327: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(374); + END_STATE(); + case 328: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 329: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(322); + END_STATE(); + case 330: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(322); + if (lookahead == '=') ADVANCE(373); + END_STATE(); + case 331: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 332: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 333: + ACCEPT_TOKEN(anon_sym_GT); + END_STATE(); + case 334: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(336); + if (lookahead == '>') ADVANCE(346); + END_STATE(); + case 335: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(336); + if (lookahead == '>') ADVANCE(347); + END_STATE(); + case 336: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 337: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 338: + ACCEPT_TOKEN(anon_sym_LT_EQ); + if (lookahead == '>') ADVANCE(376); + END_STATE(); + case 339: + ACCEPT_TOKEN(anon_sym_LT); + END_STATE(); + case 340: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(345); + if (lookahead == '=') ADVANCE(338); + END_STATE(); + case 341: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(345); + if (lookahead == '=') ADVANCE(337); + END_STATE(); + case 342: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(344); + if (lookahead == '=') ADVANCE(338); + END_STATE(); + case 343: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(344); + if (lookahead == '=') ADVANCE(337); + END_STATE(); + case 344: + ACCEPT_TOKEN(anon_sym_LT_LT); + END_STATE(); + case 345: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '=') ADVANCE(371); + END_STATE(); + case 346: + ACCEPT_TOKEN(anon_sym_GT_GT); + END_STATE(); + case 347: + ACCEPT_TOKEN(anon_sym_GT_GT); + if (lookahead == '=') ADVANCE(372); + END_STATE(); + case 348: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 349: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 350: + ACCEPT_TOKEN(anon_sym_LBRACK_LBRACK); + END_STATE(); + case 351: + ACCEPT_TOKEN(anon_sym_RBRACK_RBRACK); + END_STATE(); + case 352: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 353: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 354: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 355: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == '[') ADVANCE(350); + END_STATE(); + case 356: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == '[') ADVANCE(350); + if (lookahead == ']') ADVANCE(500); + END_STATE(); + case 357: + ACCEPT_TOKEN(anon_sym_LBRACK); + if (lookahead == ']') ADVANCE(500); + END_STATE(); + case 358: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 359: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 360: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(331); + END_STATE(); + case 361: + ACCEPT_TOKEN(sym_primitive_type); + if (lookahead == '1') ADVANCE(443); + if (lookahead == '3') ADVANCE(441); + if (lookahead == '6') ADVANCE(442); + if (lookahead == '8') ADVANCE(451); + if (lookahead == 'p') ADVANCE(485); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 362: + ACCEPT_TOKEN(sym_primitive_type); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 363: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 364: + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(349); + END_STATE(); + case 365: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 366: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 367: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 368: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 369: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 370: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 371: + ACCEPT_TOKEN(anon_sym_LT_LT_EQ); + END_STATE(); + case 372: + ACCEPT_TOKEN(anon_sym_GT_GT_EQ); + END_STATE(); + case 373: + ACCEPT_TOKEN(anon_sym_AMP_EQ); + END_STATE(); + case 374: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 375: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); + END_STATE(); + case 376: + ACCEPT_TOKEN(anon_sym_LT_EQ_GT); + END_STATE(); + case 377: + ACCEPT_TOKEN(anon_sym_DASH_DASH); + END_STATE(); + case 378: + ACCEPT_TOKEN(anon_sym_PLUS_PLUS); + END_STATE(); + case 379: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '*') ADVANCE(497); + if (lookahead == '.') ADVANCE(192); + END_STATE(); + case 380: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '*') ADVANCE(497); + if (lookahead == '.') ADVANCE(192); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(385); + END_STATE(); + case 381: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(192); + END_STATE(); + case 382: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(192); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(385); + END_STATE(); + case 383: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 384: + ACCEPT_TOKEN(anon_sym_DASH_GT); + if (lookahead == '*') ADVANCE(498); + END_STATE(); + case 385: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(220); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(385); + END_STATE(); + case 386: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(224); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(386); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(386); + END_STATE(); + case 387: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(221); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(396); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'b') ADVANCE(395); + if (lookahead == 'x') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(394); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(396); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(388); + END_STATE(); + case 388: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(221); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(396); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(394); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(396); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(388); + END_STATE(); + case 389: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(219); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'b') ADVANCE(189); + if (lookahead == 'x') ADVANCE(188); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 390: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(219); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'b') ADVANCE(219); + if (lookahead == 'x') ADVANCE(223); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 391: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(219); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'E' || + lookahead == 'P' || + lookahead == 'e' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(391); + END_STATE(); + case 392: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(222); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(393); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == '+' || + lookahead == '-') ADVANCE(224); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(392); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(393); + END_STATE(); + case 393: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(222); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(393); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(392); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(393); + END_STATE(); + case 394: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(223); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(396); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == '+' || + lookahead == '-') ADVANCE(224); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(394); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(396); + END_STATE(); + case 395: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(223); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(396); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(394); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(396); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(388); + END_STATE(); + case 396: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == '\'') ADVANCE(223); + if (lookahead == '.') ADVANCE(397); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(396); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(394); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(396); + END_STATE(); + case 397: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(393); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(392); + if (lookahead == 'P' || + lookahead == 'p') ADVANCE(398); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'D') || + ('a' <= lookahead && lookahead <= 'd')) ADVANCE(393); + END_STATE(); + case 398: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == 'F' || + lookahead == 'f') ADVANCE(386); + if (lookahead == 'L' || + lookahead == 'U' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + if (lookahead == '+' || + lookahead == '-') ADVANCE(224); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'E') || + ('a' <= lookahead && lookahead <= 'e')) ADVANCE(386); + END_STATE(); + case 399: + ACCEPT_TOKEN(sym_number_literal); + if (lookahead == 'F' || + lookahead == 'L' || + lookahead == 'U' || + lookahead == 'f' || + lookahead == 'l' || + lookahead == 'u') ADVANCE(399); + END_STATE(); + case 400: + ACCEPT_TOKEN(anon_sym_L_SQUOTE); + END_STATE(); + case 401: + ACCEPT_TOKEN(anon_sym_u_SQUOTE); + END_STATE(); + case 402: + ACCEPT_TOKEN(anon_sym_U_SQUOTE); + END_STATE(); + case 403: + ACCEPT_TOKEN(anon_sym_u8_SQUOTE); + END_STATE(); + case 404: + ACCEPT_TOKEN(anon_sym_SQUOTE); + END_STATE(); + case 405: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + END_STATE(); + case 406: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '\n') ADVANCE(420); + if (lookahead == '\r') ADVANCE(419); + if (lookahead == 'U') ADVANCE(232); + if (lookahead == 'u') ADVANCE(228); + if (lookahead == 'x') ADVANCE(226); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(422); + if (lookahead != 0) ADVANCE(419); + END_STATE(); + case 407: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '*') ADVANCE(187); + if (lookahead == '/') ADVANCE(492); + END_STATE(); + case 408: + ACCEPT_TOKEN(aux_sym_char_literal_token1); + if (lookahead == '\\') ADVANCE(85); + END_STATE(); + case 409: + ACCEPT_TOKEN(anon_sym_L_DQUOTE); + END_STATE(); + case 410: + ACCEPT_TOKEN(anon_sym_u_DQUOTE); + END_STATE(); + case 411: + ACCEPT_TOKEN(anon_sym_U_DQUOTE); + END_STATE(); + case 412: + ACCEPT_TOKEN(anon_sym_u8_DQUOTE); + END_STATE(); + case 413: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 414: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(416); + if (lookahead == '/') ADVANCE(418); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(418); + END_STATE(); + case 415: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(415); + if (lookahead == '/') ADVANCE(418); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(416); + END_STATE(); + case 416: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '*') ADVANCE(415); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(416); + END_STATE(); + case 417: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead == '/') ADVANCE(414); + if (lookahead == '\t' || + lookahead == '\r' || + lookahead == ' ') ADVANCE(417); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(418); + END_STATE(); + case 418: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(418); + END_STATE(); + case 419: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 420: + ACCEPT_TOKEN(sym_escape_sequence); + if (lookahead == '\\') ADVANCE(85); + END_STATE(); + case 421: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(419); + END_STATE(); + case 422: + ACCEPT_TOKEN(sym_escape_sequence); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(421); + END_STATE(); + case 423: + ACCEPT_TOKEN(sym_system_lib_string); + END_STATE(); + case 424: + ACCEPT_TOKEN(sym_system_lib_string); + if (lookahead == '>') ADVANCE(423); + if (lookahead == '\\') ADVANCE(203); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(202); + END_STATE(); + case 425: + ACCEPT_TOKEN(sym_true); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 426: + ACCEPT_TOKEN(sym_false); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 427: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(409); + if (lookahead == '\'') ADVANCE(400); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 428: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(409); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 429: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(411); + if (lookahead == '\'') ADVANCE(402); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 430: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(411); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 431: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(410); + if (lookahead == '\'') ADVANCE(401); + if (lookahead == '8') ADVANCE(434); + if (lookahead == 'i') ADVANCE(472); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 432: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(410); + if (lookahead == '8') ADVANCE(435); + if (lookahead == 'i') ADVANCE(472); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 433: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(410); + if (lookahead == '8') ADVANCE(435); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 434: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(412); + if (lookahead == '\'') ADVANCE(403); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 435: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(412); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 436: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(400); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 437: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(402); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 438: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(401); + if (lookahead == '8') ADVANCE(439); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 439: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '\'') ADVANCE(403); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 440: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '1') ADVANCE(443); + if (lookahead == '3') ADVANCE(441); + if (lookahead == '6') ADVANCE(442); + if (lookahead == '8') ADVANCE(451); + if (lookahead == 'p') ADVANCE(485); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 441: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '2') ADVANCE(451); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 442: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '4') ADVANCE(451); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 443: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '6') ADVANCE(451); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 444: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'A') ADVANCE(447); + if (('0' <= lookahead && lookahead <= '9') || + ('B' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 445: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'E') ADVANCE(425); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 446: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'E') ADVANCE(426); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 447: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'L') ADVANCE(449); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 448: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'R') ADVANCE(450); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 449: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'S') ADVANCE(446); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 450: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'U') ADVANCE(445); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 451: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '_') ADVANCE(483); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 452: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(467); + if (lookahead == 'l') ADVANCE(474); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 453: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(467); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 454: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(478); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 455: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(483); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 456: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'b') ADVANCE(469); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 457: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'd') ADVANCE(362); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 458: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(425); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 459: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(362); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 460: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(451); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 461: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(426); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 462: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'h') ADVANCE(454); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 463: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(488); + if (lookahead == 's') ADVANCE(464); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 464: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(488); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 465: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(457); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 466: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'i') ADVANCE(472); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 467: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(481); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 468: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(362); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 469: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(459); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 470: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(474); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 471: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(482); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 472: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'n') ADVANCE(484); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 473: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(486); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 474: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(455); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 475: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(468); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 476: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(465); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 477: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'o') ADVANCE(475); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 478: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(361); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 479: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(451); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 480: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(487); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 481: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(461); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 482: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(361); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 483: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(362); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 484: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(440); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 485: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(479); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 486: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(456); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 487: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(458); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 488: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'z') ADVANCE(460); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'y')) ADVANCE(489); + END_STATE(); + case 489: + ACCEPT_TOKEN(sym_identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(489); + END_STATE(); + case 490: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 491: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\r') ADVANCE(493); + if (lookahead == '\\') ADVANCE(291); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(493); + END_STATE(); + case 492: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(233); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(492); + END_STATE(); + case 493: + ACCEPT_TOKEN(sym_comment); + if (lookahead == '\\') ADVANCE(291); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(493); + END_STATE(); + case 494: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(492); + if (lookahead == '\\') ADVANCE(233); + END_STATE(); + case 495: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\\') ADVANCE(493); + if (lookahead == '\\') ADVANCE(291); + END_STATE(); + case 496: + ACCEPT_TOKEN(anon_sym_GT2); + END_STATE(); + case 497: + ACCEPT_TOKEN(anon_sym_DOT_STAR); + END_STATE(); + case 498: + ACCEPT_TOKEN(anon_sym_DASH_GT_STAR); + END_STATE(); + case 499: + ACCEPT_TOKEN(anon_sym_LPAREN_RPAREN); + END_STATE(); + case 500: + ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK); + END_STATE(); + case 501: + ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE); + END_STATE(); + case 502: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(409); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 503: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(411); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 504: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(410); + if (lookahead == '8') ADVANCE(505); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 505: + ACCEPT_TOKEN(sym_literal_suffix); + if (lookahead == '"') ADVANCE(412); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + case 506: + ACCEPT_TOKEN(sym_literal_suffix); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(506); + END_STATE(); + default: + return false; + } +} + +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (lookahead == 'N') ADVANCE(1); + if (lookahead == '\\') SKIP(2) + if (lookahead == '_') ADVANCE(3); + if (lookahead == 'a') ADVANCE(4); + if (lookahead == 'b') ADVANCE(5); + if (lookahead == 'c') ADVANCE(6); + if (lookahead == 'd') ADVANCE(7); + if (lookahead == 'e') ADVANCE(8); + if (lookahead == 'f') ADVANCE(9); + if (lookahead == 'g') ADVANCE(10); + if (lookahead == 'i') ADVANCE(11); + if (lookahead == 'l') ADVANCE(12); + if (lookahead == 'm') ADVANCE(13); + if (lookahead == 'n') ADVANCE(14); + if (lookahead == 'o') ADVANCE(15); + if (lookahead == 'p') ADVANCE(16); + if (lookahead == 'r') ADVANCE(17); + if (lookahead == 's') ADVANCE(18); + if (lookahead == 't') ADVANCE(19); + if (lookahead == 'u') ADVANCE(20); + if (lookahead == 'v') ADVANCE(21); + if (lookahead == 'w') ADVANCE(22); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(0) + END_STATE(); + case 1: + if (lookahead == 'U') ADVANCE(23); + END_STATE(); + case 2: + if (lookahead == '\n') SKIP(0) + if (lookahead == '\r') SKIP(24) + END_STATE(); + case 3: + if (lookahead == 'A') ADVANCE(25); + if (lookahead == '_') ADVANCE(26); + if (lookahead == 'u') ADVANCE(27); + END_STATE(); + case 4: + if (lookahead == 'u') ADVANCE(28); + END_STATE(); + case 5: + if (lookahead == 'r') ADVANCE(29); + END_STATE(); + case 6: + if (lookahead == 'a') ADVANCE(30); + if (lookahead == 'l') ADVANCE(31); + if (lookahead == 'o') ADVANCE(32); + END_STATE(); + case 7: + if (lookahead == 'e') ADVANCE(33); + if (lookahead == 'o') ADVANCE(34); + END_STATE(); + case 8: + if (lookahead == 'l') ADVANCE(35); + if (lookahead == 'n') ADVANCE(36); + if (lookahead == 'x') ADVANCE(37); + END_STATE(); + case 9: + if (lookahead == 'i') ADVANCE(38); + if (lookahead == 'o') ADVANCE(39); + if (lookahead == 'r') ADVANCE(40); + END_STATE(); + case 10: + if (lookahead == 'o') ADVANCE(41); + END_STATE(); + case 11: + if (lookahead == 'f') ADVANCE(42); + if (lookahead == 'n') ADVANCE(43); + END_STATE(); + case 12: + if (lookahead == 'o') ADVANCE(44); + END_STATE(); + case 13: + if (lookahead == 'u') ADVANCE(45); + END_STATE(); + case 14: + if (lookahead == 'a') ADVANCE(46); + if (lookahead == 'e') ADVANCE(47); + if (lookahead == 'o') ADVANCE(48); + if (lookahead == 'u') ADVANCE(49); + END_STATE(); + case 15: + if (lookahead == 'p') ADVANCE(50); + if (lookahead == 'v') ADVANCE(51); + END_STATE(); + case 16: + if (lookahead == 'r') ADVANCE(52); + if (lookahead == 'u') ADVANCE(53); + END_STATE(); + case 17: + if (lookahead == 'e') ADVANCE(54); + END_STATE(); + case 18: + if (lookahead == 'h') ADVANCE(55); + if (lookahead == 'i') ADVANCE(56); + if (lookahead == 't') ADVANCE(57); + if (lookahead == 'w') ADVANCE(58); + END_STATE(); + case 19: + if (lookahead == 'e') ADVANCE(59); + if (lookahead == 'h') ADVANCE(60); + if (lookahead == 'r') ADVANCE(61); + if (lookahead == 'y') ADVANCE(62); + END_STATE(); + case 20: + if (lookahead == 'n') ADVANCE(63); + if (lookahead == 's') ADVANCE(64); + END_STATE(); + case 21: + if (lookahead == 'i') ADVANCE(65); + if (lookahead == 'o') ADVANCE(66); + END_STATE(); + case 22: + if (lookahead == 'h') ADVANCE(67); + END_STATE(); + case 23: + if (lookahead == 'L') ADVANCE(68); + END_STATE(); + case 24: + if (lookahead == '\n') SKIP(0) + END_STATE(); + case 25: + if (lookahead == 't') ADVANCE(69); + END_STATE(); + case 26: + if (lookahead == 'a') ADVANCE(70); + if (lookahead == 'b') ADVANCE(71); + if (lookahead == 'c') ADVANCE(72); + if (lookahead == 'd') ADVANCE(73); + if (lookahead == 'f') ADVANCE(74); + if (lookahead == 'r') ADVANCE(75); + if (lookahead == 's') ADVANCE(76); + if (lookahead == 't') ADVANCE(77); + if (lookahead == 'u') ADVANCE(78); + if (lookahead == 'v') ADVANCE(79); + END_STATE(); + case 27: + if (lookahead == 'n') ADVANCE(80); + END_STATE(); + case 28: + if (lookahead == 't') ADVANCE(81); + END_STATE(); + case 29: + if (lookahead == 'e') ADVANCE(82); + END_STATE(); + case 30: + if (lookahead == 's') ADVANCE(83); + if (lookahead == 't') ADVANCE(84); + END_STATE(); + case 31: + if (lookahead == 'a') ADVANCE(85); + END_STATE(); + case 32: + if (lookahead == '_') ADVANCE(86); + if (lookahead == 'n') ADVANCE(87); + END_STATE(); + case 33: + if (lookahead == 'c') ADVANCE(88); + if (lookahead == 'f') ADVANCE(89); + if (lookahead == 'l') ADVANCE(90); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_do); + END_STATE(); + case 35: + if (lookahead == 's') ADVANCE(91); + END_STATE(); + case 36: + if (lookahead == 'u') ADVANCE(92); + END_STATE(); + case 37: + if (lookahead == 'p') ADVANCE(93); + if (lookahead == 't') ADVANCE(94); + END_STATE(); + case 38: + if (lookahead == 'n') ADVANCE(95); + END_STATE(); + case 39: + if (lookahead == 'r') ADVANCE(96); + END_STATE(); + case 40: + if (lookahead == 'i') ADVANCE(97); + END_STATE(); + case 41: + if (lookahead == 't') ADVANCE(98); + END_STATE(); + case 42: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 43: + if (lookahead == 'l') ADVANCE(99); + END_STATE(); + case 44: + if (lookahead == 'n') ADVANCE(100); + END_STATE(); + case 45: + if (lookahead == 't') ADVANCE(101); + END_STATE(); + case 46: + if (lookahead == 'm') ADVANCE(102); + END_STATE(); + case 47: + if (lookahead == 'w') ADVANCE(103); + END_STATE(); + case 48: + if (lookahead == 'e') ADVANCE(104); + END_STATE(); + case 49: + if (lookahead == 'l') ADVANCE(105); + END_STATE(); + case 50: + if (lookahead == 'e') ADVANCE(106); + END_STATE(); + case 51: + if (lookahead == 'e') ADVANCE(107); + END_STATE(); + case 52: + if (lookahead == 'i') ADVANCE(108); + if (lookahead == 'o') ADVANCE(109); + END_STATE(); + case 53: + if (lookahead == 'b') ADVANCE(110); + END_STATE(); + case 54: + if (lookahead == 'g') ADVANCE(111); + if (lookahead == 'q') ADVANCE(112); + if (lookahead == 's') ADVANCE(113); + if (lookahead == 't') ADVANCE(114); + END_STATE(); + case 55: + if (lookahead == 'o') ADVANCE(115); + END_STATE(); + case 56: + if (lookahead == 'g') ADVANCE(116); + if (lookahead == 'z') ADVANCE(117); + END_STATE(); + case 57: + if (lookahead == 'a') ADVANCE(118); + if (lookahead == 'r') ADVANCE(119); + END_STATE(); + case 58: + if (lookahead == 'i') ADVANCE(120); + END_STATE(); + case 59: + if (lookahead == 'm') ADVANCE(121); + END_STATE(); + case 60: + if (lookahead == 'i') ADVANCE(122); + if (lookahead == 'r') ADVANCE(123); + END_STATE(); + case 61: + if (lookahead == 'y') ADVANCE(124); + END_STATE(); + case 62: + if (lookahead == 'p') ADVANCE(125); + END_STATE(); + case 63: + if (lookahead == 'i') ADVANCE(126); + if (lookahead == 's') ADVANCE(127); + END_STATE(); + case 64: + if (lookahead == 'i') ADVANCE(128); + END_STATE(); + case 65: + if (lookahead == 'r') ADVANCE(129); + END_STATE(); + case 66: + if (lookahead == 'l') ADVANCE(130); + END_STATE(); + case 67: + if (lookahead == 'i') ADVANCE(131); + END_STATE(); + case 68: + if (lookahead == 'L') ADVANCE(132); + END_STATE(); + case 69: + if (lookahead == 'o') ADVANCE(133); + END_STATE(); + case 70: + if (lookahead == 't') ADVANCE(134); + END_STATE(); + case 71: + if (lookahead == 'a') ADVANCE(135); + END_STATE(); + case 72: + if (lookahead == 'd') ADVANCE(136); + if (lookahead == 'l') ADVANCE(137); + END_STATE(); + case 73: + if (lookahead == 'e') ADVANCE(138); + END_STATE(); + case 74: + if (lookahead == 'a') ADVANCE(139); + END_STATE(); + case 75: + if (lookahead == 'e') ADVANCE(140); + END_STATE(); + case 76: + if (lookahead == 'p') ADVANCE(141); + if (lookahead == 't') ADVANCE(142); + END_STATE(); + case 77: + if (lookahead == 'h') ADVANCE(143); + END_STATE(); + case 78: + if (lookahead == 'n') ADVANCE(144); + if (lookahead == 'p') ADVANCE(145); + END_STATE(); + case 79: + if (lookahead == 'e') ADVANCE(146); + END_STATE(); + case 80: + if (lookahead == 'a') ADVANCE(147); + END_STATE(); + case 81: + if (lookahead == 'o') ADVANCE(148); + END_STATE(); + case 82: + if (lookahead == 'a') ADVANCE(149); + END_STATE(); + case 83: + if (lookahead == 'e') ADVANCE(150); + END_STATE(); + case 84: + if (lookahead == 'c') ADVANCE(151); + END_STATE(); + case 85: + if (lookahead == 's') ADVANCE(152); + END_STATE(); + case 86: + if (lookahead == 'a') ADVANCE(153); + if (lookahead == 'r') ADVANCE(154); + if (lookahead == 'y') ADVANCE(155); + END_STATE(); + case 87: + if (lookahead == 'c') ADVANCE(156); + if (lookahead == 's') ADVANCE(157); + if (lookahead == 't') ADVANCE(158); + END_STATE(); + case 88: + if (lookahead == 'l') ADVANCE(159); + END_STATE(); + case 89: + if (lookahead == 'a') ADVANCE(160); + if (lookahead == 'i') ADVANCE(161); + END_STATE(); + case 90: + if (lookahead == 'e') ADVANCE(162); + END_STATE(); + case 91: + if (lookahead == 'e') ADVANCE(163); + END_STATE(); + case 92: + if (lookahead == 'm') ADVANCE(164); + END_STATE(); + case 93: + if (lookahead == 'l') ADVANCE(165); + END_STATE(); + case 94: + if (lookahead == 'e') ADVANCE(166); + END_STATE(); + case 95: + if (lookahead == 'a') ADVANCE(167); + END_STATE(); + case 96: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 97: + if (lookahead == 'e') ADVANCE(168); + END_STATE(); + case 98: + if (lookahead == 'o') ADVANCE(169); + END_STATE(); + case 99: + if (lookahead == 'i') ADVANCE(170); + END_STATE(); + case 100: + if (lookahead == 'g') ADVANCE(171); + END_STATE(); + case 101: + if (lookahead == 'a') ADVANCE(172); + END_STATE(); + case 102: + if (lookahead == 'e') ADVANCE(173); + END_STATE(); + case 103: + ACCEPT_TOKEN(anon_sym_new); + END_STATE(); + case 104: + if (lookahead == 'x') ADVANCE(174); + END_STATE(); + case 105: + if (lookahead == 'l') ADVANCE(175); + END_STATE(); + case 106: + if (lookahead == 'r') ADVANCE(176); + END_STATE(); + case 107: + if (lookahead == 'r') ADVANCE(177); + END_STATE(); + case 108: + if (lookahead == 'v') ADVANCE(178); + END_STATE(); + case 109: + if (lookahead == 't') ADVANCE(179); + END_STATE(); + case 110: + if (lookahead == 'l') ADVANCE(180); + END_STATE(); + case 111: + if (lookahead == 'i') ADVANCE(181); + END_STATE(); + case 112: + if (lookahead == 'u') ADVANCE(182); + END_STATE(); + case 113: + if (lookahead == 't') ADVANCE(183); + END_STATE(); + case 114: + if (lookahead == 'u') ADVANCE(184); + END_STATE(); + case 115: + if (lookahead == 'r') ADVANCE(185); + END_STATE(); + case 116: + if (lookahead == 'n') ADVANCE(186); + END_STATE(); + case 117: + if (lookahead == 'e') ADVANCE(187); + END_STATE(); + case 118: + if (lookahead == 't') ADVANCE(188); + END_STATE(); + case 119: + if (lookahead == 'u') ADVANCE(189); + END_STATE(); + case 120: + if (lookahead == 't') ADVANCE(190); + END_STATE(); + case 121: + if (lookahead == 'p') ADVANCE(191); + END_STATE(); + case 122: + if (lookahead == 's') ADVANCE(192); + END_STATE(); + case 123: + if (lookahead == 'e') ADVANCE(193); + if (lookahead == 'o') ADVANCE(194); + END_STATE(); + case 124: + ACCEPT_TOKEN(anon_sym_try); + END_STATE(); + case 125: + if (lookahead == 'e') ADVANCE(195); + END_STATE(); + case 126: + if (lookahead == 'o') ADVANCE(196); + END_STATE(); + case 127: + if (lookahead == 'i') ADVANCE(197); + END_STATE(); + case 128: + if (lookahead == 'n') ADVANCE(198); + END_STATE(); + case 129: + if (lookahead == 't') ADVANCE(199); + END_STATE(); + case 130: + if (lookahead == 'a') ADVANCE(200); + END_STATE(); + case 131: + if (lookahead == 'l') ADVANCE(201); + END_STATE(); + case 132: + ACCEPT_TOKEN(sym_null); + END_STATE(); + case 133: + if (lookahead == 'm') ADVANCE(202); + END_STATE(); + case 134: + if (lookahead == 't') ADVANCE(203); + END_STATE(); + case 135: + if (lookahead == 's') ADVANCE(204); + END_STATE(); + case 136: + if (lookahead == 'e') ADVANCE(205); + END_STATE(); + case 137: + if (lookahead == 'r') ADVANCE(206); + END_STATE(); + case 138: + if (lookahead == 'c') ADVANCE(207); + END_STATE(); + case 139: + if (lookahead == 's') ADVANCE(208); + END_STATE(); + case 140: + if (lookahead == 's') ADVANCE(209); + END_STATE(); + case 141: + if (lookahead == 't') ADVANCE(210); + END_STATE(); + case 142: + if (lookahead == 'd') ADVANCE(211); + END_STATE(); + case 143: + if (lookahead == 'i') ADVANCE(212); + END_STATE(); + case 144: + if (lookahead == 'a') ADVANCE(213); + END_STATE(); + case 145: + if (lookahead == 't') ADVANCE(214); + END_STATE(); + case 146: + if (lookahead == 'c') ADVANCE(215); + END_STATE(); + case 147: + if (lookahead == 'l') ADVANCE(216); + END_STATE(); + case 148: + ACCEPT_TOKEN(sym_auto); + END_STATE(); + case 149: + if (lookahead == 'k') ADVANCE(217); + END_STATE(); + case 150: + ACCEPT_TOKEN(anon_sym_case); + END_STATE(); + case 151: + if (lookahead == 'h') ADVANCE(218); + END_STATE(); + case 152: + if (lookahead == 's') ADVANCE(219); + END_STATE(); + case 153: + if (lookahead == 'w') ADVANCE(220); + END_STATE(); + case 154: + if (lookahead == 'e') ADVANCE(221); + END_STATE(); + case 155: + if (lookahead == 'i') ADVANCE(222); + END_STATE(); + case 156: + if (lookahead == 'e') ADVANCE(223); + END_STATE(); + case 157: + if (lookahead == 't') ADVANCE(224); + END_STATE(); + case 158: + if (lookahead == 'i') ADVANCE(225); + END_STATE(); + case 159: + if (lookahead == 't') ADVANCE(226); + END_STATE(); + case 160: + if (lookahead == 'u') ADVANCE(227); + END_STATE(); + case 161: + if (lookahead == 'n') ADVANCE(228); + END_STATE(); + case 162: + if (lookahead == 't') ADVANCE(229); + END_STATE(); + case 163: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 164: + ACCEPT_TOKEN(anon_sym_enum); + END_STATE(); + case 165: + if (lookahead == 'i') ADVANCE(230); + END_STATE(); + case 166: + if (lookahead == 'r') ADVANCE(231); + END_STATE(); + case 167: + if (lookahead == 'l') ADVANCE(232); + END_STATE(); + case 168: + if (lookahead == 'n') ADVANCE(233); + END_STATE(); + case 169: + ACCEPT_TOKEN(anon_sym_goto); + END_STATE(); + case 170: + if (lookahead == 'n') ADVANCE(234); + END_STATE(); + case 171: + ACCEPT_TOKEN(anon_sym_long); + END_STATE(); + case 172: + if (lookahead == 'b') ADVANCE(235); + END_STATE(); + case 173: + if (lookahead == 's') ADVANCE(236); + END_STATE(); + case 174: + if (lookahead == 'c') ADVANCE(237); + END_STATE(); + case 175: + if (lookahead == 'p') ADVANCE(238); + END_STATE(); + case 176: + if (lookahead == 'a') ADVANCE(239); + END_STATE(); + case 177: + if (lookahead == 'r') ADVANCE(240); + END_STATE(); + case 178: + if (lookahead == 'a') ADVANCE(241); + END_STATE(); + case 179: + if (lookahead == 'e') ADVANCE(242); + END_STATE(); + case 180: + if (lookahead == 'i') ADVANCE(243); + END_STATE(); + case 181: + if (lookahead == 's') ADVANCE(244); + END_STATE(); + case 182: + if (lookahead == 'i') ADVANCE(245); + END_STATE(); + case 183: + if (lookahead == 'r') ADVANCE(246); + END_STATE(); + case 184: + if (lookahead == 'r') ADVANCE(247); + END_STATE(); + case 185: + if (lookahead == 't') ADVANCE(248); + END_STATE(); + case 186: + if (lookahead == 'e') ADVANCE(249); + END_STATE(); + case 187: + if (lookahead == 'o') ADVANCE(250); + END_STATE(); + case 188: + if (lookahead == 'i') ADVANCE(251); + END_STATE(); + case 189: + if (lookahead == 'c') ADVANCE(252); + END_STATE(); + case 190: + if (lookahead == 'c') ADVANCE(253); + END_STATE(); + case 191: + if (lookahead == 'l') ADVANCE(254); + END_STATE(); + case 192: + ACCEPT_TOKEN(sym_this); + END_STATE(); + case 193: + if (lookahead == 'a') ADVANCE(255); + END_STATE(); + case 194: + if (lookahead == 'w') ADVANCE(256); + END_STATE(); + case 195: + if (lookahead == 'd') ADVANCE(257); + if (lookahead == 'n') ADVANCE(258); + END_STATE(); + case 196: + if (lookahead == 'n') ADVANCE(259); + END_STATE(); + case 197: + if (lookahead == 'g') ADVANCE(260); + END_STATE(); + case 198: + if (lookahead == 'g') ADVANCE(261); + END_STATE(); + case 199: + if (lookahead == 'u') ADVANCE(262); + END_STATE(); + case 200: + if (lookahead == 't') ADVANCE(263); + END_STATE(); + case 201: + if (lookahead == 'e') ADVANCE(264); + END_STATE(); + case 202: + if (lookahead == 'i') ADVANCE(265); + END_STATE(); + case 203: + if (lookahead == 'r') ADVANCE(266); + END_STATE(); + case 204: + if (lookahead == 'e') ADVANCE(267); + END_STATE(); + case 205: + if (lookahead == 'c') ADVANCE(268); + END_STATE(); + case 206: + if (lookahead == 'c') ADVANCE(269); + END_STATE(); + case 207: + if (lookahead == 'l') ADVANCE(270); + END_STATE(); + case 208: + if (lookahead == 't') ADVANCE(271); + END_STATE(); + case 209: + if (lookahead == 't') ADVANCE(272); + END_STATE(); + case 210: + if (lookahead == 'r') ADVANCE(273); + END_STATE(); + case 211: + if (lookahead == 'c') ADVANCE(274); + END_STATE(); + case 212: + if (lookahead == 's') ADVANCE(275); + END_STATE(); + case 213: + if (lookahead == 'l') ADVANCE(276); + END_STATE(); + case 214: + if (lookahead == 'r') ADVANCE(277); + END_STATE(); + case 215: + if (lookahead == 't') ADVANCE(278); + END_STATE(); + case 216: + if (lookahead == 'i') ADVANCE(279); + END_STATE(); + case 217: + ACCEPT_TOKEN(anon_sym_break); + END_STATE(); + case 218: + ACCEPT_TOKEN(anon_sym_catch); + END_STATE(); + case 219: + ACCEPT_TOKEN(anon_sym_class); + END_STATE(); + case 220: + if (lookahead == 'a') ADVANCE(280); + END_STATE(); + case 221: + if (lookahead == 't') ADVANCE(281); + END_STATE(); + case 222: + if (lookahead == 'e') ADVANCE(282); + END_STATE(); + case 223: + if (lookahead == 'p') ADVANCE(283); + END_STATE(); + case 224: + ACCEPT_TOKEN(anon_sym_const); + if (lookahead == 'e') ADVANCE(284); + if (lookahead == 'i') ADVANCE(285); + END_STATE(); + case 225: + if (lookahead == 'n') ADVANCE(286); + END_STATE(); + case 226: + if (lookahead == 'y') ADVANCE(287); + END_STATE(); + case 227: + if (lookahead == 'l') ADVANCE(288); + END_STATE(); + case 228: + if (lookahead == 'e') ADVANCE(289); + END_STATE(); + case 229: + if (lookahead == 'e') ADVANCE(290); + END_STATE(); + case 230: + if (lookahead == 'c') ADVANCE(291); + END_STATE(); + case 231: + if (lookahead == 'n') ADVANCE(292); + END_STATE(); + case 232: + ACCEPT_TOKEN(anon_sym_final); + END_STATE(); + case 233: + if (lookahead == 'd') ADVANCE(293); + END_STATE(); + case 234: + if (lookahead == 'e') ADVANCE(294); + END_STATE(); + case 235: + if (lookahead == 'l') ADVANCE(295); + END_STATE(); + case 236: + if (lookahead == 'p') ADVANCE(296); + END_STATE(); + case 237: + if (lookahead == 'e') ADVANCE(297); + END_STATE(); + case 238: + if (lookahead == 't') ADVANCE(298); + END_STATE(); + case 239: + if (lookahead == 't') ADVANCE(299); + END_STATE(); + case 240: + if (lookahead == 'i') ADVANCE(300); + END_STATE(); + case 241: + if (lookahead == 't') ADVANCE(301); + END_STATE(); + case 242: + if (lookahead == 'c') ADVANCE(302); + END_STATE(); + case 243: + if (lookahead == 'c') ADVANCE(303); + END_STATE(); + case 244: + if (lookahead == 't') ADVANCE(304); + END_STATE(); + case 245: + if (lookahead == 'r') ADVANCE(305); + END_STATE(); + case 246: + if (lookahead == 'i') ADVANCE(306); + END_STATE(); + case 247: + if (lookahead == 'n') ADVANCE(307); + END_STATE(); + case 248: + ACCEPT_TOKEN(anon_sym_short); + END_STATE(); + case 249: + if (lookahead == 'd') ADVANCE(308); + END_STATE(); + case 250: + if (lookahead == 'f') ADVANCE(309); + END_STATE(); + case 251: + if (lookahead == 'c') ADVANCE(310); + END_STATE(); + case 252: + if (lookahead == 't') ADVANCE(311); + END_STATE(); + case 253: + if (lookahead == 'h') ADVANCE(312); + END_STATE(); + case 254: + if (lookahead == 'a') ADVANCE(313); + END_STATE(); + case 255: + if (lookahead == 'd') ADVANCE(314); + END_STATE(); + case 256: + ACCEPT_TOKEN(anon_sym_throw); + END_STATE(); + case 257: + if (lookahead == 'e') ADVANCE(315); + END_STATE(); + case 258: + if (lookahead == 'a') ADVANCE(316); + END_STATE(); + case 259: + ACCEPT_TOKEN(anon_sym_union); + END_STATE(); + case 260: + if (lookahead == 'n') ADVANCE(317); + END_STATE(); + case 261: + ACCEPT_TOKEN(anon_sym_using); + END_STATE(); + case 262: + if (lookahead == 'a') ADVANCE(318); + END_STATE(); + case 263: + if (lookahead == 'i') ADVANCE(319); + END_STATE(); + case 264: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 265: + if (lookahead == 'c') ADVANCE(320); + END_STATE(); + case 266: + if (lookahead == 'i') ADVANCE(321); + END_STATE(); + case 267: + if (lookahead == 'd') ADVANCE(322); + END_STATE(); + case 268: + if (lookahead == 'l') ADVANCE(323); + END_STATE(); + case 269: + if (lookahead == 'a') ADVANCE(324); + END_STATE(); + case 270: + if (lookahead == 's') ADVANCE(325); + END_STATE(); + case 271: + if (lookahead == 'c') ADVANCE(326); + END_STATE(); + case 272: + if (lookahead == 'r') ADVANCE(327); + END_STATE(); + case 273: + ACCEPT_TOKEN(sym_ms_signed_ptr_modifier); + END_STATE(); + case 274: + if (lookahead == 'a') ADVANCE(328); + END_STATE(); + case 275: + if (lookahead == 'c') ADVANCE(329); + END_STATE(); + case 276: + if (lookahead == 'i') ADVANCE(330); + END_STATE(); + case 277: + ACCEPT_TOKEN(sym_ms_unsigned_ptr_modifier); + END_STATE(); + case 278: + if (lookahead == 'o') ADVANCE(331); + END_STATE(); + case 279: + if (lookahead == 'g') ADVANCE(332); + END_STATE(); + case 280: + if (lookahead == 'i') ADVANCE(333); + END_STATE(); + case 281: + if (lookahead == 'u') ADVANCE(334); + END_STATE(); + case 282: + if (lookahead == 'l') ADVANCE(335); + END_STATE(); + case 283: + if (lookahead == 't') ADVANCE(336); + END_STATE(); + case 284: + if (lookahead == 'v') ADVANCE(337); + if (lookahead == 'x') ADVANCE(338); + END_STATE(); + case 285: + if (lookahead == 'n') ADVANCE(339); + END_STATE(); + case 286: + if (lookahead == 'u') ADVANCE(340); + END_STATE(); + case 287: + if (lookahead == 'p') ADVANCE(341); + END_STATE(); + case 288: + if (lookahead == 't') ADVANCE(342); + END_STATE(); + case 289: + if (lookahead == 'd') ADVANCE(343); + END_STATE(); + case 290: + ACCEPT_TOKEN(anon_sym_delete); + END_STATE(); + case 291: + if (lookahead == 'i') ADVANCE(344); + END_STATE(); + case 292: + ACCEPT_TOKEN(anon_sym_extern); + END_STATE(); + case 293: + ACCEPT_TOKEN(anon_sym_friend); + END_STATE(); + case 294: + ACCEPT_TOKEN(anon_sym_inline); + END_STATE(); + case 295: + if (lookahead == 'e') ADVANCE(345); + END_STATE(); + case 296: + if (lookahead == 'a') ADVANCE(346); + END_STATE(); + case 297: + if (lookahead == 'p') ADVANCE(347); + END_STATE(); + case 298: + if (lookahead == 'r') ADVANCE(348); + END_STATE(); + case 299: + if (lookahead == 'o') ADVANCE(349); + END_STATE(); + case 300: + if (lookahead == 'd') ADVANCE(350); + END_STATE(); + case 301: + if (lookahead == 'e') ADVANCE(351); + END_STATE(); + case 302: + if (lookahead == 't') ADVANCE(352); + END_STATE(); + case 303: + ACCEPT_TOKEN(anon_sym_public); + END_STATE(); + case 304: + if (lookahead == 'e') ADVANCE(353); + END_STATE(); + case 305: + if (lookahead == 'e') ADVANCE(354); + END_STATE(); + case 306: + if (lookahead == 'c') ADVANCE(355); + END_STATE(); + case 307: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 308: + ACCEPT_TOKEN(anon_sym_signed); + END_STATE(); + case 309: + ACCEPT_TOKEN(anon_sym_sizeof); + END_STATE(); + case 310: + ACCEPT_TOKEN(anon_sym_static); + if (lookahead == '_') ADVANCE(356); + END_STATE(); + case 311: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 312: + ACCEPT_TOKEN(anon_sym_switch); + END_STATE(); + case 313: + if (lookahead == 't') ADVANCE(357); + END_STATE(); + case 314: + if (lookahead == '_') ADVANCE(358); + END_STATE(); + case 315: + if (lookahead == 'f') ADVANCE(359); + END_STATE(); + case 316: + if (lookahead == 'm') ADVANCE(360); + END_STATE(); + case 317: + if (lookahead == 'e') ADVANCE(361); + END_STATE(); + case 318: + if (lookahead == 'l') ADVANCE(362); + END_STATE(); + case 319: + if (lookahead == 'l') ADVANCE(363); + END_STATE(); + case 320: + ACCEPT_TOKEN(anon_sym__Atomic); + END_STATE(); + case 321: + if (lookahead == 'b') ADVANCE(364); + END_STATE(); + case 322: + ACCEPT_TOKEN(anon_sym___based); + END_STATE(); + case 323: + ACCEPT_TOKEN(anon_sym___cdecl); + END_STATE(); + case 324: + if (lookahead == 'l') ADVANCE(365); + END_STATE(); + case 325: + if (lookahead == 'p') ADVANCE(366); + END_STATE(); + case 326: + if (lookahead == 'a') ADVANCE(367); + END_STATE(); + case 327: + if (lookahead == 'i') ADVANCE(368); + END_STATE(); + case 328: + if (lookahead == 'l') ADVANCE(369); + END_STATE(); + case 329: + if (lookahead == 'a') ADVANCE(370); + END_STATE(); + case 330: + if (lookahead == 'g') ADVANCE(371); + END_STATE(); + case 331: + if (lookahead == 'r') ADVANCE(372); + END_STATE(); + case 332: + if (lookahead == 'n') ADVANCE(373); + END_STATE(); + case 333: + if (lookahead == 't') ADVANCE(374); + END_STATE(); + case 334: + if (lookahead == 'r') ADVANCE(375); + END_STATE(); + case 335: + if (lookahead == 'd') ADVANCE(376); + END_STATE(); + case 336: + ACCEPT_TOKEN(anon_sym_concept); + END_STATE(); + case 337: + if (lookahead == 'a') ADVANCE(377); + END_STATE(); + case 338: + if (lookahead == 'p') ADVANCE(378); + END_STATE(); + case 339: + if (lookahead == 'i') ADVANCE(379); + END_STATE(); + case 340: + if (lookahead == 'e') ADVANCE(380); + END_STATE(); + case 341: + if (lookahead == 'e') ADVANCE(381); + END_STATE(); + case 342: + ACCEPT_TOKEN(anon_sym_default); + END_STATE(); + case 343: + ACCEPT_TOKEN(anon_sym_defined); + END_STATE(); + case 344: + if (lookahead == 't') ADVANCE(382); + END_STATE(); + case 345: + ACCEPT_TOKEN(anon_sym_mutable); + END_STATE(); + case 346: + if (lookahead == 'c') ADVANCE(383); + END_STATE(); + case 347: + if (lookahead == 't') ADVANCE(384); + END_STATE(); + case 348: + ACCEPT_TOKEN(sym_nullptr); + END_STATE(); + case 349: + if (lookahead == 'r') ADVANCE(385); + END_STATE(); + case 350: + if (lookahead == 'e') ADVANCE(386); + END_STATE(); + case 351: + ACCEPT_TOKEN(anon_sym_private); + END_STATE(); + case 352: + if (lookahead == 'e') ADVANCE(387); + END_STATE(); + case 353: + if (lookahead == 'r') ADVANCE(388); + END_STATE(); + case 354: + if (lookahead == 's') ADVANCE(389); + END_STATE(); + case 355: + if (lookahead == 't') ADVANCE(390); + END_STATE(); + case 356: + if (lookahead == 'a') ADVANCE(391); + END_STATE(); + case 357: + if (lookahead == 'e') ADVANCE(392); + END_STATE(); + case 358: + if (lookahead == 'l') ADVANCE(393); + END_STATE(); + case 359: + ACCEPT_TOKEN(anon_sym_typedef); + END_STATE(); + case 360: + if (lookahead == 'e') ADVANCE(394); + END_STATE(); + case 361: + if (lookahead == 'd') ADVANCE(395); + END_STATE(); + case 362: + ACCEPT_TOKEN(anon_sym_virtual); + END_STATE(); + case 363: + if (lookahead == 'e') ADVANCE(396); + END_STATE(); + case 364: + if (lookahead == 'u') ADVANCE(397); + END_STATE(); + case 365: + if (lookahead == 'l') ADVANCE(398); + END_STATE(); + case 366: + if (lookahead == 'e') ADVANCE(399); + END_STATE(); + case 367: + if (lookahead == 'l') ADVANCE(400); + END_STATE(); + case 368: + if (lookahead == 'c') ADVANCE(401); + END_STATE(); + case 369: + if (lookahead == 'l') ADVANCE(402); + END_STATE(); + case 370: + if (lookahead == 'l') ADVANCE(403); + END_STATE(); + case 371: + if (lookahead == 'n') ADVANCE(404); + END_STATE(); + case 372: + if (lookahead == 'c') ADVANCE(405); + END_STATE(); + case 373: + if (lookahead == 'e') ADVANCE(406); + END_STATE(); + case 374: + ACCEPT_TOKEN(anon_sym_co_await); + END_STATE(); + case 375: + if (lookahead == 'n') ADVANCE(407); + END_STATE(); + case 376: + ACCEPT_TOKEN(anon_sym_co_yield); + END_STATE(); + case 377: + if (lookahead == 'l') ADVANCE(408); + END_STATE(); + case 378: + if (lookahead == 'r') ADVANCE(409); + END_STATE(); + case 379: + if (lookahead == 't') ADVANCE(410); + END_STATE(); + case 380: + ACCEPT_TOKEN(anon_sym_continue); + END_STATE(); + case 381: + ACCEPT_TOKEN(anon_sym_decltype); + END_STATE(); + case 382: + ACCEPT_TOKEN(anon_sym_explicit); + END_STATE(); + case 383: + if (lookahead == 'e') ADVANCE(411); + END_STATE(); + case 384: + ACCEPT_TOKEN(anon_sym_noexcept); + END_STATE(); + case 385: + ACCEPT_TOKEN(anon_sym_operator); + END_STATE(); + case 386: + ACCEPT_TOKEN(anon_sym_override); + END_STATE(); + case 387: + if (lookahead == 'd') ADVANCE(412); + END_STATE(); + case 388: + ACCEPT_TOKEN(anon_sym_register); + END_STATE(); + case 389: + ACCEPT_TOKEN(anon_sym_requires); + END_STATE(); + case 390: + ACCEPT_TOKEN(anon_sym_restrict); + END_STATE(); + case 391: + if (lookahead == 's') ADVANCE(413); + END_STATE(); + case 392: + ACCEPT_TOKEN(anon_sym_template); + END_STATE(); + case 393: + if (lookahead == 'o') ADVANCE(414); + END_STATE(); + case 394: + ACCEPT_TOKEN(anon_sym_typename); + END_STATE(); + case 395: + ACCEPT_TOKEN(anon_sym_unsigned); + END_STATE(); + case 396: + ACCEPT_TOKEN(anon_sym_volatile); + END_STATE(); + case 397: + if (lookahead == 't') ADVANCE(415); + END_STATE(); + case 398: + ACCEPT_TOKEN(anon_sym___clrcall); + END_STATE(); + case 399: + if (lookahead == 'c') ADVANCE(416); + END_STATE(); + case 400: + if (lookahead == 'l') ADVANCE(417); + END_STATE(); + case 401: + if (lookahead == 't') ADVANCE(418); + END_STATE(); + case 402: + ACCEPT_TOKEN(anon_sym___stdcall); + END_STATE(); + case 403: + if (lookahead == 'l') ADVANCE(419); + END_STATE(); + case 404: + if (lookahead == 'e') ADVANCE(420); + END_STATE(); + case 405: + if (lookahead == 'a') ADVANCE(421); + END_STATE(); + case 406: + if (lookahead == 'd') ADVANCE(422); + END_STATE(); + case 407: + ACCEPT_TOKEN(anon_sym_co_return); + END_STATE(); + case 408: + ACCEPT_TOKEN(anon_sym_consteval); + END_STATE(); + case 409: + ACCEPT_TOKEN(anon_sym_constexpr); + END_STATE(); + case 410: + ACCEPT_TOKEN(anon_sym_constinit); + END_STATE(); + case 411: + ACCEPT_TOKEN(anon_sym_namespace); + END_STATE(); + case 412: + ACCEPT_TOKEN(anon_sym_protected); + END_STATE(); + case 413: + if (lookahead == 's') ADVANCE(423); + END_STATE(); + case 414: + if (lookahead == 'c') ADVANCE(424); + END_STATE(); + case 415: + if (lookahead == 'e') ADVANCE(425); + END_STATE(); + case 416: + ACCEPT_TOKEN(anon_sym___declspec); + END_STATE(); + case 417: + ACCEPT_TOKEN(anon_sym___fastcall); + END_STATE(); + case 418: + ACCEPT_TOKEN(sym_ms_restrict_modifier); + END_STATE(); + case 419: + ACCEPT_TOKEN(anon_sym___thiscall); + END_STATE(); + case 420: + if (lookahead == 'd') ADVANCE(426); + END_STATE(); + case 421: + if (lookahead == 'l') ADVANCE(427); + END_STATE(); + case 422: + ACCEPT_TOKEN(anon_sym__unaligned); + END_STATE(); + case 423: + if (lookahead == 'e') ADVANCE(428); + END_STATE(); + case 424: + if (lookahead == 'a') ADVANCE(429); + END_STATE(); + case 425: + if (lookahead == '_') ADVANCE(430); + END_STATE(); + case 426: + ACCEPT_TOKEN(anon_sym___unaligned); + END_STATE(); + case 427: + if (lookahead == 'l') ADVANCE(431); + END_STATE(); + case 428: + if (lookahead == 'r') ADVANCE(432); + END_STATE(); + case 429: + if (lookahead == 'l') ADVANCE(433); + END_STATE(); + case 430: + if (lookahead == '_') ADVANCE(434); + END_STATE(); + case 431: + ACCEPT_TOKEN(anon_sym___vectorcall); + END_STATE(); + case 432: + if (lookahead == 't') ADVANCE(435); + END_STATE(); + case 433: + ACCEPT_TOKEN(anon_sym_thread_local); + END_STATE(); + case 434: + ACCEPT_TOKEN(anon_sym___attribute__); + END_STATE(); + case 435: + ACCEPT_TOKEN(anon_sym_static_assert); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0, .external_lex_state = 1}, + [1] = {.lex_state = 239, .external_lex_state = 1}, + [2] = {.lex_state = 239, .external_lex_state = 1}, + [3] = {.lex_state = 239, .external_lex_state = 1}, + [4] = {.lex_state = 239, .external_lex_state = 1}, + [5] = {.lex_state = 239, .external_lex_state = 1}, + [6] = {.lex_state = 239, .external_lex_state = 1}, + [7] = {.lex_state = 239, .external_lex_state = 1}, + [8] = {.lex_state = 239, .external_lex_state = 1}, + [9] = {.lex_state = 239, .external_lex_state = 1}, + [10] = {.lex_state = 124, .external_lex_state = 1}, + [11] = {.lex_state = 124, .external_lex_state = 1}, + [12] = {.lex_state = 124, .external_lex_state = 1}, + [13] = {.lex_state = 124, .external_lex_state = 1}, + [14] = {.lex_state = 124, .external_lex_state = 1}, + [15] = {.lex_state = 124, .external_lex_state = 1}, + [16] = {.lex_state = 124, .external_lex_state = 1}, + [17] = {.lex_state = 124, .external_lex_state = 1}, + [18] = {.lex_state = 124, .external_lex_state = 1}, + [19] = {.lex_state = 124, .external_lex_state = 1}, + [20] = {.lex_state = 124, .external_lex_state = 1}, + [21] = {.lex_state = 124, .external_lex_state = 1}, + [22] = {.lex_state = 124, .external_lex_state = 1}, + [23] = {.lex_state = 124, .external_lex_state = 1}, + [24] = {.lex_state = 124, .external_lex_state = 1}, + [25] = {.lex_state = 124, .external_lex_state = 1}, + [26] = {.lex_state = 124, .external_lex_state = 1}, + [27] = {.lex_state = 124, .external_lex_state = 1}, + [28] = {.lex_state = 124, .external_lex_state = 1}, + [29] = {.lex_state = 239, .external_lex_state = 1}, + [30] = {.lex_state = 239, .external_lex_state = 1}, + [31] = {.lex_state = 239, .external_lex_state = 1}, + [32] = {.lex_state = 126, .external_lex_state = 1}, + [33] = {.lex_state = 239, .external_lex_state = 1}, + [34] = {.lex_state = 239, .external_lex_state = 1}, + [35] = {.lex_state = 239, .external_lex_state = 1}, + [36] = {.lex_state = 239, .external_lex_state = 1}, + [37] = {.lex_state = 239, .external_lex_state = 1}, + [38] = {.lex_state = 239, .external_lex_state = 1}, + [39] = {.lex_state = 239, .external_lex_state = 1}, + [40] = {.lex_state = 239, .external_lex_state = 1}, + [41] = {.lex_state = 239, .external_lex_state = 1}, + [42] = {.lex_state = 239, .external_lex_state = 1}, + [43] = {.lex_state = 239, .external_lex_state = 1}, + [44] = {.lex_state = 239, .external_lex_state = 1}, + [45] = {.lex_state = 239, .external_lex_state = 1}, + [46] = {.lex_state = 239, .external_lex_state = 1}, + [47] = {.lex_state = 126, .external_lex_state = 1}, + [48] = {.lex_state = 239, .external_lex_state = 1}, + [49] = {.lex_state = 239, .external_lex_state = 1}, + [50] = {.lex_state = 239, .external_lex_state = 1}, + [51] = {.lex_state = 239, .external_lex_state = 1}, + [52] = {.lex_state = 239, .external_lex_state = 1}, + [53] = {.lex_state = 239, .external_lex_state = 1}, + [54] = {.lex_state = 239, .external_lex_state = 1}, + [55] = {.lex_state = 239, .external_lex_state = 1}, + [56] = {.lex_state = 239, .external_lex_state = 1}, + [57] = {.lex_state = 239, .external_lex_state = 1}, + [58] = {.lex_state = 239, .external_lex_state = 1}, + [59] = {.lex_state = 239, .external_lex_state = 1}, + [60] = {.lex_state = 239, .external_lex_state = 1}, + [61] = {.lex_state = 239, .external_lex_state = 1}, + [62] = {.lex_state = 239, .external_lex_state = 1}, + [63] = {.lex_state = 239, .external_lex_state = 1}, + [64] = {.lex_state = 239, .external_lex_state = 1}, + [65] = {.lex_state = 239, .external_lex_state = 1}, + [66] = {.lex_state = 239, .external_lex_state = 1}, + [67] = {.lex_state = 239, .external_lex_state = 1}, + [68] = {.lex_state = 239, .external_lex_state = 1}, + [69] = {.lex_state = 239, .external_lex_state = 1}, + [70] = {.lex_state = 239, .external_lex_state = 1}, + [71] = {.lex_state = 239, .external_lex_state = 1}, + [72] = {.lex_state = 239, .external_lex_state = 1}, + [73] = {.lex_state = 126, .external_lex_state = 1}, + [74] = {.lex_state = 239, .external_lex_state = 1}, + [75] = {.lex_state = 124, .external_lex_state = 1}, + [76] = {.lex_state = 124, .external_lex_state = 1}, + [77] = {.lex_state = 124, .external_lex_state = 1}, + [78] = {.lex_state = 124, .external_lex_state = 1}, + [79] = {.lex_state = 124, .external_lex_state = 1}, + [80] = {.lex_state = 239, .external_lex_state = 1}, + [81] = {.lex_state = 239, .external_lex_state = 1}, + [82] = {.lex_state = 126, .external_lex_state = 1}, + [83] = {.lex_state = 239, .external_lex_state = 1}, + [84] = {.lex_state = 239, .external_lex_state = 1}, + [85] = {.lex_state = 239, .external_lex_state = 1}, + [86] = {.lex_state = 239, .external_lex_state = 1}, + [87] = {.lex_state = 126, .external_lex_state = 1}, + [88] = {.lex_state = 239, .external_lex_state = 1}, + [89] = {.lex_state = 239, .external_lex_state = 1}, + [90] = {.lex_state = 126, .external_lex_state = 1}, + [91] = {.lex_state = 126, .external_lex_state = 1}, + [92] = {.lex_state = 239, .external_lex_state = 1}, + [93] = {.lex_state = 126, .external_lex_state = 1}, + [94] = {.lex_state = 239, .external_lex_state = 1}, + [95] = {.lex_state = 125, .external_lex_state = 1}, + [96] = {.lex_state = 125, .external_lex_state = 1}, + [97] = {.lex_state = 125, .external_lex_state = 1}, + [98] = {.lex_state = 125, .external_lex_state = 1}, + [99] = {.lex_state = 125, .external_lex_state = 1}, + [100] = {.lex_state = 125, .external_lex_state = 1}, + [101] = {.lex_state = 125, .external_lex_state = 1}, + [102] = {.lex_state = 125, .external_lex_state = 1}, + [103] = {.lex_state = 125, .external_lex_state = 1}, + [104] = {.lex_state = 125, .external_lex_state = 1}, + [105] = {.lex_state = 125, .external_lex_state = 1}, + [106] = {.lex_state = 125, .external_lex_state = 1}, + [107] = {.lex_state = 125, .external_lex_state = 1}, + [108] = {.lex_state = 127, .external_lex_state = 1}, + [109] = {.lex_state = 127, .external_lex_state = 1}, + [110] = {.lex_state = 127, .external_lex_state = 1}, + [111] = {.lex_state = 125, .external_lex_state = 1}, + [112] = {.lex_state = 125, .external_lex_state = 1}, + [113] = {.lex_state = 125, .external_lex_state = 1}, + [114] = {.lex_state = 125, .external_lex_state = 1}, + [115] = {.lex_state = 125, .external_lex_state = 1}, + [116] = {.lex_state = 125, .external_lex_state = 1}, + [117] = {.lex_state = 175}, + [118] = {.lex_state = 175}, + [119] = {.lex_state = 175}, + [120] = {.lex_state = 175}, + [121] = {.lex_state = 175}, + [122] = {.lex_state = 175}, + [123] = {.lex_state = 175}, + [124] = {.lex_state = 175}, + [125] = {.lex_state = 175}, + [126] = {.lex_state = 175}, + [127] = {.lex_state = 175}, + [128] = {.lex_state = 175}, + [129] = {.lex_state = 175}, + [130] = {.lex_state = 175}, + [131] = {.lex_state = 175}, + [132] = {.lex_state = 174}, + [133] = {.lex_state = 174}, + [134] = {.lex_state = 174}, + [135] = {.lex_state = 174}, + [136] = {.lex_state = 174}, + [137] = {.lex_state = 174}, + [138] = {.lex_state = 174}, + [139] = {.lex_state = 141}, + [140] = {.lex_state = 174}, + [141] = {.lex_state = 174}, + [142] = {.lex_state = 174}, + [143] = {.lex_state = 174}, + [144] = {.lex_state = 174}, + [145] = {.lex_state = 174}, + [146] = {.lex_state = 174}, + [147] = {.lex_state = 174}, + [148] = {.lex_state = 174}, + [149] = {.lex_state = 174}, + [150] = {.lex_state = 141}, + [151] = {.lex_state = 141}, + [152] = {.lex_state = 124, .external_lex_state = 1}, + [153] = {.lex_state = 124, .external_lex_state = 1}, + [154] = {.lex_state = 125, .external_lex_state = 1}, + [155] = {.lex_state = 125, .external_lex_state = 1}, + [156] = {.lex_state = 125, .external_lex_state = 1}, + [157] = {.lex_state = 125, .external_lex_state = 1}, + [158] = {.lex_state = 128, .external_lex_state = 1}, + [159] = {.lex_state = 128, .external_lex_state = 1}, + [160] = {.lex_state = 128, .external_lex_state = 1}, + [161] = {.lex_state = 128, .external_lex_state = 1}, + [162] = {.lex_state = 128, .external_lex_state = 1}, + [163] = {.lex_state = 128, .external_lex_state = 1}, + [164] = {.lex_state = 128, .external_lex_state = 1}, + [165] = {.lex_state = 128, .external_lex_state = 1}, + [166] = {.lex_state = 128, .external_lex_state = 1}, + [167] = {.lex_state = 128, .external_lex_state = 1}, + [168] = {.lex_state = 128, .external_lex_state = 1}, + [169] = {.lex_state = 128, .external_lex_state = 1}, + [170] = {.lex_state = 128, .external_lex_state = 1}, + [171] = {.lex_state = 128, .external_lex_state = 1}, + [172] = {.lex_state = 128, .external_lex_state = 1}, + [173] = {.lex_state = 128, .external_lex_state = 1}, + [174] = {.lex_state = 239, .external_lex_state = 1}, + [175] = {.lex_state = 239, .external_lex_state = 1}, + [176] = {.lex_state = 239, .external_lex_state = 1}, + [177] = {.lex_state = 124, .external_lex_state = 1}, + [178] = {.lex_state = 126, .external_lex_state = 1}, + [179] = {.lex_state = 239, .external_lex_state = 1}, + [180] = {.lex_state = 126, .external_lex_state = 1}, + [181] = {.lex_state = 124, .external_lex_state = 1}, + [182] = {.lex_state = 124, .external_lex_state = 1}, + [183] = {.lex_state = 118, .external_lex_state = 1}, + [184] = {.lex_state = 124, .external_lex_state = 1}, + [185] = {.lex_state = 128, .external_lex_state = 1}, + [186] = {.lex_state = 124, .external_lex_state = 1}, + [187] = {.lex_state = 124, .external_lex_state = 1}, + [188] = {.lex_state = 124, .external_lex_state = 1}, + [189] = {.lex_state = 124, .external_lex_state = 1}, + [190] = {.lex_state = 125, .external_lex_state = 1}, + [191] = {.lex_state = 128, .external_lex_state = 1}, + [192] = {.lex_state = 128, .external_lex_state = 1}, + [193] = {.lex_state = 124, .external_lex_state = 1}, + [194] = {.lex_state = 124, .external_lex_state = 1}, + [195] = {.lex_state = 124, .external_lex_state = 1}, + [196] = {.lex_state = 124, .external_lex_state = 1}, + [197] = {.lex_state = 124, .external_lex_state = 1}, + [198] = {.lex_state = 128, .external_lex_state = 1}, + [199] = {.lex_state = 128, .external_lex_state = 1}, + [200] = {.lex_state = 124, .external_lex_state = 1}, + [201] = {.lex_state = 124, .external_lex_state = 1}, + [202] = {.lex_state = 128, .external_lex_state = 1}, + [203] = {.lex_state = 128, .external_lex_state = 1}, + [204] = {.lex_state = 124, .external_lex_state = 1}, + [205] = {.lex_state = 124, .external_lex_state = 1}, + [206] = {.lex_state = 128, .external_lex_state = 1}, + [207] = {.lex_state = 128, .external_lex_state = 1}, + [208] = {.lex_state = 124, .external_lex_state = 1}, + [209] = {.lex_state = 128, .external_lex_state = 1}, + [210] = {.lex_state = 128, .external_lex_state = 1}, + [211] = {.lex_state = 125, .external_lex_state = 1}, + [212] = {.lex_state = 128, .external_lex_state = 1}, + [213] = {.lex_state = 124, .external_lex_state = 1}, + [214] = {.lex_state = 124, .external_lex_state = 1}, + [215] = {.lex_state = 124, .external_lex_state = 1}, + [216] = {.lex_state = 124, .external_lex_state = 1}, + [217] = {.lex_state = 124, .external_lex_state = 1}, + [218] = {.lex_state = 124, .external_lex_state = 1}, + [219] = {.lex_state = 124, .external_lex_state = 1}, + [220] = {.lex_state = 124, .external_lex_state = 1}, + [221] = {.lex_state = 124, .external_lex_state = 1}, + [222] = {.lex_state = 124, .external_lex_state = 1}, + [223] = {.lex_state = 124, .external_lex_state = 1}, + [224] = {.lex_state = 124, .external_lex_state = 1}, + [225] = {.lex_state = 124, .external_lex_state = 1}, + [226] = {.lex_state = 128, .external_lex_state = 1}, + [227] = {.lex_state = 124, .external_lex_state = 1}, + [228] = {.lex_state = 124, .external_lex_state = 1}, + [229] = {.lex_state = 128, .external_lex_state = 1}, + [230] = {.lex_state = 124, .external_lex_state = 1}, + [231] = {.lex_state = 124, .external_lex_state = 1}, + [232] = {.lex_state = 124, .external_lex_state = 1}, + [233] = {.lex_state = 124, .external_lex_state = 1}, + [234] = {.lex_state = 124, .external_lex_state = 1}, + [235] = {.lex_state = 128, .external_lex_state = 1}, + [236] = {.lex_state = 124, .external_lex_state = 1}, + [237] = {.lex_state = 124, .external_lex_state = 1}, + [238] = {.lex_state = 124, .external_lex_state = 1}, + [239] = {.lex_state = 124, .external_lex_state = 1}, + [240] = {.lex_state = 124, .external_lex_state = 1}, + [241] = {.lex_state = 128, .external_lex_state = 1}, + [242] = {.lex_state = 124, .external_lex_state = 1}, + [243] = {.lex_state = 124, .external_lex_state = 1}, + [244] = {.lex_state = 128, .external_lex_state = 1}, + [245] = {.lex_state = 124, .external_lex_state = 1}, + [246] = {.lex_state = 128, .external_lex_state = 1}, + [247] = {.lex_state = 124, .external_lex_state = 1}, + [248] = {.lex_state = 124, .external_lex_state = 1}, + [249] = {.lex_state = 128, .external_lex_state = 1}, + [250] = {.lex_state = 128, .external_lex_state = 1}, + [251] = {.lex_state = 128, .external_lex_state = 1}, + [252] = {.lex_state = 124, .external_lex_state = 1}, + [253] = {.lex_state = 124, .external_lex_state = 1}, + [254] = {.lex_state = 124, .external_lex_state = 1}, + [255] = {.lex_state = 124, .external_lex_state = 1}, + [256] = {.lex_state = 124, .external_lex_state = 1}, + [257] = {.lex_state = 128, .external_lex_state = 1}, + [258] = {.lex_state = 125, .external_lex_state = 1}, + [259] = {.lex_state = 128, .external_lex_state = 1}, + [260] = {.lex_state = 124, .external_lex_state = 1}, + [261] = {.lex_state = 128, .external_lex_state = 1}, + [262] = {.lex_state = 128, .external_lex_state = 1}, + [263] = {.lex_state = 128, .external_lex_state = 1}, + [264] = {.lex_state = 128, .external_lex_state = 1}, + [265] = {.lex_state = 128, .external_lex_state = 1}, + [266] = {.lex_state = 128, .external_lex_state = 1}, + [267] = {.lex_state = 128, .external_lex_state = 1}, + [268] = {.lex_state = 124, .external_lex_state = 1}, + [269] = {.lex_state = 124, .external_lex_state = 1}, + [270] = {.lex_state = 124, .external_lex_state = 1}, + [271] = {.lex_state = 128, .external_lex_state = 1}, + [272] = {.lex_state = 128, .external_lex_state = 1}, + [273] = {.lex_state = 128, .external_lex_state = 1}, + [274] = {.lex_state = 128, .external_lex_state = 1}, + [275] = {.lex_state = 128, .external_lex_state = 1}, + [276] = {.lex_state = 128, .external_lex_state = 1}, + [277] = {.lex_state = 128, .external_lex_state = 1}, + [278] = {.lex_state = 128, .external_lex_state = 1}, + [279] = {.lex_state = 128, .external_lex_state = 1}, + [280] = {.lex_state = 128, .external_lex_state = 1}, + [281] = {.lex_state = 128, .external_lex_state = 1}, + [282] = {.lex_state = 117, .external_lex_state = 1}, + [283] = {.lex_state = 128, .external_lex_state = 1}, + [284] = {.lex_state = 128, .external_lex_state = 1}, + [285] = {.lex_state = 128, .external_lex_state = 1}, + [286] = {.lex_state = 128, .external_lex_state = 1}, + [287] = {.lex_state = 128, .external_lex_state = 1}, + [288] = {.lex_state = 124, .external_lex_state = 1}, + [289] = {.lex_state = 128, .external_lex_state = 1}, + [290] = {.lex_state = 124, .external_lex_state = 1}, + [291] = {.lex_state = 128, .external_lex_state = 1}, + [292] = {.lex_state = 124, .external_lex_state = 1}, + [293] = {.lex_state = 128, .external_lex_state = 1}, + [294] = {.lex_state = 124, .external_lex_state = 1}, + [295] = {.lex_state = 128, .external_lex_state = 1}, + [296] = {.lex_state = 128, .external_lex_state = 1}, + [297] = {.lex_state = 128, .external_lex_state = 1}, + [298] = {.lex_state = 128, .external_lex_state = 1}, + [299] = {.lex_state = 128, .external_lex_state = 1}, + [300] = {.lex_state = 128, .external_lex_state = 1}, + [301] = {.lex_state = 128, .external_lex_state = 1}, + [302] = {.lex_state = 128, .external_lex_state = 1}, + [303] = {.lex_state = 128, .external_lex_state = 1}, + [304] = {.lex_state = 128, .external_lex_state = 1}, + [305] = {.lex_state = 124, .external_lex_state = 1}, + [306] = {.lex_state = 128, .external_lex_state = 1}, + [307] = {.lex_state = 128, .external_lex_state = 1}, + [308] = {.lex_state = 128, .external_lex_state = 1}, + [309] = {.lex_state = 124, .external_lex_state = 1}, + [310] = {.lex_state = 128, .external_lex_state = 1}, + [311] = {.lex_state = 128, .external_lex_state = 1}, + [312] = {.lex_state = 124, .external_lex_state = 1}, + [313] = {.lex_state = 128, .external_lex_state = 1}, + [314] = {.lex_state = 128, .external_lex_state = 1}, + [315] = {.lex_state = 128, .external_lex_state = 1}, + [316] = {.lex_state = 124, .external_lex_state = 1}, + [317] = {.lex_state = 128, .external_lex_state = 1}, + [318] = {.lex_state = 128, .external_lex_state = 1}, + [319] = {.lex_state = 128, .external_lex_state = 1}, + [320] = {.lex_state = 124, .external_lex_state = 1}, + [321] = {.lex_state = 128, .external_lex_state = 1}, + [322] = {.lex_state = 124, .external_lex_state = 1}, + [323] = {.lex_state = 128, .external_lex_state = 1}, + [324] = {.lex_state = 128, .external_lex_state = 1}, + [325] = {.lex_state = 128, .external_lex_state = 1}, + [326] = {.lex_state = 128, .external_lex_state = 1}, + [327] = {.lex_state = 128, .external_lex_state = 1}, + [328] = {.lex_state = 124, .external_lex_state = 1}, + [329] = {.lex_state = 128, .external_lex_state = 1}, + [330] = {.lex_state = 124, .external_lex_state = 1}, + [331] = {.lex_state = 128, .external_lex_state = 1}, + [332] = {.lex_state = 128, .external_lex_state = 1}, + [333] = {.lex_state = 128, .external_lex_state = 1}, + [334] = {.lex_state = 128, .external_lex_state = 1}, + [335] = {.lex_state = 124, .external_lex_state = 1}, + [336] = {.lex_state = 124, .external_lex_state = 1}, + [337] = {.lex_state = 124, .external_lex_state = 1}, + [338] = {.lex_state = 128, .external_lex_state = 1}, + [339] = {.lex_state = 128, .external_lex_state = 1}, + [340] = {.lex_state = 124, .external_lex_state = 1}, + [341] = {.lex_state = 128, .external_lex_state = 1}, + [342] = {.lex_state = 128, .external_lex_state = 1}, + [343] = {.lex_state = 124, .external_lex_state = 1}, + [344] = {.lex_state = 128, .external_lex_state = 1}, + [345] = {.lex_state = 128, .external_lex_state = 1}, + [346] = {.lex_state = 128, .external_lex_state = 1}, + [347] = {.lex_state = 128, .external_lex_state = 1}, + [348] = {.lex_state = 128, .external_lex_state = 1}, + [349] = {.lex_state = 128, .external_lex_state = 1}, + [350] = {.lex_state = 128, .external_lex_state = 1}, + [351] = {.lex_state = 128, .external_lex_state = 1}, + [352] = {.lex_state = 128, .external_lex_state = 1}, + [353] = {.lex_state = 128, .external_lex_state = 1}, + [354] = {.lex_state = 128, .external_lex_state = 1}, + [355] = {.lex_state = 128, .external_lex_state = 1}, + [356] = {.lex_state = 128, .external_lex_state = 1}, + [357] = {.lex_state = 124, .external_lex_state = 1}, + [358] = {.lex_state = 125, .external_lex_state = 1}, + [359] = {.lex_state = 128, .external_lex_state = 1}, + [360] = {.lex_state = 124, .external_lex_state = 1}, + [361] = {.lex_state = 128, .external_lex_state = 1}, + [362] = {.lex_state = 128, .external_lex_state = 1}, + [363] = {.lex_state = 128, .external_lex_state = 1}, + [364] = {.lex_state = 128, .external_lex_state = 1}, + [365] = {.lex_state = 128, .external_lex_state = 1}, + [366] = {.lex_state = 125, .external_lex_state = 1}, + [367] = {.lex_state = 128, .external_lex_state = 1}, + [368] = {.lex_state = 128, .external_lex_state = 1}, + [369] = {.lex_state = 128, .external_lex_state = 1}, + [370] = {.lex_state = 128, .external_lex_state = 1}, + [371] = {.lex_state = 128, .external_lex_state = 1}, + [372] = {.lex_state = 124, .external_lex_state = 1}, + [373] = {.lex_state = 128, .external_lex_state = 1}, + [374] = {.lex_state = 128, .external_lex_state = 1}, + [375] = {.lex_state = 128, .external_lex_state = 1}, + [376] = {.lex_state = 128, .external_lex_state = 1}, + [377] = {.lex_state = 128, .external_lex_state = 1}, + [378] = {.lex_state = 128, .external_lex_state = 1}, + [379] = {.lex_state = 128, .external_lex_state = 1}, + [380] = {.lex_state = 124, .external_lex_state = 1}, + [381] = {.lex_state = 124, .external_lex_state = 1}, + [382] = {.lex_state = 128, .external_lex_state = 1}, + [383] = {.lex_state = 128, .external_lex_state = 1}, + [384] = {.lex_state = 128, .external_lex_state = 1}, + [385] = {.lex_state = 128, .external_lex_state = 1}, + [386] = {.lex_state = 128, .external_lex_state = 1}, + [387] = {.lex_state = 128, .external_lex_state = 1}, + [388] = {.lex_state = 124, .external_lex_state = 1}, + [389] = {.lex_state = 128, .external_lex_state = 1}, + [390] = {.lex_state = 124, .external_lex_state = 1}, + [391] = {.lex_state = 128, .external_lex_state = 1}, + [392] = {.lex_state = 128, .external_lex_state = 1}, + [393] = {.lex_state = 128, .external_lex_state = 1}, + [394] = {.lex_state = 128, .external_lex_state = 1}, + [395] = {.lex_state = 124, .external_lex_state = 1}, + [396] = {.lex_state = 128, .external_lex_state = 1}, + [397] = {.lex_state = 124, .external_lex_state = 1}, + [398] = {.lex_state = 128, .external_lex_state = 1}, + [399] = {.lex_state = 124, .external_lex_state = 1}, + [400] = {.lex_state = 124, .external_lex_state = 1}, + [401] = {.lex_state = 124, .external_lex_state = 1}, + [402] = {.lex_state = 128, .external_lex_state = 1}, + [403] = {.lex_state = 128, .external_lex_state = 1}, + [404] = {.lex_state = 128, .external_lex_state = 1}, + [405] = {.lex_state = 128, .external_lex_state = 1}, + [406] = {.lex_state = 128, .external_lex_state = 1}, + [407] = {.lex_state = 128, .external_lex_state = 1}, + [408] = {.lex_state = 239, .external_lex_state = 1}, + [409] = {.lex_state = 124, .external_lex_state = 1}, + [410] = {.lex_state = 128, .external_lex_state = 1}, + [411] = {.lex_state = 239, .external_lex_state = 1}, + [412] = {.lex_state = 124, .external_lex_state = 1}, + [413] = {.lex_state = 124, .external_lex_state = 1}, + [414] = {.lex_state = 124, .external_lex_state = 1}, + [415] = {.lex_state = 124, .external_lex_state = 1}, + [416] = {.lex_state = 124, .external_lex_state = 1}, + [417] = {.lex_state = 124, .external_lex_state = 1}, + [418] = {.lex_state = 124, .external_lex_state = 1}, + [419] = {.lex_state = 126, .external_lex_state = 1}, + [420] = {.lex_state = 124, .external_lex_state = 1}, + [421] = {.lex_state = 124, .external_lex_state = 1}, + [422] = {.lex_state = 124, .external_lex_state = 1}, + [423] = {.lex_state = 124, .external_lex_state = 1}, + [424] = {.lex_state = 124, .external_lex_state = 1}, + [425] = {.lex_state = 239, .external_lex_state = 1}, + [426] = {.lex_state = 124, .external_lex_state = 1}, + [427] = {.lex_state = 124, .external_lex_state = 1}, + [428] = {.lex_state = 124, .external_lex_state = 1}, + [429] = {.lex_state = 126, .external_lex_state = 1}, + [430] = {.lex_state = 239, .external_lex_state = 1}, + [431] = {.lex_state = 128, .external_lex_state = 1}, + [432] = {.lex_state = 128, .external_lex_state = 1}, + [433] = {.lex_state = 124, .external_lex_state = 1}, + [434] = {.lex_state = 124, .external_lex_state = 1}, + [435] = {.lex_state = 124, .external_lex_state = 1}, + [436] = {.lex_state = 124, .external_lex_state = 1}, + [437] = {.lex_state = 124, .external_lex_state = 1}, + [438] = {.lex_state = 124, .external_lex_state = 1}, + [439] = {.lex_state = 124, .external_lex_state = 1}, + [440] = {.lex_state = 124, .external_lex_state = 1}, + [441] = {.lex_state = 124, .external_lex_state = 1}, + [442] = {.lex_state = 239, .external_lex_state = 1}, + [443] = {.lex_state = 124, .external_lex_state = 1}, + [444] = {.lex_state = 126, .external_lex_state = 1}, + [445] = {.lex_state = 124, .external_lex_state = 1}, + [446] = {.lex_state = 124, .external_lex_state = 1}, + [447] = {.lex_state = 239, .external_lex_state = 1}, + [448] = {.lex_state = 124, .external_lex_state = 1}, + [449] = {.lex_state = 124, .external_lex_state = 1}, + [450] = {.lex_state = 124, .external_lex_state = 1}, + [451] = {.lex_state = 124, .external_lex_state = 1}, + [452] = {.lex_state = 124, .external_lex_state = 1}, + [453] = {.lex_state = 124, .external_lex_state = 1}, + [454] = {.lex_state = 128, .external_lex_state = 1}, + [455] = {.lex_state = 124, .external_lex_state = 1}, + [456] = {.lex_state = 128, .external_lex_state = 1}, + [457] = {.lex_state = 124, .external_lex_state = 1}, + [458] = {.lex_state = 124, .external_lex_state = 1}, + [459] = {.lex_state = 124, .external_lex_state = 1}, + [460] = {.lex_state = 124, .external_lex_state = 1}, + [461] = {.lex_state = 124, .external_lex_state = 1}, + [462] = {.lex_state = 124, .external_lex_state = 1}, + [463] = {.lex_state = 124, .external_lex_state = 1}, + [464] = {.lex_state = 124, .external_lex_state = 1}, + [465] = {.lex_state = 124, .external_lex_state = 1}, + [466] = {.lex_state = 124, .external_lex_state = 1}, + [467] = {.lex_state = 124, .external_lex_state = 1}, + [468] = {.lex_state = 124, .external_lex_state = 1}, + [469] = {.lex_state = 124, .external_lex_state = 1}, + [470] = {.lex_state = 239, .external_lex_state = 1}, + [471] = {.lex_state = 126, .external_lex_state = 1}, + [472] = {.lex_state = 126, .external_lex_state = 1}, + [473] = {.lex_state = 126, .external_lex_state = 1}, + [474] = {.lex_state = 239, .external_lex_state = 1}, + [475] = {.lex_state = 126, .external_lex_state = 1}, + [476] = {.lex_state = 126, .external_lex_state = 1}, + [477] = {.lex_state = 239, .external_lex_state = 1}, + [478] = {.lex_state = 126, .external_lex_state = 1}, + [479] = {.lex_state = 126, .external_lex_state = 1}, + [480] = {.lex_state = 126, .external_lex_state = 1}, + [481] = {.lex_state = 239, .external_lex_state = 1}, + [482] = {.lex_state = 239, .external_lex_state = 1}, + [483] = {.lex_state = 239, .external_lex_state = 1}, + [484] = {.lex_state = 239, .external_lex_state = 1}, + [485] = {.lex_state = 239, .external_lex_state = 1}, + [486] = {.lex_state = 239, .external_lex_state = 1}, + [487] = {.lex_state = 126, .external_lex_state = 1}, + [488] = {.lex_state = 126, .external_lex_state = 1}, + [489] = {.lex_state = 126, .external_lex_state = 1}, + [490] = {.lex_state = 239, .external_lex_state = 1}, + [491] = {.lex_state = 239, .external_lex_state = 1}, + [492] = {.lex_state = 126, .external_lex_state = 1}, + [493] = {.lex_state = 239, .external_lex_state = 1}, + [494] = {.lex_state = 239, .external_lex_state = 1}, + [495] = {.lex_state = 126, .external_lex_state = 1}, + [496] = {.lex_state = 126, .external_lex_state = 1}, + [497] = {.lex_state = 239, .external_lex_state = 1}, + [498] = {.lex_state = 126, .external_lex_state = 1}, + [499] = {.lex_state = 239, .external_lex_state = 1}, + [500] = {.lex_state = 126, .external_lex_state = 1}, + [501] = {.lex_state = 126, .external_lex_state = 1}, + [502] = {.lex_state = 239, .external_lex_state = 1}, + [503] = {.lex_state = 126, .external_lex_state = 1}, + [504] = {.lex_state = 239, .external_lex_state = 1}, + [505] = {.lex_state = 239, .external_lex_state = 1}, + [506] = {.lex_state = 239, .external_lex_state = 1}, + [507] = {.lex_state = 126, .external_lex_state = 1}, + [508] = {.lex_state = 126, .external_lex_state = 1}, + [509] = {.lex_state = 239, .external_lex_state = 1}, + [510] = {.lex_state = 239, .external_lex_state = 1}, + [511] = {.lex_state = 239, .external_lex_state = 1}, + [512] = {.lex_state = 126, .external_lex_state = 1}, + [513] = {.lex_state = 239, .external_lex_state = 1}, + [514] = {.lex_state = 239, .external_lex_state = 1}, + [515] = {.lex_state = 239, .external_lex_state = 1}, + [516] = {.lex_state = 239, .external_lex_state = 1}, + [517] = {.lex_state = 126, .external_lex_state = 1}, + [518] = {.lex_state = 126, .external_lex_state = 1}, + [519] = {.lex_state = 126, .external_lex_state = 1}, + [520] = {.lex_state = 126, .external_lex_state = 1}, + [521] = {.lex_state = 126, .external_lex_state = 1}, + [522] = {.lex_state = 239, .external_lex_state = 1}, + [523] = {.lex_state = 239, .external_lex_state = 1}, + [524] = {.lex_state = 126, .external_lex_state = 1}, + [525] = {.lex_state = 126, .external_lex_state = 1}, + [526] = {.lex_state = 239, .external_lex_state = 1}, + [527] = {.lex_state = 239, .external_lex_state = 1}, + [528] = {.lex_state = 239, .external_lex_state = 1}, + [529] = {.lex_state = 175}, + [530] = {.lex_state = 239, .external_lex_state = 1}, + [531] = {.lex_state = 126, .external_lex_state = 1}, + [532] = {.lex_state = 126, .external_lex_state = 1}, + [533] = {.lex_state = 126, .external_lex_state = 1}, + [534] = {.lex_state = 126, .external_lex_state = 1}, + [535] = {.lex_state = 126, .external_lex_state = 1}, + [536] = {.lex_state = 239, .external_lex_state = 1}, + [537] = {.lex_state = 126, .external_lex_state = 1}, + [538] = {.lex_state = 126, .external_lex_state = 1}, + [539] = {.lex_state = 239, .external_lex_state = 1}, + [540] = {.lex_state = 239, .external_lex_state = 1}, + [541] = {.lex_state = 239, .external_lex_state = 1}, + [542] = {.lex_state = 239, .external_lex_state = 1}, + [543] = {.lex_state = 126, .external_lex_state = 1}, + [544] = {.lex_state = 239, .external_lex_state = 1}, + [545] = {.lex_state = 239, .external_lex_state = 1}, + [546] = {.lex_state = 239, .external_lex_state = 1}, + [547] = {.lex_state = 239, .external_lex_state = 1}, + [548] = {.lex_state = 126, .external_lex_state = 1}, + [549] = {.lex_state = 126, .external_lex_state = 1}, + [550] = {.lex_state = 239, .external_lex_state = 1}, + [551] = {.lex_state = 126, .external_lex_state = 1}, + [552] = {.lex_state = 126, .external_lex_state = 1}, + [553] = {.lex_state = 239, .external_lex_state = 1}, + [554] = {.lex_state = 239, .external_lex_state = 1}, + [555] = {.lex_state = 126, .external_lex_state = 1}, + [556] = {.lex_state = 126, .external_lex_state = 1}, + [557] = {.lex_state = 239, .external_lex_state = 1}, + [558] = {.lex_state = 239, .external_lex_state = 1}, + [559] = {.lex_state = 239, .external_lex_state = 1}, + [560] = {.lex_state = 239, .external_lex_state = 1}, + [561] = {.lex_state = 239, .external_lex_state = 1}, + [562] = {.lex_state = 126, .external_lex_state = 1}, + [563] = {.lex_state = 239, .external_lex_state = 1}, + [564] = {.lex_state = 239, .external_lex_state = 1}, + [565] = {.lex_state = 239, .external_lex_state = 1}, + [566] = {.lex_state = 126, .external_lex_state = 1}, + [567] = {.lex_state = 239, .external_lex_state = 1}, + [568] = {.lex_state = 126, .external_lex_state = 1}, + [569] = {.lex_state = 126, .external_lex_state = 1}, + [570] = {.lex_state = 239, .external_lex_state = 1}, + [571] = {.lex_state = 239, .external_lex_state = 1}, + [572] = {.lex_state = 126, .external_lex_state = 1}, + [573] = {.lex_state = 126, .external_lex_state = 1}, + [574] = {.lex_state = 126, .external_lex_state = 1}, + [575] = {.lex_state = 126, .external_lex_state = 1}, + [576] = {.lex_state = 239, .external_lex_state = 1}, + [577] = {.lex_state = 126, .external_lex_state = 1}, + [578] = {.lex_state = 239, .external_lex_state = 1}, + [579] = {.lex_state = 126, .external_lex_state = 1}, + [580] = {.lex_state = 126, .external_lex_state = 1}, + [581] = {.lex_state = 239, .external_lex_state = 1}, + [582] = {.lex_state = 239, .external_lex_state = 1}, + [583] = {.lex_state = 239, .external_lex_state = 1}, + [584] = {.lex_state = 239, .external_lex_state = 1}, + [585] = {.lex_state = 239, .external_lex_state = 1}, + [586] = {.lex_state = 239, .external_lex_state = 1}, + [587] = {.lex_state = 239, .external_lex_state = 1}, + [588] = {.lex_state = 239, .external_lex_state = 1}, + [589] = {.lex_state = 239, .external_lex_state = 1}, + [590] = {.lex_state = 239, .external_lex_state = 1}, + [591] = {.lex_state = 239, .external_lex_state = 1}, + [592] = {.lex_state = 239, .external_lex_state = 1}, + [593] = {.lex_state = 239, .external_lex_state = 1}, + [594] = {.lex_state = 239, .external_lex_state = 1}, + [595] = {.lex_state = 239, .external_lex_state = 1}, + [596] = {.lex_state = 239, .external_lex_state = 1}, + [597] = {.lex_state = 239, .external_lex_state = 1}, + [598] = {.lex_state = 239, .external_lex_state = 1}, + [599] = {.lex_state = 239, .external_lex_state = 1}, + [600] = {.lex_state = 239, .external_lex_state = 1}, + [601] = {.lex_state = 239, .external_lex_state = 1}, + [602] = {.lex_state = 239, .external_lex_state = 1}, + [603] = {.lex_state = 126, .external_lex_state = 1}, + [604] = {.lex_state = 239, .external_lex_state = 1}, + [605] = {.lex_state = 126, .external_lex_state = 1}, + [606] = {.lex_state = 239, .external_lex_state = 1}, + [607] = {.lex_state = 239, .external_lex_state = 1}, + [608] = {.lex_state = 239, .external_lex_state = 1}, + [609] = {.lex_state = 126, .external_lex_state = 1}, + [610] = {.lex_state = 126, .external_lex_state = 1}, + [611] = {.lex_state = 239, .external_lex_state = 1}, + [612] = {.lex_state = 239, .external_lex_state = 1}, + [613] = {.lex_state = 239, .external_lex_state = 1}, + [614] = {.lex_state = 239, .external_lex_state = 1}, + [615] = {.lex_state = 175}, + [616] = {.lex_state = 239, .external_lex_state = 1}, + [617] = {.lex_state = 239, .external_lex_state = 1}, + [618] = {.lex_state = 239, .external_lex_state = 1}, + [619] = {.lex_state = 239, .external_lex_state = 1}, + [620] = {.lex_state = 175}, + [621] = {.lex_state = 239, .external_lex_state = 1}, + [622] = {.lex_state = 239, .external_lex_state = 1}, + [623] = {.lex_state = 239, .external_lex_state = 1}, + [624] = {.lex_state = 126, .external_lex_state = 1}, + [625] = {.lex_state = 126, .external_lex_state = 1}, + [626] = {.lex_state = 239, .external_lex_state = 1}, + [627] = {.lex_state = 239, .external_lex_state = 1}, + [628] = {.lex_state = 239, .external_lex_state = 1}, + [629] = {.lex_state = 239, .external_lex_state = 1}, + [630] = {.lex_state = 239, .external_lex_state = 1}, + [631] = {.lex_state = 239, .external_lex_state = 1}, + [632] = {.lex_state = 239, .external_lex_state = 1}, + [633] = {.lex_state = 239, .external_lex_state = 1}, + [634] = {.lex_state = 119, .external_lex_state = 1}, + [635] = {.lex_state = 239, .external_lex_state = 1}, + [636] = {.lex_state = 126, .external_lex_state = 1}, + [637] = {.lex_state = 239, .external_lex_state = 1}, + [638] = {.lex_state = 239, .external_lex_state = 1}, + [639] = {.lex_state = 239, .external_lex_state = 1}, + [640] = {.lex_state = 239, .external_lex_state = 1}, + [641] = {.lex_state = 239, .external_lex_state = 1}, + [642] = {.lex_state = 126, .external_lex_state = 1}, + [643] = {.lex_state = 239, .external_lex_state = 1}, + [644] = {.lex_state = 239, .external_lex_state = 1}, + [645] = {.lex_state = 239, .external_lex_state = 1}, + [646] = {.lex_state = 239, .external_lex_state = 1}, + [647] = {.lex_state = 239, .external_lex_state = 1}, + [648] = {.lex_state = 239, .external_lex_state = 1}, + [649] = {.lex_state = 239, .external_lex_state = 1}, + [650] = {.lex_state = 239, .external_lex_state = 1}, + [651] = {.lex_state = 239, .external_lex_state = 1}, + [652] = {.lex_state = 239, .external_lex_state = 1}, + [653] = {.lex_state = 239, .external_lex_state = 1}, + [654] = {.lex_state = 239, .external_lex_state = 1}, + [655] = {.lex_state = 239, .external_lex_state = 1}, + [656] = {.lex_state = 239, .external_lex_state = 1}, + [657] = {.lex_state = 239, .external_lex_state = 1}, + [658] = {.lex_state = 128, .external_lex_state = 1}, + [659] = {.lex_state = 239, .external_lex_state = 1}, + [660] = {.lex_state = 239, .external_lex_state = 1}, + [661] = {.lex_state = 239, .external_lex_state = 1}, + [662] = {.lex_state = 239, .external_lex_state = 1}, + [663] = {.lex_state = 239, .external_lex_state = 1}, + [664] = {.lex_state = 239, .external_lex_state = 1}, + [665] = {.lex_state = 239, .external_lex_state = 1}, + [666] = {.lex_state = 239, .external_lex_state = 1}, + [667] = {.lex_state = 239, .external_lex_state = 1}, + [668] = {.lex_state = 239, .external_lex_state = 1}, + [669] = {.lex_state = 126, .external_lex_state = 1}, + [670] = {.lex_state = 126, .external_lex_state = 1}, + [671] = {.lex_state = 239, .external_lex_state = 1}, + [672] = {.lex_state = 126, .external_lex_state = 1}, + [673] = {.lex_state = 239, .external_lex_state = 1}, + [674] = {.lex_state = 239, .external_lex_state = 1}, + [675] = {.lex_state = 126, .external_lex_state = 1}, + [676] = {.lex_state = 126, .external_lex_state = 1}, + [677] = {.lex_state = 239, .external_lex_state = 1}, + [678] = {.lex_state = 126, .external_lex_state = 1}, + [679] = {.lex_state = 175}, + [680] = {.lex_state = 239, .external_lex_state = 1}, + [681] = {.lex_state = 239, .external_lex_state = 1}, + [682] = {.lex_state = 239, .external_lex_state = 1}, + [683] = {.lex_state = 239, .external_lex_state = 1}, + [684] = {.lex_state = 239, .external_lex_state = 1}, + [685] = {.lex_state = 239, .external_lex_state = 1}, + [686] = {.lex_state = 239, .external_lex_state = 1}, + [687] = {.lex_state = 239, .external_lex_state = 1}, + [688] = {.lex_state = 239, .external_lex_state = 1}, + [689] = {.lex_state = 239, .external_lex_state = 1}, + [690] = {.lex_state = 239, .external_lex_state = 1}, + [691] = {.lex_state = 239, .external_lex_state = 1}, + [692] = {.lex_state = 239, .external_lex_state = 1}, + [693] = {.lex_state = 126, .external_lex_state = 1}, + [694] = {.lex_state = 126, .external_lex_state = 1}, + [695] = {.lex_state = 126, .external_lex_state = 1}, + [696] = {.lex_state = 175}, + [697] = {.lex_state = 126, .external_lex_state = 1}, + [698] = {.lex_state = 239, .external_lex_state = 1}, + [699] = {.lex_state = 239, .external_lex_state = 1}, + [700] = {.lex_state = 175}, + [701] = {.lex_state = 239, .external_lex_state = 1}, + [702] = {.lex_state = 126, .external_lex_state = 1}, + [703] = {.lex_state = 126, .external_lex_state = 1}, + [704] = {.lex_state = 175}, + [705] = {.lex_state = 239, .external_lex_state = 1}, + [706] = {.lex_state = 239, .external_lex_state = 1}, + [707] = {.lex_state = 126, .external_lex_state = 1}, + [708] = {.lex_state = 239, .external_lex_state = 1}, + [709] = {.lex_state = 126, .external_lex_state = 1}, + [710] = {.lex_state = 126, .external_lex_state = 1}, + [711] = {.lex_state = 126, .external_lex_state = 1}, + [712] = {.lex_state = 126, .external_lex_state = 1}, + [713] = {.lex_state = 239, .external_lex_state = 1}, + [714] = {.lex_state = 239, .external_lex_state = 1}, + [715] = {.lex_state = 239, .external_lex_state = 1}, + [716] = {.lex_state = 239, .external_lex_state = 1}, + [717] = {.lex_state = 239, .external_lex_state = 1}, + [718] = {.lex_state = 239, .external_lex_state = 1}, + [719] = {.lex_state = 126, .external_lex_state = 1}, + [720] = {.lex_state = 239, .external_lex_state = 1}, + [721] = {.lex_state = 239, .external_lex_state = 1}, + [722] = {.lex_state = 239, .external_lex_state = 1}, + [723] = {.lex_state = 239, .external_lex_state = 1}, + [724] = {.lex_state = 239, .external_lex_state = 1}, + [725] = {.lex_state = 239, .external_lex_state = 1}, + [726] = {.lex_state = 239, .external_lex_state = 1}, + [727] = {.lex_state = 239, .external_lex_state = 1}, + [728] = {.lex_state = 239, .external_lex_state = 1}, + [729] = {.lex_state = 126, .external_lex_state = 1}, + [730] = {.lex_state = 239, .external_lex_state = 1}, + [731] = {.lex_state = 239, .external_lex_state = 1}, + [732] = {.lex_state = 239, .external_lex_state = 1}, + [733] = {.lex_state = 239, .external_lex_state = 1}, + [734] = {.lex_state = 239, .external_lex_state = 1}, + [735] = {.lex_state = 126, .external_lex_state = 1}, + [736] = {.lex_state = 118, .external_lex_state = 1}, + [737] = {.lex_state = 239, .external_lex_state = 1}, + [738] = {.lex_state = 239, .external_lex_state = 1}, + [739] = {.lex_state = 239, .external_lex_state = 1}, + [740] = {.lex_state = 126, .external_lex_state = 1}, + [741] = {.lex_state = 126, .external_lex_state = 1}, + [742] = {.lex_state = 239, .external_lex_state = 1}, + [743] = {.lex_state = 239, .external_lex_state = 1}, + [744] = {.lex_state = 239, .external_lex_state = 1}, + [745] = {.lex_state = 126, .external_lex_state = 1}, + [746] = {.lex_state = 239, .external_lex_state = 1}, + [747] = {.lex_state = 239, .external_lex_state = 1}, + [748] = {.lex_state = 239, .external_lex_state = 1}, + [749] = {.lex_state = 239, .external_lex_state = 1}, + [750] = {.lex_state = 239, .external_lex_state = 1}, + [751] = {.lex_state = 239, .external_lex_state = 1}, + [752] = {.lex_state = 239, .external_lex_state = 1}, + [753] = {.lex_state = 126, .external_lex_state = 1}, + [754] = {.lex_state = 126, .external_lex_state = 1}, + [755] = {.lex_state = 239, .external_lex_state = 1}, + [756] = {.lex_state = 126, .external_lex_state = 1}, + [757] = {.lex_state = 239, .external_lex_state = 1}, + [758] = {.lex_state = 239, .external_lex_state = 1}, + [759] = {.lex_state = 239, .external_lex_state = 1}, + [760] = {.lex_state = 239, .external_lex_state = 1}, + [761] = {.lex_state = 126, .external_lex_state = 1}, + [762] = {.lex_state = 239, .external_lex_state = 1}, + [763] = {.lex_state = 239, .external_lex_state = 1}, + [764] = {.lex_state = 239, .external_lex_state = 1}, + [765] = {.lex_state = 126, .external_lex_state = 1}, + [766] = {.lex_state = 126, .external_lex_state = 1}, + [767] = {.lex_state = 239, .external_lex_state = 1}, + [768] = {.lex_state = 239, .external_lex_state = 1}, + [769] = {.lex_state = 239, .external_lex_state = 1}, + [770] = {.lex_state = 239, .external_lex_state = 1}, + [771] = {.lex_state = 239, .external_lex_state = 1}, + [772] = {.lex_state = 239, .external_lex_state = 1}, + [773] = {.lex_state = 239, .external_lex_state = 1}, + [774] = {.lex_state = 239, .external_lex_state = 1}, + [775] = {.lex_state = 126, .external_lex_state = 1}, + [776] = {.lex_state = 126, .external_lex_state = 1}, + [777] = {.lex_state = 239, .external_lex_state = 1}, + [778] = {.lex_state = 126, .external_lex_state = 1}, + [779] = {.lex_state = 126, .external_lex_state = 1}, + [780] = {.lex_state = 239, .external_lex_state = 1}, + [781] = {.lex_state = 239, .external_lex_state = 1}, + [782] = {.lex_state = 126, .external_lex_state = 1}, + [783] = {.lex_state = 239, .external_lex_state = 1}, + [784] = {.lex_state = 126, .external_lex_state = 1}, + [785] = {.lex_state = 126, .external_lex_state = 1}, + [786] = {.lex_state = 239, .external_lex_state = 1}, + [787] = {.lex_state = 126, .external_lex_state = 1}, + [788] = {.lex_state = 239, .external_lex_state = 1}, + [789] = {.lex_state = 126, .external_lex_state = 1}, + [790] = {.lex_state = 126, .external_lex_state = 1}, + [791] = {.lex_state = 239, .external_lex_state = 1}, + [792] = {.lex_state = 126, .external_lex_state = 1}, + [793] = {.lex_state = 239, .external_lex_state = 1}, + [794] = {.lex_state = 126, .external_lex_state = 1}, + [795] = {.lex_state = 126, .external_lex_state = 1}, + [796] = {.lex_state = 239, .external_lex_state = 1}, + [797] = {.lex_state = 239, .external_lex_state = 1}, + [798] = {.lex_state = 126, .external_lex_state = 1}, + [799] = {.lex_state = 239, .external_lex_state = 1}, + [800] = {.lex_state = 126, .external_lex_state = 1}, + [801] = {.lex_state = 126, .external_lex_state = 1}, + [802] = {.lex_state = 126, .external_lex_state = 1}, + [803] = {.lex_state = 126, .external_lex_state = 1}, + [804] = {.lex_state = 239, .external_lex_state = 1}, + [805] = {.lex_state = 126, .external_lex_state = 1}, + [806] = {.lex_state = 126, .external_lex_state = 1}, + [807] = {.lex_state = 239, .external_lex_state = 1}, + [808] = {.lex_state = 239, .external_lex_state = 1}, + [809] = {.lex_state = 126, .external_lex_state = 1}, + [810] = {.lex_state = 239, .external_lex_state = 1}, + [811] = {.lex_state = 126, .external_lex_state = 1}, + [812] = {.lex_state = 126, .external_lex_state = 1}, + [813] = {.lex_state = 126, .external_lex_state = 1}, + [814] = {.lex_state = 239, .external_lex_state = 1}, + [815] = {.lex_state = 239, .external_lex_state = 1}, + [816] = {.lex_state = 239, .external_lex_state = 1}, + [817] = {.lex_state = 126, .external_lex_state = 1}, + [818] = {.lex_state = 239, .external_lex_state = 1}, + [819] = {.lex_state = 239, .external_lex_state = 1}, + [820] = {.lex_state = 239, .external_lex_state = 1}, + [821] = {.lex_state = 239, .external_lex_state = 1}, + [822] = {.lex_state = 239, .external_lex_state = 1}, + [823] = {.lex_state = 239, .external_lex_state = 1}, + [824] = {.lex_state = 239, .external_lex_state = 1}, + [825] = {.lex_state = 239, .external_lex_state = 1}, + [826] = {.lex_state = 239, .external_lex_state = 1}, + [827] = {.lex_state = 126, .external_lex_state = 1}, + [828] = {.lex_state = 239, .external_lex_state = 1}, + [829] = {.lex_state = 239, .external_lex_state = 1}, + [830] = {.lex_state = 239, .external_lex_state = 1}, + [831] = {.lex_state = 126, .external_lex_state = 1}, + [832] = {.lex_state = 239, .external_lex_state = 1}, + [833] = {.lex_state = 239, .external_lex_state = 1}, + [834] = {.lex_state = 239, .external_lex_state = 1}, + [835] = {.lex_state = 239, .external_lex_state = 1}, + [836] = {.lex_state = 126, .external_lex_state = 1}, + [837] = {.lex_state = 126, .external_lex_state = 1}, + [838] = {.lex_state = 126, .external_lex_state = 1}, + [839] = {.lex_state = 126, .external_lex_state = 1}, + [840] = {.lex_state = 126, .external_lex_state = 1}, + [841] = {.lex_state = 126, .external_lex_state = 1}, + [842] = {.lex_state = 239, .external_lex_state = 1}, + [843] = {.lex_state = 239, .external_lex_state = 1}, + [844] = {.lex_state = 239, .external_lex_state = 1}, + [845] = {.lex_state = 239, .external_lex_state = 1}, + [846] = {.lex_state = 239, .external_lex_state = 1}, + [847] = {.lex_state = 239, .external_lex_state = 1}, + [848] = {.lex_state = 126, .external_lex_state = 1}, + [849] = {.lex_state = 239, .external_lex_state = 1}, + [850] = {.lex_state = 239, .external_lex_state = 1}, + [851] = {.lex_state = 239, .external_lex_state = 1}, + [852] = {.lex_state = 126, .external_lex_state = 1}, + [853] = {.lex_state = 126, .external_lex_state = 1}, + [854] = {.lex_state = 239, .external_lex_state = 1}, + [855] = {.lex_state = 239, .external_lex_state = 1}, + [856] = {.lex_state = 126, .external_lex_state = 1}, + [857] = {.lex_state = 126, .external_lex_state = 1}, + [858] = {.lex_state = 239, .external_lex_state = 1}, + [859] = {.lex_state = 126, .external_lex_state = 1}, + [860] = {.lex_state = 239, .external_lex_state = 1}, + [861] = {.lex_state = 239, .external_lex_state = 1}, + [862] = {.lex_state = 239, .external_lex_state = 1}, + [863] = {.lex_state = 239, .external_lex_state = 1}, + [864] = {.lex_state = 126, .external_lex_state = 1}, + [865] = {.lex_state = 239, .external_lex_state = 1}, + [866] = {.lex_state = 239, .external_lex_state = 1}, + [867] = {.lex_state = 239, .external_lex_state = 1}, + [868] = {.lex_state = 239, .external_lex_state = 1}, + [869] = {.lex_state = 239, .external_lex_state = 1}, + [870] = {.lex_state = 239, .external_lex_state = 1}, + [871] = {.lex_state = 126, .external_lex_state = 1}, + [872] = {.lex_state = 239, .external_lex_state = 1}, + [873] = {.lex_state = 239, .external_lex_state = 1}, + [874] = {.lex_state = 175}, + [875] = {.lex_state = 175}, + [876] = {.lex_state = 127, .external_lex_state = 1}, + [877] = {.lex_state = 175}, + [878] = {.lex_state = 175}, + [879] = {.lex_state = 127, .external_lex_state = 1}, + [880] = {.lex_state = 175}, + [881] = {.lex_state = 175}, + [882] = {.lex_state = 175}, + [883] = {.lex_state = 122}, + [884] = {.lex_state = 122}, + [885] = {.lex_state = 120, .external_lex_state = 1}, + [886] = {.lex_state = 120, .external_lex_state = 1}, + [887] = {.lex_state = 121, .external_lex_state = 1}, + [888] = {.lex_state = 120, .external_lex_state = 1}, + [889] = {.lex_state = 175}, + [890] = {.lex_state = 239, .external_lex_state = 1}, + [891] = {.lex_state = 239, .external_lex_state = 1}, + [892] = {.lex_state = 239, .external_lex_state = 1}, + [893] = {.lex_state = 125, .external_lex_state = 1}, + [894] = {.lex_state = 125, .external_lex_state = 1}, + [895] = {.lex_state = 127, .external_lex_state = 1}, + [896] = {.lex_state = 127, .external_lex_state = 1}, + [897] = {.lex_state = 125, .external_lex_state = 1}, + [898] = {.lex_state = 125, .external_lex_state = 1}, + [899] = {.lex_state = 125, .external_lex_state = 1}, + [900] = {.lex_state = 125, .external_lex_state = 1}, + [901] = {.lex_state = 125, .external_lex_state = 1}, + [902] = {.lex_state = 125, .external_lex_state = 1}, + [903] = {.lex_state = 125, .external_lex_state = 1}, + [904] = {.lex_state = 125, .external_lex_state = 1}, + [905] = {.lex_state = 125, .external_lex_state = 1}, + [906] = {.lex_state = 128, .external_lex_state = 1}, + [907] = {.lex_state = 125, .external_lex_state = 1}, + [908] = {.lex_state = 125, .external_lex_state = 1}, + [909] = {.lex_state = 125, .external_lex_state = 1}, + [910] = {.lex_state = 125, .external_lex_state = 1}, + [911] = {.lex_state = 125, .external_lex_state = 1}, + [912] = {.lex_state = 125, .external_lex_state = 1}, + [913] = {.lex_state = 125, .external_lex_state = 1}, + [914] = {.lex_state = 125, .external_lex_state = 1}, + [915] = {.lex_state = 125, .external_lex_state = 1}, + [916] = {.lex_state = 125, .external_lex_state = 1}, + [917] = {.lex_state = 125, .external_lex_state = 1}, + [918] = {.lex_state = 128, .external_lex_state = 1}, + [919] = {.lex_state = 128, .external_lex_state = 1}, + [920] = {.lex_state = 125, .external_lex_state = 1}, + [921] = {.lex_state = 125, .external_lex_state = 1}, + [922] = {.lex_state = 125, .external_lex_state = 1}, + [923] = {.lex_state = 125, .external_lex_state = 1}, + [924] = {.lex_state = 125, .external_lex_state = 1}, + [925] = {.lex_state = 125, .external_lex_state = 1}, + [926] = {.lex_state = 125, .external_lex_state = 1}, + [927] = {.lex_state = 125, .external_lex_state = 1}, + [928] = {.lex_state = 125, .external_lex_state = 1}, + [929] = {.lex_state = 128, .external_lex_state = 1}, + [930] = {.lex_state = 125, .external_lex_state = 1}, + [931] = {.lex_state = 125, .external_lex_state = 1}, + [932] = {.lex_state = 125, .external_lex_state = 1}, + [933] = {.lex_state = 128, .external_lex_state = 1}, + [934] = {.lex_state = 125, .external_lex_state = 1}, + [935] = {.lex_state = 128, .external_lex_state = 1}, + [936] = {.lex_state = 125, .external_lex_state = 1}, + [937] = {.lex_state = 125, .external_lex_state = 1}, + [938] = {.lex_state = 128, .external_lex_state = 1}, + [939] = {.lex_state = 125, .external_lex_state = 1}, + [940] = {.lex_state = 125, .external_lex_state = 1}, + [941] = {.lex_state = 125, .external_lex_state = 1}, + [942] = {.lex_state = 125, .external_lex_state = 1}, + [943] = {.lex_state = 125, .external_lex_state = 1}, + [944] = {.lex_state = 128, .external_lex_state = 1}, + [945] = {.lex_state = 125, .external_lex_state = 1}, + [946] = {.lex_state = 125, .external_lex_state = 1}, + [947] = {.lex_state = 128, .external_lex_state = 1}, + [948] = {.lex_state = 125, .external_lex_state = 1}, + [949] = {.lex_state = 125, .external_lex_state = 1}, + [950] = {.lex_state = 125, .external_lex_state = 1}, + [951] = {.lex_state = 125, .external_lex_state = 1}, + [952] = {.lex_state = 125, .external_lex_state = 1}, + [953] = {.lex_state = 128, .external_lex_state = 1}, + [954] = {.lex_state = 125, .external_lex_state = 1}, + [955] = {.lex_state = 125, .external_lex_state = 1}, + [956] = {.lex_state = 125, .external_lex_state = 1}, + [957] = {.lex_state = 125, .external_lex_state = 1}, + [958] = {.lex_state = 125, .external_lex_state = 1}, + [959] = {.lex_state = 125, .external_lex_state = 1}, + [960] = {.lex_state = 125, .external_lex_state = 1}, + [961] = {.lex_state = 125, .external_lex_state = 1}, + [962] = {.lex_state = 125, .external_lex_state = 1}, + [963] = {.lex_state = 125, .external_lex_state = 1}, + [964] = {.lex_state = 125, .external_lex_state = 1}, + [965] = {.lex_state = 125, .external_lex_state = 1}, + [966] = {.lex_state = 125, .external_lex_state = 1}, + [967] = {.lex_state = 125, .external_lex_state = 1}, + [968] = {.lex_state = 125, .external_lex_state = 1}, + [969] = {.lex_state = 125, .external_lex_state = 1}, + [970] = {.lex_state = 125, .external_lex_state = 1}, + [971] = {.lex_state = 125, .external_lex_state = 1}, + [972] = {.lex_state = 125, .external_lex_state = 1}, + [973] = {.lex_state = 125, .external_lex_state = 1}, + [974] = {.lex_state = 125, .external_lex_state = 1}, + [975] = {.lex_state = 125, .external_lex_state = 1}, + [976] = {.lex_state = 125, .external_lex_state = 1}, + [977] = {.lex_state = 125, .external_lex_state = 1}, + [978] = {.lex_state = 125, .external_lex_state = 1}, + [979] = {.lex_state = 128, .external_lex_state = 1}, + [980] = {.lex_state = 128, .external_lex_state = 1}, + [981] = {.lex_state = 128, .external_lex_state = 1}, + [982] = {.lex_state = 125, .external_lex_state = 1}, + [983] = {.lex_state = 125, .external_lex_state = 1}, + [984] = {.lex_state = 125, .external_lex_state = 1}, + [985] = {.lex_state = 128, .external_lex_state = 1}, + [986] = {.lex_state = 125, .external_lex_state = 1}, + [987] = {.lex_state = 125, .external_lex_state = 1}, + [988] = {.lex_state = 125, .external_lex_state = 1}, + [989] = {.lex_state = 125, .external_lex_state = 1}, + [990] = {.lex_state = 125, .external_lex_state = 1}, + [991] = {.lex_state = 128, .external_lex_state = 1}, + [992] = {.lex_state = 125, .external_lex_state = 1}, + [993] = {.lex_state = 125, .external_lex_state = 1}, + [994] = {.lex_state = 128, .external_lex_state = 1}, + [995] = {.lex_state = 128, .external_lex_state = 1}, + [996] = {.lex_state = 128, .external_lex_state = 1}, + [997] = {.lex_state = 128, .external_lex_state = 1}, + [998] = {.lex_state = 128, .external_lex_state = 1}, + [999] = {.lex_state = 128, .external_lex_state = 1}, + [1000] = {.lex_state = 128, .external_lex_state = 1}, + [1001] = {.lex_state = 128, .external_lex_state = 1}, + [1002] = {.lex_state = 128, .external_lex_state = 1}, + [1003] = {.lex_state = 128, .external_lex_state = 1}, + [1004] = {.lex_state = 128, .external_lex_state = 1}, + [1005] = {.lex_state = 128, .external_lex_state = 1}, + [1006] = {.lex_state = 128, .external_lex_state = 1}, + [1007] = {.lex_state = 128, .external_lex_state = 1}, + [1008] = {.lex_state = 128, .external_lex_state = 1}, + [1009] = {.lex_state = 128, .external_lex_state = 1}, + [1010] = {.lex_state = 128, .external_lex_state = 1}, + [1011] = {.lex_state = 128, .external_lex_state = 1}, + [1012] = {.lex_state = 175}, + [1013] = {.lex_state = 175}, + [1014] = {.lex_state = 175}, + [1015] = {.lex_state = 175}, + [1016] = {.lex_state = 128, .external_lex_state = 1}, + [1017] = {.lex_state = 128, .external_lex_state = 1}, + [1018] = {.lex_state = 128, .external_lex_state = 1}, + [1019] = {.lex_state = 128, .external_lex_state = 1}, + [1020] = {.lex_state = 128, .external_lex_state = 1}, + [1021] = {.lex_state = 125, .external_lex_state = 1}, + [1022] = {.lex_state = 128, .external_lex_state = 1}, + [1023] = {.lex_state = 128, .external_lex_state = 1}, + [1024] = {.lex_state = 128, .external_lex_state = 1}, + [1025] = {.lex_state = 128, .external_lex_state = 1}, + [1026] = {.lex_state = 128, .external_lex_state = 1}, + [1027] = {.lex_state = 128, .external_lex_state = 1}, + [1028] = {.lex_state = 128, .external_lex_state = 1}, + [1029] = {.lex_state = 128, .external_lex_state = 1}, + [1030] = {.lex_state = 128, .external_lex_state = 1}, + [1031] = {.lex_state = 128, .external_lex_state = 1}, + [1032] = {.lex_state = 128, .external_lex_state = 1}, + [1033] = {.lex_state = 128, .external_lex_state = 1}, + [1034] = {.lex_state = 128, .external_lex_state = 1}, + [1035] = {.lex_state = 128, .external_lex_state = 1}, + [1036] = {.lex_state = 128, .external_lex_state = 1}, + [1037] = {.lex_state = 128, .external_lex_state = 1}, + [1038] = {.lex_state = 128, .external_lex_state = 1}, + [1039] = {.lex_state = 128, .external_lex_state = 1}, + [1040] = {.lex_state = 128, .external_lex_state = 1}, + [1041] = {.lex_state = 128, .external_lex_state = 1}, + [1042] = {.lex_state = 128, .external_lex_state = 1}, + [1043] = {.lex_state = 128, .external_lex_state = 1}, + [1044] = {.lex_state = 128, .external_lex_state = 1}, + [1045] = {.lex_state = 128, .external_lex_state = 1}, + [1046] = {.lex_state = 128, .external_lex_state = 1}, + [1047] = {.lex_state = 128, .external_lex_state = 1}, + [1048] = {.lex_state = 128, .external_lex_state = 1}, + [1049] = {.lex_state = 128, .external_lex_state = 1}, + [1050] = {.lex_state = 128, .external_lex_state = 1}, + [1051] = {.lex_state = 128, .external_lex_state = 1}, + [1052] = {.lex_state = 128, .external_lex_state = 1}, + [1053] = {.lex_state = 127, .external_lex_state = 1}, + [1054] = {.lex_state = 127, .external_lex_state = 1}, + [1055] = {.lex_state = 127, .external_lex_state = 1}, + [1056] = {.lex_state = 175}, + [1057] = {.lex_state = 128, .external_lex_state = 1}, + [1058] = {.lex_state = 128, .external_lex_state = 1}, + [1059] = {.lex_state = 127, .external_lex_state = 1}, + [1060] = {.lex_state = 128, .external_lex_state = 1}, + [1061] = {.lex_state = 128, .external_lex_state = 1}, + [1062] = {.lex_state = 128, .external_lex_state = 1}, + [1063] = {.lex_state = 128, .external_lex_state = 1}, + [1064] = {.lex_state = 127, .external_lex_state = 1}, + [1065] = {.lex_state = 128, .external_lex_state = 1}, + [1066] = {.lex_state = 128, .external_lex_state = 1}, + [1067] = {.lex_state = 128, .external_lex_state = 1}, + [1068] = {.lex_state = 127, .external_lex_state = 1}, + [1069] = {.lex_state = 127, .external_lex_state = 1}, + [1070] = {.lex_state = 128, .external_lex_state = 1}, + [1071] = {.lex_state = 128, .external_lex_state = 1}, + [1072] = {.lex_state = 128, .external_lex_state = 1}, + [1073] = {.lex_state = 128, .external_lex_state = 1}, + [1074] = {.lex_state = 127, .external_lex_state = 1}, + [1075] = {.lex_state = 128, .external_lex_state = 1}, + [1076] = {.lex_state = 127, .external_lex_state = 1}, + [1077] = {.lex_state = 127, .external_lex_state = 1}, + [1078] = {.lex_state = 128, .external_lex_state = 1}, + [1079] = {.lex_state = 128, .external_lex_state = 1}, + [1080] = {.lex_state = 128, .external_lex_state = 1}, + [1081] = {.lex_state = 128, .external_lex_state = 1}, + [1082] = {.lex_state = 127, .external_lex_state = 1}, + [1083] = {.lex_state = 128, .external_lex_state = 1}, + [1084] = {.lex_state = 128, .external_lex_state = 1}, + [1085] = {.lex_state = 128, .external_lex_state = 1}, + [1086] = {.lex_state = 128, .external_lex_state = 1}, + [1087] = {.lex_state = 127, .external_lex_state = 1}, + [1088] = {.lex_state = 128, .external_lex_state = 1}, + [1089] = {.lex_state = 127, .external_lex_state = 1}, + [1090] = {.lex_state = 128, .external_lex_state = 1}, + [1091] = {.lex_state = 175}, + [1092] = {.lex_state = 127, .external_lex_state = 1}, + [1093] = {.lex_state = 128, .external_lex_state = 1}, + [1094] = {.lex_state = 127, .external_lex_state = 1}, + [1095] = {.lex_state = 127, .external_lex_state = 1}, + [1096] = {.lex_state = 128, .external_lex_state = 1}, + [1097] = {.lex_state = 128, .external_lex_state = 1}, + [1098] = {.lex_state = 128, .external_lex_state = 1}, + [1099] = {.lex_state = 128, .external_lex_state = 1}, + [1100] = {.lex_state = 128, .external_lex_state = 1}, + [1101] = {.lex_state = 128, .external_lex_state = 1}, + [1102] = {.lex_state = 128, .external_lex_state = 1}, + [1103] = {.lex_state = 128, .external_lex_state = 1}, + [1104] = {.lex_state = 128, .external_lex_state = 1}, + [1105] = {.lex_state = 128, .external_lex_state = 1}, + [1106] = {.lex_state = 128, .external_lex_state = 1}, + [1107] = {.lex_state = 128, .external_lex_state = 1}, + [1108] = {.lex_state = 128, .external_lex_state = 1}, + [1109] = {.lex_state = 128, .external_lex_state = 1}, + [1110] = {.lex_state = 128, .external_lex_state = 1}, + [1111] = {.lex_state = 128, .external_lex_state = 1}, + [1112] = {.lex_state = 128, .external_lex_state = 1}, + [1113] = {.lex_state = 128, .external_lex_state = 1}, + [1114] = {.lex_state = 128, .external_lex_state = 1}, + [1115] = {.lex_state = 128, .external_lex_state = 1}, + [1116] = {.lex_state = 128, .external_lex_state = 1}, + [1117] = {.lex_state = 128, .external_lex_state = 1}, + [1118] = {.lex_state = 128, .external_lex_state = 1}, + [1119] = {.lex_state = 128, .external_lex_state = 1}, + [1120] = {.lex_state = 128, .external_lex_state = 1}, + [1121] = {.lex_state = 128, .external_lex_state = 1}, + [1122] = {.lex_state = 128, .external_lex_state = 1}, + [1123] = {.lex_state = 128, .external_lex_state = 1}, + [1124] = {.lex_state = 128, .external_lex_state = 1}, + [1125] = {.lex_state = 128, .external_lex_state = 1}, + [1126] = {.lex_state = 128, .external_lex_state = 1}, + [1127] = {.lex_state = 128, .external_lex_state = 1}, + [1128] = {.lex_state = 128, .external_lex_state = 1}, + [1129] = {.lex_state = 128, .external_lex_state = 1}, + [1130] = {.lex_state = 128, .external_lex_state = 1}, + [1131] = {.lex_state = 128, .external_lex_state = 1}, + [1132] = {.lex_state = 128, .external_lex_state = 1}, + [1133] = {.lex_state = 128, .external_lex_state = 1}, + [1134] = {.lex_state = 128, .external_lex_state = 1}, + [1135] = {.lex_state = 128, .external_lex_state = 1}, + [1136] = {.lex_state = 128, .external_lex_state = 1}, + [1137] = {.lex_state = 128, .external_lex_state = 1}, + [1138] = {.lex_state = 128, .external_lex_state = 1}, + [1139] = {.lex_state = 128, .external_lex_state = 1}, + [1140] = {.lex_state = 128, .external_lex_state = 1}, + [1141] = {.lex_state = 128, .external_lex_state = 1}, + [1142] = {.lex_state = 128, .external_lex_state = 1}, + [1143] = {.lex_state = 128, .external_lex_state = 1}, + [1144] = {.lex_state = 128, .external_lex_state = 1}, + [1145] = {.lex_state = 128, .external_lex_state = 1}, + [1146] = {.lex_state = 128, .external_lex_state = 1}, + [1147] = {.lex_state = 128, .external_lex_state = 1}, + [1148] = {.lex_state = 128, .external_lex_state = 1}, + [1149] = {.lex_state = 128, .external_lex_state = 1}, + [1150] = {.lex_state = 128, .external_lex_state = 1}, + [1151] = {.lex_state = 128, .external_lex_state = 1}, + [1152] = {.lex_state = 128, .external_lex_state = 1}, + [1153] = {.lex_state = 128, .external_lex_state = 1}, + [1154] = {.lex_state = 128, .external_lex_state = 1}, + [1155] = {.lex_state = 128, .external_lex_state = 1}, + [1156] = {.lex_state = 128, .external_lex_state = 1}, + [1157] = {.lex_state = 128, .external_lex_state = 1}, + [1158] = {.lex_state = 128, .external_lex_state = 1}, + [1159] = {.lex_state = 128, .external_lex_state = 1}, + [1160] = {.lex_state = 128, .external_lex_state = 1}, + [1161] = {.lex_state = 128, .external_lex_state = 1}, + [1162] = {.lex_state = 128, .external_lex_state = 1}, + [1163] = {.lex_state = 128, .external_lex_state = 1}, + [1164] = {.lex_state = 128, .external_lex_state = 1}, + [1165] = {.lex_state = 128, .external_lex_state = 1}, + [1166] = {.lex_state = 128, .external_lex_state = 1}, + [1167] = {.lex_state = 128, .external_lex_state = 1}, + [1168] = {.lex_state = 128, .external_lex_state = 1}, + [1169] = {.lex_state = 128, .external_lex_state = 1}, + [1170] = {.lex_state = 128, .external_lex_state = 1}, + [1171] = {.lex_state = 128, .external_lex_state = 1}, + [1172] = {.lex_state = 128, .external_lex_state = 1}, + [1173] = {.lex_state = 128, .external_lex_state = 1}, + [1174] = {.lex_state = 128, .external_lex_state = 1}, + [1175] = {.lex_state = 128, .external_lex_state = 1}, + [1176] = {.lex_state = 128, .external_lex_state = 1}, + [1177] = {.lex_state = 128, .external_lex_state = 1}, + [1178] = {.lex_state = 128, .external_lex_state = 1}, + [1179] = {.lex_state = 128, .external_lex_state = 1}, + [1180] = {.lex_state = 128, .external_lex_state = 1}, + [1181] = {.lex_state = 128, .external_lex_state = 1}, + [1182] = {.lex_state = 128, .external_lex_state = 1}, + [1183] = {.lex_state = 128, .external_lex_state = 1}, + [1184] = {.lex_state = 128, .external_lex_state = 1}, + [1185] = {.lex_state = 128, .external_lex_state = 1}, + [1186] = {.lex_state = 128, .external_lex_state = 1}, + [1187] = {.lex_state = 128, .external_lex_state = 1}, + [1188] = {.lex_state = 128, .external_lex_state = 1}, + [1189] = {.lex_state = 128, .external_lex_state = 1}, + [1190] = {.lex_state = 128, .external_lex_state = 1}, + [1191] = {.lex_state = 128, .external_lex_state = 1}, + [1192] = {.lex_state = 128, .external_lex_state = 1}, + [1193] = {.lex_state = 128, .external_lex_state = 1}, + [1194] = {.lex_state = 128, .external_lex_state = 1}, + [1195] = {.lex_state = 128, .external_lex_state = 1}, + [1196] = {.lex_state = 128, .external_lex_state = 1}, + [1197] = {.lex_state = 128, .external_lex_state = 1}, + [1198] = {.lex_state = 128, .external_lex_state = 1}, + [1199] = {.lex_state = 128, .external_lex_state = 1}, + [1200] = {.lex_state = 128, .external_lex_state = 1}, + [1201] = {.lex_state = 128, .external_lex_state = 1}, + [1202] = {.lex_state = 128, .external_lex_state = 1}, + [1203] = {.lex_state = 128, .external_lex_state = 1}, + [1204] = {.lex_state = 128, .external_lex_state = 1}, + [1205] = {.lex_state = 128, .external_lex_state = 1}, + [1206] = {.lex_state = 128, .external_lex_state = 1}, + [1207] = {.lex_state = 128, .external_lex_state = 1}, + [1208] = {.lex_state = 128, .external_lex_state = 1}, + [1209] = {.lex_state = 128, .external_lex_state = 1}, + [1210] = {.lex_state = 128, .external_lex_state = 1}, + [1211] = {.lex_state = 128, .external_lex_state = 1}, + [1212] = {.lex_state = 128, .external_lex_state = 1}, + [1213] = {.lex_state = 128, .external_lex_state = 1}, + [1214] = {.lex_state = 128, .external_lex_state = 1}, + [1215] = {.lex_state = 128, .external_lex_state = 1}, + [1216] = {.lex_state = 128, .external_lex_state = 1}, + [1217] = {.lex_state = 128, .external_lex_state = 1}, + [1218] = {.lex_state = 128, .external_lex_state = 1}, + [1219] = {.lex_state = 128, .external_lex_state = 1}, + [1220] = {.lex_state = 128, .external_lex_state = 1}, + [1221] = {.lex_state = 128, .external_lex_state = 1}, + [1222] = {.lex_state = 128, .external_lex_state = 1}, + [1223] = {.lex_state = 128, .external_lex_state = 1}, + [1224] = {.lex_state = 128, .external_lex_state = 1}, + [1225] = {.lex_state = 128, .external_lex_state = 1}, + [1226] = {.lex_state = 128, .external_lex_state = 1}, + [1227] = {.lex_state = 128, .external_lex_state = 1}, + [1228] = {.lex_state = 128, .external_lex_state = 1}, + [1229] = {.lex_state = 128, .external_lex_state = 1}, + [1230] = {.lex_state = 128, .external_lex_state = 1}, + [1231] = {.lex_state = 128, .external_lex_state = 1}, + [1232] = {.lex_state = 128, .external_lex_state = 1}, + [1233] = {.lex_state = 128, .external_lex_state = 1}, + [1234] = {.lex_state = 128, .external_lex_state = 1}, + [1235] = {.lex_state = 128, .external_lex_state = 1}, + [1236] = {.lex_state = 128, .external_lex_state = 1}, + [1237] = {.lex_state = 128, .external_lex_state = 1}, + [1238] = {.lex_state = 128, .external_lex_state = 1}, + [1239] = {.lex_state = 128, .external_lex_state = 1}, + [1240] = {.lex_state = 128, .external_lex_state = 1}, + [1241] = {.lex_state = 128, .external_lex_state = 1}, + [1242] = {.lex_state = 128, .external_lex_state = 1}, + [1243] = {.lex_state = 128, .external_lex_state = 1}, + [1244] = {.lex_state = 128, .external_lex_state = 1}, + [1245] = {.lex_state = 128, .external_lex_state = 1}, + [1246] = {.lex_state = 128, .external_lex_state = 1}, + [1247] = {.lex_state = 128, .external_lex_state = 1}, + [1248] = {.lex_state = 128, .external_lex_state = 1}, + [1249] = {.lex_state = 128, .external_lex_state = 1}, + [1250] = {.lex_state = 128, .external_lex_state = 1}, + [1251] = {.lex_state = 128, .external_lex_state = 1}, + [1252] = {.lex_state = 128, .external_lex_state = 1}, + [1253] = {.lex_state = 128, .external_lex_state = 1}, + [1254] = {.lex_state = 128, .external_lex_state = 1}, + [1255] = {.lex_state = 128, .external_lex_state = 1}, + [1256] = {.lex_state = 128, .external_lex_state = 1}, + [1257] = {.lex_state = 128, .external_lex_state = 1}, + [1258] = {.lex_state = 128, .external_lex_state = 1}, + [1259] = {.lex_state = 128, .external_lex_state = 1}, + [1260] = {.lex_state = 128, .external_lex_state = 1}, + [1261] = {.lex_state = 128, .external_lex_state = 1}, + [1262] = {.lex_state = 128, .external_lex_state = 1}, + [1263] = {.lex_state = 128, .external_lex_state = 1}, + [1264] = {.lex_state = 128, .external_lex_state = 1}, + [1265] = {.lex_state = 128, .external_lex_state = 1}, + [1266] = {.lex_state = 128, .external_lex_state = 1}, + [1267] = {.lex_state = 128, .external_lex_state = 1}, + [1268] = {.lex_state = 128, .external_lex_state = 1}, + [1269] = {.lex_state = 128, .external_lex_state = 1}, + [1270] = {.lex_state = 128, .external_lex_state = 1}, + [1271] = {.lex_state = 128, .external_lex_state = 1}, + [1272] = {.lex_state = 128, .external_lex_state = 1}, + [1273] = {.lex_state = 128, .external_lex_state = 1}, + [1274] = {.lex_state = 128, .external_lex_state = 1}, + [1275] = {.lex_state = 128, .external_lex_state = 1}, + [1276] = {.lex_state = 128, .external_lex_state = 1}, + [1277] = {.lex_state = 128, .external_lex_state = 1}, + [1278] = {.lex_state = 128, .external_lex_state = 1}, + [1279] = {.lex_state = 128, .external_lex_state = 1}, + [1280] = {.lex_state = 128, .external_lex_state = 1}, + [1281] = {.lex_state = 128, .external_lex_state = 1}, + [1282] = {.lex_state = 128, .external_lex_state = 1}, + [1283] = {.lex_state = 128, .external_lex_state = 1}, + [1284] = {.lex_state = 128, .external_lex_state = 1}, + [1285] = {.lex_state = 128, .external_lex_state = 1}, + [1286] = {.lex_state = 128, .external_lex_state = 1}, + [1287] = {.lex_state = 128, .external_lex_state = 1}, + [1288] = {.lex_state = 128, .external_lex_state = 1}, + [1289] = {.lex_state = 128, .external_lex_state = 1}, + [1290] = {.lex_state = 128, .external_lex_state = 1}, + [1291] = {.lex_state = 128, .external_lex_state = 1}, + [1292] = {.lex_state = 128, .external_lex_state = 1}, + [1293] = {.lex_state = 128, .external_lex_state = 1}, + [1294] = {.lex_state = 128, .external_lex_state = 1}, + [1295] = {.lex_state = 128, .external_lex_state = 1}, + [1296] = {.lex_state = 128, .external_lex_state = 1}, + [1297] = {.lex_state = 128, .external_lex_state = 1}, + [1298] = {.lex_state = 128, .external_lex_state = 1}, + [1299] = {.lex_state = 128, .external_lex_state = 1}, + [1300] = {.lex_state = 128, .external_lex_state = 1}, + [1301] = {.lex_state = 128, .external_lex_state = 1}, + [1302] = {.lex_state = 128, .external_lex_state = 1}, + [1303] = {.lex_state = 128, .external_lex_state = 1}, + [1304] = {.lex_state = 128, .external_lex_state = 1}, + [1305] = {.lex_state = 128, .external_lex_state = 1}, + [1306] = {.lex_state = 128, .external_lex_state = 1}, + [1307] = {.lex_state = 128, .external_lex_state = 1}, + [1308] = {.lex_state = 128, .external_lex_state = 1}, + [1309] = {.lex_state = 128, .external_lex_state = 1}, + [1310] = {.lex_state = 128, .external_lex_state = 1}, + [1311] = {.lex_state = 128, .external_lex_state = 1}, + [1312] = {.lex_state = 128, .external_lex_state = 1}, + [1313] = {.lex_state = 128, .external_lex_state = 1}, + [1314] = {.lex_state = 128, .external_lex_state = 1}, + [1315] = {.lex_state = 128, .external_lex_state = 1}, + [1316] = {.lex_state = 128, .external_lex_state = 1}, + [1317] = {.lex_state = 128, .external_lex_state = 1}, + [1318] = {.lex_state = 128, .external_lex_state = 1}, + [1319] = {.lex_state = 128, .external_lex_state = 1}, + [1320] = {.lex_state = 128, .external_lex_state = 1}, + [1321] = {.lex_state = 128, .external_lex_state = 1}, + [1322] = {.lex_state = 128, .external_lex_state = 1}, + [1323] = {.lex_state = 128, .external_lex_state = 1}, + [1324] = {.lex_state = 128, .external_lex_state = 1}, + [1325] = {.lex_state = 128, .external_lex_state = 1}, + [1326] = {.lex_state = 128, .external_lex_state = 1}, + [1327] = {.lex_state = 128, .external_lex_state = 1}, + [1328] = {.lex_state = 128, .external_lex_state = 1}, + [1329] = {.lex_state = 128, .external_lex_state = 1}, + [1330] = {.lex_state = 128, .external_lex_state = 1}, + [1331] = {.lex_state = 128, .external_lex_state = 1}, + [1332] = {.lex_state = 128, .external_lex_state = 1}, + [1333] = {.lex_state = 128, .external_lex_state = 1}, + [1334] = {.lex_state = 128, .external_lex_state = 1}, + [1335] = {.lex_state = 128, .external_lex_state = 1}, + [1336] = {.lex_state = 128, .external_lex_state = 1}, + [1337] = {.lex_state = 128, .external_lex_state = 1}, + [1338] = {.lex_state = 128, .external_lex_state = 1}, + [1339] = {.lex_state = 128, .external_lex_state = 1}, + [1340] = {.lex_state = 128, .external_lex_state = 1}, + [1341] = {.lex_state = 128, .external_lex_state = 1}, + [1342] = {.lex_state = 128, .external_lex_state = 1}, + [1343] = {.lex_state = 128, .external_lex_state = 1}, + [1344] = {.lex_state = 128, .external_lex_state = 1}, + [1345] = {.lex_state = 128, .external_lex_state = 1}, + [1346] = {.lex_state = 128, .external_lex_state = 1}, + [1347] = {.lex_state = 128, .external_lex_state = 1}, + [1348] = {.lex_state = 128, .external_lex_state = 1}, + [1349] = {.lex_state = 128, .external_lex_state = 1}, + [1350] = {.lex_state = 128, .external_lex_state = 1}, + [1351] = {.lex_state = 128, .external_lex_state = 1}, + [1352] = {.lex_state = 128, .external_lex_state = 1}, + [1353] = {.lex_state = 128, .external_lex_state = 1}, + [1354] = {.lex_state = 128, .external_lex_state = 1}, + [1355] = {.lex_state = 128, .external_lex_state = 1}, + [1356] = {.lex_state = 128, .external_lex_state = 1}, + [1357] = {.lex_state = 128, .external_lex_state = 1}, + [1358] = {.lex_state = 128, .external_lex_state = 1}, + [1359] = {.lex_state = 128, .external_lex_state = 1}, + [1360] = {.lex_state = 128, .external_lex_state = 1}, + [1361] = {.lex_state = 128, .external_lex_state = 1}, + [1362] = {.lex_state = 128, .external_lex_state = 1}, + [1363] = {.lex_state = 128, .external_lex_state = 1}, + [1364] = {.lex_state = 128, .external_lex_state = 1}, + [1365] = {.lex_state = 128, .external_lex_state = 1}, + [1366] = {.lex_state = 128, .external_lex_state = 1}, + [1367] = {.lex_state = 128, .external_lex_state = 1}, + [1368] = {.lex_state = 128, .external_lex_state = 1}, + [1369] = {.lex_state = 128, .external_lex_state = 1}, + [1370] = {.lex_state = 128, .external_lex_state = 1}, + [1371] = {.lex_state = 128, .external_lex_state = 1}, + [1372] = {.lex_state = 128, .external_lex_state = 1}, + [1373] = {.lex_state = 128, .external_lex_state = 1}, + [1374] = {.lex_state = 128, .external_lex_state = 1}, + [1375] = {.lex_state = 128, .external_lex_state = 1}, + [1376] = {.lex_state = 128, .external_lex_state = 1}, + [1377] = {.lex_state = 128, .external_lex_state = 1}, + [1378] = {.lex_state = 128, .external_lex_state = 1}, + [1379] = {.lex_state = 128, .external_lex_state = 1}, + [1380] = {.lex_state = 128, .external_lex_state = 1}, + [1381] = {.lex_state = 128, .external_lex_state = 1}, + [1382] = {.lex_state = 128, .external_lex_state = 1}, + [1383] = {.lex_state = 128, .external_lex_state = 1}, + [1384] = {.lex_state = 128, .external_lex_state = 1}, + [1385] = {.lex_state = 128, .external_lex_state = 1}, + [1386] = {.lex_state = 128, .external_lex_state = 1}, + [1387] = {.lex_state = 128, .external_lex_state = 1}, + [1388] = {.lex_state = 128, .external_lex_state = 1}, + [1389] = {.lex_state = 128, .external_lex_state = 1}, + [1390] = {.lex_state = 128, .external_lex_state = 1}, + [1391] = {.lex_state = 128, .external_lex_state = 1}, + [1392] = {.lex_state = 128, .external_lex_state = 1}, + [1393] = {.lex_state = 128, .external_lex_state = 1}, + [1394] = {.lex_state = 128, .external_lex_state = 1}, + [1395] = {.lex_state = 128, .external_lex_state = 1}, + [1396] = {.lex_state = 128, .external_lex_state = 1}, + [1397] = {.lex_state = 128, .external_lex_state = 1}, + [1398] = {.lex_state = 128, .external_lex_state = 1}, + [1399] = {.lex_state = 128, .external_lex_state = 1}, + [1400] = {.lex_state = 128, .external_lex_state = 1}, + [1401] = {.lex_state = 128, .external_lex_state = 1}, + [1402] = {.lex_state = 128, .external_lex_state = 1}, + [1403] = {.lex_state = 128, .external_lex_state = 1}, + [1404] = {.lex_state = 128, .external_lex_state = 1}, + [1405] = {.lex_state = 128, .external_lex_state = 1}, + [1406] = {.lex_state = 128, .external_lex_state = 1}, + [1407] = {.lex_state = 128, .external_lex_state = 1}, + [1408] = {.lex_state = 128, .external_lex_state = 1}, + [1409] = {.lex_state = 128, .external_lex_state = 1}, + [1410] = {.lex_state = 128, .external_lex_state = 1}, + [1411] = {.lex_state = 128, .external_lex_state = 1}, + [1412] = {.lex_state = 128, .external_lex_state = 1}, + [1413] = {.lex_state = 128, .external_lex_state = 1}, + [1414] = {.lex_state = 128, .external_lex_state = 1}, + [1415] = {.lex_state = 128, .external_lex_state = 1}, + [1416] = {.lex_state = 128, .external_lex_state = 1}, + [1417] = {.lex_state = 128, .external_lex_state = 1}, + [1418] = {.lex_state = 128, .external_lex_state = 1}, + [1419] = {.lex_state = 128, .external_lex_state = 1}, + [1420] = {.lex_state = 128, .external_lex_state = 1}, + [1421] = {.lex_state = 128, .external_lex_state = 1}, + [1422] = {.lex_state = 128, .external_lex_state = 1}, + [1423] = {.lex_state = 128, .external_lex_state = 1}, + [1424] = {.lex_state = 128, .external_lex_state = 1}, + [1425] = {.lex_state = 128, .external_lex_state = 1}, + [1426] = {.lex_state = 128, .external_lex_state = 1}, + [1427] = {.lex_state = 128, .external_lex_state = 1}, + [1428] = {.lex_state = 128, .external_lex_state = 1}, + [1429] = {.lex_state = 128, .external_lex_state = 1}, + [1430] = {.lex_state = 128, .external_lex_state = 1}, + [1431] = {.lex_state = 128, .external_lex_state = 1}, + [1432] = {.lex_state = 128, .external_lex_state = 1}, + [1433] = {.lex_state = 128, .external_lex_state = 1}, + [1434] = {.lex_state = 128, .external_lex_state = 1}, + [1435] = {.lex_state = 128, .external_lex_state = 1}, + [1436] = {.lex_state = 128, .external_lex_state = 1}, + [1437] = {.lex_state = 128, .external_lex_state = 1}, + [1438] = {.lex_state = 128, .external_lex_state = 1}, + [1439] = {.lex_state = 128, .external_lex_state = 1}, + [1440] = {.lex_state = 128, .external_lex_state = 1}, + [1441] = {.lex_state = 128, .external_lex_state = 1}, + [1442] = {.lex_state = 128, .external_lex_state = 1}, + [1443] = {.lex_state = 128, .external_lex_state = 1}, + [1444] = {.lex_state = 128, .external_lex_state = 1}, + [1445] = {.lex_state = 128, .external_lex_state = 1}, + [1446] = {.lex_state = 128, .external_lex_state = 1}, + [1447] = {.lex_state = 128, .external_lex_state = 1}, + [1448] = {.lex_state = 128, .external_lex_state = 1}, + [1449] = {.lex_state = 128, .external_lex_state = 1}, + [1450] = {.lex_state = 128, .external_lex_state = 1}, + [1451] = {.lex_state = 128, .external_lex_state = 1}, + [1452] = {.lex_state = 128, .external_lex_state = 1}, + [1453] = {.lex_state = 128, .external_lex_state = 1}, + [1454] = {.lex_state = 128, .external_lex_state = 1}, + [1455] = {.lex_state = 128, .external_lex_state = 1}, + [1456] = {.lex_state = 128, .external_lex_state = 1}, + [1457] = {.lex_state = 128, .external_lex_state = 1}, + [1458] = {.lex_state = 128, .external_lex_state = 1}, + [1459] = {.lex_state = 128, .external_lex_state = 1}, + [1460] = {.lex_state = 128, .external_lex_state = 1}, + [1461] = {.lex_state = 128, .external_lex_state = 1}, + [1462] = {.lex_state = 148}, + [1463] = {.lex_state = 143}, + [1464] = {.lex_state = 143}, + [1465] = {.lex_state = 143}, + [1466] = {.lex_state = 148}, + [1467] = {.lex_state = 148}, + [1468] = {.lex_state = 143}, + [1469] = {.lex_state = 143}, + [1470] = {.lex_state = 148}, + [1471] = {.lex_state = 148}, + [1472] = {.lex_state = 143}, + [1473] = {.lex_state = 148}, + [1474] = {.lex_state = 143}, + [1475] = {.lex_state = 148}, + [1476] = {.lex_state = 148}, + [1477] = {.lex_state = 148}, + [1478] = {.lex_state = 148}, + [1479] = {.lex_state = 143}, + [1480] = {.lex_state = 148}, + [1481] = {.lex_state = 148}, + [1482] = {.lex_state = 148}, + [1483] = {.lex_state = 148}, + [1484] = {.lex_state = 143}, + [1485] = {.lex_state = 148}, + [1486] = {.lex_state = 148}, + [1487] = {.lex_state = 148}, + [1488] = {.lex_state = 148}, + [1489] = {.lex_state = 143}, + [1490] = {.lex_state = 148}, + [1491] = {.lex_state = 148}, + [1492] = {.lex_state = 148}, + [1493] = {.lex_state = 175}, + [1494] = {.lex_state = 175}, + [1495] = {.lex_state = 175}, + [1496] = {.lex_state = 148}, + [1497] = {.lex_state = 175}, + [1498] = {.lex_state = 148}, + [1499] = {.lex_state = 175}, + [1500] = {.lex_state = 148}, + [1501] = {.lex_state = 175}, + [1502] = {.lex_state = 175}, + [1503] = {.lex_state = 175}, + [1504] = {.lex_state = 175}, + [1505] = {.lex_state = 175}, + [1506] = {.lex_state = 159}, + [1507] = {.lex_state = 159}, + [1508] = {.lex_state = 174}, + [1509] = {.lex_state = 159}, + [1510] = {.lex_state = 159}, + [1511] = {.lex_state = 159}, + [1512] = {.lex_state = 174}, + [1513] = {.lex_state = 159}, + [1514] = {.lex_state = 159}, + [1515] = {.lex_state = 175}, + [1516] = {.lex_state = 175}, + [1517] = {.lex_state = 175}, + [1518] = {.lex_state = 175}, + [1519] = {.lex_state = 175}, + [1520] = {.lex_state = 175}, + [1521] = {.lex_state = 142}, + [1522] = {.lex_state = 159}, + [1523] = {.lex_state = 159}, + [1524] = {.lex_state = 175}, + [1525] = {.lex_state = 142}, + [1526] = {.lex_state = 142}, + [1527] = {.lex_state = 142}, + [1528] = {.lex_state = 175}, + [1529] = {.lex_state = 175}, + [1530] = {.lex_state = 142}, + [1531] = {.lex_state = 142}, + [1532] = {.lex_state = 175}, + [1533] = {.lex_state = 175}, + [1534] = {.lex_state = 175}, + [1535] = {.lex_state = 175}, + [1536] = {.lex_state = 175}, + [1537] = {.lex_state = 142}, + [1538] = {.lex_state = 175}, + [1539] = {.lex_state = 175}, + [1540] = {.lex_state = 159}, + [1541] = {.lex_state = 175}, + [1542] = {.lex_state = 175}, + [1543] = {.lex_state = 175}, + [1544] = {.lex_state = 159}, + [1545] = {.lex_state = 159}, + [1546] = {.lex_state = 175}, + [1547] = {.lex_state = 159}, + [1548] = {.lex_state = 159}, + [1549] = {.lex_state = 159}, + [1550] = {.lex_state = 175}, + [1551] = {.lex_state = 159}, + [1552] = {.lex_state = 159}, + [1553] = {.lex_state = 159}, + [1554] = {.lex_state = 175}, + [1555] = {.lex_state = 175}, + [1556] = {.lex_state = 175}, + [1557] = {.lex_state = 174}, + [1558] = {.lex_state = 175}, + [1559] = {.lex_state = 175}, + [1560] = {.lex_state = 175}, + [1561] = {.lex_state = 175}, + [1562] = {.lex_state = 175}, + [1563] = {.lex_state = 175}, + [1564] = {.lex_state = 141}, + [1565] = {.lex_state = 175}, + [1566] = {.lex_state = 143}, + [1567] = {.lex_state = 175}, + [1568] = {.lex_state = 175}, + [1569] = {.lex_state = 175}, + [1570] = {.lex_state = 143}, + [1571] = {.lex_state = 175}, + [1572] = {.lex_state = 159}, + [1573] = {.lex_state = 175}, + [1574] = {.lex_state = 175}, + [1575] = {.lex_state = 175}, + [1576] = {.lex_state = 175}, + [1577] = {.lex_state = 175}, + [1578] = {.lex_state = 175}, + [1579] = {.lex_state = 175}, + [1580] = {.lex_state = 175}, + [1581] = {.lex_state = 175}, + [1582] = {.lex_state = 175}, + [1583] = {.lex_state = 175}, + [1584] = {.lex_state = 175}, + [1585] = {.lex_state = 175}, + [1586] = {.lex_state = 175}, + [1587] = {.lex_state = 175}, + [1588] = {.lex_state = 175}, + [1589] = {.lex_state = 175}, + [1590] = {.lex_state = 175}, + [1591] = {.lex_state = 175}, + [1592] = {.lex_state = 175}, + [1593] = {.lex_state = 175}, + [1594] = {.lex_state = 175}, + [1595] = {.lex_state = 175}, + [1596] = {.lex_state = 175}, + [1597] = {.lex_state = 175}, + [1598] = {.lex_state = 175}, + [1599] = {.lex_state = 175}, + [1600] = {.lex_state = 175}, + [1601] = {.lex_state = 175}, + [1602] = {.lex_state = 143}, + [1603] = {.lex_state = 175}, + [1604] = {.lex_state = 175}, + [1605] = {.lex_state = 125, .external_lex_state = 1}, + [1606] = {.lex_state = 175}, + [1607] = {.lex_state = 175}, + [1608] = {.lex_state = 175}, + [1609] = {.lex_state = 175}, + [1610] = {.lex_state = 175}, + [1611] = {.lex_state = 175}, + [1612] = {.lex_state = 175}, + [1613] = {.lex_state = 175}, + [1614] = {.lex_state = 175}, + [1615] = {.lex_state = 175}, + [1616] = {.lex_state = 175}, + [1617] = {.lex_state = 175}, + [1618] = {.lex_state = 159}, + [1619] = {.lex_state = 175}, + [1620] = {.lex_state = 175}, + [1621] = {.lex_state = 175}, + [1622] = {.lex_state = 175}, + [1623] = {.lex_state = 175}, + [1624] = {.lex_state = 175}, + [1625] = {.lex_state = 175}, + [1626] = {.lex_state = 175}, + [1627] = {.lex_state = 159}, + [1628] = {.lex_state = 175}, + [1629] = {.lex_state = 175}, + [1630] = {.lex_state = 175}, + [1631] = {.lex_state = 175}, + [1632] = {.lex_state = 175}, + [1633] = {.lex_state = 175}, + [1634] = {.lex_state = 175}, + [1635] = {.lex_state = 175}, + [1636] = {.lex_state = 175}, + [1637] = {.lex_state = 175}, + [1638] = {.lex_state = 175}, + [1639] = {.lex_state = 175}, + [1640] = {.lex_state = 175}, + [1641] = {.lex_state = 175}, + [1642] = {.lex_state = 175}, + [1643] = {.lex_state = 175}, + [1644] = {.lex_state = 175}, + [1645] = {.lex_state = 175}, + [1646] = {.lex_state = 175}, + [1647] = {.lex_state = 142}, + [1648] = {.lex_state = 150}, + [1649] = {.lex_state = 142}, + [1650] = {.lex_state = 150}, + [1651] = {.lex_state = 150}, + [1652] = {.lex_state = 150}, + [1653] = {.lex_state = 150}, + [1654] = {.lex_state = 150}, + [1655] = {.lex_state = 175}, + [1656] = {.lex_state = 150}, + [1657] = {.lex_state = 175}, + [1658] = {.lex_state = 174}, + [1659] = {.lex_state = 141}, + [1660] = {.lex_state = 141}, + [1661] = {.lex_state = 174}, + [1662] = {.lex_state = 174}, + [1663] = {.lex_state = 141}, + [1664] = {.lex_state = 141}, + [1665] = {.lex_state = 174}, + [1666] = {.lex_state = 174}, + [1667] = {.lex_state = 174}, + [1668] = {.lex_state = 141}, + [1669] = {.lex_state = 141}, + [1670] = {.lex_state = 141}, + [1671] = {.lex_state = 141}, + [1672] = {.lex_state = 141}, + [1673] = {.lex_state = 141}, + [1674] = {.lex_state = 141}, + [1675] = {.lex_state = 141}, + [1676] = {.lex_state = 141}, + [1677] = {.lex_state = 141}, + [1678] = {.lex_state = 174}, + [1679] = {.lex_state = 174}, + [1680] = {.lex_state = 141}, + [1681] = {.lex_state = 174}, + [1682] = {.lex_state = 141}, + [1683] = {.lex_state = 174}, + [1684] = {.lex_state = 141}, + [1685] = {.lex_state = 141}, + [1686] = {.lex_state = 174}, + [1687] = {.lex_state = 141}, + [1688] = {.lex_state = 141}, + [1689] = {.lex_state = 174}, + [1690] = {.lex_state = 174}, + [1691] = {.lex_state = 141}, + [1692] = {.lex_state = 141}, + [1693] = {.lex_state = 174}, + [1694] = {.lex_state = 174}, + [1695] = {.lex_state = 141}, + [1696] = {.lex_state = 141}, + [1697] = {.lex_state = 141}, + [1698] = {.lex_state = 141}, + [1699] = {.lex_state = 174}, + [1700] = {.lex_state = 141}, + [1701] = {.lex_state = 141}, + [1702] = {.lex_state = 141}, + [1703] = {.lex_state = 141}, + [1704] = {.lex_state = 174}, + [1705] = {.lex_state = 141}, + [1706] = {.lex_state = 141}, + [1707] = {.lex_state = 141}, + [1708] = {.lex_state = 141}, + [1709] = {.lex_state = 174}, + [1710] = {.lex_state = 141}, + [1711] = {.lex_state = 141}, + [1712] = {.lex_state = 160}, + [1713] = {.lex_state = 174}, + [1714] = {.lex_state = 174}, + [1715] = {.lex_state = 174}, + [1716] = {.lex_state = 142}, + [1717] = {.lex_state = 141}, + [1718] = {.lex_state = 174}, + [1719] = {.lex_state = 174}, + [1720] = {.lex_state = 174}, + [1721] = {.lex_state = 174}, + [1722] = {.lex_state = 141}, + [1723] = {.lex_state = 174}, + [1724] = {.lex_state = 141}, + [1725] = {.lex_state = 160}, + [1726] = {.lex_state = 174}, + [1727] = {.lex_state = 174}, + [1728] = {.lex_state = 174}, + [1729] = {.lex_state = 141}, + [1730] = {.lex_state = 174}, + [1731] = {.lex_state = 174}, + [1732] = {.lex_state = 141}, + [1733] = {.lex_state = 174}, + [1734] = {.lex_state = 174}, + [1735] = {.lex_state = 141}, + [1736] = {.lex_state = 141}, + [1737] = {.lex_state = 141}, + [1738] = {.lex_state = 174}, + [1739] = {.lex_state = 141}, + [1740] = {.lex_state = 174}, + [1741] = {.lex_state = 141}, + [1742] = {.lex_state = 141}, + [1743] = {.lex_state = 174}, + [1744] = {.lex_state = 174}, + [1745] = {.lex_state = 141}, + [1746] = {.lex_state = 174}, + [1747] = {.lex_state = 141}, + [1748] = {.lex_state = 141}, + [1749] = {.lex_state = 141}, + [1750] = {.lex_state = 174}, + [1751] = {.lex_state = 141}, + [1752] = {.lex_state = 174}, + [1753] = {.lex_state = 174}, + [1754] = {.lex_state = 174}, + [1755] = {.lex_state = 141}, + [1756] = {.lex_state = 141}, + [1757] = {.lex_state = 174}, + [1758] = {.lex_state = 174}, + [1759] = {.lex_state = 174}, + [1760] = {.lex_state = 174}, + [1761] = {.lex_state = 174}, + [1762] = {.lex_state = 174}, + [1763] = {.lex_state = 174}, + [1764] = {.lex_state = 174}, + [1765] = {.lex_state = 174}, + [1766] = {.lex_state = 141}, + [1767] = {.lex_state = 151}, + [1768] = {.lex_state = 174}, + [1769] = {.lex_state = 174}, + [1770] = {.lex_state = 141}, + [1771] = {.lex_state = 174}, + [1772] = {.lex_state = 174}, + [1773] = {.lex_state = 141}, + [1774] = {.lex_state = 141}, + [1775] = {.lex_state = 141}, + [1776] = {.lex_state = 141}, + [1777] = {.lex_state = 141}, + [1778] = {.lex_state = 141}, + [1779] = {.lex_state = 174}, + [1780] = {.lex_state = 141}, + [1781] = {.lex_state = 174}, + [1782] = {.lex_state = 141}, + [1783] = {.lex_state = 174}, + [1784] = {.lex_state = 141}, + [1785] = {.lex_state = 174}, + [1786] = {.lex_state = 174}, + [1787] = {.lex_state = 174}, + [1788] = {.lex_state = 141}, + [1789] = {.lex_state = 141}, + [1790] = {.lex_state = 141}, + [1791] = {.lex_state = 174}, + [1792] = {.lex_state = 141}, + [1793] = {.lex_state = 141}, + [1794] = {.lex_state = 151}, + [1795] = {.lex_state = 141}, + [1796] = {.lex_state = 141}, + [1797] = {.lex_state = 174}, + [1798] = {.lex_state = 174}, + [1799] = {.lex_state = 174}, + [1800] = {.lex_state = 174}, + [1801] = {.lex_state = 174}, + [1802] = {.lex_state = 174}, + [1803] = {.lex_state = 141}, + [1804] = {.lex_state = 141}, + [1805] = {.lex_state = 141}, + [1806] = {.lex_state = 174}, + [1807] = {.lex_state = 174}, + [1808] = {.lex_state = 174}, + [1809] = {.lex_state = 174}, + [1810] = {.lex_state = 174}, + [1811] = {.lex_state = 128, .external_lex_state = 1}, + [1812] = {.lex_state = 150}, + [1813] = {.lex_state = 175}, + [1814] = {.lex_state = 150}, + [1815] = {.lex_state = 132, .external_lex_state = 1}, + [1816] = {.lex_state = 132, .external_lex_state = 1}, + [1817] = {.lex_state = 128, .external_lex_state = 1}, + [1818] = {.lex_state = 132, .external_lex_state = 1}, + [1819] = {.lex_state = 160}, + [1820] = {.lex_state = 175}, + [1821] = {.lex_state = 152}, + [1822] = {.lex_state = 175}, + [1823] = {.lex_state = 175}, + [1824] = {.lex_state = 152}, + [1825] = {.lex_state = 152}, + [1826] = {.lex_state = 152}, + [1827] = {.lex_state = 152}, + [1828] = {.lex_state = 152}, + [1829] = {.lex_state = 152}, + [1830] = {.lex_state = 146}, + [1831] = {.lex_state = 152}, + [1832] = {.lex_state = 152}, + [1833] = {.lex_state = 163}, + [1834] = {.lex_state = 150}, + [1835] = {.lex_state = 146}, + [1836] = {.lex_state = 163}, + [1837] = {.lex_state = 132, .external_lex_state = 1}, + [1838] = {.lex_state = 130, .external_lex_state = 1}, + [1839] = {.lex_state = 144}, + [1840] = {.lex_state = 142}, + [1841] = {.lex_state = 152}, + [1842] = {.lex_state = 144}, + [1843] = {.lex_state = 152}, + [1844] = {.lex_state = 130, .external_lex_state = 1}, + [1845] = {.lex_state = 144}, + [1846] = {.lex_state = 152}, + [1847] = {.lex_state = 144}, + [1848] = {.lex_state = 144}, + [1849] = {.lex_state = 149}, + [1850] = {.lex_state = 144}, + [1851] = {.lex_state = 130, .external_lex_state = 1}, + [1852] = {.lex_state = 144}, + [1853] = {.lex_state = 149}, + [1854] = {.lex_state = 144}, + [1855] = {.lex_state = 144}, + [1856] = {.lex_state = 132, .external_lex_state = 1}, + [1857] = {.lex_state = 152}, + [1858] = {.lex_state = 164}, + [1859] = {.lex_state = 175}, + [1860] = {.lex_state = 175}, + [1861] = {.lex_state = 149}, + [1862] = {.lex_state = 149}, + [1863] = {.lex_state = 175}, + [1864] = {.lex_state = 149}, + [1865] = {.lex_state = 175}, + [1866] = {.lex_state = 175}, + [1867] = {.lex_state = 175}, + [1868] = {.lex_state = 164}, + [1869] = {.lex_state = 175}, + [1870] = {.lex_state = 149}, + [1871] = {.lex_state = 149}, + [1872] = {.lex_state = 175}, + [1873] = {.lex_state = 142}, + [1874] = {.lex_state = 175}, + [1875] = {.lex_state = 164}, + [1876] = {.lex_state = 164}, + [1877] = {.lex_state = 175}, + [1878] = {.lex_state = 149}, + [1879] = {.lex_state = 175}, + [1880] = {.lex_state = 175}, + [1881] = {.lex_state = 175}, + [1882] = {.lex_state = 164}, + [1883] = {.lex_state = 149}, + [1884] = {.lex_state = 149}, + [1885] = {.lex_state = 149}, + [1886] = {.lex_state = 175}, + [1887] = {.lex_state = 142}, + [1888] = {.lex_state = 164}, + [1889] = {.lex_state = 149}, + [1890] = {.lex_state = 175}, + [1891] = {.lex_state = 156}, + [1892] = {.lex_state = 149}, + [1893] = {.lex_state = 156}, + [1894] = {.lex_state = 149}, + [1895] = {.lex_state = 175}, + [1896] = {.lex_state = 164}, + [1897] = {.lex_state = 164}, + [1898] = {.lex_state = 175}, + [1899] = {.lex_state = 175}, + [1900] = {.lex_state = 175}, + [1901] = {.lex_state = 164}, + [1902] = {.lex_state = 175}, + [1903] = {.lex_state = 142}, + [1904] = {.lex_state = 149}, + [1905] = {.lex_state = 164}, + [1906] = {.lex_state = 134, .external_lex_state = 1}, + [1907] = {.lex_state = 142}, + [1908] = {.lex_state = 154}, + [1909] = {.lex_state = 142}, + [1910] = {.lex_state = 154}, + [1911] = {.lex_state = 149}, + [1912] = {.lex_state = 154}, + [1913] = {.lex_state = 130, .external_lex_state = 1}, + [1914] = {.lex_state = 152}, + [1915] = {.lex_state = 142}, + [1916] = {.lex_state = 154}, + [1917] = {.lex_state = 154}, + [1918] = {.lex_state = 154}, + [1919] = {.lex_state = 134, .external_lex_state = 1}, + [1920] = {.lex_state = 154}, + [1921] = {.lex_state = 142}, + [1922] = {.lex_state = 134, .external_lex_state = 1}, + [1923] = {.lex_state = 142}, + [1924] = {.lex_state = 152}, + [1925] = {.lex_state = 142}, + [1926] = {.lex_state = 152}, + [1927] = {.lex_state = 154}, + [1928] = {.lex_state = 154}, + [1929] = {.lex_state = 142}, + [1930] = {.lex_state = 130, .external_lex_state = 1}, + [1931] = {.lex_state = 161}, + [1932] = {.lex_state = 161}, + [1933] = {.lex_state = 161}, + [1934] = {.lex_state = 144}, + [1935] = {.lex_state = 149}, + [1936] = {.lex_state = 152}, + [1937] = {.lex_state = 150}, + [1938] = {.lex_state = 161}, + [1939] = {.lex_state = 150}, + [1940] = {.lex_state = 152}, + [1941] = {.lex_state = 161}, + [1942] = {.lex_state = 144}, + [1943] = {.lex_state = 161}, + [1944] = {.lex_state = 161}, + [1945] = {.lex_state = 161}, + [1946] = {.lex_state = 150}, + [1947] = {.lex_state = 150}, + [1948] = {.lex_state = 144}, + [1949] = {.lex_state = 150}, + [1950] = {.lex_state = 161}, + [1951] = {.lex_state = 166}, + [1952] = {.lex_state = 161}, + [1953] = {.lex_state = 152}, + [1954] = {.lex_state = 150}, + [1955] = {.lex_state = 166}, + [1956] = {.lex_state = 161}, + [1957] = {.lex_state = 161}, + [1958] = {.lex_state = 152}, + [1959] = {.lex_state = 152}, + [1960] = {.lex_state = 134, .external_lex_state = 1}, + [1961] = {.lex_state = 165}, + [1962] = {.lex_state = 165}, + [1963] = {.lex_state = 165}, + [1964] = {.lex_state = 134, .external_lex_state = 1}, + [1965] = {.lex_state = 165}, + [1966] = {.lex_state = 165}, + [1967] = {.lex_state = 165}, + [1968] = {.lex_state = 165}, + [1969] = {.lex_state = 165}, + [1970] = {.lex_state = 136}, + [1971] = {.lex_state = 162}, + [1972] = {.lex_state = 136}, + [1973] = {.lex_state = 165}, + [1974] = {.lex_state = 149}, + [1975] = {.lex_state = 150}, + [1976] = {.lex_state = 136}, + [1977] = {.lex_state = 150}, + [1978] = {.lex_state = 162}, + [1979] = {.lex_state = 142}, + [1980] = {.lex_state = 150}, + [1981] = {.lex_state = 152}, + [1982] = {.lex_state = 150}, + [1983] = {.lex_state = 152}, + [1984] = {.lex_state = 152}, + [1985] = {.lex_state = 128, .external_lex_state = 1}, + [1986] = {.lex_state = 152}, + [1987] = {.lex_state = 152}, + [1988] = {.lex_state = 152}, + [1989] = {.lex_state = 152}, + [1990] = {.lex_state = 152}, + [1991] = {.lex_state = 152}, + [1992] = {.lex_state = 152}, + [1993] = {.lex_state = 152}, + [1994] = {.lex_state = 152}, + [1995] = {.lex_state = 152}, + [1996] = {.lex_state = 152}, + [1997] = {.lex_state = 162}, + [1998] = {.lex_state = 152}, + [1999] = {.lex_state = 152}, + [2000] = {.lex_state = 152}, + [2001] = {.lex_state = 152}, + [2002] = {.lex_state = 152}, + [2003] = {.lex_state = 152}, + [2004] = {.lex_state = 152}, + [2005] = {.lex_state = 152}, + [2006] = {.lex_state = 152}, + [2007] = {.lex_state = 152}, + [2008] = {.lex_state = 152}, + [2009] = {.lex_state = 152}, + [2010] = {.lex_state = 152}, + [2011] = {.lex_state = 151}, + [2012] = {.lex_state = 151}, + [2013] = {.lex_state = 151}, + [2014] = {.lex_state = 152}, + [2015] = {.lex_state = 136}, + [2016] = {.lex_state = 152}, + [2017] = {.lex_state = 151}, + [2018] = {.lex_state = 152}, + [2019] = {.lex_state = 152}, + [2020] = {.lex_state = 152}, + [2021] = {.lex_state = 152}, + [2022] = {.lex_state = 152}, + [2023] = {.lex_state = 152}, + [2024] = {.lex_state = 152}, + [2025] = {.lex_state = 152}, + [2026] = {.lex_state = 152}, + [2027] = {.lex_state = 152}, + [2028] = {.lex_state = 152}, + [2029] = {.lex_state = 152}, + [2030] = {.lex_state = 142}, + [2031] = {.lex_state = 154}, + [2032] = {.lex_state = 152}, + [2033] = {.lex_state = 152}, + [2034] = {.lex_state = 152}, + [2035] = {.lex_state = 152}, + [2036] = {.lex_state = 152}, + [2037] = {.lex_state = 152}, + [2038] = {.lex_state = 152}, + [2039] = {.lex_state = 152}, + [2040] = {.lex_state = 150}, + [2041] = {.lex_state = 152}, + [2042] = {.lex_state = 152}, + [2043] = {.lex_state = 152}, + [2044] = {.lex_state = 152}, + [2045] = {.lex_state = 152}, + [2046] = {.lex_state = 152}, + [2047] = {.lex_state = 152}, + [2048] = {.lex_state = 152}, + [2049] = {.lex_state = 152}, + [2050] = {.lex_state = 152}, + [2051] = {.lex_state = 152}, + [2052] = {.lex_state = 152}, + [2053] = {.lex_state = 149}, + [2054] = {.lex_state = 143}, + [2055] = {.lex_state = 143}, + [2056] = {.lex_state = 160}, + [2057] = {.lex_state = 142}, + [2058] = {.lex_state = 142}, + [2059] = {.lex_state = 142}, + [2060] = {.lex_state = 164}, + [2061] = {.lex_state = 151}, + [2062] = {.lex_state = 160}, + [2063] = {.lex_state = 142}, + [2064] = {.lex_state = 164}, + [2065] = {.lex_state = 161}, + [2066] = {.lex_state = 143}, + [2067] = {.lex_state = 154}, + [2068] = {.lex_state = 149}, + [2069] = {.lex_state = 164}, + [2070] = {.lex_state = 154}, + [2071] = {.lex_state = 142}, + [2072] = {.lex_state = 164}, + [2073] = {.lex_state = 164}, + [2074] = {.lex_state = 164}, + [2075] = {.lex_state = 142}, + [2076] = {.lex_state = 164}, + [2077] = {.lex_state = 148}, + [2078] = {.lex_state = 164}, + [2079] = {.lex_state = 164}, + [2080] = {.lex_state = 164}, + [2081] = {.lex_state = 164}, + [2082] = {.lex_state = 160}, + [2083] = {.lex_state = 142}, + [2084] = {.lex_state = 142}, + [2085] = {.lex_state = 160}, + [2086] = {.lex_state = 160}, + [2087] = {.lex_state = 160}, + [2088] = {.lex_state = 148}, + [2089] = {.lex_state = 148}, + [2090] = {.lex_state = 148}, + [2091] = {.lex_state = 148}, + [2092] = {.lex_state = 160}, + [2093] = {.lex_state = 142}, + [2094] = {.lex_state = 142}, + [2095] = {.lex_state = 149}, + [2096] = {.lex_state = 164}, + [2097] = {.lex_state = 142}, + [2098] = {.lex_state = 164}, + [2099] = {.lex_state = 142}, + [2100] = {.lex_state = 142}, + [2101] = {.lex_state = 132}, + [2102] = {.lex_state = 164}, + [2103] = {.lex_state = 142}, + [2104] = {.lex_state = 142}, + [2105] = {.lex_state = 160}, + [2106] = {.lex_state = 164}, + [2107] = {.lex_state = 142}, + [2108] = {.lex_state = 142}, + [2109] = {.lex_state = 160}, + [2110] = {.lex_state = 160}, + [2111] = {.lex_state = 142}, + [2112] = {.lex_state = 142}, + [2113] = {.lex_state = 142}, + [2114] = {.lex_state = 164}, + [2115] = {.lex_state = 164}, + [2116] = {.lex_state = 164}, + [2117] = {.lex_state = 142}, + [2118] = {.lex_state = 164}, + [2119] = {.lex_state = 142}, + [2120] = {.lex_state = 164}, + [2121] = {.lex_state = 142}, + [2122] = {.lex_state = 128, .external_lex_state = 1}, + [2123] = {.lex_state = 164}, + [2124] = {.lex_state = 164}, + [2125] = {.lex_state = 164}, + [2126] = {.lex_state = 142}, + [2127] = {.lex_state = 160}, + [2128] = {.lex_state = 142}, + [2129] = {.lex_state = 160}, + [2130] = {.lex_state = 164}, + [2131] = {.lex_state = 160}, + [2132] = {.lex_state = 151}, + [2133] = {.lex_state = 142}, + [2134] = {.lex_state = 142}, + [2135] = {.lex_state = 142}, + [2136] = {.lex_state = 164}, + [2137] = {.lex_state = 160}, + [2138] = {.lex_state = 164}, + [2139] = {.lex_state = 160}, + [2140] = {.lex_state = 160}, + [2141] = {.lex_state = 142}, + [2142] = {.lex_state = 142}, + [2143] = {.lex_state = 160}, + [2144] = {.lex_state = 142}, + [2145] = {.lex_state = 164}, + [2146] = {.lex_state = 160}, + [2147] = {.lex_state = 164}, + [2148] = {.lex_state = 164}, + [2149] = {.lex_state = 164}, + [2150] = {.lex_state = 160}, + [2151] = {.lex_state = 164}, + [2152] = {.lex_state = 164}, + [2153] = {.lex_state = 150}, + [2154] = {.lex_state = 160}, + [2155] = {.lex_state = 164}, + [2156] = {.lex_state = 153}, + [2157] = {.lex_state = 142}, + [2158] = {.lex_state = 164}, + [2159] = {.lex_state = 160}, + [2160] = {.lex_state = 164}, + [2161] = {.lex_state = 160}, + [2162] = {.lex_state = 160}, + [2163] = {.lex_state = 164}, + [2164] = {.lex_state = 160}, + [2165] = {.lex_state = 142}, + [2166] = {.lex_state = 164}, + [2167] = {.lex_state = 164}, + [2168] = {.lex_state = 164}, + [2169] = {.lex_state = 164}, + [2170] = {.lex_state = 164}, + [2171] = {.lex_state = 142}, + [2172] = {.lex_state = 142}, + [2173] = {.lex_state = 132}, + [2174] = {.lex_state = 164}, + [2175] = {.lex_state = 164}, + [2176] = {.lex_state = 164}, + [2177] = {.lex_state = 160}, + [2178] = {.lex_state = 164}, + [2179] = {.lex_state = 164}, + [2180] = {.lex_state = 142}, + [2181] = {.lex_state = 142}, + [2182] = {.lex_state = 160}, + [2183] = {.lex_state = 164}, + [2184] = {.lex_state = 164}, + [2185] = {.lex_state = 151}, + [2186] = {.lex_state = 142}, + [2187] = {.lex_state = 164}, + [2188] = {.lex_state = 164}, + [2189] = {.lex_state = 142}, + [2190] = {.lex_state = 142}, + [2191] = {.lex_state = 142}, + [2192] = {.lex_state = 142}, + [2193] = {.lex_state = 142}, + [2194] = {.lex_state = 164}, + [2195] = {.lex_state = 142}, + [2196] = {.lex_state = 142}, + [2197] = {.lex_state = 142}, + [2198] = {.lex_state = 142}, + [2199] = {.lex_state = 142}, + [2200] = {.lex_state = 142}, + [2201] = {.lex_state = 142}, + [2202] = {.lex_state = 142}, + [2203] = {.lex_state = 142}, + [2204] = {.lex_state = 142}, + [2205] = {.lex_state = 142}, + [2206] = {.lex_state = 142}, + [2207] = {.lex_state = 142}, + [2208] = {.lex_state = 142}, + [2209] = {.lex_state = 160}, + [2210] = {.lex_state = 142}, + [2211] = {.lex_state = 142}, + [2212] = {.lex_state = 142}, + [2213] = {.lex_state = 150}, + [2214] = {.lex_state = 142}, + [2215] = {.lex_state = 142}, + [2216] = {.lex_state = 142}, + [2217] = {.lex_state = 142}, + [2218] = {.lex_state = 142}, + [2219] = {.lex_state = 160}, + [2220] = {.lex_state = 164}, + [2221] = {.lex_state = 160}, + [2222] = {.lex_state = 160}, + [2223] = {.lex_state = 142}, + [2224] = {.lex_state = 160}, + [2225] = {.lex_state = 164}, + [2226] = {.lex_state = 164}, + [2227] = {.lex_state = 164}, + [2228] = {.lex_state = 160}, + [2229] = {.lex_state = 164}, + [2230] = {.lex_state = 142}, + [2231] = {.lex_state = 142}, + [2232] = {.lex_state = 164}, + [2233] = {.lex_state = 160}, + [2234] = {.lex_state = 160}, + [2235] = {.lex_state = 164}, + [2236] = {.lex_state = 142}, + [2237] = {.lex_state = 143}, + [2238] = {.lex_state = 142}, + [2239] = {.lex_state = 142}, + [2240] = {.lex_state = 142}, + [2241] = {.lex_state = 142}, + [2242] = {.lex_state = 142}, + [2243] = {.lex_state = 142}, + [2244] = {.lex_state = 142}, + [2245] = {.lex_state = 142}, + [2246] = {.lex_state = 142}, + [2247] = {.lex_state = 142}, + [2248] = {.lex_state = 142}, + [2249] = {.lex_state = 164}, + [2250] = {.lex_state = 164}, + [2251] = {.lex_state = 164}, + [2252] = {.lex_state = 164}, + [2253] = {.lex_state = 164}, + [2254] = {.lex_state = 164}, + [2255] = {.lex_state = 142}, + [2256] = {.lex_state = 142}, + [2257] = {.lex_state = 164}, + [2258] = {.lex_state = 164}, + [2259] = {.lex_state = 142}, + [2260] = {.lex_state = 160}, + [2261] = {.lex_state = 142}, + [2262] = {.lex_state = 150}, + [2263] = {.lex_state = 151}, + [2264] = {.lex_state = 151}, + [2265] = {.lex_state = 151}, + [2266] = {.lex_state = 151}, + [2267] = {.lex_state = 148}, + [2268] = {.lex_state = 151}, + [2269] = {.lex_state = 151}, + [2270] = {.lex_state = 151}, + [2271] = {.lex_state = 151}, + [2272] = {.lex_state = 151}, + [2273] = {.lex_state = 149}, + [2274] = {.lex_state = 145}, + [2275] = {.lex_state = 151}, + [2276] = {.lex_state = 151}, + [2277] = {.lex_state = 151}, + [2278] = {.lex_state = 149}, + [2279] = {.lex_state = 151}, + [2280] = {.lex_state = 152}, + [2281] = {.lex_state = 151}, + [2282] = {.lex_state = 151}, + [2283] = {.lex_state = 142}, + [2284] = {.lex_state = 175}, + [2285] = {.lex_state = 151}, + [2286] = {.lex_state = 151}, + [2287] = {.lex_state = 151}, + [2288] = {.lex_state = 151}, + [2289] = {.lex_state = 176}, + [2290] = {.lex_state = 151}, + [2291] = {.lex_state = 151}, + [2292] = {.lex_state = 151}, + [2293] = {.lex_state = 151}, + [2294] = {.lex_state = 151}, + [2295] = {.lex_state = 151}, + [2296] = {.lex_state = 151}, + [2297] = {.lex_state = 176}, + [2298] = {.lex_state = 148}, + [2299] = {.lex_state = 151}, + [2300] = {.lex_state = 149}, + [2301] = {.lex_state = 151}, + [2302] = {.lex_state = 151}, + [2303] = {.lex_state = 151}, + [2304] = {.lex_state = 151}, + [2305] = {.lex_state = 176}, + [2306] = {.lex_state = 148}, + [2307] = {.lex_state = 150}, + [2308] = {.lex_state = 151}, + [2309] = {.lex_state = 151}, + [2310] = {.lex_state = 151}, + [2311] = {.lex_state = 151}, + [2312] = {.lex_state = 151}, + [2313] = {.lex_state = 151}, + [2314] = {.lex_state = 151}, + [2315] = {.lex_state = 151}, + [2316] = {.lex_state = 151}, + [2317] = {.lex_state = 151}, + [2318] = {.lex_state = 151}, + [2319] = {.lex_state = 149}, + [2320] = {.lex_state = 149}, + [2321] = {.lex_state = 151}, + [2322] = {.lex_state = 151}, + [2323] = {.lex_state = 151}, + [2324] = {.lex_state = 148}, + [2325] = {.lex_state = 150}, + [2326] = {.lex_state = 151}, + [2327] = {.lex_state = 149}, + [2328] = {.lex_state = 151}, + [2329] = {.lex_state = 151}, + [2330] = {.lex_state = 165}, + [2331] = {.lex_state = 151}, + [2332] = {.lex_state = 151}, + [2333] = {.lex_state = 149}, + [2334] = {.lex_state = 151}, + [2335] = {.lex_state = 151}, + [2336] = {.lex_state = 142}, + [2337] = {.lex_state = 151}, + [2338] = {.lex_state = 151}, + [2339] = {.lex_state = 151}, + [2340] = {.lex_state = 151}, + [2341] = {.lex_state = 149}, + [2342] = {.lex_state = 151}, + [2343] = {.lex_state = 151}, + [2344] = {.lex_state = 176}, + [2345] = {.lex_state = 151}, + [2346] = {.lex_state = 148}, + [2347] = {.lex_state = 151}, + [2348] = {.lex_state = 151}, + [2349] = {.lex_state = 151}, + [2350] = {.lex_state = 152}, + [2351] = {.lex_state = 150}, + [2352] = {.lex_state = 151}, + [2353] = {.lex_state = 151}, + [2354] = {.lex_state = 151}, + [2355] = {.lex_state = 148}, + [2356] = {.lex_state = 151}, + [2357] = {.lex_state = 151}, + [2358] = {.lex_state = 151}, + [2359] = {.lex_state = 151}, + [2360] = {.lex_state = 151}, + [2361] = {.lex_state = 151}, + [2362] = {.lex_state = 151}, + [2363] = {.lex_state = 151}, + [2364] = {.lex_state = 151}, + [2365] = {.lex_state = 151}, + [2366] = {.lex_state = 151}, + [2367] = {.lex_state = 151}, + [2368] = {.lex_state = 151}, + [2369] = {.lex_state = 151}, + [2370] = {.lex_state = 151}, + [2371] = {.lex_state = 151}, + [2372] = {.lex_state = 150}, + [2373] = {.lex_state = 142}, + [2374] = {.lex_state = 143}, + [2375] = {.lex_state = 143}, + [2376] = {.lex_state = 143}, + [2377] = {.lex_state = 143}, + [2378] = {.lex_state = 143}, + [2379] = {.lex_state = 142}, + [2380] = {.lex_state = 142}, + [2381] = {.lex_state = 150}, + [2382] = {.lex_state = 142}, + [2383] = {.lex_state = 176}, + [2384] = {.lex_state = 142}, + [2385] = {.lex_state = 123}, + [2386] = {.lex_state = 176}, + [2387] = {.lex_state = 150}, + [2388] = {.lex_state = 150}, + [2389] = {.lex_state = 176}, + [2390] = {.lex_state = 142}, + [2391] = {.lex_state = 150}, + [2392] = {.lex_state = 143}, + [2393] = {.lex_state = 142}, + [2394] = {.lex_state = 150}, + [2395] = {.lex_state = 142}, + [2396] = {.lex_state = 150}, + [2397] = {.lex_state = 150}, + [2398] = {.lex_state = 150}, + [2399] = {.lex_state = 150}, + [2400] = {.lex_state = 150}, + [2401] = {.lex_state = 143}, + [2402] = {.lex_state = 123}, + [2403] = {.lex_state = 150}, + [2404] = {.lex_state = 150}, + [2405] = {.lex_state = 150}, + [2406] = {.lex_state = 150}, + [2407] = {.lex_state = 150}, + [2408] = {.lex_state = 150}, + [2409] = {.lex_state = 150}, + [2410] = {.lex_state = 150}, + [2411] = {.lex_state = 150}, + [2412] = {.lex_state = 150}, + [2413] = {.lex_state = 150}, + [2414] = {.lex_state = 147}, + [2415] = {.lex_state = 123}, + [2416] = {.lex_state = 130}, + [2417] = {.lex_state = 150}, + [2418] = {.lex_state = 150}, + [2419] = {.lex_state = 150}, + [2420] = {.lex_state = 150}, + [2421] = {.lex_state = 150}, + [2422] = {.lex_state = 150}, + [2423] = {.lex_state = 150}, + [2424] = {.lex_state = 150}, + [2425] = {.lex_state = 142}, + [2426] = {.lex_state = 150}, + [2427] = {.lex_state = 175}, + [2428] = {.lex_state = 142}, + [2429] = {.lex_state = 142}, + [2430] = {.lex_state = 150}, + [2431] = {.lex_state = 150}, + [2432] = {.lex_state = 142}, + [2433] = {.lex_state = 150}, + [2434] = {.lex_state = 143}, + [2435] = {.lex_state = 150}, + [2436] = {.lex_state = 150}, + [2437] = {.lex_state = 176}, + [2438] = {.lex_state = 142}, + [2439] = {.lex_state = 176}, + [2440] = {.lex_state = 142}, + [2441] = {.lex_state = 150}, + [2442] = {.lex_state = 176}, + [2443] = {.lex_state = 123}, + [2444] = {.lex_state = 150}, + [2445] = {.lex_state = 123}, + [2446] = {.lex_state = 150}, + [2447] = {.lex_state = 142}, + [2448] = {.lex_state = 143}, + [2449] = {.lex_state = 150}, + [2450] = {.lex_state = 143}, + [2451] = {.lex_state = 142}, + [2452] = {.lex_state = 150}, + [2453] = {.lex_state = 150}, + [2454] = {.lex_state = 149}, + [2455] = {.lex_state = 143}, + [2456] = {.lex_state = 142}, + [2457] = {.lex_state = 150}, + [2458] = {.lex_state = 130}, + [2459] = {.lex_state = 150}, + [2460] = {.lex_state = 176}, + [2461] = {.lex_state = 150}, + [2462] = {.lex_state = 176}, + [2463] = {.lex_state = 150}, + [2464] = {.lex_state = 123}, + [2465] = {.lex_state = 142}, + [2466] = {.lex_state = 150}, + [2467] = {.lex_state = 150}, + [2468] = {.lex_state = 142}, + [2469] = {.lex_state = 150}, + [2470] = {.lex_state = 150}, + [2471] = {.lex_state = 142}, + [2472] = {.lex_state = 150}, + [2473] = {.lex_state = 150}, + [2474] = {.lex_state = 150}, + [2475] = {.lex_state = 150}, + [2476] = {.lex_state = 150}, + [2477] = {.lex_state = 142}, + [2478] = {.lex_state = 142}, + [2479] = {.lex_state = 155}, + [2480] = {.lex_state = 142}, + [2481] = {.lex_state = 150}, + [2482] = {.lex_state = 150}, + [2483] = {.lex_state = 142}, + [2484] = {.lex_state = 150}, + [2485] = {.lex_state = 150}, + [2486] = {.lex_state = 150}, + [2487] = {.lex_state = 150}, + [2488] = {.lex_state = 176}, + [2489] = {.lex_state = 150}, + [2490] = {.lex_state = 150}, + [2491] = {.lex_state = 142}, + [2492] = {.lex_state = 150}, + [2493] = {.lex_state = 150}, + [2494] = {.lex_state = 150}, + [2495] = {.lex_state = 150}, + [2496] = {.lex_state = 150}, + [2497] = {.lex_state = 150}, + [2498] = {.lex_state = 150}, + [2499] = {.lex_state = 142}, + [2500] = {.lex_state = 142}, + [2501] = {.lex_state = 176}, + [2502] = {.lex_state = 142}, + [2503] = {.lex_state = 142}, + [2504] = {.lex_state = 148}, + [2505] = {.lex_state = 142}, + [2506] = {.lex_state = 142}, + [2507] = {.lex_state = 176}, + [2508] = {.lex_state = 142}, + [2509] = {.lex_state = 142}, + [2510] = {.lex_state = 142}, + [2511] = {.lex_state = 142}, + [2512] = {.lex_state = 142}, + [2513] = {.lex_state = 148}, + [2514] = {.lex_state = 148}, + [2515] = {.lex_state = 142}, + [2516] = {.lex_state = 142}, + [2517] = {.lex_state = 142}, + [2518] = {.lex_state = 142}, + [2519] = {.lex_state = 142}, + [2520] = {.lex_state = 142}, + [2521] = {.lex_state = 142}, + [2522] = {.lex_state = 142}, + [2523] = {.lex_state = 176}, + [2524] = {.lex_state = 142}, + [2525] = {.lex_state = 176}, + [2526] = {.lex_state = 176}, + [2527] = {.lex_state = 176}, + [2528] = {.lex_state = 142}, + [2529] = {.lex_state = 142}, + [2530] = {.lex_state = 142}, + [2531] = {.lex_state = 175}, + [2532] = {.lex_state = 176}, + [2533] = {.lex_state = 150}, + [2534] = {.lex_state = 176}, + [2535] = {.lex_state = 176}, + [2536] = {.lex_state = 142}, + [2537] = {.lex_state = 142}, + [2538] = {.lex_state = 142}, + [2539] = {.lex_state = 142}, + [2540] = {.lex_state = 142}, + [2541] = {.lex_state = 150}, + [2542] = {.lex_state = 142}, + [2543] = {.lex_state = 142}, + [2544] = {.lex_state = 142}, + [2545] = {.lex_state = 160}, + [2546] = {.lex_state = 176}, + [2547] = {.lex_state = 142}, + [2548] = {.lex_state = 137, .external_lex_state = 1}, + [2549] = {.lex_state = 128, .external_lex_state = 1}, + [2550] = {.lex_state = 142}, + [2551] = {.lex_state = 142}, + [2552] = {.lex_state = 142}, + [2553] = {.lex_state = 142}, + [2554] = {.lex_state = 176}, + [2555] = {.lex_state = 142}, + [2556] = {.lex_state = 142}, + [2557] = {.lex_state = 142}, + [2558] = {.lex_state = 142}, + [2559] = {.lex_state = 142}, + [2560] = {.lex_state = 142}, + [2561] = {.lex_state = 142}, + [2562] = {.lex_state = 176}, + [2563] = {.lex_state = 142}, + [2564] = {.lex_state = 137, .external_lex_state = 1}, + [2565] = {.lex_state = 160}, + [2566] = {.lex_state = 176}, + [2567] = {.lex_state = 142}, + [2568] = {.lex_state = 142}, + [2569] = {.lex_state = 142}, + [2570] = {.lex_state = 142}, + [2571] = {.lex_state = 142}, + [2572] = {.lex_state = 137, .external_lex_state = 1}, + [2573] = {.lex_state = 148}, + [2574] = {.lex_state = 176}, + [2575] = {.lex_state = 142}, + [2576] = {.lex_state = 142}, + [2577] = {.lex_state = 142}, + [2578] = {.lex_state = 176}, + [2579] = {.lex_state = 148}, + [2580] = {.lex_state = 142}, + [2581] = {.lex_state = 151}, + [2582] = {.lex_state = 142}, + [2583] = {.lex_state = 175}, + [2584] = {.lex_state = 142}, + [2585] = {.lex_state = 148}, + [2586] = {.lex_state = 128, .external_lex_state = 1}, + [2587] = {.lex_state = 142}, + [2588] = {.lex_state = 142}, + [2589] = {.lex_state = 142}, + [2590] = {.lex_state = 149}, + [2591] = {.lex_state = 150}, + [2592] = {.lex_state = 175}, + [2593] = {.lex_state = 175}, + [2594] = {.lex_state = 160}, + [2595] = {.lex_state = 160}, + [2596] = {.lex_state = 160}, + [2597] = {.lex_state = 160}, + [2598] = {.lex_state = 160}, + [2599] = {.lex_state = 160}, + [2600] = {.lex_state = 160}, + [2601] = {.lex_state = 160}, + [2602] = {.lex_state = 160}, + [2603] = {.lex_state = 160}, + [2604] = {.lex_state = 160}, + [2605] = {.lex_state = 150}, + [2606] = {.lex_state = 160}, + [2607] = {.lex_state = 160}, + [2608] = {.lex_state = 160}, + [2609] = {.lex_state = 176}, + [2610] = {.lex_state = 160}, + [2611] = {.lex_state = 175}, + [2612] = {.lex_state = 160}, + [2613] = {.lex_state = 160}, + [2614] = {.lex_state = 160}, + [2615] = {.lex_state = 160}, + [2616] = {.lex_state = 160}, + [2617] = {.lex_state = 176}, + [2618] = {.lex_state = 160}, + [2619] = {.lex_state = 160}, + [2620] = {.lex_state = 160}, + [2621] = {.lex_state = 160}, + [2622] = {.lex_state = 160}, + [2623] = {.lex_state = 150}, + [2624] = {.lex_state = 160}, + [2625] = {.lex_state = 150}, + [2626] = {.lex_state = 160}, + [2627] = {.lex_state = 160}, + [2628] = {.lex_state = 175}, + [2629] = {.lex_state = 150}, + [2630] = {.lex_state = 150}, + [2631] = {.lex_state = 160}, + [2632] = {.lex_state = 160}, + [2633] = {.lex_state = 175}, + [2634] = {.lex_state = 160}, + [2635] = {.lex_state = 176}, + [2636] = {.lex_state = 160}, + [2637] = {.lex_state = 160}, + [2638] = {.lex_state = 150}, + [2639] = {.lex_state = 160}, + [2640] = {.lex_state = 175}, + [2641] = {.lex_state = 160}, + [2642] = {.lex_state = 175}, + [2643] = {.lex_state = 150}, + [2644] = {.lex_state = 160}, + [2645] = {.lex_state = 160}, + [2646] = {.lex_state = 160}, + [2647] = {.lex_state = 160}, + [2648] = {.lex_state = 160}, + [2649] = {.lex_state = 150}, + [2650] = {.lex_state = 160}, + [2651] = {.lex_state = 150}, + [2652] = {.lex_state = 150}, + [2653] = {.lex_state = 160}, + [2654] = {.lex_state = 150}, + [2655] = {.lex_state = 150}, + [2656] = {.lex_state = 150}, + [2657] = {.lex_state = 150}, + [2658] = {.lex_state = 175}, + [2659] = {.lex_state = 150}, + [2660] = {.lex_state = 175}, + [2661] = {.lex_state = 160}, + [2662] = {.lex_state = 150}, + [2663] = {.lex_state = 150}, + [2664] = {.lex_state = 134}, + [2665] = {.lex_state = 176}, + [2666] = {.lex_state = 150}, + [2667] = {.lex_state = 176}, + [2668] = {.lex_state = 175}, + [2669] = {.lex_state = 160}, + [2670] = {.lex_state = 160}, + [2671] = {.lex_state = 160}, + [2672] = {.lex_state = 175}, + [2673] = {.lex_state = 150}, + [2674] = {.lex_state = 175}, + [2675] = {.lex_state = 150}, + [2676] = {.lex_state = 175}, + [2677] = {.lex_state = 150}, + [2678] = {.lex_state = 175}, + [2679] = {.lex_state = 175}, + [2680] = {.lex_state = 175}, + [2681] = {.lex_state = 160}, + [2682] = {.lex_state = 160}, + [2683] = {.lex_state = 175}, + [2684] = {.lex_state = 150}, + [2685] = {.lex_state = 134}, + [2686] = {.lex_state = 175}, + [2687] = {.lex_state = 160}, + [2688] = {.lex_state = 175}, + [2689] = {.lex_state = 160}, + [2690] = {.lex_state = 160}, + [2691] = {.lex_state = 160}, + [2692] = {.lex_state = 160}, + [2693] = {.lex_state = 175}, + [2694] = {.lex_state = 150}, + [2695] = {.lex_state = 150}, + [2696] = {.lex_state = 160}, + [2697] = {.lex_state = 175}, + [2698] = {.lex_state = 175}, + [2699] = {.lex_state = 160}, + [2700] = {.lex_state = 160}, + [2701] = {.lex_state = 160}, + [2702] = {.lex_state = 160}, + [2703] = {.lex_state = 160}, + [2704] = {.lex_state = 157}, + [2705] = {.lex_state = 175}, + [2706] = {.lex_state = 160}, + [2707] = {.lex_state = 160}, + [2708] = {.lex_state = 160}, + [2709] = {.lex_state = 160}, + [2710] = {.lex_state = 175}, + [2711] = {.lex_state = 160}, + [2712] = {.lex_state = 175}, + [2713] = {.lex_state = 176}, + [2714] = {.lex_state = 175}, + [2715] = {.lex_state = 175}, + [2716] = {.lex_state = 175}, + [2717] = {.lex_state = 150}, + [2718] = {.lex_state = 175}, + [2719] = {.lex_state = 175}, + [2720] = {.lex_state = 150}, + [2721] = {.lex_state = 128, .external_lex_state = 1}, + [2722] = {.lex_state = 151}, + [2723] = {.lex_state = 159}, + [2724] = {.lex_state = 128, .external_lex_state = 1}, + [2725] = {.lex_state = 128, .external_lex_state = 1}, + [2726] = {.lex_state = 137, .external_lex_state = 1}, + [2727] = {.lex_state = 175}, + [2728] = {.lex_state = 128, .external_lex_state = 1}, + [2729] = {.lex_state = 128, .external_lex_state = 1}, + [2730] = {.lex_state = 177}, + [2731] = {.lex_state = 150}, + [2732] = {.lex_state = 150}, + [2733] = {.lex_state = 161}, + [2734] = {.lex_state = 175}, + [2735] = {.lex_state = 175}, + [2736] = {.lex_state = 151}, + [2737] = {.lex_state = 151}, + [2738] = {.lex_state = 175}, + [2739] = {.lex_state = 150}, + [2740] = {.lex_state = 128, .external_lex_state = 1}, + [2741] = {.lex_state = 150}, + [2742] = {.lex_state = 128, .external_lex_state = 1}, + [2743] = {.lex_state = 128, .external_lex_state = 1}, + [2744] = {.lex_state = 151}, + [2745] = {.lex_state = 150}, + [2746] = {.lex_state = 128, .external_lex_state = 1}, + [2747] = {.lex_state = 128, .external_lex_state = 1}, + [2748] = {.lex_state = 150}, + [2749] = {.lex_state = 159}, + [2750] = {.lex_state = 150}, + [2751] = {.lex_state = 151}, + [2752] = {.lex_state = 151}, + [2753] = {.lex_state = 151}, + [2754] = {.lex_state = 175}, + [2755] = {.lex_state = 175}, + [2756] = {.lex_state = 151}, + [2757] = {.lex_state = 175}, + [2758] = {.lex_state = 159}, + [2759] = {.lex_state = 151}, + [2760] = {.lex_state = 175}, + [2761] = {.lex_state = 151}, + [2762] = {.lex_state = 150}, + [2763] = {.lex_state = 151}, + [2764] = {.lex_state = 150}, + [2765] = {.lex_state = 150}, + [2766] = {.lex_state = 175}, + [2767] = {.lex_state = 150}, + [2768] = {.lex_state = 150}, + [2769] = {.lex_state = 150}, + [2770] = {.lex_state = 150}, + [2771] = {.lex_state = 150}, + [2772] = {.lex_state = 175}, + [2773] = {.lex_state = 159}, + [2774] = {.lex_state = 150}, + [2775] = {.lex_state = 128, .external_lex_state = 1}, + [2776] = {.lex_state = 150}, + [2777] = {.lex_state = 151}, + [2778] = {.lex_state = 128, .external_lex_state = 1}, + [2779] = {.lex_state = 151}, + [2780] = {.lex_state = 150}, + [2781] = {.lex_state = 150}, + [2782] = {.lex_state = 150}, + [2783] = {.lex_state = 151}, + [2784] = {.lex_state = 175}, + [2785] = {.lex_state = 128, .external_lex_state = 1}, + [2786] = {.lex_state = 128, .external_lex_state = 1}, + [2787] = {.lex_state = 150}, + [2788] = {.lex_state = 150}, + [2789] = {.lex_state = 150}, + [2790] = {.lex_state = 150}, + [2791] = {.lex_state = 151}, + [2792] = {.lex_state = 150}, + [2793] = {.lex_state = 151}, + [2794] = {.lex_state = 151}, + [2795] = {.lex_state = 150}, + [2796] = {.lex_state = 150}, + [2797] = {.lex_state = 175}, + [2798] = {.lex_state = 128, .external_lex_state = 1}, + [2799] = {.lex_state = 128, .external_lex_state = 1}, + [2800] = {.lex_state = 150}, + [2801] = {.lex_state = 150}, + [2802] = {.lex_state = 128, .external_lex_state = 1}, + [2803] = {.lex_state = 150}, + [2804] = {.lex_state = 150}, + [2805] = {.lex_state = 150}, + [2806] = {.lex_state = 150}, + [2807] = {.lex_state = 175}, + [2808] = {.lex_state = 151}, + [2809] = {.lex_state = 150}, + [2810] = {.lex_state = 150}, + [2811] = {.lex_state = 150}, + [2812] = {.lex_state = 150}, + [2813] = {.lex_state = 150}, + [2814] = {.lex_state = 150}, + [2815] = {.lex_state = 175}, + [2816] = {.lex_state = 151}, + [2817] = {.lex_state = 151}, + [2818] = {.lex_state = 175}, + [2819] = {.lex_state = 150}, + [2820] = {.lex_state = 175}, + [2821] = {.lex_state = 150}, + [2822] = {.lex_state = 175}, + [2823] = {.lex_state = 177}, + [2824] = {.lex_state = 150}, + [2825] = {.lex_state = 161}, + [2826] = {.lex_state = 151}, + [2827] = {.lex_state = 175}, + [2828] = {.lex_state = 150}, + [2829] = {.lex_state = 150}, + [2830] = {.lex_state = 128, .external_lex_state = 1}, + [2831] = {.lex_state = 159}, + [2832] = {.lex_state = 150}, + [2833] = {.lex_state = 128, .external_lex_state = 1}, + [2834] = {.lex_state = 151}, + [2835] = {.lex_state = 137, .external_lex_state = 1}, + [2836] = {.lex_state = 150}, + [2837] = {.lex_state = 150}, + [2838] = {.lex_state = 151}, + [2839] = {.lex_state = 150}, + [2840] = {.lex_state = 150}, + [2841] = {.lex_state = 159}, + [2842] = {.lex_state = 151}, + [2843] = {.lex_state = 151}, + [2844] = {.lex_state = 150}, + [2845] = {.lex_state = 150}, + [2846] = {.lex_state = 150}, + [2847] = {.lex_state = 175}, + [2848] = {.lex_state = 150}, + [2849] = {.lex_state = 175}, + [2850] = {.lex_state = 159}, + [2851] = {.lex_state = 150}, + [2852] = {.lex_state = 150}, + [2853] = {.lex_state = 128, .external_lex_state = 1}, + [2854] = {.lex_state = 150}, + [2855] = {.lex_state = 150}, + [2856] = {.lex_state = 151}, + [2857] = {.lex_state = 151}, + [2858] = {.lex_state = 175}, + [2859] = {.lex_state = 176}, + [2860] = {.lex_state = 159}, + [2861] = {.lex_state = 176}, + [2862] = {.lex_state = 151}, + [2863] = {.lex_state = 179}, + [2864] = {.lex_state = 151}, + [2865] = {.lex_state = 151}, + [2866] = {.lex_state = 151}, + [2867] = {.lex_state = 176}, + [2868] = {.lex_state = 175}, + [2869] = {.lex_state = 151}, + [2870] = {.lex_state = 151}, + [2871] = {.lex_state = 178}, + [2872] = {.lex_state = 176}, + [2873] = {.lex_state = 176}, + [2874] = {.lex_state = 176}, + [2875] = {.lex_state = 176}, + [2876] = {.lex_state = 178}, + [2877] = {.lex_state = 176}, + [2878] = {.lex_state = 161}, + [2879] = {.lex_state = 160}, + [2880] = {.lex_state = 176}, + [2881] = {.lex_state = 176}, + [2882] = {.lex_state = 176}, + [2883] = {.lex_state = 159}, + [2884] = {.lex_state = 176}, + [2885] = {.lex_state = 164}, + [2886] = {.lex_state = 176}, + [2887] = {.lex_state = 176}, + [2888] = {.lex_state = 176}, + [2889] = {.lex_state = 176}, + [2890] = {.lex_state = 176}, + [2891] = {.lex_state = 159}, + [2892] = {.lex_state = 176}, + [2893] = {.lex_state = 178}, + [2894] = {.lex_state = 176}, + [2895] = {.lex_state = 176}, + [2896] = {.lex_state = 176}, + [2897] = {.lex_state = 176}, + [2898] = {.lex_state = 176}, + [2899] = {.lex_state = 176}, + [2900] = {.lex_state = 176}, + [2901] = {.lex_state = 176}, + [2902] = {.lex_state = 176}, + [2903] = {.lex_state = 159}, + [2904] = {.lex_state = 159}, + [2905] = {.lex_state = 159}, + [2906] = {.lex_state = 159}, + [2907] = {.lex_state = 176}, + [2908] = {.lex_state = 176}, + [2909] = {.lex_state = 164}, + [2910] = {.lex_state = 176}, + [2911] = {.lex_state = 176}, + [2912] = {.lex_state = 176}, + [2913] = {.lex_state = 176}, + [2914] = {.lex_state = 176}, + [2915] = {.lex_state = 164}, + [2916] = {.lex_state = 164}, + [2917] = {.lex_state = 176}, + [2918] = {.lex_state = 176}, + [2919] = {.lex_state = 176}, + [2920] = {.lex_state = 164}, + [2921] = {.lex_state = 176}, + [2922] = {.lex_state = 176}, + [2923] = {.lex_state = 161}, + [2924] = {.lex_state = 176}, + [2925] = {.lex_state = 176}, + [2926] = {.lex_state = 176}, + [2927] = {.lex_state = 176}, + [2928] = {.lex_state = 175}, + [2929] = {.lex_state = 176}, + [2930] = {.lex_state = 176}, + [2931] = {.lex_state = 178}, + [2932] = {.lex_state = 176}, + [2933] = {.lex_state = 176}, + [2934] = {.lex_state = 178}, + [2935] = {.lex_state = 176}, + [2936] = {.lex_state = 176}, + [2937] = {.lex_state = 178}, + [2938] = {.lex_state = 176}, + [2939] = {.lex_state = 176}, + [2940] = {.lex_state = 176}, + [2941] = {.lex_state = 176}, + [2942] = {.lex_state = 176}, + [2943] = {.lex_state = 176}, + [2944] = {.lex_state = 176}, + [2945] = {.lex_state = 164}, + [2946] = {.lex_state = 176}, + [2947] = {.lex_state = 176}, + [2948] = {.lex_state = 176}, + [2949] = {.lex_state = 176}, + [2950] = {.lex_state = 176}, + [2951] = {.lex_state = 178}, + [2952] = {.lex_state = 176}, + [2953] = {.lex_state = 178}, + [2954] = {.lex_state = 176}, + [2955] = {.lex_state = 178}, + [2956] = {.lex_state = 178}, + [2957] = {.lex_state = 176}, + [2958] = {.lex_state = 178}, + [2959] = {.lex_state = 164}, + [2960] = {.lex_state = 178}, + [2961] = {.lex_state = 139, .external_lex_state = 1}, + [2962] = {.lex_state = 176}, + [2963] = {.lex_state = 176}, + [2964] = {.lex_state = 176}, + [2965] = {.lex_state = 160}, + [2966] = {.lex_state = 176}, + [2967] = {.lex_state = 176}, + [2968] = {.lex_state = 176}, + [2969] = {.lex_state = 159}, + [2970] = {.lex_state = 159}, + [2971] = {.lex_state = 159}, + [2972] = {.lex_state = 164}, + [2973] = {.lex_state = 176}, + [2974] = {.lex_state = 139, .external_lex_state = 1}, + [2975] = {.lex_state = 176}, + [2976] = {.lex_state = 139, .external_lex_state = 1}, + [2977] = {.lex_state = 178}, + [2978] = {.lex_state = 178}, + [2979] = {.lex_state = 178}, + [2980] = {.lex_state = 160}, + [2981] = {.lex_state = 160}, + [2982] = {.lex_state = 160}, + [2983] = {.lex_state = 164}, + [2984] = {.lex_state = 160}, + [2985] = {.lex_state = 178}, + [2986] = {.lex_state = 160}, + [2987] = {.lex_state = 160}, + [2988] = {.lex_state = 160}, + [2989] = {.lex_state = 178}, + [2990] = {.lex_state = 178}, + [2991] = {.lex_state = 178}, + [2992] = {.lex_state = 160}, + [2993] = {.lex_state = 128, .external_lex_state = 1}, + [2994] = {.lex_state = 128, .external_lex_state = 1}, + [2995] = {.lex_state = 178}, + [2996] = {.lex_state = 164}, + [2997] = {.lex_state = 160}, + [2998] = {.lex_state = 160}, + [2999] = {.lex_state = 128, .external_lex_state = 1}, + [3000] = {.lex_state = 160}, + [3001] = {.lex_state = 164}, + [3002] = {.lex_state = 160}, + [3003] = {.lex_state = 128, .external_lex_state = 1}, + [3004] = {.lex_state = 160}, + [3005] = {.lex_state = 178}, + [3006] = {.lex_state = 160}, + [3007] = {.lex_state = 160}, + [3008] = {.lex_state = 164}, + [3009] = {.lex_state = 160}, + [3010] = {.lex_state = 160}, + [3011] = {.lex_state = 160}, + [3012] = {.lex_state = 176}, + [3013] = {.lex_state = 176}, + [3014] = {.lex_state = 176}, + [3015] = {.lex_state = 176}, + [3016] = {.lex_state = 139, .external_lex_state = 1}, + [3017] = {.lex_state = 178}, + [3018] = {.lex_state = 160}, + [3019] = {.lex_state = 160}, + [3020] = {.lex_state = 176}, + [3021] = {.lex_state = 160}, + [3022] = {.lex_state = 176}, + [3023] = {.lex_state = 178}, + [3024] = {.lex_state = 176}, + [3025] = {.lex_state = 178}, + [3026] = {.lex_state = 160}, + [3027] = {.lex_state = 178}, + [3028] = {.lex_state = 179}, + [3029] = {.lex_state = 160}, + [3030] = {.lex_state = 178}, + [3031] = {.lex_state = 128, .external_lex_state = 1}, + [3032] = {.lex_state = 139, .external_lex_state = 1}, + [3033] = {.lex_state = 165}, + [3034] = {.lex_state = 159}, + [3035] = {.lex_state = 178}, + [3036] = {.lex_state = 159}, + [3037] = {.lex_state = 159}, + [3038] = {.lex_state = 164}, + [3039] = {.lex_state = 161}, + [3040] = {.lex_state = 159}, + [3041] = {.lex_state = 178}, + [3042] = {.lex_state = 164}, + [3043] = {.lex_state = 178}, + [3044] = {.lex_state = 164}, + [3045] = {.lex_state = 178}, + [3046] = {.lex_state = 164}, + [3047] = {.lex_state = 159}, + [3048] = {.lex_state = 164}, + [3049] = {.lex_state = 159}, + [3050] = {.lex_state = 164}, + [3051] = {.lex_state = 164}, + [3052] = {.lex_state = 164}, + [3053] = {.lex_state = 159}, + [3054] = {.lex_state = 165}, + [3055] = {.lex_state = 159}, + [3056] = {.lex_state = 164}, + [3057] = {.lex_state = 164}, + [3058] = {.lex_state = 176}, + [3059] = {.lex_state = 163}, + [3060] = {.lex_state = 164}, + [3061] = {.lex_state = 159}, + [3062] = {.lex_state = 160}, + [3063] = {.lex_state = 164}, + [3064] = {.lex_state = 164}, + [3065] = {.lex_state = 164}, + [3066] = {.lex_state = 176}, + [3067] = {.lex_state = 159}, + [3068] = {.lex_state = 164}, + [3069] = {.lex_state = 176}, + [3070] = {.lex_state = 163}, + [3071] = {.lex_state = 163}, + [3072] = {.lex_state = 176}, + [3073] = {.lex_state = 137}, + [3074] = {.lex_state = 163}, + [3075] = {.lex_state = 160}, + [3076] = {.lex_state = 176}, + [3077] = {.lex_state = 178}, + [3078] = {.lex_state = 176}, + [3079] = {.lex_state = 178}, + [3080] = {.lex_state = 176}, + [3081] = {.lex_state = 163}, + [3082] = {.lex_state = 178}, + [3083] = {.lex_state = 175}, + [3084] = {.lex_state = 163}, + [3085] = {.lex_state = 176}, + [3086] = {.lex_state = 176}, + [3087] = {.lex_state = 137}, + [3088] = {.lex_state = 176}, + [3089] = {.lex_state = 176}, + [3090] = {.lex_state = 176}, + [3091] = {.lex_state = 160}, + [3092] = {.lex_state = 178}, + [3093] = {.lex_state = 178}, + [3094] = {.lex_state = 178}, + [3095] = {.lex_state = 178}, + [3096] = {.lex_state = 178}, + [3097] = {.lex_state = 178}, + [3098] = {.lex_state = 163}, + [3099] = {.lex_state = 164}, + [3100] = {.lex_state = 160}, + [3101] = {.lex_state = 178}, + [3102] = {.lex_state = 163}, + [3103] = {.lex_state = 178}, + [3104] = {.lex_state = 178}, + [3105] = {.lex_state = 163}, + [3106] = {.lex_state = 178}, + [3107] = {.lex_state = 178}, + [3108] = {.lex_state = 178}, + [3109] = {.lex_state = 178}, + [3110] = {.lex_state = 178}, + [3111] = {.lex_state = 178}, + [3112] = {.lex_state = 178}, + [3113] = {.lex_state = 176}, + [3114] = {.lex_state = 178}, + [3115] = {.lex_state = 163}, + [3116] = {.lex_state = 178}, + [3117] = {.lex_state = 178}, + [3118] = {.lex_state = 163}, + [3119] = {.lex_state = 163}, + [3120] = {.lex_state = 178}, + [3121] = {.lex_state = 163}, + [3122] = {.lex_state = 163}, + [3123] = {.lex_state = 163}, + [3124] = {.lex_state = 163}, + [3125] = {.lex_state = 163}, + [3126] = {.lex_state = 178}, + [3127] = {.lex_state = 163}, + [3128] = {.lex_state = 178}, + [3129] = {.lex_state = 178}, + [3130] = {.lex_state = 176}, + [3131] = {.lex_state = 178}, + [3132] = {.lex_state = 178}, + [3133] = {.lex_state = 163}, + [3134] = {.lex_state = 163}, + [3135] = {.lex_state = 178}, + [3136] = {.lex_state = 178}, + [3137] = {.lex_state = 178}, + [3138] = {.lex_state = 178}, + [3139] = {.lex_state = 178}, + [3140] = {.lex_state = 178}, + [3141] = {.lex_state = 178}, + [3142] = {.lex_state = 163}, + [3143] = {.lex_state = 178}, + [3144] = {.lex_state = 160}, + [3145] = {.lex_state = 163}, + [3146] = {.lex_state = 163}, + [3147] = {.lex_state = 178}, + [3148] = {.lex_state = 178}, + [3149] = {.lex_state = 178}, + [3150] = {.lex_state = 163}, + [3151] = {.lex_state = 163}, + [3152] = {.lex_state = 178}, + [3153] = {.lex_state = 159}, + [3154] = {.lex_state = 159}, + [3155] = {.lex_state = 178}, + [3156] = {.lex_state = 163}, + [3157] = {.lex_state = 178}, + [3158] = {.lex_state = 178}, + [3159] = {.lex_state = 163}, + [3160] = {.lex_state = 178}, + [3161] = {.lex_state = 178}, + [3162] = {.lex_state = 163}, + [3163] = {.lex_state = 158}, + [3164] = {.lex_state = 163}, + [3165] = {.lex_state = 163}, + [3166] = {.lex_state = 178}, + [3167] = {.lex_state = 163}, + [3168] = {.lex_state = 178}, + [3169] = {.lex_state = 178}, + [3170] = {.lex_state = 178}, + [3171] = {.lex_state = 163}, + [3172] = {.lex_state = 178}, + [3173] = {.lex_state = 178}, + [3174] = {.lex_state = 176}, + [3175] = {.lex_state = 163}, + [3176] = {.lex_state = 178}, + [3177] = {.lex_state = 178}, + [3178] = {.lex_state = 178}, + [3179] = {.lex_state = 178}, + [3180] = {.lex_state = 176}, + [3181] = {.lex_state = 178}, + [3182] = {.lex_state = 178}, + [3183] = {.lex_state = 178}, + [3184] = {.lex_state = 178}, + [3185] = {.lex_state = 178}, + [3186] = {.lex_state = 178}, + [3187] = {.lex_state = 178}, + [3188] = {.lex_state = 178}, + [3189] = {.lex_state = 178}, + [3190] = {.lex_state = 164}, + [3191] = {.lex_state = 163}, + [3192] = {.lex_state = 178}, + [3193] = {.lex_state = 163}, + [3194] = {.lex_state = 178}, + [3195] = {.lex_state = 163}, + [3196] = {.lex_state = 176}, + [3197] = {.lex_state = 160}, + [3198] = {.lex_state = 163}, + [3199] = {.lex_state = 175}, + [3200] = {.lex_state = 175}, + [3201] = {.lex_state = 175}, + [3202] = {.lex_state = 159}, + [3203] = {.lex_state = 176}, + [3204] = {.lex_state = 175}, + [3205] = {.lex_state = 175}, + [3206] = {.lex_state = 178}, + [3207] = {.lex_state = 175}, + [3208] = {.lex_state = 159}, + [3209] = {.lex_state = 163}, + [3210] = {.lex_state = 163}, + [3211] = {.lex_state = 163}, + [3212] = {.lex_state = 163}, + [3213] = {.lex_state = 163}, + [3214] = {.lex_state = 163}, + [3215] = {.lex_state = 163}, + [3216] = {.lex_state = 160}, + [3217] = {.lex_state = 178}, + [3218] = {.lex_state = 175}, + [3219] = {.lex_state = 163}, + [3220] = {.lex_state = 163}, + [3221] = {.lex_state = 163}, + [3222] = {.lex_state = 178}, + [3223] = {.lex_state = 175}, + [3224] = {.lex_state = 163}, + [3225] = {.lex_state = 175}, + [3226] = {.lex_state = 163}, + [3227] = {.lex_state = 178}, + [3228] = {.lex_state = 160}, + [3229] = {.lex_state = 163}, + [3230] = {.lex_state = 163}, + [3231] = {.lex_state = 175}, + [3232] = {.lex_state = 178}, + [3233] = {.lex_state = 178}, + [3234] = {.lex_state = 163}, + [3235] = {.lex_state = 175}, + [3236] = {.lex_state = 175}, + [3237] = {.lex_state = 175}, + [3238] = {.lex_state = 175}, + [3239] = {.lex_state = 175}, + [3240] = {.lex_state = 175}, + [3241] = {.lex_state = 163}, + [3242] = {.lex_state = 175}, + [3243] = {.lex_state = 163}, + [3244] = {.lex_state = 160}, + [3245] = {.lex_state = 176}, + [3246] = {.lex_state = 163}, + [3247] = {.lex_state = 163}, + [3248] = {.lex_state = 163}, + [3249] = {.lex_state = 163}, + [3250] = {.lex_state = 176}, + [3251] = {.lex_state = 160}, + [3252] = {.lex_state = 163}, + [3253] = {.lex_state = 160}, + [3254] = {.lex_state = 159}, + [3255] = {.lex_state = 160}, + [3256] = {.lex_state = 160}, + [3257] = {.lex_state = 160}, + [3258] = {.lex_state = 160}, + [3259] = {.lex_state = 163}, + [3260] = {.lex_state = 160}, + [3261] = {.lex_state = 160}, + [3262] = {.lex_state = 160}, + [3263] = {.lex_state = 160}, + [3264] = {.lex_state = 160}, + [3265] = {.lex_state = 159}, + [3266] = {.lex_state = 163}, + [3267] = {.lex_state = 163}, + [3268] = {.lex_state = 163}, + [3269] = {.lex_state = 160}, + [3270] = {.lex_state = 163}, + [3271] = {.lex_state = 159}, + [3272] = {.lex_state = 163}, + [3273] = {.lex_state = 176}, + [3274] = {.lex_state = 163}, + [3275] = {.lex_state = 176}, + [3276] = {.lex_state = 163}, + [3277] = {.lex_state = 163}, + [3278] = {.lex_state = 176}, + [3279] = {.lex_state = 141}, + [3280] = {.lex_state = 159}, + [3281] = {.lex_state = 159}, + [3282] = {.lex_state = 163}, + [3283] = {.lex_state = 163}, + [3284] = {.lex_state = 163}, + [3285] = {.lex_state = 160}, + [3286] = {.lex_state = 176}, + [3287] = {.lex_state = 160}, + [3288] = {.lex_state = 163}, + [3289] = {.lex_state = 163}, + [3290] = {.lex_state = 178}, + [3291] = {.lex_state = 163}, + [3292] = {.lex_state = 160}, + [3293] = {.lex_state = 178}, + [3294] = {.lex_state = 176}, + [3295] = {.lex_state = 176}, + [3296] = {.lex_state = 160}, + [3297] = {.lex_state = 163}, + [3298] = {.lex_state = 176}, + [3299] = {.lex_state = 163}, + [3300] = {.lex_state = 163}, + [3301] = {.lex_state = 160}, + [3302] = {.lex_state = 160}, + [3303] = {.lex_state = 160}, + [3304] = {.lex_state = 160}, + [3305] = {.lex_state = 160}, + [3306] = {.lex_state = 160}, + [3307] = {.lex_state = 160}, + [3308] = {.lex_state = 160}, + [3309] = {.lex_state = 160}, + [3310] = {.lex_state = 175}, + [3311] = {.lex_state = 175}, + [3312] = {.lex_state = 163}, + [3313] = {.lex_state = 160}, + [3314] = {.lex_state = 160}, + [3315] = {.lex_state = 175}, + [3316] = {.lex_state = 175}, + [3317] = {.lex_state = 175}, + [3318] = {.lex_state = 163}, + [3319] = {.lex_state = 175}, + [3320] = {.lex_state = 175}, + [3321] = {.lex_state = 163}, + [3322] = {.lex_state = 160}, + [3323] = {.lex_state = 163}, + [3324] = {.lex_state = 163}, + [3325] = {.lex_state = 163}, + [3326] = {.lex_state = 163}, + [3327] = {.lex_state = 160}, + [3328] = {.lex_state = 175}, + [3329] = {.lex_state = 175}, + [3330] = {.lex_state = 163}, + [3331] = {.lex_state = 163}, + [3332] = {.lex_state = 163}, + [3333] = {.lex_state = 163}, + [3334] = {.lex_state = 178}, + [3335] = {.lex_state = 163}, + [3336] = {.lex_state = 160}, + [3337] = {.lex_state = 163}, + [3338] = {.lex_state = 163}, + [3339] = {.lex_state = 163}, + [3340] = {.lex_state = 163}, + [3341] = {.lex_state = 163}, + [3342] = {.lex_state = 163}, + [3343] = {.lex_state = 160}, + [3344] = {.lex_state = 163}, + [3345] = {.lex_state = 163}, + [3346] = {.lex_state = 160}, + [3347] = {.lex_state = 160}, + [3348] = {.lex_state = 160}, + [3349] = {.lex_state = 175}, + [3350] = {.lex_state = 163}, + [3351] = {.lex_state = 163}, + [3352] = {.lex_state = 163}, + [3353] = {.lex_state = 163}, + [3354] = {.lex_state = 163}, + [3355] = {.lex_state = 163}, + [3356] = {.lex_state = 163}, + [3357] = {.lex_state = 163}, + [3358] = {.lex_state = 160}, + [3359] = {.lex_state = 163}, + [3360] = {.lex_state = 163}, + [3361] = {.lex_state = 163}, + [3362] = {.lex_state = 163}, + [3363] = {.lex_state = 163}, + [3364] = {.lex_state = 160}, + [3365] = {.lex_state = 175}, + [3366] = {.lex_state = 175}, + [3367] = {.lex_state = 160}, + [3368] = {.lex_state = 160}, + [3369] = {.lex_state = 160}, + [3370] = {.lex_state = 163}, + [3371] = {.lex_state = 163}, + [3372] = {.lex_state = 163}, + [3373] = {.lex_state = 160}, + [3374] = {.lex_state = 163}, + [3375] = {.lex_state = 159}, + [3376] = {.lex_state = 177}, + [3377] = {.lex_state = 163}, + [3378] = {.lex_state = 163}, + [3379] = {.lex_state = 160}, + [3380] = {.lex_state = 160}, + [3381] = {.lex_state = 160}, + [3382] = {.lex_state = 163}, + [3383] = {.lex_state = 175}, + [3384] = {.lex_state = 163}, + [3385] = {.lex_state = 160}, + [3386] = {.lex_state = 163}, + [3387] = {.lex_state = 160}, + [3388] = {.lex_state = 163}, + [3389] = {.lex_state = 163}, + [3390] = {.lex_state = 160}, + [3391] = {.lex_state = 160}, + [3392] = {.lex_state = 163}, + [3393] = {.lex_state = 160}, + [3394] = {.lex_state = 160}, + [3395] = {.lex_state = 175}, + [3396] = {.lex_state = 163}, + [3397] = {.lex_state = 160}, + [3398] = {.lex_state = 163}, + [3399] = {.lex_state = 160}, + [3400] = {.lex_state = 163}, + [3401] = {.lex_state = 139}, + [3402] = {.lex_state = 175}, + [3403] = {.lex_state = 163}, + [3404] = {.lex_state = 163}, + [3405] = {.lex_state = 163}, + [3406] = {.lex_state = 175}, + [3407] = {.lex_state = 175}, + [3408] = {.lex_state = 175}, + [3409] = {.lex_state = 175}, + [3410] = {.lex_state = 175}, + [3411] = {.lex_state = 163}, + [3412] = {.lex_state = 175}, + [3413] = {.lex_state = 163}, + [3414] = {.lex_state = 163}, + [3415] = {.lex_state = 175}, + [3416] = {.lex_state = 163}, + [3417] = {.lex_state = 160}, + [3418] = {.lex_state = 178}, + [3419] = {.lex_state = 159}, + [3420] = {.lex_state = 175}, + [3421] = {.lex_state = 160}, + [3422] = {.lex_state = 163}, + [3423] = {.lex_state = 163}, + [3424] = {.lex_state = 163}, + [3425] = {.lex_state = 175}, + [3426] = {.lex_state = 163}, + [3427] = {.lex_state = 159}, + [3428] = {.lex_state = 163}, + [3429] = {.lex_state = 175}, + [3430] = {.lex_state = 163}, + [3431] = {.lex_state = 163}, + [3432] = {.lex_state = 175}, + [3433] = {.lex_state = 163}, + [3434] = {.lex_state = 163}, + [3435] = {.lex_state = 175}, + [3436] = {.lex_state = 163}, + [3437] = {.lex_state = 175}, + [3438] = {.lex_state = 160}, + [3439] = {.lex_state = 163}, + [3440] = {.lex_state = 163}, + [3441] = {.lex_state = 163}, + [3442] = {.lex_state = 163}, + [3443] = {.lex_state = 163}, + [3444] = {.lex_state = 163}, + [3445] = {.lex_state = 163}, + [3446] = {.lex_state = 175}, + [3447] = {.lex_state = 163}, + [3448] = {.lex_state = 160}, + [3449] = {.lex_state = 159}, + [3450] = {.lex_state = 163}, + [3451] = {.lex_state = 163}, + [3452] = {.lex_state = 175}, + [3453] = {.lex_state = 163}, + [3454] = {.lex_state = 160}, + [3455] = {.lex_state = 160}, + [3456] = {.lex_state = 163}, + [3457] = {.lex_state = 163}, + [3458] = {.lex_state = 175}, + [3459] = {.lex_state = 163}, + [3460] = {.lex_state = 175}, + [3461] = {.lex_state = 175}, + [3462] = {.lex_state = 163}, + [3463] = {.lex_state = 163}, + [3464] = {.lex_state = 160}, + [3465] = {.lex_state = 163}, + [3466] = {.lex_state = 163}, + [3467] = {.lex_state = 160}, + [3468] = {.lex_state = 163}, + [3469] = {.lex_state = 163}, + [3470] = {.lex_state = 175}, + [3471] = {.lex_state = 163}, + [3472] = {.lex_state = 163}, + [3473] = {.lex_state = 175}, + [3474] = {.lex_state = 175}, + [3475] = {.lex_state = 163}, + [3476] = {.lex_state = 163}, + [3477] = {.lex_state = 178}, + [3478] = {.lex_state = 139}, + [3479] = {.lex_state = 175}, + [3480] = {.lex_state = 163}, + [3481] = {.lex_state = 163}, + [3482] = {.lex_state = 175}, + [3483] = {.lex_state = 159}, + [3484] = {.lex_state = 163}, + [3485] = {.lex_state = 163}, + [3486] = {.lex_state = 163}, + [3487] = {.lex_state = 160}, + [3488] = {.lex_state = 163}, + [3489] = {.lex_state = 163}, + [3490] = {.lex_state = 163}, + [3491] = {.lex_state = 163}, + [3492] = {.lex_state = 163}, + [3493] = {.lex_state = 163}, + [3494] = {.lex_state = 160}, + [3495] = {.lex_state = 160}, + [3496] = {.lex_state = 163}, + [3497] = {.lex_state = 163}, + [3498] = {.lex_state = 163}, + [3499] = {.lex_state = 159}, + [3500] = {.lex_state = 163}, + [3501] = {.lex_state = 163}, + [3502] = {.lex_state = 163}, + [3503] = {.lex_state = 163}, + [3504] = {.lex_state = 163}, + [3505] = {.lex_state = 163}, + [3506] = {.lex_state = 163}, + [3507] = {.lex_state = 163}, + [3508] = {.lex_state = 163}, + [3509] = {.lex_state = 163}, + [3510] = {.lex_state = 177}, + [3511] = {.lex_state = 159}, + [3512] = {.lex_state = 163}, + [3513] = {.lex_state = 178}, + [3514] = {.lex_state = 163}, + [3515] = {.lex_state = 163}, + [3516] = {.lex_state = 163}, + [3517] = {.lex_state = 178}, + [3518] = {.lex_state = 160}, + [3519] = {.lex_state = 160}, + [3520] = {.lex_state = 160}, + [3521] = {.lex_state = 160}, + [3522] = {.lex_state = 160}, + [3523] = {.lex_state = 163}, + [3524] = {.lex_state = 163}, + [3525] = {.lex_state = 160}, + [3526] = {.lex_state = 160}, + [3527] = {.lex_state = 160}, + [3528] = {.lex_state = 163}, + [3529] = {.lex_state = 160}, + [3530] = {.lex_state = 160}, + [3531] = {.lex_state = 160}, + [3532] = {.lex_state = 160}, + [3533] = {.lex_state = 163}, + [3534] = {.lex_state = 163}, + [3535] = {.lex_state = 163}, + [3536] = {.lex_state = 160}, + [3537] = {.lex_state = 160}, + [3538] = {.lex_state = 163}, + [3539] = {.lex_state = 163}, + [3540] = {.lex_state = 160}, + [3541] = {.lex_state = 163}, + [3542] = {.lex_state = 163}, + [3543] = {.lex_state = 163}, + [3544] = {.lex_state = 160}, + [3545] = {.lex_state = 160}, + [3546] = {.lex_state = 163}, + [3547] = {.lex_state = 163}, + [3548] = {.lex_state = 163}, + [3549] = {.lex_state = 163}, + [3550] = {.lex_state = 163}, + [3551] = {.lex_state = 163}, + [3552] = {.lex_state = 163}, + [3553] = {.lex_state = 160}, + [3554] = {.lex_state = 160}, + [3555] = {.lex_state = 160}, + [3556] = {.lex_state = 163}, + [3557] = {.lex_state = 160}, + [3558] = {.lex_state = 160}, + [3559] = {.lex_state = 163}, + [3560] = {.lex_state = 178}, + [3561] = {.lex_state = 163}, + [3562] = {.lex_state = 178}, + [3563] = {.lex_state = 163}, + [3564] = {.lex_state = 163}, + [3565] = {.lex_state = 159}, + [3566] = {.lex_state = 163}, + [3567] = {.lex_state = 160}, + [3568] = {.lex_state = 163}, + [3569] = {.lex_state = 163}, + [3570] = {.lex_state = 159}, + [3571] = {.lex_state = 163}, + [3572] = {.lex_state = 177}, + [3573] = {.lex_state = 163}, + [3574] = {.lex_state = 163}, + [3575] = {.lex_state = 160}, + [3576] = {.lex_state = 163}, + [3577] = {.lex_state = 163}, + [3578] = {.lex_state = 163}, + [3579] = {.lex_state = 159}, + [3580] = {.lex_state = 163}, + [3581] = {.lex_state = 163}, + [3582] = {.lex_state = 179}, + [3583] = {.lex_state = 163}, + [3584] = {.lex_state = 163}, + [3585] = {.lex_state = 159}, + [3586] = {.lex_state = 163}, + [3587] = {.lex_state = 163}, + [3588] = {.lex_state = 163}, + [3589] = {.lex_state = 163}, + [3590] = {.lex_state = 163}, + [3591] = {.lex_state = 159}, + [3592] = {.lex_state = 163}, + [3593] = {.lex_state = 163}, + [3594] = {.lex_state = 163}, + [3595] = {.lex_state = 163}, + [3596] = {.lex_state = 163}, + [3597] = {.lex_state = 159}, + [3598] = {.lex_state = 163}, + [3599] = {.lex_state = 163}, + [3600] = {.lex_state = 163}, + [3601] = {.lex_state = 163}, + [3602] = {.lex_state = 163}, + [3603] = {.lex_state = 163}, + [3604] = {.lex_state = 163}, + [3605] = {.lex_state = 163}, + [3606] = {.lex_state = 163}, + [3607] = {.lex_state = 163}, + [3608] = {.lex_state = 163}, + [3609] = {.lex_state = 160}, + [3610] = {.lex_state = 163}, + [3611] = {.lex_state = 163}, + [3612] = {.lex_state = 163}, + [3613] = {.lex_state = 163}, + [3614] = {.lex_state = 163}, + [3615] = {.lex_state = 163}, + [3616] = {.lex_state = 163}, + [3617] = {.lex_state = 163}, + [3618] = {.lex_state = 163}, + [3619] = {.lex_state = 163}, + [3620] = {.lex_state = 163}, + [3621] = {.lex_state = 163}, + [3622] = {.lex_state = 163}, + [3623] = {.lex_state = 163}, + [3624] = {.lex_state = 163}, + [3625] = {.lex_state = 163}, + [3626] = {.lex_state = 163}, + [3627] = {.lex_state = 163}, + [3628] = {.lex_state = 163}, + [3629] = {.lex_state = 178}, + [3630] = {.lex_state = 163}, + [3631] = {.lex_state = 163}, + [3632] = {.lex_state = 163}, + [3633] = {.lex_state = 163}, + [3634] = {.lex_state = 163}, + [3635] = {.lex_state = 163}, + [3636] = {.lex_state = 163}, + [3637] = {.lex_state = 163}, + [3638] = {.lex_state = 163}, + [3639] = {.lex_state = 178}, + [3640] = {.lex_state = 163}, + [3641] = {.lex_state = 163}, + [3642] = {.lex_state = 163}, + [3643] = {.lex_state = 163}, + [3644] = {.lex_state = 163}, + [3645] = {.lex_state = 163}, + [3646] = {.lex_state = 163}, + [3647] = {.lex_state = 163}, + [3648] = {.lex_state = 163}, + [3649] = {.lex_state = 178}, + [3650] = {.lex_state = 163}, + [3651] = {.lex_state = 163}, + [3652] = {.lex_state = 163}, + [3653] = {.lex_state = 163}, + [3654] = {.lex_state = 163}, + [3655] = {.lex_state = 159}, + [3656] = {.lex_state = 163}, + [3657] = {.lex_state = 163}, + [3658] = {.lex_state = 163}, + [3659] = {.lex_state = 163}, + [3660] = {.lex_state = 163}, + [3661] = {.lex_state = 163}, + [3662] = {.lex_state = 163}, + [3663] = {.lex_state = 163}, + [3664] = {.lex_state = 163}, + [3665] = {.lex_state = 163}, + [3666] = {.lex_state = 163}, + [3667] = {.lex_state = 163}, + [3668] = {.lex_state = 163}, + [3669] = {.lex_state = 163}, + [3670] = {.lex_state = 163}, + [3671] = {.lex_state = 163}, + [3672] = {.lex_state = 163}, + [3673] = {.lex_state = 178}, + [3674] = {.lex_state = 163}, + [3675] = {.lex_state = 163}, + [3676] = {.lex_state = 163}, + [3677] = {.lex_state = 159}, + [3678] = {.lex_state = 160}, + [3679] = {.lex_state = 160}, + [3680] = {.lex_state = 160}, + [3681] = {.lex_state = 160}, + [3682] = {.lex_state = 176}, + [3683] = {.lex_state = 177}, + [3684] = {.lex_state = 176}, + [3685] = {.lex_state = 160}, + [3686] = {.lex_state = 176}, + [3687] = {.lex_state = 160}, + [3688] = {.lex_state = 160}, + [3689] = {.lex_state = 160}, + [3690] = {.lex_state = 160}, + [3691] = {.lex_state = 160}, + [3692] = {.lex_state = 160}, + [3693] = {.lex_state = 176}, + [3694] = {.lex_state = 160}, + [3695] = {.lex_state = 160}, + [3696] = {.lex_state = 160}, + [3697] = {.lex_state = 176}, + [3698] = {.lex_state = 160}, + [3699] = {.lex_state = 160}, + [3700] = {.lex_state = 176}, + [3701] = {.lex_state = 176}, + [3702] = {.lex_state = 178}, + [3703] = {.lex_state = 176}, + [3704] = {.lex_state = 176}, + [3705] = {.lex_state = 178}, + [3706] = {.lex_state = 176}, + [3707] = {.lex_state = 176}, + [3708] = {.lex_state = 176}, + [3709] = {.lex_state = 160}, + [3710] = {.lex_state = 176}, + [3711] = {.lex_state = 176}, + [3712] = {.lex_state = 159}, + [3713] = {.lex_state = 159}, + [3714] = {.lex_state = 176}, + [3715] = {.lex_state = 159}, + [3716] = {.lex_state = 159}, + [3717] = {.lex_state = 176}, + [3718] = {.lex_state = 160}, + [3719] = {.lex_state = 160}, + [3720] = {.lex_state = 176}, + [3721] = {.lex_state = 178}, + [3722] = {.lex_state = 176}, + [3723] = {.lex_state = 160}, + [3724] = {.lex_state = 159}, + [3725] = {.lex_state = 160}, + [3726] = {.lex_state = 160}, + [3727] = {.lex_state = 160}, + [3728] = {.lex_state = 160}, + [3729] = {.lex_state = 178}, + [3730] = {.lex_state = 160}, + [3731] = {.lex_state = 177}, + [3732] = {.lex_state = 159}, + [3733] = {.lex_state = 159}, + [3734] = {.lex_state = 177}, + [3735] = {.lex_state = 159}, + [3736] = {.lex_state = 178}, + [3737] = {.lex_state = 160}, + [3738] = {.lex_state = 160}, + [3739] = {.lex_state = 159}, + [3740] = {.lex_state = 160}, + [3741] = {.lex_state = 160}, + [3742] = {.lex_state = 160}, + [3743] = {.lex_state = 160}, + [3744] = {.lex_state = 160}, + [3745] = {.lex_state = 159}, + [3746] = {.lex_state = 178}, + [3747] = {.lex_state = 178}, + [3748] = {.lex_state = 160}, + [3749] = {.lex_state = 160}, + [3750] = {.lex_state = 160}, + [3751] = {.lex_state = 159}, + [3752] = {.lex_state = 160}, + [3753] = {.lex_state = 160}, + [3754] = {.lex_state = 178}, + [3755] = {.lex_state = 160}, + [3756] = {.lex_state = 160}, + [3757] = {.lex_state = 160}, + [3758] = {.lex_state = 160}, + [3759] = {.lex_state = 178}, + [3760] = {.lex_state = 160}, + [3761] = {.lex_state = 160}, + [3762] = {.lex_state = 181}, + [3763] = {.lex_state = 177}, + [3764] = {.lex_state = 177}, + [3765] = {.lex_state = 160}, + [3766] = {.lex_state = 178}, + [3767] = {.lex_state = 159}, + [3768] = {.lex_state = 177}, + [3769] = {.lex_state = 159}, + [3770] = {.lex_state = 160}, + [3771] = {.lex_state = 177}, + [3772] = {.lex_state = 160}, + [3773] = {.lex_state = 178}, + [3774] = {.lex_state = 160}, + [3775] = {.lex_state = 178}, + [3776] = {.lex_state = 178}, + [3777] = {.lex_state = 178}, + [3778] = {.lex_state = 177}, + [3779] = {.lex_state = 178}, + [3780] = {.lex_state = 160}, + [3781] = {.lex_state = 160}, + [3782] = {.lex_state = 159}, + [3783] = {.lex_state = 159}, + [3784] = {.lex_state = 160}, + [3785] = {.lex_state = 160}, + [3786] = {.lex_state = 160}, + [3787] = {.lex_state = 160}, + [3788] = {.lex_state = 160}, + [3789] = {.lex_state = 177}, + [3790] = {.lex_state = 178}, + [3791] = {.lex_state = 177}, + [3792] = {.lex_state = 177}, + [3793] = {.lex_state = 177}, + [3794] = {.lex_state = 177}, + [3795] = {.lex_state = 159}, + [3796] = {.lex_state = 181}, + [3797] = {.lex_state = 159}, + [3798] = {.lex_state = 177}, + [3799] = {.lex_state = 160}, + [3800] = {.lex_state = 159}, + [3801] = {.lex_state = 159}, + [3802] = {.lex_state = 160}, + [3803] = {.lex_state = 177}, + [3804] = {.lex_state = 177}, + [3805] = {.lex_state = 159}, + [3806] = {.lex_state = 180}, + [3807] = {.lex_state = 175}, + [3808] = {.lex_state = 178}, + [3809] = {.lex_state = 180}, + [3810] = {.lex_state = 180}, + [3811] = {.lex_state = 180}, + [3812] = {.lex_state = 159}, + [3813] = {.lex_state = 180}, + [3814] = {.lex_state = 178}, + [3815] = {.lex_state = 180}, + [3816] = {.lex_state = 178}, + [3817] = {.lex_state = 180}, + [3818] = {.lex_state = 180}, + [3819] = {.lex_state = 159}, + [3820] = {.lex_state = 180}, + [3821] = {.lex_state = 159}, + [3822] = {.lex_state = 159}, + [3823] = {.lex_state = 159}, + [3824] = {.lex_state = 159}, + [3825] = {.lex_state = 159}, + [3826] = {.lex_state = 177}, + [3827] = {.lex_state = 177}, + [3828] = {.lex_state = 177}, + [3829] = {.lex_state = 177}, + [3830] = {.lex_state = 177}, + [3831] = {.lex_state = 160}, + [3832] = {.lex_state = 160}, + [3833] = {.lex_state = 160}, + [3834] = {.lex_state = 178}, + [3835] = {.lex_state = 160}, + [3836] = {.lex_state = 178}, + [3837] = {.lex_state = 177}, + [3838] = {.lex_state = 160}, + [3839] = {.lex_state = 160}, + [3840] = {.lex_state = 160}, + [3841] = {.lex_state = 160}, + [3842] = {.lex_state = 177}, + [3843] = {.lex_state = 177}, + [3844] = {.lex_state = 177}, + [3845] = {.lex_state = 177}, + [3846] = {.lex_state = 177}, + [3847] = {.lex_state = 160}, + [3848] = {.lex_state = 160}, + [3849] = {.lex_state = 160}, + [3850] = {.lex_state = 177}, + [3851] = {.lex_state = 177}, + [3852] = {.lex_state = 164}, + [3853] = {.lex_state = 177}, + [3854] = {.lex_state = 178}, + [3855] = {.lex_state = 158}, + [3856] = {.lex_state = 165}, + [3857] = {.lex_state = 177}, + [3858] = {.lex_state = 164}, + [3859] = {.lex_state = 178}, + [3860] = {.lex_state = 177}, + [3861] = {.lex_state = 158}, + [3862] = {.lex_state = 158}, + [3863] = {.lex_state = 177}, + [3864] = {.lex_state = 158}, + [3865] = {.lex_state = 177}, + [3866] = {.lex_state = 177}, + [3867] = {.lex_state = 177}, + [3868] = {.lex_state = 158}, + [3869] = {.lex_state = 178}, + [3870] = {.lex_state = 180}, + [3871] = {.lex_state = 176}, + [3872] = {.lex_state = 177}, + [3873] = {.lex_state = 177}, + [3874] = {.lex_state = 177}, + [3875] = {.lex_state = 165}, + [3876] = {.lex_state = 177}, + [3877] = {.lex_state = 176}, + [3878] = {.lex_state = 176}, + [3879] = {.lex_state = 177}, + [3880] = {.lex_state = 180}, + [3881] = {.lex_state = 180}, + [3882] = {.lex_state = 136}, + [3883] = {.lex_state = 177}, + [3884] = {.lex_state = 176}, + [3885] = {.lex_state = 178}, + [3886] = {.lex_state = 136}, + [3887] = {.lex_state = 178}, + [3888] = {.lex_state = 178}, + [3889] = {.lex_state = 160}, + [3890] = {.lex_state = 160}, + [3891] = {.lex_state = 77}, + [3892] = {.lex_state = 159}, + [3893] = {.lex_state = 129}, + [3894] = {.lex_state = 159}, + [3895] = {.lex_state = 160}, + [3896] = {.lex_state = 159}, + [3897] = {.lex_state = 160}, + [3898] = {.lex_state = 160}, + [3899] = {.lex_state = 136}, + [3900] = {.lex_state = 129}, + [3901] = {.lex_state = 129}, + [3902] = {.lex_state = 136}, + [3903] = {.lex_state = 129}, + [3904] = {.lex_state = 129}, + [3905] = {.lex_state = 129}, + [3906] = {.lex_state = 136}, + [3907] = {.lex_state = 136}, + [3908] = {.lex_state = 136}, + [3909] = {.lex_state = 158}, + [3910] = {.lex_state = 129}, + [3911] = {.lex_state = 158}, + [3912] = {.lex_state = 158}, + [3913] = {.lex_state = 129}, + [3914] = {.lex_state = 136}, + [3915] = {.lex_state = 136}, + [3916] = {.lex_state = 136}, + [3917] = {.lex_state = 129}, + [3918] = {.lex_state = 136}, + [3919] = {.lex_state = 129}, + [3920] = {.lex_state = 136}, + [3921] = {.lex_state = 136}, + [3922] = {.lex_state = 158}, + [3923] = {.lex_state = 158}, + [3924] = {.lex_state = 158}, + [3925] = {.lex_state = 158}, + [3926] = {.lex_state = 129}, + [3927] = {.lex_state = 129}, + [3928] = {.lex_state = 177}, + [3929] = {.lex_state = 136}, + [3930] = {.lex_state = 158}, + [3931] = {.lex_state = 158}, + [3932] = {.lex_state = 158}, + [3933] = {.lex_state = 177}, + [3934] = {.lex_state = 158}, + [3935] = {.lex_state = 129}, + [3936] = {.lex_state = 129}, + [3937] = {.lex_state = 129}, + [3938] = {.lex_state = 158}, + [3939] = {.lex_state = 158}, + [3940] = {.lex_state = 158}, + [3941] = {.lex_state = 129}, + [3942] = {.lex_state = 129}, + [3943] = {.lex_state = 129}, + [3944] = {.lex_state = 129}, + [3945] = {.lex_state = 129}, + [3946] = {.lex_state = 158}, + [3947] = {.lex_state = 129}, + [3948] = {.lex_state = 129}, + [3949] = {.lex_state = 129}, + [3950] = {.lex_state = 129}, + [3951] = {.lex_state = 164}, + [3952] = {.lex_state = 136}, + [3953] = {.lex_state = 164}, + [3954] = {.lex_state = 158}, + [3955] = {.lex_state = 158}, + [3956] = {.lex_state = 129}, + [3957] = {.lex_state = 136}, + [3958] = {.lex_state = 136}, + [3959] = {.lex_state = 136}, + [3960] = {.lex_state = 177}, + [3961] = {.lex_state = 158}, + [3962] = {.lex_state = 158}, + [3963] = {.lex_state = 158}, + [3964] = {.lex_state = 136}, + [3965] = {.lex_state = 136}, + [3966] = {.lex_state = 158}, + [3967] = {.lex_state = 158}, + [3968] = {.lex_state = 158}, + [3969] = {.lex_state = 136}, + [3970] = {.lex_state = 129}, + [3971] = {.lex_state = 129}, + [3972] = {.lex_state = 129}, + [3973] = {.lex_state = 129}, + [3974] = {.lex_state = 160}, + [3975] = {.lex_state = 129}, + [3976] = {.lex_state = 129}, + [3977] = {.lex_state = 129}, + [3978] = {.lex_state = 129}, + [3979] = {.lex_state = 158}, + [3980] = {.lex_state = 158}, + [3981] = {.lex_state = 158}, + [3982] = {.lex_state = 129}, + [3983] = {.lex_state = 136}, + [3984] = {.lex_state = 129}, + [3985] = {.lex_state = 158}, + [3986] = {.lex_state = 136}, + [3987] = {.lex_state = 158}, + [3988] = {.lex_state = 158}, + [3989] = {.lex_state = 158}, + [3990] = {.lex_state = 158}, + [3991] = {.lex_state = 158}, + [3992] = {.lex_state = 177}, + [3993] = {.lex_state = 129}, + [3994] = {.lex_state = 158}, + [3995] = {.lex_state = 158}, + [3996] = {.lex_state = 177}, + [3997] = {.lex_state = 177}, + [3998] = {.lex_state = 177}, + [3999] = {.lex_state = 177}, + [4000] = {.lex_state = 177}, + [4001] = {.lex_state = 77}, + [4002] = {.lex_state = 177}, + [4003] = {.lex_state = 77}, + [4004] = {.lex_state = 148}, + [4005] = {.lex_state = 77}, + [4006] = {.lex_state = 77}, + [4007] = {.lex_state = 77}, + [4008] = {.lex_state = 77}, + [4009] = {.lex_state = 77}, + [4010] = {.lex_state = 148}, + [4011] = {.lex_state = 148}, + [4012] = {.lex_state = 77}, + [4013] = {.lex_state = 177}, + [4014] = {.lex_state = 160}, + [4015] = {.lex_state = 177}, + [4016] = {.lex_state = 177}, + [4017] = {.lex_state = 77}, + [4018] = {.lex_state = 77}, + [4019] = {.lex_state = 77}, + [4020] = {.lex_state = 77}, + [4021] = {.lex_state = 177}, + [4022] = {.lex_state = 77}, + [4023] = {.lex_state = 177}, + [4024] = {.lex_state = 77}, + [4025] = {.lex_state = 177}, + [4026] = {.lex_state = 77}, + [4027] = {.lex_state = 177}, + [4028] = {.lex_state = 177}, + [4029] = {.lex_state = 77}, + [4030] = {.lex_state = 177}, + [4031] = {.lex_state = 177}, + [4032] = {.lex_state = 148}, + [4033] = {.lex_state = 148}, + [4034] = {.lex_state = 177}, + [4035] = {.lex_state = 148}, + [4036] = {.lex_state = 77}, + [4037] = {.lex_state = 177}, + [4038] = {.lex_state = 77}, + [4039] = {.lex_state = 148}, + [4040] = {.lex_state = 148}, + [4041] = {.lex_state = 148}, + [4042] = {.lex_state = 148}, + [4043] = {.lex_state = 136}, + [4044] = {.lex_state = 148}, + [4045] = {.lex_state = 148}, + [4046] = {.lex_state = 177}, + [4047] = {.lex_state = 177}, + [4048] = {.lex_state = 177}, + [4049] = {.lex_state = 148}, + [4050] = {.lex_state = 148}, + [4051] = {.lex_state = 148}, + [4052] = {.lex_state = 148}, + [4053] = {.lex_state = 177}, + [4054] = {.lex_state = 148}, + [4055] = {.lex_state = 177}, + [4056] = {.lex_state = 148}, + [4057] = {.lex_state = 148}, + [4058] = {.lex_state = 177}, + [4059] = {.lex_state = 148}, + [4060] = {.lex_state = 148}, + [4061] = {.lex_state = 148}, + [4062] = {.lex_state = 148}, + [4063] = {.lex_state = 177}, + [4064] = {.lex_state = 148}, + [4065] = {.lex_state = 177}, + [4066] = {.lex_state = 177}, + [4067] = {.lex_state = 148}, + [4068] = {.lex_state = 77}, + [4069] = {.lex_state = 148}, + [4070] = {.lex_state = 148}, + [4071] = {.lex_state = 177}, + [4072] = {.lex_state = 177}, + [4073] = {.lex_state = 177}, + [4074] = {.lex_state = 177}, + [4075] = {.lex_state = 136}, + [4076] = {.lex_state = 77}, + [4077] = {.lex_state = 77}, + [4078] = {.lex_state = 177}, + [4079] = {.lex_state = 177}, + [4080] = {.lex_state = 177}, + [4081] = {.lex_state = 177}, + [4082] = {.lex_state = 177}, + [4083] = {.lex_state = 177}, + [4084] = {.lex_state = 177}, + [4085] = {.lex_state = 177}, + [4086] = {.lex_state = 177}, + [4087] = {.lex_state = 148}, + [4088] = {.lex_state = 177}, + [4089] = {.lex_state = 177}, + [4090] = {.lex_state = 177}, + [4091] = {.lex_state = 177}, + [4092] = {.lex_state = 177}, + [4093] = {.lex_state = 148}, + [4094] = {.lex_state = 177}, + [4095] = {.lex_state = 77}, + [4096] = {.lex_state = 177}, + [4097] = {.lex_state = 148}, + [4098] = {.lex_state = 148}, + [4099] = {.lex_state = 148}, + [4100] = {.lex_state = 148}, + [4101] = {.lex_state = 77}, + [4102] = {.lex_state = 178}, + [4103] = {.lex_state = 177}, + [4104] = {.lex_state = 148}, + [4105] = {.lex_state = 177}, + [4106] = {.lex_state = 148}, + [4107] = {.lex_state = 148}, + [4108] = {.lex_state = 77}, + [4109] = {.lex_state = 77}, + [4110] = {.lex_state = 177}, + [4111] = {.lex_state = 148}, + [4112] = {.lex_state = 148}, + [4113] = {.lex_state = 177}, + [4114] = {.lex_state = 77}, + [4115] = {.lex_state = 148}, + [4116] = {.lex_state = 177}, + [4117] = {.lex_state = 148}, + [4118] = {.lex_state = 177}, + [4119] = {.lex_state = 177}, + [4120] = {.lex_state = 148}, + [4121] = {.lex_state = 177}, + [4122] = {.lex_state = 177}, + [4123] = {.lex_state = 77}, + [4124] = {.lex_state = 177}, + [4125] = {.lex_state = 177}, + [4126] = {.lex_state = 177}, + [4127] = {.lex_state = 177}, + [4128] = {.lex_state = 148}, + [4129] = {.lex_state = 148}, + [4130] = {.lex_state = 148}, + [4131] = {.lex_state = 148}, + [4132] = {.lex_state = 177}, + [4133] = {.lex_state = 148}, + [4134] = {.lex_state = 148}, + [4135] = {.lex_state = 177}, + [4136] = {.lex_state = 177}, + [4137] = {.lex_state = 148}, + [4138] = {.lex_state = 148}, + [4139] = {.lex_state = 148}, + [4140] = {.lex_state = 148}, + [4141] = {.lex_state = 77}, + [4142] = {.lex_state = 176}, + [4143] = {.lex_state = 176}, + [4144] = {.lex_state = 148}, + [4145] = {.lex_state = 148}, + [4146] = {.lex_state = 148}, + [4147] = {.lex_state = 148}, + [4148] = {.lex_state = 159}, + [4149] = {.lex_state = 148}, + [4150] = {.lex_state = 159}, + [4151] = {.lex_state = 148}, + [4152] = {.lex_state = 159}, + [4153] = {.lex_state = 148}, + [4154] = {.lex_state = 148}, + [4155] = {.lex_state = 148}, + [4156] = {.lex_state = 148}, + [4157] = {.lex_state = 148}, + [4158] = {.lex_state = 148}, + [4159] = {.lex_state = 148}, + [4160] = {.lex_state = 148}, + [4161] = {.lex_state = 148}, + [4162] = {.lex_state = 148}, + [4163] = {.lex_state = 159}, + [4164] = {.lex_state = 148}, + [4165] = {.lex_state = 148}, + [4166] = {.lex_state = 160}, + [4167] = {.lex_state = 148}, + [4168] = {.lex_state = 179}, + [4169] = {.lex_state = 148}, + [4170] = {.lex_state = 148}, + [4171] = {.lex_state = 148}, + [4172] = {.lex_state = 148}, + [4173] = {.lex_state = 148}, + [4174] = {.lex_state = 148}, + [4175] = {.lex_state = 148}, + [4176] = {.lex_state = 148}, + [4177] = {.lex_state = 148}, + [4178] = {.lex_state = 148}, + [4179] = {.lex_state = 148}, + [4180] = {.lex_state = 148}, + [4181] = {.lex_state = 148}, + [4182] = {.lex_state = 148}, + [4183] = {.lex_state = 148}, + [4184] = {.lex_state = 148}, + [4185] = {.lex_state = 148}, + [4186] = {.lex_state = 148}, + [4187] = {.lex_state = 179}, + [4188] = {.lex_state = 179}, + [4189] = {.lex_state = 148}, + [4190] = {.lex_state = 148}, + [4191] = {.lex_state = 148}, + [4192] = {.lex_state = 148}, + [4193] = {.lex_state = 148}, + [4194] = {.lex_state = 160}, + [4195] = {.lex_state = 127}, + [4196] = {.lex_state = 127}, + [4197] = {.lex_state = 160}, + [4198] = {.lex_state = 160}, + [4199] = {.lex_state = 160}, + [4200] = {.lex_state = 177}, + [4201] = {.lex_state = 127}, + [4202] = {.lex_state = 148}, + [4203] = {.lex_state = 148}, + [4204] = {.lex_state = 160}, + [4205] = {.lex_state = 127}, + [4206] = {.lex_state = 160}, + [4207] = {.lex_state = 160}, + [4208] = {.lex_state = 159}, + [4209] = {.lex_state = 160}, + [4210] = {.lex_state = 160}, + [4211] = {.lex_state = 127}, + [4212] = {.lex_state = 160}, + [4213] = {.lex_state = 127}, + [4214] = {.lex_state = 127}, + [4215] = {.lex_state = 160}, + [4216] = {.lex_state = 127}, + [4217] = {.lex_state = 148}, + [4218] = {.lex_state = 127}, + [4219] = {.lex_state = 148}, + [4220] = {.lex_state = 148}, + [4221] = {.lex_state = 148}, + [4222] = {.lex_state = 148}, + [4223] = {.lex_state = 148}, + [4224] = {.lex_state = 148}, + [4225] = {.lex_state = 148}, + [4226] = {.lex_state = 148}, + [4227] = {.lex_state = 148}, + [4228] = {.lex_state = 148}, + [4229] = {.lex_state = 148}, + [4230] = {.lex_state = 148}, + [4231] = {.lex_state = 148}, + [4232] = {.lex_state = 148}, + [4233] = {.lex_state = 148}, + [4234] = {.lex_state = 148}, + [4235] = {.lex_state = 148}, + [4236] = {.lex_state = 148}, + [4237] = {.lex_state = 148}, + [4238] = {.lex_state = 148}, + [4239] = {.lex_state = 148}, + [4240] = {.lex_state = 148}, + [4241] = {.lex_state = 148}, + [4242] = {.lex_state = 148}, + [4243] = {.lex_state = 148}, + [4244] = {.lex_state = 148}, + [4245] = {.lex_state = 148}, + [4246] = {.lex_state = 148}, + [4247] = {.lex_state = 148}, + [4248] = {.lex_state = 148}, + [4249] = {.lex_state = 148}, + [4250] = {.lex_state = 159}, + [4251] = {.lex_state = 148}, + [4252] = {.lex_state = 148}, + [4253] = {.lex_state = 148}, + [4254] = {.lex_state = 148}, + [4255] = {.lex_state = 148}, + [4256] = {.lex_state = 148}, + [4257] = {.lex_state = 148}, + [4258] = {.lex_state = 148}, + [4259] = {.lex_state = 148}, + [4260] = {.lex_state = 148}, + [4261] = {.lex_state = 148}, + [4262] = {.lex_state = 148}, + [4263] = {.lex_state = 148}, + [4264] = {.lex_state = 148}, + [4265] = {.lex_state = 148}, + [4266] = {.lex_state = 148}, + [4267] = {.lex_state = 148}, + [4268] = {.lex_state = 148}, + [4269] = {.lex_state = 148}, + [4270] = {.lex_state = 148}, + [4271] = {.lex_state = 148}, + [4272] = {.lex_state = 148}, + [4273] = {.lex_state = 148}, + [4274] = {.lex_state = 148}, + [4275] = {.lex_state = 148}, + [4276] = {.lex_state = 148}, + [4277] = {.lex_state = 148}, + [4278] = {.lex_state = 148}, + [4279] = {.lex_state = 148}, + [4280] = {.lex_state = 148}, + [4281] = {.lex_state = 148}, + [4282] = {.lex_state = 148}, + [4283] = {.lex_state = 148}, + [4284] = {.lex_state = 148}, + [4285] = {.lex_state = 148}, + [4286] = {.lex_state = 148}, + [4287] = {.lex_state = 148}, + [4288] = {.lex_state = 148}, + [4289] = {.lex_state = 148}, + [4290] = {.lex_state = 148}, + [4291] = {.lex_state = 148}, + [4292] = {.lex_state = 148}, + [4293] = {.lex_state = 148}, + [4294] = {.lex_state = 148}, + [4295] = {.lex_state = 148}, + [4296] = {.lex_state = 148}, + [4297] = {.lex_state = 148}, + [4298] = {.lex_state = 148}, + [4299] = {.lex_state = 148}, + [4300] = {.lex_state = 148}, + [4301] = {.lex_state = 148}, + [4302] = {.lex_state = 148}, + [4303] = {.lex_state = 148}, + [4304] = {.lex_state = 148}, + [4305] = {.lex_state = 127}, + [4306] = {.lex_state = 239}, + [4307] = {.lex_state = 148}, + [4308] = {.lex_state = 127}, + [4309] = {.lex_state = 179}, + [4310] = {.lex_state = 159}, + [4311] = {.lex_state = 159}, + [4312] = {.lex_state = 148}, + [4313] = {.lex_state = 127}, + [4314] = {.lex_state = 148}, + [4315] = {.lex_state = 159}, + [4316] = {.lex_state = 239}, + [4317] = {.lex_state = 127}, + [4318] = {.lex_state = 148}, + [4319] = {.lex_state = 148}, + [4320] = {.lex_state = 159}, + [4321] = {.lex_state = 127}, + [4322] = {.lex_state = 239}, + [4323] = {.lex_state = 148}, + [4324] = {.lex_state = 127}, + [4325] = {.lex_state = 159}, + [4326] = {.lex_state = 148}, + [4327] = {.lex_state = 179}, + [4328] = {.lex_state = 148}, + [4329] = {.lex_state = 159}, + [4330] = {.lex_state = 239}, + [4331] = {.lex_state = 159}, + [4332] = {.lex_state = 127}, + [4333] = {.lex_state = 148}, + [4334] = {.lex_state = 148}, + [4335] = {.lex_state = 148}, + [4336] = {.lex_state = 159}, + [4337] = {.lex_state = 159}, + [4338] = {.lex_state = 127}, + [4339] = {.lex_state = 179}, + [4340] = {.lex_state = 239}, + [4341] = {.lex_state = 239}, + [4342] = {.lex_state = 239}, + [4343] = {.lex_state = 179}, + [4344] = {.lex_state = 159}, + [4345] = {.lex_state = 159}, + [4346] = {.lex_state = 179}, + [4347] = {.lex_state = 179}, + [4348] = {.lex_state = 160}, + [4349] = {.lex_state = 159}, + [4350] = {.lex_state = 148}, + [4351] = {.lex_state = 159}, + [4352] = {.lex_state = 159}, + [4353] = {.lex_state = 148}, + [4354] = {.lex_state = 159}, + [4355] = {.lex_state = 127}, + [4356] = {.lex_state = 159}, + [4357] = {.lex_state = 148}, + [4358] = {.lex_state = 164}, + [4359] = {.lex_state = 164}, + [4360] = {.lex_state = 164}, + [4361] = {.lex_state = 164}, + [4362] = {.lex_state = 164}, + [4363] = {.lex_state = 148}, + [4364] = {.lex_state = 164}, + [4365] = {.lex_state = 148}, + [4366] = {.lex_state = 164}, + [4367] = {.lex_state = 239}, + [4368] = {.lex_state = 239}, + [4369] = {.lex_state = 148}, + [4370] = {.lex_state = 148}, + [4371] = {.lex_state = 239}, + [4372] = {.lex_state = 148}, + [4373] = {.lex_state = 148}, + [4374] = {.lex_state = 148}, + [4375] = {.lex_state = 164}, + [4376] = {.lex_state = 164}, + [4377] = {.lex_state = 148}, + [4378] = {.lex_state = 148}, + [4379] = {.lex_state = 239}, + [4380] = {.lex_state = 239}, + [4381] = {.lex_state = 239}, + [4382] = {.lex_state = 148}, + [4383] = {.lex_state = 148}, + [4384] = {.lex_state = 148}, + [4385] = {.lex_state = 148}, + [4386] = {.lex_state = 239}, + [4387] = {.lex_state = 239}, + [4388] = {.lex_state = 148}, + [4389] = {.lex_state = 148}, + [4390] = {.lex_state = 177}, + [4391] = {.lex_state = 148}, + [4392] = {.lex_state = 176}, + [4393] = {.lex_state = 148}, + [4394] = {.lex_state = 148}, + [4395] = {.lex_state = 176}, + [4396] = {.lex_state = 148}, + [4397] = {.lex_state = 148}, + [4398] = {.lex_state = 148}, + [4399] = {.lex_state = 148}, + [4400] = {.lex_state = 127}, + [4401] = {.lex_state = 239}, + [4402] = {.lex_state = 148}, + [4403] = {.lex_state = 148}, + [4404] = {.lex_state = 148}, + [4405] = {.lex_state = 148}, + [4406] = {.lex_state = 148}, + [4407] = {.lex_state = 148}, + [4408] = {.lex_state = 148}, + [4409] = {.lex_state = 148}, + [4410] = {.lex_state = 177}, + [4411] = {.lex_state = 148}, + [4412] = {.lex_state = 148}, + [4413] = {.lex_state = 148}, + [4414] = {.lex_state = 148}, + [4415] = {.lex_state = 176}, + [4416] = {.lex_state = 179}, + [4417] = {.lex_state = 178}, + [4418] = {.lex_state = 178}, + [4419] = {.lex_state = 179}, + [4420] = {.lex_state = 178}, + [4421] = {.lex_state = 178}, + [4422] = {.lex_state = 179}, + [4423] = {.lex_state = 178}, + [4424] = {.lex_state = 239}, + [4425] = {.lex_state = 178}, + [4426] = {.lex_state = 178}, + [4427] = {.lex_state = 178}, + [4428] = {.lex_state = 178}, + [4429] = {.lex_state = 178}, + [4430] = {.lex_state = 179}, + [4431] = {.lex_state = 178}, + [4432] = {.lex_state = 179}, + [4433] = {.lex_state = 159}, + [4434] = {.lex_state = 178}, + [4435] = {.lex_state = 178}, + [4436] = {.lex_state = 179}, + [4437] = {.lex_state = 178}, + [4438] = {.lex_state = 179}, + [4439] = {.lex_state = 176}, + [4440] = {.lex_state = 178}, + [4441] = {.lex_state = 176}, + [4442] = {.lex_state = 178}, + [4443] = {.lex_state = 178}, + [4444] = {.lex_state = 179}, + [4445] = {.lex_state = 179}, + [4446] = {.lex_state = 179}, + [4447] = {.lex_state = 179}, + [4448] = {.lex_state = 179}, + [4449] = {.lex_state = 178}, + [4450] = {.lex_state = 179}, + [4451] = {.lex_state = 178}, + [4452] = {.lex_state = 178}, + [4453] = {.lex_state = 178}, + [4454] = {.lex_state = 179}, + [4455] = {.lex_state = 148}, + [4456] = {.lex_state = 178}, + [4457] = {.lex_state = 178}, + [4458] = {.lex_state = 239}, + [4459] = {.lex_state = 179}, + [4460] = {.lex_state = 178}, + [4461] = {.lex_state = 178}, + [4462] = {.lex_state = 159}, + [4463] = {.lex_state = 176}, + [4464] = {.lex_state = 239}, + [4465] = {.lex_state = 179}, + [4466] = {.lex_state = 178}, + [4467] = {.lex_state = 179}, + [4468] = {.lex_state = 179}, + [4469] = {.lex_state = 178}, + [4470] = {.lex_state = 179}, + [4471] = {.lex_state = 179}, + [4472] = {.lex_state = 129}, + [4473] = {.lex_state = 178}, + [4474] = {.lex_state = 179}, + [4475] = {.lex_state = 148}, + [4476] = {.lex_state = 177}, + [4477] = {.lex_state = 178}, + [4478] = {.lex_state = 177}, + [4479] = {.lex_state = 179}, + [4480] = {.lex_state = 179}, + [4481] = {.lex_state = 176}, + [4482] = {.lex_state = 178}, + [4483] = {.lex_state = 179}, + [4484] = {.lex_state = 176}, + [4485] = {.lex_state = 179}, + [4486] = {.lex_state = 178}, + [4487] = {.lex_state = 178}, + [4488] = {.lex_state = 178}, + [4489] = {.lex_state = 178}, + [4490] = {.lex_state = 176}, + [4491] = {.lex_state = 178}, + [4492] = {.lex_state = 178}, + [4493] = {.lex_state = 179}, + [4494] = {.lex_state = 239}, + [4495] = {.lex_state = 177}, + [4496] = {.lex_state = 179}, + [4497] = {.lex_state = 178}, + [4498] = {.lex_state = 179}, + [4499] = {.lex_state = 148}, + [4500] = {.lex_state = 179}, + [4501] = {.lex_state = 179}, + [4502] = {.lex_state = 179}, + [4503] = {.lex_state = 179}, + [4504] = {.lex_state = 177}, + [4505] = {.lex_state = 148}, + [4506] = {.lex_state = 179}, + [4507] = {.lex_state = 148}, + [4508] = {.lex_state = 177}, + [4509] = {.lex_state = 179}, + [4510] = {.lex_state = 177}, + [4511] = {.lex_state = 178}, + [4512] = {.lex_state = 148}, + [4513] = {.lex_state = 179}, + [4514] = {.lex_state = 179}, + [4515] = {.lex_state = 179}, + [4516] = {.lex_state = 178}, + [4517] = {.lex_state = 239}, + [4518] = {.lex_state = 178}, + [4519] = {.lex_state = 179}, + [4520] = {.lex_state = 179}, + [4521] = {.lex_state = 178}, + [4522] = {.lex_state = 179}, + [4523] = {.lex_state = 178}, + [4524] = {.lex_state = 177}, + [4525] = {.lex_state = 179}, + [4526] = {.lex_state = 148}, + [4527] = {.lex_state = 179}, + [4528] = {.lex_state = 177}, + [4529] = {.lex_state = 178}, + [4530] = {.lex_state = 178}, + [4531] = {.lex_state = 177}, + [4532] = {.lex_state = 179}, + [4533] = {.lex_state = 148}, + [4534] = {.lex_state = 179}, + [4535] = {.lex_state = 148}, + [4536] = {.lex_state = 178}, + [4537] = {.lex_state = 178}, + [4538] = {.lex_state = 179}, + [4539] = {.lex_state = 178}, + [4540] = {.lex_state = 179}, + [4541] = {.lex_state = 239}, + [4542] = {.lex_state = 179}, + [4543] = {.lex_state = 177}, + [4544] = {.lex_state = 164}, + [4545] = {.lex_state = 148}, + [4546] = {.lex_state = 239}, + [4547] = {.lex_state = 178}, + [4548] = {.lex_state = 239}, + [4549] = {.lex_state = 179}, + [4550] = {.lex_state = 179}, + [4551] = {.lex_state = 177}, + [4552] = {.lex_state = 177}, + [4553] = {.lex_state = 148}, + [4554] = {.lex_state = 239}, + [4555] = {.lex_state = 148}, + [4556] = {.lex_state = 164}, + [4557] = {.lex_state = 177}, + [4558] = {.lex_state = 148}, + [4559] = {.lex_state = 177}, + [4560] = {.lex_state = 179}, + [4561] = {.lex_state = 178}, + [4562] = {.lex_state = 178}, + [4563] = {.lex_state = 148}, + [4564] = {.lex_state = 179}, + [4565] = {.lex_state = 178}, + [4566] = {.lex_state = 177}, + [4567] = {.lex_state = 179}, + [4568] = {.lex_state = 148}, + [4569] = {.lex_state = 239}, + [4570] = {.lex_state = 179}, + [4571] = {.lex_state = 177}, + [4572] = {.lex_state = 148}, + [4573] = {.lex_state = 179}, + [4574] = {.lex_state = 179}, + [4575] = {.lex_state = 148}, + [4576] = {.lex_state = 179}, + [4577] = {.lex_state = 239}, + [4578] = {.lex_state = 239}, + [4579] = {.lex_state = 177}, + [4580] = {.lex_state = 148}, + [4581] = {.lex_state = 148}, + [4582] = {.lex_state = 177}, + [4583] = {.lex_state = 179}, + [4584] = {.lex_state = 177}, + [4585] = {.lex_state = 178}, + [4586] = {.lex_state = 148}, + [4587] = {.lex_state = 148}, + [4588] = {.lex_state = 179}, + [4589] = {.lex_state = 239}, + [4590] = {.lex_state = 0, .external_lex_state = 1}, + [4591] = {.lex_state = 0, .external_lex_state = 1}, + [4592] = {.lex_state = 239}, + [4593] = {.lex_state = 142}, + [4594] = {.lex_state = 179}, + [4595] = {.lex_state = 179}, + [4596] = {.lex_state = 148}, + [4597] = {.lex_state = 239}, + [4598] = {.lex_state = 179}, + [4599] = {.lex_state = 167}, + [4600] = {.lex_state = 179}, + [4601] = {.lex_state = 176}, + [4602] = {.lex_state = 142}, + [4603] = {.lex_state = 148}, + [4604] = {.lex_state = 239}, + [4605] = {.lex_state = 239}, + [4606] = {.lex_state = 239}, + [4607] = {.lex_state = 148}, + [4608] = {.lex_state = 239}, + [4609] = {.lex_state = 176}, + [4610] = {.lex_state = 0, .external_lex_state = 1}, + [4611] = {.lex_state = 239}, + [4612] = {.lex_state = 176}, + [4613] = {.lex_state = 239}, + [4614] = {.lex_state = 179}, + [4615] = {.lex_state = 239}, + [4616] = {.lex_state = 176}, + [4617] = {.lex_state = 179}, + [4618] = {.lex_state = 239}, + [4619] = {.lex_state = 176}, + [4620] = {.lex_state = 176}, + [4621] = {.lex_state = 127}, + [4622] = {.lex_state = 176}, + [4623] = {.lex_state = 148}, + [4624] = {.lex_state = 167}, + [4625] = {.lex_state = 179}, + [4626] = {.lex_state = 179}, + [4627] = {.lex_state = 176}, + [4628] = {.lex_state = 179}, + [4629] = {.lex_state = 148}, + [4630] = {.lex_state = 176}, + [4631] = {.lex_state = 176}, + [4632] = {.lex_state = 239}, + [4633] = {.lex_state = 0, .external_lex_state = 1}, + [4634] = {.lex_state = 0, .external_lex_state = 1}, + [4635] = {.lex_state = 176}, + [4636] = {.lex_state = 239}, + [4637] = {.lex_state = 239}, + [4638] = {.lex_state = 0, .external_lex_state = 1}, + [4639] = {.lex_state = 176}, + [4640] = {.lex_state = 239}, + [4641] = {.lex_state = 167}, + [4642] = {.lex_state = 239}, + [4643] = {.lex_state = 239}, + [4644] = {.lex_state = 239}, + [4645] = {.lex_state = 0, .external_lex_state = 1}, + [4646] = {.lex_state = 239}, + [4647] = {.lex_state = 176}, + [4648] = {.lex_state = 239}, + [4649] = {.lex_state = 167}, + [4650] = {.lex_state = 179}, + [4651] = {.lex_state = 239}, + [4652] = {.lex_state = 239}, + [4653] = {.lex_state = 176}, + [4654] = {.lex_state = 239}, + [4655] = {.lex_state = 148}, + [4656] = {.lex_state = 239}, + [4657] = {.lex_state = 239}, + [4658] = {.lex_state = 177}, + [4659] = {.lex_state = 148}, + [4660] = {.lex_state = 239}, + [4661] = {.lex_state = 239}, + [4662] = {.lex_state = 148}, + [4663] = {.lex_state = 150}, + [4664] = {.lex_state = 239}, + [4665] = {.lex_state = 148}, + [4666] = {.lex_state = 148}, + [4667] = {.lex_state = 177}, + [4668] = {.lex_state = 177}, + [4669] = {.lex_state = 239}, + [4670] = {.lex_state = 239}, + [4671] = {.lex_state = 179}, + [4672] = {.lex_state = 179}, + [4673] = {.lex_state = 179}, + [4674] = {.lex_state = 148}, + [4675] = {.lex_state = 148}, + [4676] = {.lex_state = 179}, + [4677] = {.lex_state = 239}, + [4678] = {.lex_state = 177}, + [4679] = {.lex_state = 179}, + [4680] = {.lex_state = 0, .external_lex_state = 1}, + [4681] = {.lex_state = 177}, + [4682] = {.lex_state = 177}, + [4683] = {.lex_state = 148}, + [4684] = {.lex_state = 239}, + [4685] = {.lex_state = 148}, + [4686] = {.lex_state = 177}, + [4687] = {.lex_state = 177}, + [4688] = {.lex_state = 177}, + [4689] = {.lex_state = 179}, + [4690] = {.lex_state = 179}, + [4691] = {.lex_state = 177}, + [4692] = {.lex_state = 179}, + [4693] = {.lex_state = 177}, + [4694] = {.lex_state = 177}, + [4695] = {.lex_state = 0, .external_lex_state = 1}, + [4696] = {.lex_state = 177}, + [4697] = {.lex_state = 148}, + [4698] = {.lex_state = 148}, + [4699] = {.lex_state = 0, .external_lex_state = 1}, + [4700] = {.lex_state = 150}, + [4701] = {.lex_state = 148}, + [4702] = {.lex_state = 142}, + [4703] = {.lex_state = 142}, + [4704] = {.lex_state = 148}, + [4705] = {.lex_state = 179}, + [4706] = {.lex_state = 0, .external_lex_state = 1}, + [4707] = {.lex_state = 177}, + [4708] = {.lex_state = 177}, + [4709] = {.lex_state = 177}, + [4710] = {.lex_state = 179}, + [4711] = {.lex_state = 177}, + [4712] = {.lex_state = 0, .external_lex_state = 1}, + [4713] = {.lex_state = 177}, + [4714] = {.lex_state = 142}, + [4715] = {.lex_state = 239}, + [4716] = {.lex_state = 177}, + [4717] = {.lex_state = 239}, + [4718] = {.lex_state = 239}, + [4719] = {.lex_state = 239}, + [4720] = {.lex_state = 239}, + [4721] = {.lex_state = 239}, + [4722] = {.lex_state = 148}, + [4723] = {.lex_state = 142}, + [4724] = {.lex_state = 0, .external_lex_state = 1}, + [4725] = {.lex_state = 148}, + [4726] = {.lex_state = 148}, + [4727] = {.lex_state = 148}, + [4728] = {.lex_state = 239}, + [4729] = {.lex_state = 0, .external_lex_state = 1}, + [4730] = {.lex_state = 239}, + [4731] = {.lex_state = 148}, + [4732] = {.lex_state = 148}, + [4733] = {.lex_state = 148}, + [4734] = {.lex_state = 148}, + [4735] = {.lex_state = 127}, + [4736] = {.lex_state = 239}, + [4737] = {.lex_state = 148}, + [4738] = {.lex_state = 148}, + [4739] = {.lex_state = 148}, + [4740] = {.lex_state = 148}, + [4741] = {.lex_state = 142}, + [4742] = {.lex_state = 148}, + [4743] = {.lex_state = 239}, + [4744] = {.lex_state = 239}, + [4745] = {.lex_state = 239}, + [4746] = {.lex_state = 148}, + [4747] = {.lex_state = 239}, + [4748] = {.lex_state = 148}, + [4749] = {.lex_state = 239}, + [4750] = {.lex_state = 148}, + [4751] = {.lex_state = 239}, + [4752] = {.lex_state = 150}, + [4753] = {.lex_state = 150}, + [4754] = {.lex_state = 148}, + [4755] = {.lex_state = 127}, + [4756] = {.lex_state = 239}, + [4757] = {.lex_state = 142}, + [4758] = {.lex_state = 239}, + [4759] = {.lex_state = 148}, + [4760] = {.lex_state = 148}, + [4761] = {.lex_state = 239}, + [4762] = {.lex_state = 239}, + [4763] = {.lex_state = 148}, + [4764] = {.lex_state = 148}, + [4765] = {.lex_state = 239}, + [4766] = {.lex_state = 239}, + [4767] = {.lex_state = 148}, + [4768] = {.lex_state = 148}, + [4769] = {.lex_state = 142}, + [4770] = {.lex_state = 177}, + [4771] = {.lex_state = 127}, + [4772] = {.lex_state = 239}, + [4773] = {.lex_state = 177}, + [4774] = {.lex_state = 177}, + [4775] = {.lex_state = 148}, + [4776] = {.lex_state = 148}, + [4777] = {.lex_state = 177}, + [4778] = {.lex_state = 148}, + [4779] = {.lex_state = 239}, + [4780] = {.lex_state = 127}, + [4781] = {.lex_state = 127}, + [4782] = {.lex_state = 148}, + [4783] = {.lex_state = 239}, + [4784] = {.lex_state = 148}, + [4785] = {.lex_state = 150}, + [4786] = {.lex_state = 148}, + [4787] = {.lex_state = 148}, + [4788] = {.lex_state = 127}, + [4789] = {.lex_state = 142}, + [4790] = {.lex_state = 148}, + [4791] = {.lex_state = 160}, + [4792] = {.lex_state = 148}, + [4793] = {.lex_state = 177}, + [4794] = {.lex_state = 148}, + [4795] = {.lex_state = 148}, + [4796] = {.lex_state = 142}, + [4797] = {.lex_state = 148}, + [4798] = {.lex_state = 177}, + [4799] = {.lex_state = 150}, + [4800] = {.lex_state = 177}, + [4801] = {.lex_state = 239}, + [4802] = {.lex_state = 148}, + [4803] = {.lex_state = 148}, + [4804] = {.lex_state = 177}, + [4805] = {.lex_state = 239}, + [4806] = {.lex_state = 239}, + [4807] = {.lex_state = 148}, + [4808] = {.lex_state = 148}, + [4809] = {.lex_state = 148}, + [4810] = {.lex_state = 150}, + [4811] = {.lex_state = 148}, + [4812] = {.lex_state = 142}, + [4813] = {.lex_state = 239}, + [4814] = {.lex_state = 142}, + [4815] = {.lex_state = 160}, + [4816] = {.lex_state = 150}, + [4817] = {.lex_state = 177}, + [4818] = {.lex_state = 177}, + [4819] = {.lex_state = 148}, + [4820] = {.lex_state = 127}, + [4821] = {.lex_state = 148}, + [4822] = {.lex_state = 148}, + [4823] = {.lex_state = 160}, + [4824] = {.lex_state = 239}, + [4825] = {.lex_state = 177}, + [4826] = {.lex_state = 148}, + [4827] = {.lex_state = 239}, + [4828] = {.lex_state = 150}, + [4829] = {.lex_state = 150}, + [4830] = {.lex_state = 148}, + [4831] = {.lex_state = 150}, + [4832] = {.lex_state = 150}, + [4833] = {.lex_state = 239}, + [4834] = {.lex_state = 150}, + [4835] = {.lex_state = 148}, + [4836] = {.lex_state = 179}, + [4837] = {.lex_state = 127}, + [4838] = {.lex_state = 239}, + [4839] = {.lex_state = 148}, + [4840] = {.lex_state = 148}, + [4841] = {.lex_state = 127}, + [4842] = {.lex_state = 239}, + [4843] = {.lex_state = 148}, + [4844] = {.lex_state = 148}, + [4845] = {.lex_state = 148}, + [4846] = {.lex_state = 127}, + [4847] = {.lex_state = 239}, + [4848] = {.lex_state = 148}, + [4849] = {.lex_state = 239}, + [4850] = {.lex_state = 148}, + [4851] = {.lex_state = 148}, + [4852] = {.lex_state = 239}, + [4853] = {.lex_state = 148}, + [4854] = {.lex_state = 148}, + [4855] = {.lex_state = 239}, + [4856] = {.lex_state = 148}, + [4857] = {.lex_state = 239}, + [4858] = {.lex_state = 148}, + [4859] = {.lex_state = 239}, + [4860] = {.lex_state = 148}, + [4861] = {.lex_state = 239}, + [4862] = {.lex_state = 239}, + [4863] = {.lex_state = 239}, + [4864] = {.lex_state = 148}, + [4865] = {.lex_state = 239}, + [4866] = {.lex_state = 239}, + [4867] = {.lex_state = 148}, + [4868] = {.lex_state = 239}, + [4869] = {.lex_state = 142}, + [4870] = {.lex_state = 127}, + [4871] = {.lex_state = 239}, + [4872] = {.lex_state = 239}, + [4873] = {.lex_state = 239}, + [4874] = {.lex_state = 239}, + [4875] = {.lex_state = 127}, + [4876] = {.lex_state = 239}, + [4877] = {.lex_state = 239}, + [4878] = {.lex_state = 142}, + [4879] = {.lex_state = 239}, + [4880] = {.lex_state = 239}, + [4881] = {.lex_state = 239}, + [4882] = {.lex_state = 239}, + [4883] = {.lex_state = 239}, + [4884] = {.lex_state = 150}, + [4885] = {.lex_state = 148}, + [4886] = {.lex_state = 148}, + [4887] = {.lex_state = 239}, + [4888] = {.lex_state = 239}, + [4889] = {.lex_state = 239}, + [4890] = {.lex_state = 239}, + [4891] = {.lex_state = 142}, + [4892] = {.lex_state = 176}, + [4893] = {.lex_state = 142}, + [4894] = {.lex_state = 239}, + [4895] = {.lex_state = 150}, + [4896] = {.lex_state = 239}, + [4897] = {.lex_state = 239}, + [4898] = {.lex_state = 148}, + [4899] = {.lex_state = 142}, + [4900] = {.lex_state = 142}, + [4901] = {.lex_state = 239}, + [4902] = {.lex_state = 239}, + [4903] = {.lex_state = 142}, + [4904] = {.lex_state = 0}, + [4905] = {.lex_state = 0}, + [4906] = {.lex_state = 239}, + [4907] = {.lex_state = 151}, + [4908] = {.lex_state = 151}, + [4909] = {.lex_state = 127}, + [4910] = {.lex_state = 151}, + [4911] = {.lex_state = 239}, + [4912] = {.lex_state = 127}, + [4913] = {.lex_state = 148}, + [4914] = {.lex_state = 151}, + [4915] = {.lex_state = 151}, + [4916] = {.lex_state = 82}, + [4917] = {.lex_state = 151}, + [4918] = {.lex_state = 176}, + [4919] = {.lex_state = 151}, + [4920] = {.lex_state = 151}, + [4921] = {.lex_state = 84}, + [4922] = {.lex_state = 151}, + [4923] = {.lex_state = 239}, + [4924] = {.lex_state = 0}, + [4925] = {.lex_state = 176}, + [4926] = {.lex_state = 151}, + [4927] = {.lex_state = 151}, + [4928] = {.lex_state = 151}, + [4929] = {.lex_state = 151}, + [4930] = {.lex_state = 239}, + [4931] = {.lex_state = 82}, + [4932] = {.lex_state = 151}, + [4933] = {.lex_state = 151}, + [4934] = {.lex_state = 151}, + [4935] = {.lex_state = 127}, + [4936] = {.lex_state = 239}, + [4937] = {.lex_state = 151}, + [4938] = {.lex_state = 127}, + [4939] = {.lex_state = 151}, + [4940] = {.lex_state = 148}, + [4941] = {.lex_state = 239}, + [4942] = {.lex_state = 151}, + [4943] = {.lex_state = 151}, + [4944] = {.lex_state = 151}, + [4945] = {.lex_state = 151}, + [4946] = {.lex_state = 151}, + [4947] = {.lex_state = 84}, + [4948] = {.lex_state = 0}, + [4949] = {.lex_state = 151}, + [4950] = {.lex_state = 82}, + [4951] = {.lex_state = 239}, + [4952] = {.lex_state = 127}, + [4953] = {.lex_state = 151}, + [4954] = {.lex_state = 84}, + [4955] = {.lex_state = 127}, + [4956] = {.lex_state = 84}, + [4957] = {.lex_state = 151}, + [4958] = {.lex_state = 127}, + [4959] = {.lex_state = 151}, + [4960] = {.lex_state = 239}, + [4961] = {.lex_state = 151}, + [4962] = {.lex_state = 148}, + [4963] = {.lex_state = 151}, + [4964] = {.lex_state = 127}, + [4965] = {.lex_state = 148}, + [4966] = {.lex_state = 151}, + [4967] = {.lex_state = 151}, + [4968] = {.lex_state = 151}, + [4969] = {.lex_state = 151}, + [4970] = {.lex_state = 239}, + [4971] = {.lex_state = 151}, + [4972] = {.lex_state = 151}, + [4973] = {.lex_state = 151}, + [4974] = {.lex_state = 0}, + [4975] = {.lex_state = 127}, + [4976] = {.lex_state = 151}, + [4977] = {.lex_state = 151}, + [4978] = {.lex_state = 239}, + [4979] = {.lex_state = 151}, + [4980] = {.lex_state = 151}, + [4981] = {.lex_state = 84}, + [4982] = {.lex_state = 151}, + [4983] = {.lex_state = 127}, + [4984] = {.lex_state = 239}, + [4985] = {.lex_state = 148}, + [4986] = {.lex_state = 127}, + [4987] = {.lex_state = 151}, + [4988] = {.lex_state = 151}, + [4989] = {.lex_state = 151}, + [4990] = {.lex_state = 127}, + [4991] = {.lex_state = 151}, + [4992] = {.lex_state = 151}, + [4993] = {.lex_state = 151}, + [4994] = {.lex_state = 151}, + [4995] = {.lex_state = 127}, + [4996] = {.lex_state = 151}, + [4997] = {.lex_state = 148}, + [4998] = {.lex_state = 151}, + [4999] = {.lex_state = 151}, + [5000] = {.lex_state = 151}, + [5001] = {.lex_state = 239}, + [5002] = {.lex_state = 151}, + [5003] = {.lex_state = 151}, + [5004] = {.lex_state = 151}, + [5005] = {.lex_state = 239}, + [5006] = {.lex_state = 239}, + [5007] = {.lex_state = 151}, + [5008] = {.lex_state = 151}, + [5009] = {.lex_state = 150}, + [5010] = {.lex_state = 0}, + [5011] = {.lex_state = 151}, + [5012] = {.lex_state = 0}, + [5013] = {.lex_state = 151}, + [5014] = {.lex_state = 151}, + [5015] = {.lex_state = 239}, + [5016] = {.lex_state = 151}, + [5017] = {.lex_state = 151}, + [5018] = {.lex_state = 151}, + [5019] = {.lex_state = 151}, + [5020] = {.lex_state = 127}, + [5021] = {.lex_state = 151}, + [5022] = {.lex_state = 151}, + [5023] = {.lex_state = 151}, + [5024] = {.lex_state = 151}, + [5025] = {.lex_state = 151}, + [5026] = {.lex_state = 151}, + [5027] = {.lex_state = 239}, + [5028] = {.lex_state = 127}, + [5029] = {.lex_state = 84}, + [5030] = {.lex_state = 239}, + [5031] = {.lex_state = 84}, + [5032] = {.lex_state = 151}, + [5033] = {.lex_state = 127}, + [5034] = {.lex_state = 151}, + [5035] = {.lex_state = 239}, + [5036] = {.lex_state = 239}, + [5037] = {.lex_state = 176}, + [5038] = {.lex_state = 151}, + [5039] = {.lex_state = 151}, + [5040] = {.lex_state = 84}, + [5041] = {.lex_state = 151}, + [5042] = {.lex_state = 151}, + [5043] = {.lex_state = 151}, + [5044] = {.lex_state = 151}, + [5045] = {.lex_state = 151}, + [5046] = {.lex_state = 151}, + [5047] = {.lex_state = 151}, + [5048] = {.lex_state = 151}, + [5049] = {.lex_state = 151}, + [5050] = {.lex_state = 151}, + [5051] = {.lex_state = 0}, + [5052] = {.lex_state = 151}, + [5053] = {.lex_state = 151}, + [5054] = {.lex_state = 239}, + [5055] = {.lex_state = 148}, + [5056] = {.lex_state = 239}, + [5057] = {.lex_state = 151}, + [5058] = {.lex_state = 82}, + [5059] = {.lex_state = 127}, + [5060] = {.lex_state = 239}, + [5061] = {.lex_state = 239}, + [5062] = {.lex_state = 151}, + [5063] = {.lex_state = 239}, + [5064] = {.lex_state = 84}, + [5065] = {.lex_state = 84}, + [5066] = {.lex_state = 84}, + [5067] = {.lex_state = 239}, + [5068] = {.lex_state = 127}, + [5069] = {.lex_state = 151}, + [5070] = {.lex_state = 151}, + [5071] = {.lex_state = 151}, + [5072] = {.lex_state = 151}, + [5073] = {.lex_state = 151}, + [5074] = {.lex_state = 239}, + [5075] = {.lex_state = 239}, + [5076] = {.lex_state = 0}, + [5077] = {.lex_state = 151}, + [5078] = {.lex_state = 148}, + [5079] = {.lex_state = 239}, + [5080] = {.lex_state = 239}, + [5081] = {.lex_state = 151}, + [5082] = {.lex_state = 127}, + [5083] = {.lex_state = 151}, + [5084] = {.lex_state = 127}, + [5085] = {.lex_state = 151}, + [5086] = {.lex_state = 239}, + [5087] = {.lex_state = 239}, + [5088] = {.lex_state = 0}, + [5089] = {.lex_state = 82}, + [5090] = {.lex_state = 127}, + [5091] = {.lex_state = 151}, + [5092] = {.lex_state = 0}, + [5093] = {.lex_state = 176}, + [5094] = {.lex_state = 239}, + [5095] = {.lex_state = 151}, + [5096] = {.lex_state = 151}, + [5097] = {.lex_state = 151}, + [5098] = {.lex_state = 148}, + [5099] = {.lex_state = 151}, + [5100] = {.lex_state = 127}, + [5101] = {.lex_state = 148}, + [5102] = {.lex_state = 127}, + [5103] = {.lex_state = 127}, + [5104] = {.lex_state = 151}, + [5105] = {.lex_state = 239}, + [5106] = {.lex_state = 0}, + [5107] = {.lex_state = 151}, + [5108] = {.lex_state = 239}, + [5109] = {.lex_state = 239}, + [5110] = {.lex_state = 84}, + [5111] = {.lex_state = 151}, + [5112] = {.lex_state = 151}, + [5113] = {.lex_state = 239}, + [5114] = {.lex_state = 239}, + [5115] = {.lex_state = 151}, + [5116] = {.lex_state = 151}, + [5117] = {.lex_state = 151}, + [5118] = {.lex_state = 239}, + [5119] = {.lex_state = 151}, + [5120] = {.lex_state = 151}, + [5121] = {.lex_state = 0}, + [5122] = {.lex_state = 151}, + [5123] = {.lex_state = 151}, + [5124] = {.lex_state = 151}, + [5125] = {.lex_state = 151}, + [5126] = {.lex_state = 151}, + [5127] = {.lex_state = 176}, + [5128] = {.lex_state = 239}, + [5129] = {.lex_state = 84}, + [5130] = {.lex_state = 176}, + [5131] = {.lex_state = 127}, + [5132] = {.lex_state = 151}, + [5133] = {.lex_state = 151}, + [5134] = {.lex_state = 239}, + [5135] = {.lex_state = 239}, + [5136] = {.lex_state = 151}, + [5137] = {.lex_state = 82}, + [5138] = {.lex_state = 151}, + [5139] = {.lex_state = 239}, + [5140] = {.lex_state = 151}, + [5141] = {.lex_state = 239}, + [5142] = {.lex_state = 176}, + [5143] = {.lex_state = 239}, + [5144] = {.lex_state = 127}, + [5145] = {.lex_state = 0}, + [5146] = {.lex_state = 127}, + [5147] = {.lex_state = 239}, + [5148] = {.lex_state = 127}, + [5149] = {.lex_state = 148}, + [5150] = {.lex_state = 148}, + [5151] = {.lex_state = 151}, + [5152] = {.lex_state = 151}, + [5153] = {.lex_state = 151}, + [5154] = {.lex_state = 151}, + [5155] = {.lex_state = 239}, + [5156] = {.lex_state = 151}, + [5157] = {.lex_state = 151}, + [5158] = {.lex_state = 239}, + [5159] = {.lex_state = 0}, + [5160] = {.lex_state = 0}, + [5161] = {.lex_state = 151}, + [5162] = {.lex_state = 151}, + [5163] = {.lex_state = 239}, + [5164] = {.lex_state = 151}, + [5165] = {.lex_state = 151}, + [5166] = {.lex_state = 84}, + [5167] = {.lex_state = 151}, + [5168] = {.lex_state = 151}, + [5169] = {.lex_state = 148}, + [5170] = {.lex_state = 151}, + [5171] = {.lex_state = 151}, + [5172] = {.lex_state = 151}, + [5173] = {.lex_state = 176}, + [5174] = {.lex_state = 151}, + [5175] = {.lex_state = 239}, + [5176] = {.lex_state = 151}, + [5177] = {.lex_state = 239}, + [5178] = {.lex_state = 151}, + [5179] = {.lex_state = 82}, + [5180] = {.lex_state = 151}, + [5181] = {.lex_state = 239}, + [5182] = {.lex_state = 127}, + [5183] = {.lex_state = 151}, + [5184] = {.lex_state = 151}, + [5185] = {.lex_state = 239}, + [5186] = {.lex_state = 151}, + [5187] = {.lex_state = 84}, + [5188] = {.lex_state = 151}, + [5189] = {.lex_state = 0}, + [5190] = {.lex_state = 0}, + [5191] = {.lex_state = 0}, + [5192] = {.lex_state = 77}, + [5193] = {.lex_state = 0}, + [5194] = {.lex_state = 148}, + [5195] = {.lex_state = 0}, + [5196] = {.lex_state = 0}, + [5197] = {.lex_state = 0}, + [5198] = {.lex_state = 0}, + [5199] = {.lex_state = 148}, + [5200] = {.lex_state = 0}, + [5201] = {.lex_state = 148}, + [5202] = {.lex_state = 0}, + [5203] = {.lex_state = 0}, + [5204] = {.lex_state = 0}, + [5205] = {.lex_state = 0}, + [5206] = {.lex_state = 0}, + [5207] = {.lex_state = 0}, + [5208] = {.lex_state = 0}, + [5209] = {.lex_state = 0}, + [5210] = {.lex_state = 0}, + [5211] = {.lex_state = 0}, + [5212] = {.lex_state = 0}, + [5213] = {.lex_state = 0}, + [5214] = {.lex_state = 0}, + [5215] = {.lex_state = 148}, + [5216] = {.lex_state = 0}, + [5217] = {.lex_state = 0}, + [5218] = {.lex_state = 0}, + [5219] = {.lex_state = 148}, + [5220] = {.lex_state = 148}, + [5221] = {.lex_state = 0}, + [5222] = {.lex_state = 0}, + [5223] = {.lex_state = 0}, + [5224] = {.lex_state = 239}, + [5225] = {.lex_state = 175}, + [5226] = {.lex_state = 0}, + [5227] = {.lex_state = 148}, + [5228] = {.lex_state = 148}, + [5229] = {.lex_state = 0}, + [5230] = {.lex_state = 0}, + [5231] = {.lex_state = 0}, + [5232] = {.lex_state = 0}, + [5233] = {.lex_state = 0}, + [5234] = {.lex_state = 0}, + [5235] = {.lex_state = 0}, + [5236] = {.lex_state = 0}, + [5237] = {.lex_state = 148}, + [5238] = {.lex_state = 0}, + [5239] = {.lex_state = 0}, + [5240] = {.lex_state = 0}, + [5241] = {.lex_state = 0}, + [5242] = {.lex_state = 148}, + [5243] = {.lex_state = 148}, + [5244] = {.lex_state = 0}, + [5245] = {.lex_state = 0}, + [5246] = {.lex_state = 0}, + [5247] = {.lex_state = 0}, + [5248] = {.lex_state = 148}, + [5249] = {.lex_state = 0}, + [5250] = {.lex_state = 0}, + [5251] = {.lex_state = 239}, + [5252] = {.lex_state = 148}, + [5253] = {.lex_state = 0}, + [5254] = {.lex_state = 239}, + [5255] = {.lex_state = 0}, + [5256] = {.lex_state = 0}, + [5257] = {.lex_state = 77}, + [5258] = {.lex_state = 0}, + [5259] = {.lex_state = 0}, + [5260] = {.lex_state = 0}, + [5261] = {.lex_state = 0}, + [5262] = {.lex_state = 0}, + [5263] = {.lex_state = 0}, + [5264] = {.lex_state = 0}, + [5265] = {.lex_state = 0}, + [5266] = {.lex_state = 0}, + [5267] = {.lex_state = 0}, + [5268] = {.lex_state = 0}, + [5269] = {.lex_state = 0}, + [5270] = {.lex_state = 148}, + [5271] = {.lex_state = 148}, + [5272] = {.lex_state = 0}, + [5273] = {.lex_state = 77}, + [5274] = {.lex_state = 0}, + [5275] = {.lex_state = 0}, + [5276] = {.lex_state = 148}, + [5277] = {.lex_state = 0}, + [5278] = {.lex_state = 0}, + [5279] = {.lex_state = 0}, + [5280] = {.lex_state = 0}, + [5281] = {.lex_state = 0}, + [5282] = {.lex_state = 0}, + [5283] = {.lex_state = 0}, + [5284] = {.lex_state = 148}, + [5285] = {.lex_state = 0}, + [5286] = {.lex_state = 0}, + [5287] = {.lex_state = 0}, + [5288] = {.lex_state = 0}, + [5289] = {.lex_state = 0}, + [5290] = {.lex_state = 148}, + [5291] = {.lex_state = 0}, + [5292] = {.lex_state = 0}, + [5293] = {.lex_state = 0}, + [5294] = {.lex_state = 0}, + [5295] = {.lex_state = 0}, + [5296] = {.lex_state = 148}, + [5297] = {.lex_state = 148}, + [5298] = {.lex_state = 0}, + [5299] = {.lex_state = 0}, + [5300] = {.lex_state = 0}, + [5301] = {.lex_state = 127}, + [5302] = {.lex_state = 0}, + [5303] = {.lex_state = 0}, + [5304] = {.lex_state = 0}, + [5305] = {.lex_state = 0}, + [5306] = {.lex_state = 0}, + [5307] = {.lex_state = 0}, + [5308] = {.lex_state = 0}, + [5309] = {.lex_state = 0}, + [5310] = {.lex_state = 0}, + [5311] = {.lex_state = 0}, + [5312] = {.lex_state = 148}, + [5313] = {.lex_state = 0}, + [5314] = {.lex_state = 148}, + [5315] = {.lex_state = 148}, + [5316] = {.lex_state = 0}, + [5317] = {.lex_state = 0}, + [5318] = {.lex_state = 0}, + [5319] = {.lex_state = 0}, + [5320] = {.lex_state = 0}, + [5321] = {.lex_state = 0}, + [5322] = {.lex_state = 148}, + [5323] = {.lex_state = 0}, + [5324] = {.lex_state = 0}, + [5325] = {.lex_state = 0}, + [5326] = {.lex_state = 0}, + [5327] = {.lex_state = 0}, + [5328] = {.lex_state = 0}, + [5329] = {.lex_state = 0}, + [5330] = {.lex_state = 0}, + [5331] = {.lex_state = 0}, + [5332] = {.lex_state = 0}, + [5333] = {.lex_state = 0}, + [5334] = {.lex_state = 0}, + [5335] = {.lex_state = 239}, + [5336] = {.lex_state = 0}, + [5337] = {.lex_state = 0}, + [5338] = {.lex_state = 148}, + [5339] = {.lex_state = 239}, + [5340] = {.lex_state = 0}, + [5341] = {.lex_state = 148}, + [5342] = {.lex_state = 148}, + [5343] = {.lex_state = 148}, + [5344] = {.lex_state = 239}, + [5345] = {.lex_state = 0}, + [5346] = {.lex_state = 0}, + [5347] = {.lex_state = 0}, + [5348] = {.lex_state = 148}, + [5349] = {.lex_state = 148}, + [5350] = {.lex_state = 0}, + [5351] = {.lex_state = 0}, + [5352] = {.lex_state = 0}, + [5353] = {.lex_state = 148}, + [5354] = {.lex_state = 148}, + [5355] = {.lex_state = 0}, + [5356] = {.lex_state = 0}, + [5357] = {.lex_state = 0}, + [5358] = {.lex_state = 0}, + [5359] = {.lex_state = 239}, + [5360] = {.lex_state = 148}, + [5361] = {.lex_state = 0}, + [5362] = {.lex_state = 0}, + [5363] = {.lex_state = 0}, + [5364] = {.lex_state = 0}, + [5365] = {.lex_state = 239}, + [5366] = {.lex_state = 0}, + [5367] = {.lex_state = 0}, + [5368] = {.lex_state = 148}, + [5369] = {.lex_state = 0}, + [5370] = {.lex_state = 0}, + [5371] = {.lex_state = 0}, + [5372] = {.lex_state = 0}, + [5373] = {.lex_state = 0}, + [5374] = {.lex_state = 0}, + [5375] = {.lex_state = 0}, + [5376] = {.lex_state = 0}, + [5377] = {.lex_state = 0}, + [5378] = {.lex_state = 0}, + [5379] = {.lex_state = 0}, + [5380] = {.lex_state = 150}, + [5381] = {.lex_state = 0}, + [5382] = {.lex_state = 0}, + [5383] = {.lex_state = 239}, + [5384] = {.lex_state = 239}, + [5385] = {.lex_state = 0}, + [5386] = {.lex_state = 0}, + [5387] = {.lex_state = 0}, + [5388] = {.lex_state = 0}, + [5389] = {.lex_state = 0}, + [5390] = {.lex_state = 0}, + [5391] = {.lex_state = 0}, + [5392] = {.lex_state = 148}, + [5393] = {.lex_state = 148}, + [5394] = {.lex_state = 0}, + [5395] = {.lex_state = 0}, + [5396] = {.lex_state = 0}, + [5397] = {.lex_state = 148}, + [5398] = {.lex_state = 0}, + [5399] = {.lex_state = 148}, + [5400] = {.lex_state = 0}, + [5401] = {.lex_state = 0}, + [5402] = {.lex_state = 0}, + [5403] = {.lex_state = 0}, + [5404] = {.lex_state = 239}, + [5405] = {.lex_state = 0}, + [5406] = {.lex_state = 0}, + [5407] = {.lex_state = 0}, + [5408] = {.lex_state = 239}, + [5409] = {.lex_state = 0}, + [5410] = {.lex_state = 148}, + [5411] = {.lex_state = 0}, + [5412] = {.lex_state = 239}, + [5413] = {.lex_state = 0}, + [5414] = {.lex_state = 0}, + [5415] = {.lex_state = 0}, + [5416] = {.lex_state = 148}, + [5417] = {.lex_state = 0}, + [5418] = {.lex_state = 148}, + [5419] = {.lex_state = 0}, + [5420] = {.lex_state = 148}, + [5421] = {.lex_state = 0}, + [5422] = {.lex_state = 148}, + [5423] = {.lex_state = 127}, + [5424] = {.lex_state = 0}, + [5425] = {.lex_state = 148}, + [5426] = {.lex_state = 148}, + [5427] = {.lex_state = 127}, + [5428] = {.lex_state = 0}, + [5429] = {.lex_state = 0}, + [5430] = {.lex_state = 0}, + [5431] = {.lex_state = 239}, + [5432] = {.lex_state = 0}, + [5433] = {.lex_state = 0}, + [5434] = {.lex_state = 0}, + [5435] = {.lex_state = 0}, + [5436] = {.lex_state = 0}, + [5437] = {.lex_state = 148}, + [5438] = {.lex_state = 239}, + [5439] = {.lex_state = 239}, + [5440] = {.lex_state = 148}, + [5441] = {.lex_state = 0}, + [5442] = {.lex_state = 239}, + [5443] = {.lex_state = 148}, + [5444] = {.lex_state = 0}, + [5445] = {.lex_state = 0}, + [5446] = {.lex_state = 0}, + [5447] = {.lex_state = 0}, + [5448] = {.lex_state = 148}, + [5449] = {.lex_state = 0}, + [5450] = {.lex_state = 239}, + [5451] = {.lex_state = 148}, + [5452] = {.lex_state = 239}, + [5453] = {.lex_state = 148}, + [5454] = {.lex_state = 77}, + [5455] = {.lex_state = 0}, + [5456] = {.lex_state = 0}, + [5457] = {.lex_state = 0}, + [5458] = {.lex_state = 0}, + [5459] = {.lex_state = 0}, + [5460] = {.lex_state = 0}, + [5461] = {.lex_state = 0}, + [5462] = {.lex_state = 0}, + [5463] = {.lex_state = 0}, + [5464] = {.lex_state = 83}, + [5465] = {.lex_state = 0}, + [5466] = {.lex_state = 239}, + [5467] = {.lex_state = 239}, + [5468] = {.lex_state = 83}, + [5469] = {.lex_state = 148}, + [5470] = {.lex_state = 0}, + [5471] = {.lex_state = 0}, + [5472] = {.lex_state = 148}, + [5473] = {.lex_state = 0}, + [5474] = {.lex_state = 0}, + [5475] = {.lex_state = 0}, + [5476] = {.lex_state = 0}, + [5477] = {.lex_state = 239}, + [5478] = {.lex_state = 0}, + [5479] = {.lex_state = 0}, + [5480] = {.lex_state = 0}, + [5481] = {.lex_state = 0}, + [5482] = {.lex_state = 0}, + [5483] = {.lex_state = 0}, + [5484] = {.lex_state = 0}, + [5485] = {.lex_state = 0}, + [5486] = {.lex_state = 0}, + [5487] = {.lex_state = 0}, + [5488] = {.lex_state = 0}, + [5489] = {.lex_state = 0}, + [5490] = {.lex_state = 0}, + [5491] = {.lex_state = 0}, + [5492] = {.lex_state = 0}, + [5493] = {.lex_state = 239}, + [5494] = {.lex_state = 0}, + [5495] = {.lex_state = 239}, + [5496] = {.lex_state = 0}, + [5497] = {.lex_state = 148}, + [5498] = {.lex_state = 0}, + [5499] = {.lex_state = 0}, + [5500] = {.lex_state = 0}, + [5501] = {.lex_state = 0}, + [5502] = {.lex_state = 0}, + [5503] = {.lex_state = 0}, + [5504] = {.lex_state = 0}, + [5505] = {.lex_state = 0}, + [5506] = {.lex_state = 83}, + [5507] = {.lex_state = 0}, + [5508] = {.lex_state = 0}, + [5509] = {.lex_state = 0}, + [5510] = {.lex_state = 239}, + [5511] = {.lex_state = 0}, + [5512] = {.lex_state = 0}, + [5513] = {.lex_state = 0}, + [5514] = {.lex_state = 0}, + [5515] = {.lex_state = 0}, + [5516] = {.lex_state = 239}, + [5517] = {.lex_state = 0}, + [5518] = {.lex_state = 0}, + [5519] = {.lex_state = 0}, + [5520] = {.lex_state = 0}, + [5521] = {.lex_state = 0}, + [5522] = {.lex_state = 0}, + [5523] = {.lex_state = 239}, + [5524] = {.lex_state = 239}, + [5525] = {.lex_state = 0}, + [5526] = {.lex_state = 0}, + [5527] = {.lex_state = 239}, + [5528] = {.lex_state = 0}, + [5529] = {.lex_state = 0}, + [5530] = {.lex_state = 0}, + [5531] = {.lex_state = 0}, + [5532] = {.lex_state = 0}, + [5533] = {.lex_state = 86}, + [5534] = {.lex_state = 0}, + [5535] = {.lex_state = 0}, + [5536] = {.lex_state = 0}, + [5537] = {.lex_state = 0}, + [5538] = {.lex_state = 0}, + [5539] = {.lex_state = 0}, + [5540] = {.lex_state = 0}, + [5541] = {.lex_state = 0}, + [5542] = {.lex_state = 0}, + [5543] = {.lex_state = 0}, + [5544] = {.lex_state = 0}, + [5545] = {.lex_state = 0}, + [5546] = {.lex_state = 0}, + [5547] = {.lex_state = 0}, + [5548] = {.lex_state = 0}, + [5549] = {.lex_state = 0}, + [5550] = {.lex_state = 0}, + [5551] = {.lex_state = 0}, + [5552] = {.lex_state = 0}, + [5553] = {.lex_state = 0}, + [5554] = {.lex_state = 239}, + [5555] = {.lex_state = 0}, + [5556] = {.lex_state = 0}, + [5557] = {.lex_state = 0}, + [5558] = {.lex_state = 83}, + [5559] = {.lex_state = 0}, + [5560] = {.lex_state = 0}, + [5561] = {.lex_state = 0}, + [5562] = {.lex_state = 0}, + [5563] = {.lex_state = 0}, + [5564] = {.lex_state = 0}, + [5565] = {.lex_state = 0}, + [5566] = {.lex_state = 0}, + [5567] = {.lex_state = 0}, + [5568] = {.lex_state = 0}, + [5569] = {.lex_state = 148}, + [5570] = {.lex_state = 0}, + [5571] = {.lex_state = 0}, + [5572] = {.lex_state = 148}, + [5573] = {.lex_state = 0}, + [5574] = {.lex_state = 239}, + [5575] = {.lex_state = 239}, + [5576] = {.lex_state = 0}, + [5577] = {.lex_state = 239}, + [5578] = {.lex_state = 0}, + [5579] = {.lex_state = 0}, + [5580] = {.lex_state = 0}, + [5581] = {.lex_state = 239}, + [5582] = {.lex_state = 148}, + [5583] = {.lex_state = 239}, + [5584] = {.lex_state = 148}, + [5585] = {.lex_state = 148}, + [5586] = {.lex_state = 148}, + [5587] = {.lex_state = 148}, + [5588] = {.lex_state = 148}, + [5589] = {.lex_state = 148}, + [5590] = {.lex_state = 148}, + [5591] = {.lex_state = 148}, + [5592] = {.lex_state = 239}, + [5593] = {.lex_state = 148}, + [5594] = {.lex_state = 148}, + [5595] = {.lex_state = 0}, + [5596] = {.lex_state = 0}, + [5597] = {.lex_state = 239}, + [5598] = {.lex_state = 148}, + [5599] = {.lex_state = 83}, + [5600] = {.lex_state = 148}, + [5601] = {.lex_state = 239}, + [5602] = {.lex_state = 148}, + [5603] = {.lex_state = 148}, + [5604] = {.lex_state = 0}, + [5605] = {.lex_state = 148}, + [5606] = {.lex_state = 148}, + [5607] = {.lex_state = 0}, + [5608] = {.lex_state = 148}, + [5609] = {.lex_state = 148}, + [5610] = {.lex_state = 0}, + [5611] = {.lex_state = 148}, + [5612] = {.lex_state = 148}, + [5613] = {.lex_state = 239}, + [5614] = {.lex_state = 0}, + [5615] = {.lex_state = 239}, + [5616] = {.lex_state = 0}, + [5617] = {.lex_state = 148}, + [5618] = {.lex_state = 0}, + [5619] = {.lex_state = 239}, + [5620] = {.lex_state = 0}, + [5621] = {.lex_state = 0}, + [5622] = {.lex_state = 239}, + [5623] = {.lex_state = 0}, + [5624] = {.lex_state = 148}, + [5625] = {.lex_state = 148}, + [5626] = {.lex_state = 148}, + [5627] = {.lex_state = 148}, + [5628] = {.lex_state = 0}, + [5629] = {.lex_state = 0}, + [5630] = {.lex_state = 148}, + [5631] = {.lex_state = 148}, + [5632] = {.lex_state = 0}, + [5633] = {.lex_state = 239}, + [5634] = {.lex_state = 0}, + [5635] = {.lex_state = 0}, + [5636] = {.lex_state = 0}, + [5637] = {.lex_state = 239}, + [5638] = {.lex_state = 0}, + [5639] = {.lex_state = 0}, + [5640] = {.lex_state = 0}, + [5641] = {.lex_state = 148}, + [5642] = {.lex_state = 0}, + [5643] = {.lex_state = 239}, + [5644] = {.lex_state = 0}, + [5645] = {.lex_state = 0}, + [5646] = {.lex_state = 0}, + [5647] = {.lex_state = 0}, + [5648] = {.lex_state = 0}, + [5649] = {.lex_state = 0}, + [5650] = {.lex_state = 0}, + [5651] = {.lex_state = 239}, + [5652] = {.lex_state = 83}, + [5653] = {.lex_state = 0}, + [5654] = {.lex_state = 239}, + [5655] = {.lex_state = 148}, + [5656] = {.lex_state = 148}, + [5657] = {.lex_state = 0}, + [5658] = {.lex_state = 148}, + [5659] = {.lex_state = 0}, + [5660] = {.lex_state = 148}, + [5661] = {.lex_state = 148}, + [5662] = {.lex_state = 0}, + [5663] = {.lex_state = 0}, + [5664] = {.lex_state = 239}, + [5665] = {.lex_state = 0}, + [5666] = {.lex_state = 0}, + [5667] = {.lex_state = 0}, + [5668] = {.lex_state = 0}, + [5669] = {.lex_state = 0}, + [5670] = {.lex_state = 0}, + [5671] = {.lex_state = 0}, + [5672] = {.lex_state = 0}, + [5673] = {.lex_state = 239}, + [5674] = {.lex_state = 0}, + [5675] = {.lex_state = 148}, + [5676] = {.lex_state = 239}, + [5677] = {.lex_state = 0}, + [5678] = {.lex_state = 239}, + [5679] = {.lex_state = 239}, + [5680] = {.lex_state = 0}, + [5681] = {.lex_state = 148}, + [5682] = {.lex_state = 239}, + [5683] = {.lex_state = 239}, + [5684] = {.lex_state = 239}, + [5685] = {.lex_state = 239}, + [5686] = {.lex_state = 0}, + [5687] = {.lex_state = 148}, + [5688] = {.lex_state = 0}, + [5689] = {.lex_state = 0}, + [5690] = {.lex_state = 0}, + [5691] = {.lex_state = 0}, + [5692] = {.lex_state = 148}, + [5693] = {.lex_state = 239}, + [5694] = {.lex_state = 0}, + [5695] = {.lex_state = 0}, + [5696] = {.lex_state = 86}, + [5697] = {.lex_state = 0}, + [5698] = {.lex_state = 0}, + [5699] = {.lex_state = 0}, + [5700] = {.lex_state = 0}, + [5701] = {.lex_state = 0}, + [5702] = {.lex_state = 0}, + [5703] = {.lex_state = 0}, + [5704] = {.lex_state = 0}, + [5705] = {.lex_state = 0}, + [5706] = {.lex_state = 239}, + [5707] = {.lex_state = 148}, + [5708] = {.lex_state = 0}, + [5709] = {.lex_state = 83}, + [5710] = {.lex_state = 148}, + [5711] = {.lex_state = 0}, + [5712] = {.lex_state = 0}, + [5713] = {.lex_state = 0}, + [5714] = {.lex_state = 148}, + [5715] = {.lex_state = 0}, + [5716] = {.lex_state = 239}, + [5717] = {.lex_state = 0}, + [5718] = {.lex_state = 0}, + [5719] = {.lex_state = 148}, + [5720] = {.lex_state = 148}, + [5721] = {.lex_state = 0}, + [5722] = {.lex_state = 0}, + [5723] = {.lex_state = 0}, + [5724] = {.lex_state = 0}, + [5725] = {.lex_state = 0}, + [5726] = {.lex_state = 148}, + [5727] = {.lex_state = 0}, + [5728] = {.lex_state = 148}, + [5729] = {.lex_state = 0}, + [5730] = {.lex_state = 83}, + [5731] = {.lex_state = 148}, + [5732] = {.lex_state = 0}, + [5733] = {.lex_state = 0}, + [5734] = {.lex_state = 0}, + [5735] = {.lex_state = 0}, + [5736] = {.lex_state = 148}, + [5737] = {.lex_state = 148}, + [5738] = {.lex_state = 239}, + [5739] = {.lex_state = 0}, + [5740] = {.lex_state = 0}, + [5741] = {.lex_state = 239}, + [5742] = {.lex_state = 0}, + [5743] = {.lex_state = 0}, + [5744] = {.lex_state = 0}, + [5745] = {.lex_state = 0}, + [5746] = {.lex_state = 148}, + [5747] = {.lex_state = 148}, + [5748] = {.lex_state = 148}, + [5749] = {.lex_state = 148}, + [5750] = {.lex_state = 0}, + [5751] = {.lex_state = 0}, + [5752] = {.lex_state = 148}, + [5753] = {.lex_state = 0}, + [5754] = {.lex_state = 0}, + [5755] = {.lex_state = 148}, + [5756] = {.lex_state = 148}, + [5757] = {.lex_state = 148}, + [5758] = {.lex_state = 0}, + [5759] = {.lex_state = 0}, + [5760] = {.lex_state = 0}, + [5761] = {.lex_state = 148}, + [5762] = {.lex_state = 148}, + [5763] = {.lex_state = 148}, + [5764] = {.lex_state = 148}, + [5765] = {.lex_state = 239}, + [5766] = {.lex_state = 148}, + [5767] = {.lex_state = 148}, + [5768] = {.lex_state = 239}, + [5769] = {.lex_state = 148}, + [5770] = {.lex_state = 83}, + [5771] = {.lex_state = 239}, + [5772] = {.lex_state = 0}, + [5773] = {.lex_state = 0}, + [5774] = {.lex_state = 0}, + [5775] = {.lex_state = 0}, + [5776] = {.lex_state = 83}, + [5777] = {.lex_state = 0}, + [5778] = {.lex_state = 239}, + [5779] = {.lex_state = 0}, + [5780] = {.lex_state = 0}, + [5781] = {.lex_state = 0}, + [5782] = {.lex_state = 148}, + [5783] = {.lex_state = 148}, + [5784] = {.lex_state = 0}, + [5785] = {.lex_state = 0}, + [5786] = {.lex_state = 148}, + [5787] = {.lex_state = 0}, + [5788] = {.lex_state = 239}, + [5789] = {.lex_state = 86}, + [5790] = {.lex_state = 0}, + [5791] = {.lex_state = 83}, + [5792] = {.lex_state = 0}, + [5793] = {.lex_state = 0}, + [5794] = {.lex_state = 0}, + [5795] = {.lex_state = 239}, + [5796] = {.lex_state = 0}, + [5797] = {.lex_state = 239}, + [5798] = {.lex_state = 83}, + [5799] = {.lex_state = 0}, + [5800] = {.lex_state = 148}, + [5801] = {.lex_state = 0}, + [5802] = {.lex_state = 239}, + [5803] = {.lex_state = 0}, + [5804] = {.lex_state = 0}, + [5805] = {.lex_state = 0}, + [5806] = {.lex_state = 0}, + [5807] = {.lex_state = 148}, + [5808] = {.lex_state = 0}, + [5809] = {.lex_state = 148}, + [5810] = {.lex_state = 148}, + [5811] = {.lex_state = 148}, + [5812] = {.lex_state = 239}, + [5813] = {.lex_state = 148}, + [5814] = {.lex_state = 239}, + [5815] = {.lex_state = 0}, + [5816] = {.lex_state = 239}, + [5817] = {.lex_state = 0}, + [5818] = {.lex_state = 148}, + [5819] = {.lex_state = 0}, + [5820] = {.lex_state = 0}, + [5821] = {.lex_state = 0}, + [5822] = {.lex_state = 0}, + [5823] = {.lex_state = 0}, + [5824] = {.lex_state = 148}, + [5825] = {.lex_state = 0}, + [5826] = {.lex_state = 0}, + [5827] = {.lex_state = 0}, + [5828] = {.lex_state = 148}, + [5829] = {.lex_state = 0}, + [5830] = {.lex_state = 0}, + [5831] = {.lex_state = 0}, + [5832] = {.lex_state = 148}, + [5833] = {.lex_state = 0}, + [5834] = {.lex_state = 86}, + [5835] = {.lex_state = 239}, + [5836] = {.lex_state = 0}, + [5837] = {.lex_state = 148}, + [5838] = {.lex_state = 0}, + [5839] = {.lex_state = 0}, + [5840] = {.lex_state = 148}, + [5841] = {.lex_state = 0}, + [5842] = {.lex_state = 0}, + [5843] = {.lex_state = 148}, + [5844] = {.lex_state = 0}, + [5845] = {.lex_state = 0}, + [5846] = {.lex_state = 0}, + [5847] = {.lex_state = 0}, + [5848] = {.lex_state = 0}, + [5849] = {.lex_state = 148}, + [5850] = {.lex_state = 239}, + [5851] = {.lex_state = 0}, + [5852] = {.lex_state = 148}, + [5853] = {.lex_state = 239}, + [5854] = {.lex_state = 239}, + [5855] = {.lex_state = 148}, + [5856] = {.lex_state = 0}, + [5857] = {.lex_state = 0}, + [5858] = {.lex_state = 83}, + [5859] = {.lex_state = 239}, + [5860] = {.lex_state = 148}, + [5861] = {.lex_state = 148}, + [5862] = {.lex_state = 148}, + [5863] = {.lex_state = 0}, + [5864] = {.lex_state = 0}, + [5865] = {.lex_state = 148}, + [5866] = {.lex_state = 0}, + [5867] = {.lex_state = 0}, + [5868] = {.lex_state = 0}, + [5869] = {.lex_state = 0}, + [5870] = {.lex_state = 83}, + [5871] = {.lex_state = 239}, + [5872] = {.lex_state = 0}, + [5873] = {.lex_state = 83}, + [5874] = {.lex_state = 0}, + [5875] = {.lex_state = 239}, + [5876] = {.lex_state = 0}, + [5877] = {.lex_state = 83}, + [5878] = {.lex_state = 86}, + [5879] = {.lex_state = 239}, + [5880] = {.lex_state = 0}, + [5881] = {.lex_state = 148}, + [5882] = {.lex_state = 0}, + [5883] = {.lex_state = 239}, + [5884] = {.lex_state = 0}, + [5885] = {.lex_state = 0}, + [5886] = {.lex_state = 0}, + [5887] = {.lex_state = 0}, + [5888] = {.lex_state = 0}, + [5889] = {.lex_state = 0}, + [5890] = {.lex_state = 0}, + [5891] = {.lex_state = 239}, + [5892] = {.lex_state = 239}, + [5893] = {.lex_state = 239}, + [5894] = {.lex_state = 239}, + [5895] = {.lex_state = 148}, + [5896] = {.lex_state = 239}, + [5897] = {.lex_state = 0}, + [5898] = {.lex_state = 0}, + [5899] = {.lex_state = 0}, + [5900] = {.lex_state = 0}, + [5901] = {.lex_state = 0}, + [5902] = {.lex_state = 148}, + [5903] = {.lex_state = 239}, + [5904] = {.lex_state = 0}, + [5905] = {.lex_state = 148}, + [5906] = {.lex_state = 86}, + [5907] = {.lex_state = 0}, + [5908] = {.lex_state = 239}, + [5909] = {.lex_state = 0}, + [5910] = {.lex_state = 0}, + [5911] = {.lex_state = 0}, + [5912] = {.lex_state = 0}, + [5913] = {.lex_state = 0}, + [5914] = {.lex_state = 0}, + [5915] = {.lex_state = 0}, + [5916] = {.lex_state = 83}, + [5917] = {.lex_state = 0}, + [5918] = {.lex_state = 239}, + [5919] = {.lex_state = 239}, + [5920] = {.lex_state = 0}, + [5921] = {.lex_state = 239}, + [5922] = {.lex_state = 86}, + [5923] = {.lex_state = 239}, + [5924] = {.lex_state = 239}, + [5925] = {.lex_state = 148}, + [5926] = {.lex_state = 239}, + [5927] = {.lex_state = 0}, + [5928] = {.lex_state = 0}, + [5929] = {.lex_state = 0}, + [5930] = {.lex_state = 148}, + [5931] = {.lex_state = 239}, + [5932] = {.lex_state = 148}, + [5933] = {.lex_state = 0}, + [5934] = {.lex_state = 0}, + [5935] = {.lex_state = 0}, + [5936] = {.lex_state = 0}, + [5937] = {.lex_state = 0}, + [5938] = {.lex_state = 0}, + [5939] = {.lex_state = 0}, + [5940] = {.lex_state = 0}, + [5941] = {.lex_state = 148}, + [5942] = {.lex_state = 239}, + [5943] = {.lex_state = 0}, + [5944] = {.lex_state = 0}, + [5945] = {.lex_state = 0}, + [5946] = {.lex_state = 0}, + [5947] = {.lex_state = 0}, + [5948] = {.lex_state = 0}, + [5949] = {.lex_state = 0}, + [5950] = {.lex_state = 0}, + [5951] = {.lex_state = 0}, + [5952] = {.lex_state = 0}, + [5953] = {.lex_state = 0}, + [5954] = {.lex_state = 0}, + [5955] = {.lex_state = 0}, + [5956] = {.lex_state = 0}, + [5957] = {.lex_state = 0}, + [5958] = {.lex_state = 239}, + [5959] = {.lex_state = 0}, + [5960] = {.lex_state = 148}, + [5961] = {.lex_state = 148}, + [5962] = {.lex_state = 239}, + [5963] = {.lex_state = 148}, + [5964] = {.lex_state = 0}, + [5965] = {.lex_state = 239}, + [5966] = {.lex_state = 0}, + [5967] = {.lex_state = 0}, + [5968] = {.lex_state = 0}, + [5969] = {.lex_state = 0}, + [5970] = {.lex_state = 151}, + [5971] = {.lex_state = 148}, + [5972] = {.lex_state = 77}, + [5973] = {.lex_state = 151}, + [5974] = {.lex_state = 0}, + [5975] = {.lex_state = 0}, + [5976] = {.lex_state = 77}, + [5977] = {.lex_state = 0}, + [5978] = {.lex_state = 0}, + [5979] = {.lex_state = 0}, + [5980] = {.lex_state = 125}, + [5981] = {.lex_state = 0}, + [5982] = {.lex_state = 0}, + [5983] = {.lex_state = 125}, + [5984] = {.lex_state = 0}, + [5985] = {.lex_state = 0}, + [5986] = {.lex_state = 0}, + [5987] = {.lex_state = 0}, + [5988] = {.lex_state = 0}, + [5989] = {.lex_state = 0}, + [5990] = {.lex_state = 0}, + [5991] = {.lex_state = 0}, + [5992] = {.lex_state = 239}, + [5993] = {.lex_state = 0}, + [5994] = {.lex_state = 0}, + [5995] = {.lex_state = 148}, + [5996] = {.lex_state = 125}, + [5997] = {.lex_state = 0}, + [5998] = {.lex_state = 0}, + [5999] = {.lex_state = 148}, + [6000] = {.lex_state = 0}, + [6001] = {.lex_state = 0}, + [6002] = {.lex_state = 0}, + [6003] = {.lex_state = 0}, + [6004] = {.lex_state = 0}, + [6005] = {.lex_state = 0}, + [6006] = {.lex_state = 0}, + [6007] = {.lex_state = 0}, + [6008] = {.lex_state = 0}, + [6009] = {.lex_state = 0}, + [6010] = {.lex_state = 151}, + [6011] = {.lex_state = 77}, + [6012] = {.lex_state = 0}, + [6013] = {.lex_state = 0}, + [6014] = {.lex_state = 0}, + [6015] = {.lex_state = 125}, + [6016] = {.lex_state = 0}, + [6017] = {.lex_state = 125}, + [6018] = {.lex_state = 239}, + [6019] = {.lex_state = 0}, + [6020] = {.lex_state = 0}, + [6021] = {.lex_state = 148}, + [6022] = {.lex_state = 148}, + [6023] = {.lex_state = 0}, + [6024] = {.lex_state = 0}, + [6025] = {.lex_state = 0}, + [6026] = {.lex_state = 148}, + [6027] = {.lex_state = 148}, + [6028] = {.lex_state = 148}, + [6029] = {.lex_state = 148}, + [6030] = {.lex_state = 0}, + [6031] = {.lex_state = 0}, + [6032] = {.lex_state = 0}, + [6033] = {.lex_state = 148}, + [6034] = {.lex_state = 0}, + [6035] = {.lex_state = 239}, + [6036] = {.lex_state = 0}, + [6037] = {.lex_state = 0}, + [6038] = {.lex_state = 0}, + [6039] = {.lex_state = 239}, + [6040] = {.lex_state = 0}, + [6041] = {.lex_state = 148}, + [6042] = {.lex_state = 0}, + [6043] = {.lex_state = 239}, + [6044] = {.lex_state = 148}, + [6045] = {.lex_state = 0}, + [6046] = {.lex_state = 239}, + [6047] = {.lex_state = 148}, + [6048] = {.lex_state = 0}, + [6049] = {.lex_state = 0}, + [6050] = {.lex_state = 0}, + [6051] = {.lex_state = 148}, + [6052] = {.lex_state = 125}, + [6053] = {.lex_state = 148}, + [6054] = {.lex_state = 0}, + [6055] = {.lex_state = 125}, + [6056] = {.lex_state = 148}, + [6057] = {.lex_state = 77}, + [6058] = {.lex_state = 0}, + [6059] = {.lex_state = 148}, + [6060] = {.lex_state = 0}, + [6061] = {.lex_state = 0}, + [6062] = {.lex_state = 0}, + [6063] = {.lex_state = 0}, + [6064] = {.lex_state = 0}, + [6065] = {.lex_state = 0}, + [6066] = {.lex_state = 0}, + [6067] = {.lex_state = 239}, + [6068] = {.lex_state = 0}, + [6069] = {.lex_state = 0}, + [6070] = {.lex_state = 0}, + [6071] = {.lex_state = 0}, + [6072] = {.lex_state = 0}, + [6073] = {.lex_state = 0}, + [6074] = {.lex_state = 0}, + [6075] = {.lex_state = 0}, + [6076] = {.lex_state = 0}, + [6077] = {.lex_state = 0}, + [6078] = {.lex_state = 148}, + [6079] = {.lex_state = 0}, + [6080] = {.lex_state = 0}, + [6081] = {.lex_state = 125}, + [6082] = {.lex_state = 148}, + [6083] = {.lex_state = 0}, + [6084] = {.lex_state = 239}, + [6085] = {.lex_state = 0}, + [6086] = {.lex_state = 148}, + [6087] = {.lex_state = 125}, + [6088] = {.lex_state = 0}, + [6089] = {.lex_state = 0}, + [6090] = {.lex_state = 148}, + [6091] = {.lex_state = 0}, + [6092] = {.lex_state = 77}, + [6093] = {.lex_state = 0}, + [6094] = {.lex_state = 0}, + [6095] = {.lex_state = 0}, + [6096] = {.lex_state = 77}, + [6097] = {.lex_state = 0}, + [6098] = {.lex_state = 0}, + [6099] = {.lex_state = 0}, + [6100] = {.lex_state = 0}, + [6101] = {.lex_state = 239}, + [6102] = {.lex_state = 0}, + [6103] = {.lex_state = 0}, + [6104] = {.lex_state = 0}, + [6105] = {.lex_state = 148}, + [6106] = {.lex_state = 0}, + [6107] = {.lex_state = 0}, + [6108] = {.lex_state = 0}, + [6109] = {.lex_state = 0}, + [6110] = {.lex_state = 0}, + [6111] = {.lex_state = 148}, + [6112] = {.lex_state = 125}, + [6113] = {.lex_state = 148}, + [6114] = {.lex_state = 0}, + [6115] = {.lex_state = 148}, + [6116] = {.lex_state = 125}, + [6117] = {.lex_state = 0}, + [6118] = {.lex_state = 0}, + [6119] = {.lex_state = 0}, + [6120] = {.lex_state = 77}, + [6121] = {.lex_state = 239}, + [6122] = {.lex_state = 125}, + [6123] = {.lex_state = 0}, + [6124] = {.lex_state = 0}, + [6125] = {.lex_state = 0}, + [6126] = {.lex_state = 0}, + [6127] = {.lex_state = 148}, + [6128] = {.lex_state = 0}, + [6129] = {.lex_state = 148}, + [6130] = {.lex_state = 148}, + [6131] = {.lex_state = 0}, + [6132] = {.lex_state = 0}, + [6133] = {.lex_state = 0}, + [6134] = {.lex_state = 0}, + [6135] = {.lex_state = 125}, + [6136] = {.lex_state = 0}, + [6137] = {.lex_state = 0}, + [6138] = {.lex_state = 0}, + [6139] = {.lex_state = 0}, + [6140] = {.lex_state = 239}, + [6141] = {.lex_state = 0}, + [6142] = {.lex_state = 0}, + [6143] = {.lex_state = 0}, + [6144] = {.lex_state = 0}, + [6145] = {.lex_state = 125}, + [6146] = {.lex_state = 239}, + [6147] = {.lex_state = 239}, + [6148] = {.lex_state = 0}, + [6149] = {.lex_state = 0}, + [6150] = {.lex_state = 77}, + [6151] = {.lex_state = 0}, + [6152] = {.lex_state = 0}, + [6153] = {.lex_state = 148}, + [6154] = {.lex_state = 0}, + [6155] = {.lex_state = 125}, + [6156] = {.lex_state = 0}, + [6157] = {.lex_state = 239}, + [6158] = {.lex_state = 0}, + [6159] = {.lex_state = 77}, + [6160] = {.lex_state = 148}, + [6161] = {.lex_state = 0}, + [6162] = {.lex_state = 0}, + [6163] = {.lex_state = 148}, + [6164] = {.lex_state = 0}, + [6165] = {.lex_state = 0}, + [6166] = {.lex_state = 0}, + [6167] = {.lex_state = 0}, + [6168] = {.lex_state = 0}, + [6169] = {.lex_state = 0}, + [6170] = {.lex_state = 0}, + [6171] = {.lex_state = 239}, + [6172] = {.lex_state = 239}, + [6173] = {.lex_state = 0}, + [6174] = {.lex_state = 77}, + [6175] = {.lex_state = 77}, + [6176] = {.lex_state = 0}, + [6177] = {.lex_state = 0}, + [6178] = {.lex_state = 239}, + [6179] = {.lex_state = 0}, + [6180] = {.lex_state = 239}, + [6181] = {.lex_state = 0}, + [6182] = {.lex_state = 148}, + [6183] = {.lex_state = 0}, + [6184] = {.lex_state = 151}, + [6185] = {.lex_state = 125}, + [6186] = {.lex_state = 239}, + [6187] = {.lex_state = 148}, + [6188] = {.lex_state = 0}, + [6189] = {.lex_state = 0}, + [6190] = {.lex_state = 0}, + [6191] = {.lex_state = 0}, + [6192] = {.lex_state = 0}, + [6193] = {.lex_state = 239}, + [6194] = {.lex_state = 0}, + [6195] = {.lex_state = 239}, + [6196] = {.lex_state = 0}, + [6197] = {.lex_state = 0}, + [6198] = {.lex_state = 0}, + [6199] = {.lex_state = 0}, + [6200] = {.lex_state = 125}, + [6201] = {.lex_state = 125}, + [6202] = {.lex_state = 239}, + [6203] = {.lex_state = 0}, + [6204] = {.lex_state = 0}, + [6205] = {.lex_state = 0}, + [6206] = {.lex_state = 0}, + [6207] = {.lex_state = 125}, + [6208] = {.lex_state = 0}, + [6209] = {.lex_state = 0}, + [6210] = {.lex_state = 239}, + [6211] = {.lex_state = 0}, + [6212] = {.lex_state = 0}, + [6213] = {.lex_state = 148}, + [6214] = {.lex_state = 0}, + [6215] = {.lex_state = 148}, + [6216] = {.lex_state = 0}, + [6217] = {.lex_state = 239}, + [6218] = {.lex_state = 0}, + [6219] = {.lex_state = 0}, + [6220] = {.lex_state = 148}, + [6221] = {.lex_state = 0}, + [6222] = {.lex_state = 239}, + [6223] = {.lex_state = 0}, + [6224] = {.lex_state = 77}, + [6225] = {.lex_state = 151}, + [6226] = {.lex_state = 0}, + [6227] = {.lex_state = 0}, + [6228] = {.lex_state = 0}, + [6229] = {.lex_state = 0}, + [6230] = {.lex_state = 0}, + [6231] = {.lex_state = 148}, + [6232] = {.lex_state = 239}, + [6233] = {.lex_state = 0}, + [6234] = {.lex_state = 0}, + [6235] = {.lex_state = 148}, + [6236] = {.lex_state = 77}, + [6237] = {.lex_state = 148}, + [6238] = {.lex_state = 239}, + [6239] = {.lex_state = 0}, + [6240] = {.lex_state = 148}, + [6241] = {.lex_state = 125}, + [6242] = {.lex_state = 0}, + [6243] = {.lex_state = 0}, + [6244] = {.lex_state = 125}, + [6245] = {.lex_state = 0}, + [6246] = {.lex_state = 148}, + [6247] = {.lex_state = 125}, + [6248] = {.lex_state = 0}, + [6249] = {.lex_state = 0}, + [6250] = {.lex_state = 0}, + [6251] = {.lex_state = 0}, + [6252] = {.lex_state = 125}, + [6253] = {.lex_state = 0}, + [6254] = {.lex_state = 0}, + [6255] = {.lex_state = 77}, + [6256] = {.lex_state = 0}, + [6257] = {.lex_state = 0}, + [6258] = {.lex_state = 239}, + [6259] = {.lex_state = 0}, + [6260] = {.lex_state = 148}, + [6261] = {.lex_state = 148}, + [6262] = {.lex_state = 125}, + [6263] = {.lex_state = 0}, + [6264] = {.lex_state = 0}, + [6265] = {.lex_state = 148}, + [6266] = {.lex_state = 148}, + [6267] = {.lex_state = 0}, + [6268] = {.lex_state = 0}, + [6269] = {.lex_state = 239}, + [6270] = {.lex_state = 0}, + [6271] = {.lex_state = 0}, + [6272] = {.lex_state = 148}, + [6273] = {.lex_state = 0}, + [6274] = {.lex_state = 0}, + [6275] = {.lex_state = 0}, + [6276] = {.lex_state = 0}, + [6277] = {.lex_state = 0}, + [6278] = {.lex_state = 0}, + [6279] = {.lex_state = 148}, + [6280] = {.lex_state = 77}, + [6281] = {.lex_state = 0}, + [6282] = {.lex_state = 174}, + [6283] = {.lex_state = 125}, + [6284] = {.lex_state = 175}, + [6285] = {.lex_state = 0}, + [6286] = {.lex_state = 239}, + [6287] = {.lex_state = 239}, + [6288] = {.lex_state = 239}, + [6289] = {.lex_state = 125}, + [6290] = {.lex_state = 0}, + [6291] = {.lex_state = 239}, + [6292] = {.lex_state = 0}, + [6293] = {.lex_state = 0}, + [6294] = {.lex_state = 0}, + [6295] = {.lex_state = 0}, + [6296] = {.lex_state = 125}, + [6297] = {.lex_state = 0}, + [6298] = {.lex_state = 0}, + [6299] = {.lex_state = 239}, + [6300] = {.lex_state = 148}, + [6301] = {.lex_state = 0}, + [6302] = {.lex_state = 0}, + [6303] = {.lex_state = 0}, + [6304] = {.lex_state = 239}, + [6305] = {.lex_state = 239}, + [6306] = {.lex_state = 0}, + [6307] = {.lex_state = 0}, + [6308] = {.lex_state = 125}, + [6309] = {.lex_state = 0}, + [6310] = {.lex_state = 0}, + [6311] = {.lex_state = 0}, + [6312] = {.lex_state = 124}, + [6313] = {.lex_state = 0}, + [6314] = {.lex_state = 0}, + [6315] = {.lex_state = 148}, + [6316] = {.lex_state = 148}, + [6317] = {.lex_state = 0}, + [6318] = {.lex_state = 0}, + [6319] = {.lex_state = 148}, + [6320] = {.lex_state = 0}, + [6321] = {.lex_state = 0}, + [6322] = {.lex_state = 126}, + [6323] = {.lex_state = 239}, + [6324] = {.lex_state = 0}, + [6325] = {.lex_state = 239}, + [6326] = {.lex_state = 124}, + [6327] = {.lex_state = 239}, + [6328] = {.lex_state = 239}, + [6329] = {.lex_state = 0}, + [6330] = {.lex_state = 0}, + [6331] = {.lex_state = 0}, + [6332] = {.lex_state = 0}, + [6333] = {.lex_state = 0}, + [6334] = {.lex_state = 0}, + [6335] = {.lex_state = 0}, + [6336] = {.lex_state = 124}, + [6337] = {.lex_state = 148}, + [6338] = {.lex_state = 77}, + [6339] = {.lex_state = 239}, + [6340] = {.lex_state = 0}, + [6341] = {.lex_state = 0}, + [6342] = {.lex_state = 0}, + [6343] = {.lex_state = 77}, + [6344] = {.lex_state = 239}, + [6345] = {.lex_state = 0}, + [6346] = {.lex_state = 77}, + [6347] = {.lex_state = 0}, + [6348] = {.lex_state = 0}, + [6349] = {.lex_state = 0}, + [6350] = {.lex_state = 148}, + [6351] = {.lex_state = 0}, + [6352] = {.lex_state = 0}, + [6353] = {.lex_state = 239}, + [6354] = {.lex_state = 0}, + [6355] = {.lex_state = 0}, + [6356] = {.lex_state = 0}, + [6357] = {.lex_state = 0}, + [6358] = {.lex_state = 77}, + [6359] = {.lex_state = 0}, + [6360] = {.lex_state = 77}, + [6361] = {.lex_state = 0}, + [6362] = {.lex_state = 0}, + [6363] = {.lex_state = 0}, + [6364] = {.lex_state = 0}, + [6365] = {.lex_state = 0}, + [6366] = {.lex_state = 125}, + [6367] = {.lex_state = 0}, + [6368] = {.lex_state = 239}, + [6369] = {.lex_state = 0}, + [6370] = {.lex_state = 0}, + [6371] = {.lex_state = 148}, + [6372] = {.lex_state = 77}, + [6373] = {.lex_state = 239}, + [6374] = {.lex_state = 125}, + [6375] = {.lex_state = 239}, + [6376] = {.lex_state = 0}, + [6377] = {.lex_state = 0}, + [6378] = {.lex_state = 148}, + [6379] = {.lex_state = 77}, + [6380] = {.lex_state = 0}, + [6381] = {.lex_state = 151}, + [6382] = {.lex_state = 0}, + [6383] = {.lex_state = 0}, + [6384] = {.lex_state = 0}, + [6385] = {.lex_state = 0}, + [6386] = {.lex_state = 0}, + [6387] = {.lex_state = 0}, + [6388] = {.lex_state = 0}, + [6389] = {.lex_state = 148}, + [6390] = {.lex_state = 0}, + [6391] = {.lex_state = 0}, + [6392] = {.lex_state = 0}, + [6393] = {.lex_state = 125}, + [6394] = {.lex_state = 239}, + [6395] = {.lex_state = 239}, + [6396] = {.lex_state = 125}, + [6397] = {.lex_state = 148}, + [6398] = {.lex_state = 0}, + [6399] = {.lex_state = 239}, + [6400] = {.lex_state = 0}, + [6401] = {.lex_state = 239}, + [6402] = {.lex_state = 0}, + [6403] = {.lex_state = 0}, + [6404] = {.lex_state = 148}, + [6405] = {.lex_state = 0}, + [6406] = {.lex_state = 0}, + [6407] = {.lex_state = 148}, + [6408] = {.lex_state = 239}, + [6409] = {.lex_state = 239}, + [6410] = {.lex_state = 77}, + [6411] = {.lex_state = 148}, + [6412] = {.lex_state = 0}, + [6413] = {.lex_state = 126}, + [6414] = {.lex_state = 239}, + [6415] = {.lex_state = 239}, + [6416] = {.lex_state = 0}, + [6417] = {.lex_state = 148}, + [6418] = {.lex_state = 0}, + [6419] = {.lex_state = 0}, + [6420] = {.lex_state = 0}, + [6421] = {.lex_state = 239}, + [6422] = {.lex_state = 0}, + [6423] = {.lex_state = 148}, + [6424] = {.lex_state = 0}, + [6425] = {.lex_state = 239}, + [6426] = {.lex_state = 148}, + [6427] = {.lex_state = 0}, + [6428] = {.lex_state = 0}, + [6429] = {.lex_state = 239}, + [6430] = {.lex_state = 239}, + [6431] = {.lex_state = 0}, + [6432] = {.lex_state = 239}, + [6433] = {.lex_state = 239}, + [6434] = {.lex_state = 148}, + [6435] = {.lex_state = 0}, + [6436] = {.lex_state = 148}, + [6437] = {.lex_state = 77}, + [6438] = {.lex_state = 151}, + [6439] = {.lex_state = 0}, + [6440] = {.lex_state = 148}, + [6441] = {.lex_state = 0}, + [6442] = {.lex_state = 151}, + [6443] = {.lex_state = 0}, + [6444] = {.lex_state = 0}, + [6445] = {.lex_state = 0}, + [6446] = {.lex_state = 0}, + [6447] = {.lex_state = 0}, + [6448] = {.lex_state = 0}, + [6449] = {.lex_state = 0}, + [6450] = {.lex_state = 125}, + [6451] = {.lex_state = 0}, + [6452] = {.lex_state = 0}, + [6453] = {.lex_state = 77}, + [6454] = {.lex_state = 77}, + [6455] = {.lex_state = 239}, + [6456] = {.lex_state = 239}, + [6457] = {.lex_state = 148}, + [6458] = {.lex_state = 0}, + [6459] = {.lex_state = 0}, + [6460] = {.lex_state = 77}, + [6461] = {.lex_state = 0}, + [6462] = {.lex_state = 0}, + [6463] = {.lex_state = 148}, + [6464] = {.lex_state = 0}, + [6465] = {.lex_state = 0}, + [6466] = {.lex_state = 0}, + [6467] = {.lex_state = 239}, + [6468] = {.lex_state = 239}, + [6469] = {.lex_state = 148}, + [6470] = {.lex_state = 0}, + [6471] = {.lex_state = 0}, + [6472] = {.lex_state = 0}, + [6473] = {.lex_state = 0}, + [6474] = {.lex_state = 0}, + [6475] = {.lex_state = 0}, + [6476] = {.lex_state = 239}, + [6477] = {.lex_state = 239}, + [6478] = {.lex_state = 239}, + [6479] = {.lex_state = 148}, + [6480] = {.lex_state = 0}, + [6481] = {.lex_state = 125}, + [6482] = {.lex_state = 239}, + [6483] = {.lex_state = 239}, + [6484] = {.lex_state = 148}, + [6485] = {.lex_state = 0}, + [6486] = {.lex_state = 239}, + [6487] = {.lex_state = 148}, + [6488] = {.lex_state = 0}, + [6489] = {.lex_state = 239}, + [6490] = {.lex_state = 148}, + [6491] = {.lex_state = 0}, + [6492] = {.lex_state = 0}, + [6493] = {.lex_state = 239}, + [6494] = {.lex_state = 148}, + [6495] = {.lex_state = 0}, + [6496] = {.lex_state = 148}, +}; + +enum { + ts_external_token_raw_string_literal = 0, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token_raw_string_literal] = sym_raw_string_literal, +}; + +static const bool ts_external_scanner_states[2][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token_raw_string_literal] = true, + }, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [ts_builtin_sym_end] = ACTIONS(1), + [sym_identifier] = ACTIONS(1), + [aux_sym_preproc_include_token1] = ACTIONS(1), + [aux_sym_preproc_def_token1] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [aux_sym_preproc_if_token1] = ACTIONS(1), + [aux_sym_preproc_if_token2] = ACTIONS(1), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1), + [aux_sym_preproc_else_token1] = ACTIONS(1), + [aux_sym_preproc_elif_token1] = ACTIONS(1), + [sym_preproc_directive] = ACTIONS(1), + [anon_sym_LPAREN2] = ACTIONS(1), + [anon_sym_defined] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_TILDE] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_LT_LT] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_typedef] = ACTIONS(1), + [anon_sym_extern] = ACTIONS(1), + [anon_sym___attribute__] = ACTIONS(1), + [anon_sym_COLON_COLON] = ACTIONS(1), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1), + [anon_sym___declspec] = ACTIONS(1), + [anon_sym___based] = ACTIONS(1), + [anon_sym___cdecl] = ACTIONS(1), + [anon_sym___clrcall] = ACTIONS(1), + [anon_sym___stdcall] = ACTIONS(1), + [anon_sym___fastcall] = ACTIONS(1), + [anon_sym___thiscall] = ACTIONS(1), + [anon_sym___vectorcall] = ACTIONS(1), + [sym_ms_restrict_modifier] = ACTIONS(1), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(1), + [sym_ms_signed_ptr_modifier] = ACTIONS(1), + [anon_sym__unaligned] = ACTIONS(1), + [anon_sym___unaligned] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_static] = ACTIONS(1), + [anon_sym_register] = ACTIONS(1), + [anon_sym_inline] = ACTIONS(1), + [anon_sym_thread_local] = ACTIONS(1), + [anon_sym_const] = ACTIONS(1), + [anon_sym_volatile] = ACTIONS(1), + [anon_sym_restrict] = ACTIONS(1), + [anon_sym__Atomic] = ACTIONS(1), + [anon_sym_mutable] = ACTIONS(1), + [anon_sym_constexpr] = ACTIONS(1), + [anon_sym_constinit] = ACTIONS(1), + [anon_sym_consteval] = ACTIONS(1), + [anon_sym_signed] = ACTIONS(1), + [anon_sym_unsigned] = ACTIONS(1), + [anon_sym_long] = ACTIONS(1), + [anon_sym_short] = ACTIONS(1), + [sym_primitive_type] = ACTIONS(1), + [anon_sym_enum] = ACTIONS(1), + [anon_sym_class] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_union] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_switch] = ACTIONS(1), + [anon_sym_case] = ACTIONS(1), + [anon_sym_default] = ACTIONS(1), + [anon_sym_while] = ACTIONS(1), + [anon_sym_do] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_break] = ACTIONS(1), + [anon_sym_continue] = ACTIONS(1), + [anon_sym_goto] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_PERCENT_EQ] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_LT_LT_EQ] = ACTIONS(1), + [anon_sym_GT_GT_EQ] = ACTIONS(1), + [anon_sym_AMP_EQ] = ACTIONS(1), + [anon_sym_CARET_EQ] = ACTIONS(1), + [anon_sym_PIPE_EQ] = ACTIONS(1), + [anon_sym_LT_EQ_GT] = ACTIONS(1), + [anon_sym_DASH_DASH] = ACTIONS(1), + [anon_sym_PLUS_PLUS] = ACTIONS(1), + [anon_sym_sizeof] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [sym_number_literal] = ACTIONS(1), + [anon_sym_L_SQUOTE] = ACTIONS(1), + [anon_sym_u_SQUOTE] = ACTIONS(1), + [anon_sym_U_SQUOTE] = ACTIONS(1), + [anon_sym_u8_SQUOTE] = ACTIONS(1), + [anon_sym_SQUOTE] = ACTIONS(1), + [anon_sym_L_DQUOTE] = ACTIONS(1), + [anon_sym_u_DQUOTE] = ACTIONS(1), + [anon_sym_U_DQUOTE] = ACTIONS(1), + [anon_sym_u8_DQUOTE] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [sym_true] = ACTIONS(1), + [sym_false] = ACTIONS(1), + [sym_null] = ACTIONS(1), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1), + [anon_sym_decltype] = ACTIONS(1), + [anon_sym_final] = ACTIONS(1), + [anon_sym_override] = ACTIONS(1), + [anon_sym_virtual] = ACTIONS(1), + [anon_sym_explicit] = ACTIONS(1), + [anon_sym_public] = ACTIONS(1), + [anon_sym_private] = ACTIONS(1), + [anon_sym_protected] = ACTIONS(1), + [anon_sym_typename] = ACTIONS(1), + [anon_sym_template] = ACTIONS(1), + [anon_sym_GT2] = ACTIONS(1), + [anon_sym_operator] = ACTIONS(1), + [anon_sym_delete] = ACTIONS(1), + [anon_sym_friend] = ACTIONS(1), + [anon_sym_noexcept] = ACTIONS(1), + [anon_sym_throw] = ACTIONS(1), + [anon_sym_namespace] = ACTIONS(1), + [anon_sym_using] = ACTIONS(1), + [anon_sym_static_assert] = ACTIONS(1), + [anon_sym_concept] = ACTIONS(1), + [anon_sym_co_return] = ACTIONS(1), + [anon_sym_co_yield] = ACTIONS(1), + [anon_sym_try] = ACTIONS(1), + [anon_sym_catch] = ACTIONS(1), + [anon_sym_co_await] = ACTIONS(1), + [anon_sym_new] = ACTIONS(1), + [anon_sym_requires] = ACTIONS(1), + [anon_sym_DOT_STAR] = ACTIONS(1), + [anon_sym_DASH_GT_STAR] = ACTIONS(1), + [anon_sym_LBRACK_RBRACK] = ACTIONS(1), + [sym_this] = ACTIONS(1), + [sym_nullptr] = ACTIONS(1), + [sym_raw_string_literal] = ACTIONS(1), + }, + [1] = { + [sym_translation_unit] = STATE(6398), + [sym_preproc_include] = STATE(68), + [sym_preproc_def] = STATE(68), + [sym_preproc_function_def] = STATE(68), + [sym_preproc_call] = STATE(68), + [sym_preproc_if] = STATE(68), + [sym_preproc_ifdef] = STATE(68), + [sym_function_definition] = STATE(68), + [sym_declaration] = STATE(68), + [sym_type_definition] = STATE(68), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3699), + [sym_linkage_specification] = STATE(68), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1568), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4503), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(68), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2749), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(68), + [sym_labeled_statement] = STATE(68), + [sym_expression_statement] = STATE(68), + [sym_if_statement] = STATE(68), + [sym_switch_statement] = STATE(68), + [sym_case_statement] = STATE(68), + [sym_while_statement] = STATE(68), + [sym_do_statement] = STATE(68), + [sym_for_statement] = STATE(68), + [sym_return_statement] = STATE(68), + [sym_break_statement] = STATE(68), + [sym_continue_statement] = STATE(68), + [sym_goto_statement] = STATE(68), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(68), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1523), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(68), + [sym_template_instantiation] = STATE(68), + [sym_operator_cast] = STATE(5080), + [sym__constructor_specifiers] = STATE(1523), + [sym_operator_cast_definition] = STATE(68), + [sym_operator_cast_declaration] = STATE(68), + [sym_constructor_or_destructor_definition] = STATE(68), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(68), + [sym_namespace_alias_definition] = STATE(68), + [sym_using_declaration] = STATE(68), + [sym_alias_declaration] = STATE(68), + [sym_static_assert_declaration] = STATE(68), + [sym_concept_definition] = STATE(68), + [sym_for_range_loop] = STATE(68), + [sym_co_return_statement] = STATE(68), + [sym_co_yield_statement] = STATE(68), + [sym_throw_statement] = STATE(68), + [sym_try_statement] = STATE(68), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5080), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(68), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1523), + [ts_builtin_sym_end] = ACTIONS(5), + [sym_identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(37), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(115), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_namespace] = ACTIONS(123), + [anon_sym_using] = ACTIONS(125), + [anon_sym_static_assert] = ACTIONS(127), + [anon_sym_concept] = ACTIONS(129), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [2] = { + [sym_preproc_include] = STATE(44), + [sym_preproc_def] = STATE(44), + [sym_preproc_function_def] = STATE(44), + [sym_preproc_call] = STATE(44), + [sym_preproc_if] = STATE(44), + [sym_preproc_ifdef] = STATE(44), + [sym_function_definition] = STATE(44), + [sym_declaration] = STATE(44), + [sym_type_definition] = STATE(44), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(44), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(44), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(44), + [sym_labeled_statement] = STATE(44), + [sym_expression_statement] = STATE(44), + [sym_if_statement] = STATE(44), + [sym_switch_statement] = STATE(44), + [sym_case_statement] = STATE(44), + [sym_while_statement] = STATE(44), + [sym_do_statement] = STATE(44), + [sym_for_statement] = STATE(44), + [sym_return_statement] = STATE(44), + [sym_break_statement] = STATE(44), + [sym_continue_statement] = STATE(44), + [sym_goto_statement] = STATE(44), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(44), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(44), + [sym_template_instantiation] = STATE(44), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(44), + [sym_operator_cast_declaration] = STATE(44), + [sym_constructor_or_destructor_definition] = STATE(44), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(44), + [sym_namespace_alias_definition] = STATE(44), + [sym_using_declaration] = STATE(44), + [sym_alias_declaration] = STATE(44), + [sym_static_assert_declaration] = STATE(44), + [sym_concept_definition] = STATE(44), + [sym_for_range_loop] = STATE(44), + [sym_co_return_statement] = STATE(44), + [sym_co_yield_statement] = STATE(44), + [sym_throw_statement] = STATE(44), + [sym_try_statement] = STATE(44), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(44), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(167), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [3] = { + [sym_preproc_include] = STATE(38), + [sym_preproc_def] = STATE(38), + [sym_preproc_function_def] = STATE(38), + [sym_preproc_call] = STATE(38), + [sym_preproc_if] = STATE(38), + [sym_preproc_ifdef] = STATE(38), + [sym_function_definition] = STATE(38), + [sym_declaration] = STATE(38), + [sym_type_definition] = STATE(38), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(38), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(38), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(38), + [sym_labeled_statement] = STATE(38), + [sym_expression_statement] = STATE(38), + [sym_if_statement] = STATE(38), + [sym_switch_statement] = STATE(38), + [sym_case_statement] = STATE(38), + [sym_while_statement] = STATE(38), + [sym_do_statement] = STATE(38), + [sym_for_statement] = STATE(38), + [sym_return_statement] = STATE(38), + [sym_break_statement] = STATE(38), + [sym_continue_statement] = STATE(38), + [sym_goto_statement] = STATE(38), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(38), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(38), + [sym_template_instantiation] = STATE(38), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(38), + [sym_operator_cast_declaration] = STATE(38), + [sym_constructor_or_destructor_definition] = STATE(38), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(38), + [sym_namespace_alias_definition] = STATE(38), + [sym_using_declaration] = STATE(38), + [sym_alias_declaration] = STATE(38), + [sym_static_assert_declaration] = STATE(38), + [sym_concept_definition] = STATE(38), + [sym_for_range_loop] = STATE(38), + [sym_co_return_statement] = STATE(38), + [sym_co_yield_statement] = STATE(38), + [sym_throw_statement] = STATE(38), + [sym_try_statement] = STATE(38), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(38), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(213), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [4] = { + [sym_preproc_include] = STATE(63), + [sym_preproc_def] = STATE(63), + [sym_preproc_function_def] = STATE(63), + [sym_preproc_call] = STATE(63), + [sym_preproc_if] = STATE(63), + [sym_preproc_ifdef] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_declaration] = STATE(63), + [sym_type_definition] = STATE(63), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(63), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(63), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(63), + [sym_labeled_statement] = STATE(63), + [sym_expression_statement] = STATE(63), + [sym_if_statement] = STATE(63), + [sym_switch_statement] = STATE(63), + [sym_case_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_do_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_return_statement] = STATE(63), + [sym_break_statement] = STATE(63), + [sym_continue_statement] = STATE(63), + [sym_goto_statement] = STATE(63), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(63), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(63), + [sym_template_instantiation] = STATE(63), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(63), + [sym_operator_cast_declaration] = STATE(63), + [sym_constructor_or_destructor_definition] = STATE(63), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(63), + [sym_namespace_alias_definition] = STATE(63), + [sym_using_declaration] = STATE(63), + [sym_alias_declaration] = STATE(63), + [sym_static_assert_declaration] = STATE(63), + [sym_concept_definition] = STATE(63), + [sym_for_range_loop] = STATE(63), + [sym_co_return_statement] = STATE(63), + [sym_co_yield_statement] = STATE(63), + [sym_throw_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(63), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(215), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [5] = { + [sym_preproc_include] = STATE(60), + [sym_preproc_def] = STATE(60), + [sym_preproc_function_def] = STATE(60), + [sym_preproc_call] = STATE(60), + [sym_preproc_if] = STATE(60), + [sym_preproc_ifdef] = STATE(60), + [sym_function_definition] = STATE(60), + [sym_declaration] = STATE(60), + [sym_type_definition] = STATE(60), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(60), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(60), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(60), + [sym_labeled_statement] = STATE(60), + [sym_expression_statement] = STATE(60), + [sym_if_statement] = STATE(60), + [sym_switch_statement] = STATE(60), + [sym_case_statement] = STATE(60), + [sym_while_statement] = STATE(60), + [sym_do_statement] = STATE(60), + [sym_for_statement] = STATE(60), + [sym_return_statement] = STATE(60), + [sym_break_statement] = STATE(60), + [sym_continue_statement] = STATE(60), + [sym_goto_statement] = STATE(60), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(60), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(60), + [sym_template_instantiation] = STATE(60), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(60), + [sym_operator_cast_declaration] = STATE(60), + [sym_constructor_or_destructor_definition] = STATE(60), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(60), + [sym_namespace_alias_definition] = STATE(60), + [sym_using_declaration] = STATE(60), + [sym_alias_declaration] = STATE(60), + [sym_static_assert_declaration] = STATE(60), + [sym_concept_definition] = STATE(60), + [sym_for_range_loop] = STATE(60), + [sym_co_return_statement] = STATE(60), + [sym_co_yield_statement] = STATE(60), + [sym_throw_statement] = STATE(60), + [sym_try_statement] = STATE(60), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(60), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(217), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [6] = { + [sym_preproc_include] = STATE(63), + [sym_preproc_def] = STATE(63), + [sym_preproc_function_def] = STATE(63), + [sym_preproc_call] = STATE(63), + [sym_preproc_if] = STATE(63), + [sym_preproc_ifdef] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_declaration] = STATE(63), + [sym_type_definition] = STATE(63), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(63), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(63), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(63), + [sym_labeled_statement] = STATE(63), + [sym_expression_statement] = STATE(63), + [sym_if_statement] = STATE(63), + [sym_switch_statement] = STATE(63), + [sym_case_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_do_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_return_statement] = STATE(63), + [sym_break_statement] = STATE(63), + [sym_continue_statement] = STATE(63), + [sym_goto_statement] = STATE(63), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(63), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(63), + [sym_template_instantiation] = STATE(63), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(63), + [sym_operator_cast_declaration] = STATE(63), + [sym_constructor_or_destructor_definition] = STATE(63), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(63), + [sym_namespace_alias_definition] = STATE(63), + [sym_using_declaration] = STATE(63), + [sym_alias_declaration] = STATE(63), + [sym_static_assert_declaration] = STATE(63), + [sym_concept_definition] = STATE(63), + [sym_for_range_loop] = STATE(63), + [sym_co_return_statement] = STATE(63), + [sym_co_yield_statement] = STATE(63), + [sym_throw_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(63), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(219), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [7] = { + [sym_preproc_include] = STATE(66), + [sym_preproc_def] = STATE(66), + [sym_preproc_function_def] = STATE(66), + [sym_preproc_call] = STATE(66), + [sym_preproc_if] = STATE(66), + [sym_preproc_ifdef] = STATE(66), + [sym_function_definition] = STATE(66), + [sym_declaration] = STATE(66), + [sym_type_definition] = STATE(66), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(66), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(66), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(66), + [sym_labeled_statement] = STATE(66), + [sym_expression_statement] = STATE(66), + [sym_if_statement] = STATE(66), + [sym_switch_statement] = STATE(66), + [sym_case_statement] = STATE(66), + [sym_while_statement] = STATE(66), + [sym_do_statement] = STATE(66), + [sym_for_statement] = STATE(66), + [sym_return_statement] = STATE(66), + [sym_break_statement] = STATE(66), + [sym_continue_statement] = STATE(66), + [sym_goto_statement] = STATE(66), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(66), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(66), + [sym_template_instantiation] = STATE(66), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(66), + [sym_operator_cast_declaration] = STATE(66), + [sym_constructor_or_destructor_definition] = STATE(66), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(66), + [sym_namespace_alias_definition] = STATE(66), + [sym_using_declaration] = STATE(66), + [sym_alias_declaration] = STATE(66), + [sym_static_assert_declaration] = STATE(66), + [sym_concept_definition] = STATE(66), + [sym_for_range_loop] = STATE(66), + [sym_co_return_statement] = STATE(66), + [sym_co_yield_statement] = STATE(66), + [sym_throw_statement] = STATE(66), + [sym_try_statement] = STATE(66), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(66), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(221), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [8] = { + [sym_preproc_include] = STATE(34), + [sym_preproc_def] = STATE(34), + [sym_preproc_function_def] = STATE(34), + [sym_preproc_call] = STATE(34), + [sym_preproc_if] = STATE(34), + [sym_preproc_ifdef] = STATE(34), + [sym_function_definition] = STATE(34), + [sym_declaration] = STATE(34), + [sym_type_definition] = STATE(34), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(34), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(34), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(34), + [sym_labeled_statement] = STATE(34), + [sym_expression_statement] = STATE(34), + [sym_if_statement] = STATE(34), + [sym_switch_statement] = STATE(34), + [sym_case_statement] = STATE(34), + [sym_while_statement] = STATE(34), + [sym_do_statement] = STATE(34), + [sym_for_statement] = STATE(34), + [sym_return_statement] = STATE(34), + [sym_break_statement] = STATE(34), + [sym_continue_statement] = STATE(34), + [sym_goto_statement] = STATE(34), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(34), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(34), + [sym_template_instantiation] = STATE(34), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(34), + [sym_operator_cast_declaration] = STATE(34), + [sym_constructor_or_destructor_definition] = STATE(34), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(34), + [sym_namespace_alias_definition] = STATE(34), + [sym_using_declaration] = STATE(34), + [sym_alias_declaration] = STATE(34), + [sym_static_assert_declaration] = STATE(34), + [sym_concept_definition] = STATE(34), + [sym_for_range_loop] = STATE(34), + [sym_co_return_statement] = STATE(34), + [sym_co_yield_statement] = STATE(34), + [sym_throw_statement] = STATE(34), + [sym_try_statement] = STATE(34), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(34), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(223), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [9] = { + [sym_preproc_include] = STATE(57), + [sym_preproc_def] = STATE(57), + [sym_preproc_function_def] = STATE(57), + [sym_preproc_call] = STATE(57), + [sym_preproc_if] = STATE(57), + [sym_preproc_ifdef] = STATE(57), + [sym_function_definition] = STATE(57), + [sym_declaration] = STATE(57), + [sym_type_definition] = STATE(57), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(57), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(57), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(57), + [sym_labeled_statement] = STATE(57), + [sym_expression_statement] = STATE(57), + [sym_if_statement] = STATE(57), + [sym_switch_statement] = STATE(57), + [sym_case_statement] = STATE(57), + [sym_while_statement] = STATE(57), + [sym_do_statement] = STATE(57), + [sym_for_statement] = STATE(57), + [sym_return_statement] = STATE(57), + [sym_break_statement] = STATE(57), + [sym_continue_statement] = STATE(57), + [sym_goto_statement] = STATE(57), + [sym__expression] = STATE(3224), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(57), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(57), + [sym_template_instantiation] = STATE(57), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(57), + [sym_operator_cast_declaration] = STATE(57), + [sym_constructor_or_destructor_definition] = STATE(57), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(57), + [sym_namespace_alias_definition] = STATE(57), + [sym_using_declaration] = STATE(57), + [sym_alias_declaration] = STATE(57), + [sym_static_assert_declaration] = STATE(57), + [sym_concept_definition] = STATE(57), + [sym_for_range_loop] = STATE(57), + [sym_co_return_statement] = STATE(57), + [sym_co_yield_statement] = STATE(57), + [sym_throw_statement] = STATE(57), + [sym_try_statement] = STATE(57), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(57), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [anon_sym_COMMA] = ACTIONS(151), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(165), + [anon_sym_RBRACE] = ACTIONS(225), + [anon_sym_LBRACK] = ACTIONS(169), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [10] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6015), + [sym_preproc_elif] = STATE(6015), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(235), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [11] = { + [sym_preproc_include] = STATE(12), + [sym_preproc_def] = STATE(12), + [sym_preproc_function_def] = STATE(12), + [sym_preproc_call] = STATE(12), + [sym_preproc_if] = STATE(12), + [sym_preproc_ifdef] = STATE(12), + [sym_preproc_else] = STATE(6155), + [sym_preproc_elif] = STATE(6155), + [sym_function_definition] = STATE(12), + [sym_declaration] = STATE(12), + [sym_type_definition] = STATE(12), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(12), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(12), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(12), + [sym_labeled_statement] = STATE(12), + [sym_expression_statement] = STATE(12), + [sym_if_statement] = STATE(12), + [sym_switch_statement] = STATE(12), + [sym_case_statement] = STATE(12), + [sym_while_statement] = STATE(12), + [sym_do_statement] = STATE(12), + [sym_for_statement] = STATE(12), + [sym_return_statement] = STATE(12), + [sym_break_statement] = STATE(12), + [sym_continue_statement] = STATE(12), + [sym_goto_statement] = STATE(12), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(12), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(12), + [sym_template_instantiation] = STATE(12), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(12), + [sym_operator_cast_declaration] = STATE(12), + [sym_constructor_or_destructor_definition] = STATE(12), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(12), + [sym_namespace_alias_definition] = STATE(12), + [sym_using_declaration] = STATE(12), + [sym_alias_declaration] = STATE(12), + [sym_static_assert_declaration] = STATE(12), + [sym_concept_definition] = STATE(12), + [sym_for_range_loop] = STATE(12), + [sym_co_return_statement] = STATE(12), + [sym_co_yield_statement] = STATE(12), + [sym_throw_statement] = STATE(12), + [sym_try_statement] = STATE(12), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(12), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(293), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [12] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6396), + [sym_preproc_elif] = STATE(6396), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [13] = { + [sym_preproc_include] = STATE(19), + [sym_preproc_def] = STATE(19), + [sym_preproc_function_def] = STATE(19), + [sym_preproc_call] = STATE(19), + [sym_preproc_if] = STATE(19), + [sym_preproc_ifdef] = STATE(19), + [sym_preproc_else] = STATE(6393), + [sym_preproc_elif] = STATE(6393), + [sym_function_definition] = STATE(19), + [sym_declaration] = STATE(19), + [sym_type_definition] = STATE(19), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(19), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(19), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(19), + [sym_labeled_statement] = STATE(19), + [sym_expression_statement] = STATE(19), + [sym_if_statement] = STATE(19), + [sym_switch_statement] = STATE(19), + [sym_case_statement] = STATE(19), + [sym_while_statement] = STATE(19), + [sym_do_statement] = STATE(19), + [sym_for_statement] = STATE(19), + [sym_return_statement] = STATE(19), + [sym_break_statement] = STATE(19), + [sym_continue_statement] = STATE(19), + [sym_goto_statement] = STATE(19), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(19), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(19), + [sym_template_instantiation] = STATE(19), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(19), + [sym_operator_cast_declaration] = STATE(19), + [sym_constructor_or_destructor_definition] = STATE(19), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(19), + [sym_namespace_alias_definition] = STATE(19), + [sym_using_declaration] = STATE(19), + [sym_alias_declaration] = STATE(19), + [sym_static_assert_declaration] = STATE(19), + [sym_concept_definition] = STATE(19), + [sym_for_range_loop] = STATE(19), + [sym_co_return_statement] = STATE(19), + [sym_co_yield_statement] = STATE(19), + [sym_throw_statement] = STATE(19), + [sym_try_statement] = STATE(19), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(19), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(297), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [14] = { + [sym_preproc_include] = STATE(17), + [sym_preproc_def] = STATE(17), + [sym_preproc_function_def] = STATE(17), + [sym_preproc_call] = STATE(17), + [sym_preproc_if] = STATE(17), + [sym_preproc_ifdef] = STATE(17), + [sym_preproc_else] = STATE(5996), + [sym_preproc_elif] = STATE(5996), + [sym_function_definition] = STATE(17), + [sym_declaration] = STATE(17), + [sym_type_definition] = STATE(17), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(17), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(17), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(17), + [sym_labeled_statement] = STATE(17), + [sym_expression_statement] = STATE(17), + [sym_if_statement] = STATE(17), + [sym_switch_statement] = STATE(17), + [sym_case_statement] = STATE(17), + [sym_while_statement] = STATE(17), + [sym_do_statement] = STATE(17), + [sym_for_statement] = STATE(17), + [sym_return_statement] = STATE(17), + [sym_break_statement] = STATE(17), + [sym_continue_statement] = STATE(17), + [sym_goto_statement] = STATE(17), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(17), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(17), + [sym_template_instantiation] = STATE(17), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(17), + [sym_operator_cast_declaration] = STATE(17), + [sym_constructor_or_destructor_definition] = STATE(17), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(17), + [sym_namespace_alias_definition] = STATE(17), + [sym_using_declaration] = STATE(17), + [sym_alias_declaration] = STATE(17), + [sym_static_assert_declaration] = STATE(17), + [sym_concept_definition] = STATE(17), + [sym_for_range_loop] = STATE(17), + [sym_co_return_statement] = STATE(17), + [sym_co_yield_statement] = STATE(17), + [sym_throw_statement] = STATE(17), + [sym_try_statement] = STATE(17), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(17), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [15] = { + [sym_preproc_include] = STATE(27), + [sym_preproc_def] = STATE(27), + [sym_preproc_function_def] = STATE(27), + [sym_preproc_call] = STATE(27), + [sym_preproc_if] = STATE(27), + [sym_preproc_ifdef] = STATE(27), + [sym_preproc_else] = STATE(6116), + [sym_preproc_elif] = STATE(6116), + [sym_function_definition] = STATE(27), + [sym_declaration] = STATE(27), + [sym_type_definition] = STATE(27), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(27), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(27), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(27), + [sym_labeled_statement] = STATE(27), + [sym_expression_statement] = STATE(27), + [sym_if_statement] = STATE(27), + [sym_switch_statement] = STATE(27), + [sym_case_statement] = STATE(27), + [sym_while_statement] = STATE(27), + [sym_do_statement] = STATE(27), + [sym_for_statement] = STATE(27), + [sym_return_statement] = STATE(27), + [sym_break_statement] = STATE(27), + [sym_continue_statement] = STATE(27), + [sym_goto_statement] = STATE(27), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(27), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(27), + [sym_template_instantiation] = STATE(27), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(27), + [sym_operator_cast_declaration] = STATE(27), + [sym_constructor_or_destructor_definition] = STATE(27), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(27), + [sym_namespace_alias_definition] = STATE(27), + [sym_using_declaration] = STATE(27), + [sym_alias_declaration] = STATE(27), + [sym_static_assert_declaration] = STATE(27), + [sym_concept_definition] = STATE(27), + [sym_for_range_loop] = STATE(27), + [sym_co_return_statement] = STATE(27), + [sym_co_yield_statement] = STATE(27), + [sym_throw_statement] = STATE(27), + [sym_try_statement] = STATE(27), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(27), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(301), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [16] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6289), + [sym_preproc_elif] = STATE(6289), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [17] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6052), + [sym_preproc_elif] = STATE(6052), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(305), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [18] = { + [sym_preproc_include] = STATE(10), + [sym_preproc_def] = STATE(10), + [sym_preproc_function_def] = STATE(10), + [sym_preproc_call] = STATE(10), + [sym_preproc_if] = STATE(10), + [sym_preproc_ifdef] = STATE(10), + [sym_preproc_else] = STATE(6055), + [sym_preproc_elif] = STATE(6055), + [sym_function_definition] = STATE(10), + [sym_declaration] = STATE(10), + [sym_type_definition] = STATE(10), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(10), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(10), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(10), + [sym_labeled_statement] = STATE(10), + [sym_expression_statement] = STATE(10), + [sym_if_statement] = STATE(10), + [sym_switch_statement] = STATE(10), + [sym_case_statement] = STATE(10), + [sym_while_statement] = STATE(10), + [sym_do_statement] = STATE(10), + [sym_for_statement] = STATE(10), + [sym_return_statement] = STATE(10), + [sym_break_statement] = STATE(10), + [sym_continue_statement] = STATE(10), + [sym_goto_statement] = STATE(10), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(10), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(10), + [sym_template_instantiation] = STATE(10), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(10), + [sym_operator_cast_declaration] = STATE(10), + [sym_constructor_or_destructor_definition] = STATE(10), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(10), + [sym_namespace_alias_definition] = STATE(10), + [sym_using_declaration] = STATE(10), + [sym_alias_declaration] = STATE(10), + [sym_static_assert_declaration] = STATE(10), + [sym_concept_definition] = STATE(10), + [sym_for_range_loop] = STATE(10), + [sym_co_return_statement] = STATE(10), + [sym_co_yield_statement] = STATE(10), + [sym_throw_statement] = STATE(10), + [sym_try_statement] = STATE(10), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(10), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [19] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6296), + [sym_preproc_elif] = STATE(6296), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(309), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [20] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6241), + [sym_preproc_elif] = STATE(6241), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [21] = { + [sym_preproc_include] = STATE(16), + [sym_preproc_def] = STATE(16), + [sym_preproc_function_def] = STATE(16), + [sym_preproc_call] = STATE(16), + [sym_preproc_if] = STATE(16), + [sym_preproc_ifdef] = STATE(16), + [sym_preproc_else] = STATE(6374), + [sym_preproc_elif] = STATE(6374), + [sym_function_definition] = STATE(16), + [sym_declaration] = STATE(16), + [sym_type_definition] = STATE(16), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(16), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(16), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(16), + [sym_labeled_statement] = STATE(16), + [sym_expression_statement] = STATE(16), + [sym_if_statement] = STATE(16), + [sym_switch_statement] = STATE(16), + [sym_case_statement] = STATE(16), + [sym_while_statement] = STATE(16), + [sym_do_statement] = STATE(16), + [sym_for_statement] = STATE(16), + [sym_return_statement] = STATE(16), + [sym_break_statement] = STATE(16), + [sym_continue_statement] = STATE(16), + [sym_goto_statement] = STATE(16), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(16), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(16), + [sym_template_instantiation] = STATE(16), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(16), + [sym_operator_cast_declaration] = STATE(16), + [sym_constructor_or_destructor_definition] = STATE(16), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(16), + [sym_namespace_alias_definition] = STATE(16), + [sym_using_declaration] = STATE(16), + [sym_alias_declaration] = STATE(16), + [sym_static_assert_declaration] = STATE(16), + [sym_concept_definition] = STATE(16), + [sym_for_range_loop] = STATE(16), + [sym_co_return_statement] = STATE(16), + [sym_co_yield_statement] = STATE(16), + [sym_throw_statement] = STATE(16), + [sym_try_statement] = STATE(16), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(16), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(313), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [22] = { + [sym_preproc_include] = STATE(20), + [sym_preproc_def] = STATE(20), + [sym_preproc_function_def] = STATE(20), + [sym_preproc_call] = STATE(20), + [sym_preproc_if] = STATE(20), + [sym_preproc_ifdef] = STATE(20), + [sym_preproc_else] = STATE(6450), + [sym_preproc_elif] = STATE(6450), + [sym_function_definition] = STATE(20), + [sym_declaration] = STATE(20), + [sym_type_definition] = STATE(20), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(20), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(20), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(20), + [sym_labeled_statement] = STATE(20), + [sym_expression_statement] = STATE(20), + [sym_if_statement] = STATE(20), + [sym_switch_statement] = STATE(20), + [sym_case_statement] = STATE(20), + [sym_while_statement] = STATE(20), + [sym_do_statement] = STATE(20), + [sym_for_statement] = STATE(20), + [sym_return_statement] = STATE(20), + [sym_break_statement] = STATE(20), + [sym_continue_statement] = STATE(20), + [sym_goto_statement] = STATE(20), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(20), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(20), + [sym_template_instantiation] = STATE(20), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(20), + [sym_operator_cast_declaration] = STATE(20), + [sym_constructor_or_destructor_definition] = STATE(20), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(20), + [sym_namespace_alias_definition] = STATE(20), + [sym_using_declaration] = STATE(20), + [sym_alias_declaration] = STATE(20), + [sym_static_assert_declaration] = STATE(20), + [sym_concept_definition] = STATE(20), + [sym_for_range_loop] = STATE(20), + [sym_co_return_statement] = STATE(20), + [sym_co_yield_statement] = STATE(20), + [sym_throw_statement] = STATE(20), + [sym_try_statement] = STATE(20), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(20), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [23] = { + [sym_preproc_include] = STATE(25), + [sym_preproc_def] = STATE(25), + [sym_preproc_function_def] = STATE(25), + [sym_preproc_call] = STATE(25), + [sym_preproc_if] = STATE(25), + [sym_preproc_ifdef] = STATE(25), + [sym_preproc_else] = STATE(6366), + [sym_preproc_elif] = STATE(6366), + [sym_function_definition] = STATE(25), + [sym_declaration] = STATE(25), + [sym_type_definition] = STATE(25), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(25), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(25), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(25), + [sym_labeled_statement] = STATE(25), + [sym_expression_statement] = STATE(25), + [sym_if_statement] = STATE(25), + [sym_switch_statement] = STATE(25), + [sym_case_statement] = STATE(25), + [sym_while_statement] = STATE(25), + [sym_do_statement] = STATE(25), + [sym_for_statement] = STATE(25), + [sym_return_statement] = STATE(25), + [sym_break_statement] = STATE(25), + [sym_continue_statement] = STATE(25), + [sym_goto_statement] = STATE(25), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(25), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(25), + [sym_template_instantiation] = STATE(25), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(25), + [sym_operator_cast_declaration] = STATE(25), + [sym_constructor_or_destructor_definition] = STATE(25), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(25), + [sym_namespace_alias_definition] = STATE(25), + [sym_using_declaration] = STATE(25), + [sym_alias_declaration] = STATE(25), + [sym_static_assert_declaration] = STATE(25), + [sym_concept_definition] = STATE(25), + [sym_for_range_loop] = STATE(25), + [sym_co_return_statement] = STATE(25), + [sym_co_yield_statement] = STATE(25), + [sym_throw_statement] = STATE(25), + [sym_try_statement] = STATE(25), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(25), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(317), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [24] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6122), + [sym_preproc_elif] = STATE(6122), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [25] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6017), + [sym_preproc_elif] = STATE(6017), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(321), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [26] = { + [sym_preproc_include] = STATE(24), + [sym_preproc_def] = STATE(24), + [sym_preproc_function_def] = STATE(24), + [sym_preproc_call] = STATE(24), + [sym_preproc_if] = STATE(24), + [sym_preproc_ifdef] = STATE(24), + [sym_preproc_else] = STATE(6247), + [sym_preproc_elif] = STATE(6247), + [sym_function_definition] = STATE(24), + [sym_declaration] = STATE(24), + [sym_type_definition] = STATE(24), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(24), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(24), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(24), + [sym_labeled_statement] = STATE(24), + [sym_expression_statement] = STATE(24), + [sym_if_statement] = STATE(24), + [sym_switch_statement] = STATE(24), + [sym_case_statement] = STATE(24), + [sym_while_statement] = STATE(24), + [sym_do_statement] = STATE(24), + [sym_for_statement] = STATE(24), + [sym_return_statement] = STATE(24), + [sym_break_statement] = STATE(24), + [sym_continue_statement] = STATE(24), + [sym_goto_statement] = STATE(24), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(24), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(24), + [sym_template_instantiation] = STATE(24), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(24), + [sym_operator_cast_declaration] = STATE(24), + [sym_constructor_or_destructor_definition] = STATE(24), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(24), + [sym_namespace_alias_definition] = STATE(24), + [sym_using_declaration] = STATE(24), + [sym_alias_declaration] = STATE(24), + [sym_static_assert_declaration] = STATE(24), + [sym_concept_definition] = STATE(24), + [sym_for_range_loop] = STATE(24), + [sym_co_return_statement] = STATE(24), + [sym_co_yield_statement] = STATE(24), + [sym_throw_statement] = STATE(24), + [sym_try_statement] = STATE(24), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(24), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(323), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [27] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_preproc_else] = STATE(6262), + [sym_preproc_elif] = STATE(6262), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(227), + [aux_sym_preproc_include_token1] = ACTIONS(229), + [aux_sym_preproc_def_token1] = ACTIONS(231), + [aux_sym_preproc_if_token1] = ACTIONS(233), + [aux_sym_preproc_if_token2] = ACTIONS(325), + [aux_sym_preproc_ifdef_token1] = ACTIONS(237), + [aux_sym_preproc_ifdef_token2] = ACTIONS(237), + [aux_sym_preproc_else_token1] = ACTIONS(239), + [aux_sym_preproc_elif_token1] = ACTIONS(241), + [sym_preproc_directive] = ACTIONS(243), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(249), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(275), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(279), + [anon_sym_using] = ACTIONS(281), + [anon_sym_static_assert] = ACTIONS(283), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [28] = { + [sym_preproc_include] = STATE(28), + [sym_preproc_def] = STATE(28), + [sym_preproc_function_def] = STATE(28), + [sym_preproc_call] = STATE(28), + [sym_preproc_if] = STATE(28), + [sym_preproc_ifdef] = STATE(28), + [sym_function_definition] = STATE(28), + [sym_declaration] = STATE(28), + [sym_type_definition] = STATE(28), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_linkage_specification] = STATE(28), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4542), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(28), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(28), + [sym_labeled_statement] = STATE(28), + [sym_expression_statement] = STATE(28), + [sym_if_statement] = STATE(28), + [sym_switch_statement] = STATE(28), + [sym_case_statement] = STATE(28), + [sym_while_statement] = STATE(28), + [sym_do_statement] = STATE(28), + [sym_for_statement] = STATE(28), + [sym_return_statement] = STATE(28), + [sym_break_statement] = STATE(28), + [sym_continue_statement] = STATE(28), + [sym_goto_statement] = STATE(28), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(28), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1549), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(28), + [sym_template_instantiation] = STATE(28), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1549), + [sym_operator_cast_definition] = STATE(28), + [sym_operator_cast_declaration] = STATE(28), + [sym_constructor_or_destructor_definition] = STATE(28), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(28), + [sym_namespace_alias_definition] = STATE(28), + [sym_using_declaration] = STATE(28), + [sym_alias_declaration] = STATE(28), + [sym_static_assert_declaration] = STATE(28), + [sym_concept_definition] = STATE(28), + [sym_for_range_loop] = STATE(28), + [sym_co_return_statement] = STATE(28), + [sym_co_yield_statement] = STATE(28), + [sym_throw_statement] = STATE(28), + [sym_try_statement] = STATE(28), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(28), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(156), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1549), + [sym_identifier] = ACTIONS(327), + [aux_sym_preproc_include_token1] = ACTIONS(330), + [aux_sym_preproc_def_token1] = ACTIONS(333), + [aux_sym_preproc_if_token1] = ACTIONS(336), + [aux_sym_preproc_if_token2] = ACTIONS(339), + [aux_sym_preproc_ifdef_token1] = ACTIONS(341), + [aux_sym_preproc_ifdef_token2] = ACTIONS(341), + [aux_sym_preproc_else_token1] = ACTIONS(339), + [aux_sym_preproc_elif_token1] = ACTIONS(339), + [sym_preproc_directive] = ACTIONS(344), + [anon_sym_LPAREN2] = ACTIONS(347), + [anon_sym_BANG] = ACTIONS(350), + [anon_sym_TILDE] = ACTIONS(353), + [anon_sym_DASH] = ACTIONS(356), + [anon_sym_PLUS] = ACTIONS(356), + [anon_sym_STAR] = ACTIONS(359), + [anon_sym_AMP_AMP] = ACTIONS(362), + [anon_sym_AMP] = ACTIONS(365), + [anon_sym_SEMI] = ACTIONS(368), + [anon_sym_typedef] = ACTIONS(371), + [anon_sym_extern] = ACTIONS(374), + [anon_sym___attribute__] = ACTIONS(377), + [anon_sym_COLON_COLON] = ACTIONS(380), + [anon_sym_LBRACK_LBRACK] = ACTIONS(383), + [anon_sym___declspec] = ACTIONS(386), + [anon_sym___based] = ACTIONS(389), + [anon_sym___cdecl] = ACTIONS(392), + [anon_sym___clrcall] = ACTIONS(392), + [anon_sym___stdcall] = ACTIONS(392), + [anon_sym___fastcall] = ACTIONS(392), + [anon_sym___thiscall] = ACTIONS(392), + [anon_sym___vectorcall] = ACTIONS(392), + [anon_sym_LBRACE] = ACTIONS(395), + [anon_sym_LBRACK] = ACTIONS(398), + [anon_sym_static] = ACTIONS(401), + [anon_sym_register] = ACTIONS(401), + [anon_sym_inline] = ACTIONS(401), + [anon_sym_thread_local] = ACTIONS(401), + [anon_sym_const] = ACTIONS(404), + [anon_sym_volatile] = ACTIONS(404), + [anon_sym_restrict] = ACTIONS(404), + [anon_sym__Atomic] = ACTIONS(404), + [anon_sym_mutable] = ACTIONS(404), + [anon_sym_constexpr] = ACTIONS(404), + [anon_sym_constinit] = ACTIONS(404), + [anon_sym_consteval] = ACTIONS(404), + [anon_sym_signed] = ACTIONS(407), + [anon_sym_unsigned] = ACTIONS(407), + [anon_sym_long] = ACTIONS(407), + [anon_sym_short] = ACTIONS(407), + [sym_primitive_type] = ACTIONS(410), + [anon_sym_enum] = ACTIONS(413), + [anon_sym_class] = ACTIONS(416), + [anon_sym_struct] = ACTIONS(419), + [anon_sym_union] = ACTIONS(422), + [anon_sym_if] = ACTIONS(425), + [anon_sym_switch] = ACTIONS(428), + [anon_sym_case] = ACTIONS(431), + [anon_sym_default] = ACTIONS(434), + [anon_sym_while] = ACTIONS(437), + [anon_sym_do] = ACTIONS(440), + [anon_sym_for] = ACTIONS(443), + [anon_sym_return] = ACTIONS(446), + [anon_sym_break] = ACTIONS(449), + [anon_sym_continue] = ACTIONS(452), + [anon_sym_goto] = ACTIONS(455), + [anon_sym_DASH_DASH] = ACTIONS(458), + [anon_sym_PLUS_PLUS] = ACTIONS(458), + [anon_sym_sizeof] = ACTIONS(461), + [sym_number_literal] = ACTIONS(464), + [anon_sym_L_SQUOTE] = ACTIONS(467), + [anon_sym_u_SQUOTE] = ACTIONS(467), + [anon_sym_U_SQUOTE] = ACTIONS(467), + [anon_sym_u8_SQUOTE] = ACTIONS(467), + [anon_sym_SQUOTE] = ACTIONS(467), + [anon_sym_L_DQUOTE] = ACTIONS(470), + [anon_sym_u_DQUOTE] = ACTIONS(470), + [anon_sym_U_DQUOTE] = ACTIONS(470), + [anon_sym_u8_DQUOTE] = ACTIONS(470), + [anon_sym_DQUOTE] = ACTIONS(470), + [sym_true] = ACTIONS(473), + [sym_false] = ACTIONS(473), + [sym_null] = ACTIONS(473), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(476), + [anon_sym_decltype] = ACTIONS(479), + [anon_sym_virtual] = ACTIONS(482), + [anon_sym_explicit] = ACTIONS(485), + [anon_sym_typename] = ACTIONS(488), + [anon_sym_template] = ACTIONS(491), + [anon_sym_operator] = ACTIONS(494), + [anon_sym_delete] = ACTIONS(497), + [anon_sym_throw] = ACTIONS(500), + [anon_sym_namespace] = ACTIONS(503), + [anon_sym_using] = ACTIONS(506), + [anon_sym_static_assert] = ACTIONS(509), + [anon_sym_concept] = ACTIONS(512), + [anon_sym_co_return] = ACTIONS(515), + [anon_sym_co_yield] = ACTIONS(518), + [anon_sym_try] = ACTIONS(521), + [anon_sym_co_await] = ACTIONS(524), + [anon_sym_new] = ACTIONS(527), + [anon_sym_requires] = ACTIONS(530), + [sym_this] = ACTIONS(473), + [sym_nullptr] = ACTIONS(473), + [sym_raw_string_literal] = ACTIONS(533), + }, + [29] = { + [sym_preproc_include] = STATE(70), + [sym_preproc_def] = STATE(70), + [sym_preproc_function_def] = STATE(70), + [sym_preproc_call] = STATE(70), + [sym_preproc_if] = STATE(70), + [sym_preproc_ifdef] = STATE(70), + [sym_function_definition] = STATE(70), + [sym_declaration] = STATE(70), + [sym_type_definition] = STATE(70), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(70), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(70), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(70), + [sym_labeled_statement] = STATE(70), + [sym_expression_statement] = STATE(70), + [sym_if_statement] = STATE(70), + [sym_switch_statement] = STATE(70), + [sym_case_statement] = STATE(70), + [sym_while_statement] = STATE(70), + [sym_do_statement] = STATE(70), + [sym_for_statement] = STATE(70), + [sym_return_statement] = STATE(70), + [sym_break_statement] = STATE(70), + [sym_continue_statement] = STATE(70), + [sym_goto_statement] = STATE(70), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(70), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(70), + [sym_template_instantiation] = STATE(70), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(70), + [sym_operator_cast_declaration] = STATE(70), + [sym_constructor_or_destructor_definition] = STATE(70), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(70), + [sym_namespace_alias_definition] = STATE(70), + [sym_using_declaration] = STATE(70), + [sym_alias_declaration] = STATE(70), + [sym_static_assert_declaration] = STATE(70), + [sym_concept_definition] = STATE(70), + [sym_for_range_loop] = STATE(70), + [sym_co_return_statement] = STATE(70), + [sym_co_yield_statement] = STATE(70), + [sym_throw_statement] = STATE(70), + [sym_try_statement] = STATE(70), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(70), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(538), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [30] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(540), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [31] = { + [sym_preproc_include] = STATE(66), + [sym_preproc_def] = STATE(66), + [sym_preproc_function_def] = STATE(66), + [sym_preproc_call] = STATE(66), + [sym_preproc_if] = STATE(66), + [sym_preproc_ifdef] = STATE(66), + [sym_function_definition] = STATE(66), + [sym_declaration] = STATE(66), + [sym_type_definition] = STATE(66), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(66), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(66), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(66), + [sym_labeled_statement] = STATE(66), + [sym_expression_statement] = STATE(66), + [sym_if_statement] = STATE(66), + [sym_switch_statement] = STATE(66), + [sym_case_statement] = STATE(66), + [sym_while_statement] = STATE(66), + [sym_do_statement] = STATE(66), + [sym_for_statement] = STATE(66), + [sym_return_statement] = STATE(66), + [sym_break_statement] = STATE(66), + [sym_continue_statement] = STATE(66), + [sym_goto_statement] = STATE(66), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(66), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(66), + [sym_template_instantiation] = STATE(66), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(66), + [sym_operator_cast_declaration] = STATE(66), + [sym_constructor_or_destructor_definition] = STATE(66), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(66), + [sym_namespace_alias_definition] = STATE(66), + [sym_using_declaration] = STATE(66), + [sym_alias_declaration] = STATE(66), + [sym_static_assert_declaration] = STATE(66), + [sym_concept_definition] = STATE(66), + [sym_for_range_loop] = STATE(66), + [sym_co_return_statement] = STATE(66), + [sym_co_yield_statement] = STATE(66), + [sym_throw_statement] = STATE(66), + [sym_try_statement] = STATE(66), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(66), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(542), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [32] = { + [sym_preproc_include] = STATE(73), + [sym_preproc_def] = STATE(73), + [sym_preproc_function_def] = STATE(73), + [sym_preproc_call] = STATE(73), + [sym_preproc_if] = STATE(73), + [sym_preproc_ifdef] = STATE(73), + [sym_function_definition] = STATE(73), + [sym_declaration] = STATE(73), + [sym_type_definition] = STATE(73), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3709), + [sym_linkage_specification] = STATE(73), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1569), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4515), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(73), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2850), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(73), + [sym_labeled_statement] = STATE(73), + [sym_expression_statement] = STATE(73), + [sym_if_statement] = STATE(73), + [sym_switch_statement] = STATE(73), + [sym_case_statement] = STATE(73), + [sym_while_statement] = STATE(73), + [sym_do_statement] = STATE(73), + [sym_for_statement] = STATE(73), + [sym_return_statement] = STATE(73), + [sym_break_statement] = STATE(73), + [sym_continue_statement] = STATE(73), + [sym_goto_statement] = STATE(73), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(73), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1552), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(73), + [sym_template_instantiation] = STATE(73), + [sym_operator_cast] = STATE(4930), + [sym__constructor_specifiers] = STATE(1552), + [sym_operator_cast_definition] = STATE(73), + [sym_operator_cast_declaration] = STATE(73), + [sym_constructor_or_destructor_definition] = STATE(73), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(73), + [sym_namespace_alias_definition] = STATE(73), + [sym_using_declaration] = STATE(73), + [sym_alias_declaration] = STATE(73), + [sym_static_assert_declaration] = STATE(73), + [sym_concept_definition] = STATE(73), + [sym_for_range_loop] = STATE(73), + [sym_co_return_statement] = STATE(73), + [sym_co_yield_statement] = STATE(73), + [sym_throw_statement] = STATE(73), + [sym_try_statement] = STATE(73), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4930), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(73), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(157), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1552), + [sym_identifier] = ACTIONS(544), + [aux_sym_preproc_include_token1] = ACTIONS(546), + [aux_sym_preproc_def_token1] = ACTIONS(548), + [aux_sym_preproc_if_token1] = ACTIONS(550), + [aux_sym_preproc_if_token2] = ACTIONS(552), + [aux_sym_preproc_ifdef_token1] = ACTIONS(554), + [aux_sym_preproc_ifdef_token2] = ACTIONS(554), + [sym_preproc_directive] = ACTIONS(556), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_typedef] = ACTIONS(560), + [anon_sym_extern] = ACTIONS(562), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(588), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_namespace] = ACTIONS(592), + [anon_sym_using] = ACTIONS(594), + [anon_sym_static_assert] = ACTIONS(596), + [anon_sym_concept] = ACTIONS(598), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [33] = { + [sym_preproc_include] = STATE(45), + [sym_preproc_def] = STATE(45), + [sym_preproc_function_def] = STATE(45), + [sym_preproc_call] = STATE(45), + [sym_preproc_if] = STATE(45), + [sym_preproc_ifdef] = STATE(45), + [sym_function_definition] = STATE(45), + [sym_declaration] = STATE(45), + [sym_type_definition] = STATE(45), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(45), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(45), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(45), + [sym_labeled_statement] = STATE(45), + [sym_expression_statement] = STATE(45), + [sym_if_statement] = STATE(45), + [sym_switch_statement] = STATE(45), + [sym_case_statement] = STATE(45), + [sym_while_statement] = STATE(45), + [sym_do_statement] = STATE(45), + [sym_for_statement] = STATE(45), + [sym_return_statement] = STATE(45), + [sym_break_statement] = STATE(45), + [sym_continue_statement] = STATE(45), + [sym_goto_statement] = STATE(45), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(45), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(45), + [sym_template_instantiation] = STATE(45), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(45), + [sym_operator_cast_declaration] = STATE(45), + [sym_constructor_or_destructor_definition] = STATE(45), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(45), + [sym_namespace_alias_definition] = STATE(45), + [sym_using_declaration] = STATE(45), + [sym_alias_declaration] = STATE(45), + [sym_static_assert_declaration] = STATE(45), + [sym_concept_definition] = STATE(45), + [sym_for_range_loop] = STATE(45), + [sym_co_return_statement] = STATE(45), + [sym_co_yield_statement] = STATE(45), + [sym_throw_statement] = STATE(45), + [sym_try_statement] = STATE(45), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(45), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(606), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [34] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(608), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [35] = { + [sym_preproc_include] = STATE(34), + [sym_preproc_def] = STATE(34), + [sym_preproc_function_def] = STATE(34), + [sym_preproc_call] = STATE(34), + [sym_preproc_if] = STATE(34), + [sym_preproc_ifdef] = STATE(34), + [sym_function_definition] = STATE(34), + [sym_declaration] = STATE(34), + [sym_type_definition] = STATE(34), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(34), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(34), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(34), + [sym_labeled_statement] = STATE(34), + [sym_expression_statement] = STATE(34), + [sym_if_statement] = STATE(34), + [sym_switch_statement] = STATE(34), + [sym_case_statement] = STATE(34), + [sym_while_statement] = STATE(34), + [sym_do_statement] = STATE(34), + [sym_for_statement] = STATE(34), + [sym_return_statement] = STATE(34), + [sym_break_statement] = STATE(34), + [sym_continue_statement] = STATE(34), + [sym_goto_statement] = STATE(34), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(34), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(34), + [sym_template_instantiation] = STATE(34), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(34), + [sym_operator_cast_declaration] = STATE(34), + [sym_constructor_or_destructor_definition] = STATE(34), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(34), + [sym_namespace_alias_definition] = STATE(34), + [sym_using_declaration] = STATE(34), + [sym_alias_declaration] = STATE(34), + [sym_static_assert_declaration] = STATE(34), + [sym_concept_definition] = STATE(34), + [sym_for_range_loop] = STATE(34), + [sym_co_return_statement] = STATE(34), + [sym_co_yield_statement] = STATE(34), + [sym_throw_statement] = STATE(34), + [sym_try_statement] = STATE(34), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(34), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(610), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [36] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(612), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [37] = { + [sym_preproc_include] = STATE(36), + [sym_preproc_def] = STATE(36), + [sym_preproc_function_def] = STATE(36), + [sym_preproc_call] = STATE(36), + [sym_preproc_if] = STATE(36), + [sym_preproc_ifdef] = STATE(36), + [sym_function_definition] = STATE(36), + [sym_declaration] = STATE(36), + [sym_type_definition] = STATE(36), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(36), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(36), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(36), + [sym_labeled_statement] = STATE(36), + [sym_expression_statement] = STATE(36), + [sym_if_statement] = STATE(36), + [sym_switch_statement] = STATE(36), + [sym_case_statement] = STATE(36), + [sym_while_statement] = STATE(36), + [sym_do_statement] = STATE(36), + [sym_for_statement] = STATE(36), + [sym_return_statement] = STATE(36), + [sym_break_statement] = STATE(36), + [sym_continue_statement] = STATE(36), + [sym_goto_statement] = STATE(36), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(36), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(36), + [sym_template_instantiation] = STATE(36), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(36), + [sym_operator_cast_declaration] = STATE(36), + [sym_constructor_or_destructor_definition] = STATE(36), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(36), + [sym_namespace_alias_definition] = STATE(36), + [sym_using_declaration] = STATE(36), + [sym_alias_declaration] = STATE(36), + [sym_static_assert_declaration] = STATE(36), + [sym_concept_definition] = STATE(36), + [sym_for_range_loop] = STATE(36), + [sym_co_return_statement] = STATE(36), + [sym_co_yield_statement] = STATE(36), + [sym_throw_statement] = STATE(36), + [sym_try_statement] = STATE(36), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(36), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(614), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [38] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(616), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [39] = { + [sym_preproc_include] = STATE(38), + [sym_preproc_def] = STATE(38), + [sym_preproc_function_def] = STATE(38), + [sym_preproc_call] = STATE(38), + [sym_preproc_if] = STATE(38), + [sym_preproc_ifdef] = STATE(38), + [sym_function_definition] = STATE(38), + [sym_declaration] = STATE(38), + [sym_type_definition] = STATE(38), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(38), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(38), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(38), + [sym_labeled_statement] = STATE(38), + [sym_expression_statement] = STATE(38), + [sym_if_statement] = STATE(38), + [sym_switch_statement] = STATE(38), + [sym_case_statement] = STATE(38), + [sym_while_statement] = STATE(38), + [sym_do_statement] = STATE(38), + [sym_for_statement] = STATE(38), + [sym_return_statement] = STATE(38), + [sym_break_statement] = STATE(38), + [sym_continue_statement] = STATE(38), + [sym_goto_statement] = STATE(38), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(38), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(38), + [sym_template_instantiation] = STATE(38), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(38), + [sym_operator_cast_declaration] = STATE(38), + [sym_constructor_or_destructor_definition] = STATE(38), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(38), + [sym_namespace_alias_definition] = STATE(38), + [sym_using_declaration] = STATE(38), + [sym_alias_declaration] = STATE(38), + [sym_static_assert_declaration] = STATE(38), + [sym_concept_definition] = STATE(38), + [sym_for_range_loop] = STATE(38), + [sym_co_return_statement] = STATE(38), + [sym_co_yield_statement] = STATE(38), + [sym_throw_statement] = STATE(38), + [sym_try_statement] = STATE(38), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(38), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(618), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [40] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(620), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [41] = { + [sym_preproc_include] = STATE(40), + [sym_preproc_def] = STATE(40), + [sym_preproc_function_def] = STATE(40), + [sym_preproc_call] = STATE(40), + [sym_preproc_if] = STATE(40), + [sym_preproc_ifdef] = STATE(40), + [sym_function_definition] = STATE(40), + [sym_declaration] = STATE(40), + [sym_type_definition] = STATE(40), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(40), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(40), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(40), + [sym_labeled_statement] = STATE(40), + [sym_expression_statement] = STATE(40), + [sym_if_statement] = STATE(40), + [sym_switch_statement] = STATE(40), + [sym_case_statement] = STATE(40), + [sym_while_statement] = STATE(40), + [sym_do_statement] = STATE(40), + [sym_for_statement] = STATE(40), + [sym_return_statement] = STATE(40), + [sym_break_statement] = STATE(40), + [sym_continue_statement] = STATE(40), + [sym_goto_statement] = STATE(40), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(40), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(40), + [sym_template_instantiation] = STATE(40), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(40), + [sym_operator_cast_declaration] = STATE(40), + [sym_constructor_or_destructor_definition] = STATE(40), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(40), + [sym_namespace_alias_definition] = STATE(40), + [sym_using_declaration] = STATE(40), + [sym_alias_declaration] = STATE(40), + [sym_static_assert_declaration] = STATE(40), + [sym_concept_definition] = STATE(40), + [sym_for_range_loop] = STATE(40), + [sym_co_return_statement] = STATE(40), + [sym_co_yield_statement] = STATE(40), + [sym_throw_statement] = STATE(40), + [sym_try_statement] = STATE(40), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(40), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(622), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [42] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(624), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [43] = { + [sym_preproc_include] = STATE(42), + [sym_preproc_def] = STATE(42), + [sym_preproc_function_def] = STATE(42), + [sym_preproc_call] = STATE(42), + [sym_preproc_if] = STATE(42), + [sym_preproc_ifdef] = STATE(42), + [sym_function_definition] = STATE(42), + [sym_declaration] = STATE(42), + [sym_type_definition] = STATE(42), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(42), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(42), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(42), + [sym_labeled_statement] = STATE(42), + [sym_expression_statement] = STATE(42), + [sym_if_statement] = STATE(42), + [sym_switch_statement] = STATE(42), + [sym_case_statement] = STATE(42), + [sym_while_statement] = STATE(42), + [sym_do_statement] = STATE(42), + [sym_for_statement] = STATE(42), + [sym_return_statement] = STATE(42), + [sym_break_statement] = STATE(42), + [sym_continue_statement] = STATE(42), + [sym_goto_statement] = STATE(42), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(42), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(42), + [sym_template_instantiation] = STATE(42), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(42), + [sym_operator_cast_declaration] = STATE(42), + [sym_constructor_or_destructor_definition] = STATE(42), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(42), + [sym_namespace_alias_definition] = STATE(42), + [sym_using_declaration] = STATE(42), + [sym_alias_declaration] = STATE(42), + [sym_static_assert_declaration] = STATE(42), + [sym_concept_definition] = STATE(42), + [sym_for_range_loop] = STATE(42), + [sym_co_return_statement] = STATE(42), + [sym_co_yield_statement] = STATE(42), + [sym_throw_statement] = STATE(42), + [sym_try_statement] = STATE(42), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(42), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(626), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [44] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(628), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [45] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(630), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [46] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(632), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [47] = { + [sym_preproc_include] = STATE(32), + [sym_preproc_def] = STATE(32), + [sym_preproc_function_def] = STATE(32), + [sym_preproc_call] = STATE(32), + [sym_preproc_if] = STATE(32), + [sym_preproc_ifdef] = STATE(32), + [sym_function_definition] = STATE(32), + [sym_declaration] = STATE(32), + [sym_type_definition] = STATE(32), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3709), + [sym_linkage_specification] = STATE(32), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1569), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4515), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(32), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2850), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(32), + [sym_labeled_statement] = STATE(32), + [sym_expression_statement] = STATE(32), + [sym_if_statement] = STATE(32), + [sym_switch_statement] = STATE(32), + [sym_case_statement] = STATE(32), + [sym_while_statement] = STATE(32), + [sym_do_statement] = STATE(32), + [sym_for_statement] = STATE(32), + [sym_return_statement] = STATE(32), + [sym_break_statement] = STATE(32), + [sym_continue_statement] = STATE(32), + [sym_goto_statement] = STATE(32), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(32), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1552), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(32), + [sym_template_instantiation] = STATE(32), + [sym_operator_cast] = STATE(4930), + [sym__constructor_specifiers] = STATE(1552), + [sym_operator_cast_definition] = STATE(32), + [sym_operator_cast_declaration] = STATE(32), + [sym_constructor_or_destructor_definition] = STATE(32), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(32), + [sym_namespace_alias_definition] = STATE(32), + [sym_using_declaration] = STATE(32), + [sym_alias_declaration] = STATE(32), + [sym_static_assert_declaration] = STATE(32), + [sym_concept_definition] = STATE(32), + [sym_for_range_loop] = STATE(32), + [sym_co_return_statement] = STATE(32), + [sym_co_yield_statement] = STATE(32), + [sym_throw_statement] = STATE(32), + [sym_try_statement] = STATE(32), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4930), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(32), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(157), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1552), + [sym_identifier] = ACTIONS(544), + [aux_sym_preproc_include_token1] = ACTIONS(546), + [aux_sym_preproc_def_token1] = ACTIONS(548), + [aux_sym_preproc_if_token1] = ACTIONS(550), + [aux_sym_preproc_if_token2] = ACTIONS(634), + [aux_sym_preproc_ifdef_token1] = ACTIONS(554), + [aux_sym_preproc_ifdef_token2] = ACTIONS(554), + [sym_preproc_directive] = ACTIONS(556), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_typedef] = ACTIONS(560), + [anon_sym_extern] = ACTIONS(562), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(588), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_namespace] = ACTIONS(592), + [anon_sym_using] = ACTIONS(594), + [anon_sym_static_assert] = ACTIONS(596), + [anon_sym_concept] = ACTIONS(598), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [48] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(636), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [49] = { + [sym_preproc_include] = STATE(48), + [sym_preproc_def] = STATE(48), + [sym_preproc_function_def] = STATE(48), + [sym_preproc_call] = STATE(48), + [sym_preproc_if] = STATE(48), + [sym_preproc_ifdef] = STATE(48), + [sym_function_definition] = STATE(48), + [sym_declaration] = STATE(48), + [sym_type_definition] = STATE(48), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(48), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(48), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(48), + [sym_labeled_statement] = STATE(48), + [sym_expression_statement] = STATE(48), + [sym_if_statement] = STATE(48), + [sym_switch_statement] = STATE(48), + [sym_case_statement] = STATE(48), + [sym_while_statement] = STATE(48), + [sym_do_statement] = STATE(48), + [sym_for_statement] = STATE(48), + [sym_return_statement] = STATE(48), + [sym_break_statement] = STATE(48), + [sym_continue_statement] = STATE(48), + [sym_goto_statement] = STATE(48), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(48), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(48), + [sym_template_instantiation] = STATE(48), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(48), + [sym_operator_cast_declaration] = STATE(48), + [sym_constructor_or_destructor_definition] = STATE(48), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(48), + [sym_namespace_alias_definition] = STATE(48), + [sym_using_declaration] = STATE(48), + [sym_alias_declaration] = STATE(48), + [sym_static_assert_declaration] = STATE(48), + [sym_concept_definition] = STATE(48), + [sym_for_range_loop] = STATE(48), + [sym_co_return_statement] = STATE(48), + [sym_co_yield_statement] = STATE(48), + [sym_throw_statement] = STATE(48), + [sym_try_statement] = STATE(48), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(48), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(638), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [50] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(640), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [51] = { + [sym_preproc_include] = STATE(50), + [sym_preproc_def] = STATE(50), + [sym_preproc_function_def] = STATE(50), + [sym_preproc_call] = STATE(50), + [sym_preproc_if] = STATE(50), + [sym_preproc_ifdef] = STATE(50), + [sym_function_definition] = STATE(50), + [sym_declaration] = STATE(50), + [sym_type_definition] = STATE(50), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(50), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(50), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(50), + [sym_labeled_statement] = STATE(50), + [sym_expression_statement] = STATE(50), + [sym_if_statement] = STATE(50), + [sym_switch_statement] = STATE(50), + [sym_case_statement] = STATE(50), + [sym_while_statement] = STATE(50), + [sym_do_statement] = STATE(50), + [sym_for_statement] = STATE(50), + [sym_return_statement] = STATE(50), + [sym_break_statement] = STATE(50), + [sym_continue_statement] = STATE(50), + [sym_goto_statement] = STATE(50), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(50), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(50), + [sym_template_instantiation] = STATE(50), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(50), + [sym_operator_cast_declaration] = STATE(50), + [sym_constructor_or_destructor_definition] = STATE(50), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(50), + [sym_namespace_alias_definition] = STATE(50), + [sym_using_declaration] = STATE(50), + [sym_alias_declaration] = STATE(50), + [sym_static_assert_declaration] = STATE(50), + [sym_concept_definition] = STATE(50), + [sym_for_range_loop] = STATE(50), + [sym_co_return_statement] = STATE(50), + [sym_co_yield_statement] = STATE(50), + [sym_throw_statement] = STATE(50), + [sym_try_statement] = STATE(50), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(50), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(642), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [52] = { + [sym_preproc_include] = STATE(30), + [sym_preproc_def] = STATE(30), + [sym_preproc_function_def] = STATE(30), + [sym_preproc_call] = STATE(30), + [sym_preproc_if] = STATE(30), + [sym_preproc_ifdef] = STATE(30), + [sym_function_definition] = STATE(30), + [sym_declaration] = STATE(30), + [sym_type_definition] = STATE(30), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(30), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(30), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(30), + [sym_labeled_statement] = STATE(30), + [sym_expression_statement] = STATE(30), + [sym_if_statement] = STATE(30), + [sym_switch_statement] = STATE(30), + [sym_case_statement] = STATE(30), + [sym_while_statement] = STATE(30), + [sym_do_statement] = STATE(30), + [sym_for_statement] = STATE(30), + [sym_return_statement] = STATE(30), + [sym_break_statement] = STATE(30), + [sym_continue_statement] = STATE(30), + [sym_goto_statement] = STATE(30), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(30), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(30), + [sym_template_instantiation] = STATE(30), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(30), + [sym_operator_cast_declaration] = STATE(30), + [sym_constructor_or_destructor_definition] = STATE(30), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(30), + [sym_namespace_alias_definition] = STATE(30), + [sym_using_declaration] = STATE(30), + [sym_alias_declaration] = STATE(30), + [sym_static_assert_declaration] = STATE(30), + [sym_concept_definition] = STATE(30), + [sym_for_range_loop] = STATE(30), + [sym_co_return_statement] = STATE(30), + [sym_co_yield_statement] = STATE(30), + [sym_throw_statement] = STATE(30), + [sym_try_statement] = STATE(30), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(30), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(644), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [53] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(646), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [54] = { + [sym_preproc_include] = STATE(53), + [sym_preproc_def] = STATE(53), + [sym_preproc_function_def] = STATE(53), + [sym_preproc_call] = STATE(53), + [sym_preproc_if] = STATE(53), + [sym_preproc_ifdef] = STATE(53), + [sym_function_definition] = STATE(53), + [sym_declaration] = STATE(53), + [sym_type_definition] = STATE(53), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(53), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(53), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(53), + [sym_labeled_statement] = STATE(53), + [sym_expression_statement] = STATE(53), + [sym_if_statement] = STATE(53), + [sym_switch_statement] = STATE(53), + [sym_case_statement] = STATE(53), + [sym_while_statement] = STATE(53), + [sym_do_statement] = STATE(53), + [sym_for_statement] = STATE(53), + [sym_return_statement] = STATE(53), + [sym_break_statement] = STATE(53), + [sym_continue_statement] = STATE(53), + [sym_goto_statement] = STATE(53), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(53), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(53), + [sym_template_instantiation] = STATE(53), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(53), + [sym_operator_cast_declaration] = STATE(53), + [sym_constructor_or_destructor_definition] = STATE(53), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(53), + [sym_namespace_alias_definition] = STATE(53), + [sym_using_declaration] = STATE(53), + [sym_alias_declaration] = STATE(53), + [sym_static_assert_declaration] = STATE(53), + [sym_concept_definition] = STATE(53), + [sym_for_range_loop] = STATE(53), + [sym_co_return_statement] = STATE(53), + [sym_co_yield_statement] = STATE(53), + [sym_throw_statement] = STATE(53), + [sym_try_statement] = STATE(53), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(53), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(648), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [55] = { + [sym_preproc_include] = STATE(67), + [sym_preproc_def] = STATE(67), + [sym_preproc_function_def] = STATE(67), + [sym_preproc_call] = STATE(67), + [sym_preproc_if] = STATE(67), + [sym_preproc_ifdef] = STATE(67), + [sym_function_definition] = STATE(67), + [sym_declaration] = STATE(67), + [sym_type_definition] = STATE(67), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(67), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(67), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(67), + [sym_labeled_statement] = STATE(67), + [sym_expression_statement] = STATE(67), + [sym_if_statement] = STATE(67), + [sym_switch_statement] = STATE(67), + [sym_case_statement] = STATE(67), + [sym_while_statement] = STATE(67), + [sym_do_statement] = STATE(67), + [sym_for_statement] = STATE(67), + [sym_return_statement] = STATE(67), + [sym_break_statement] = STATE(67), + [sym_continue_statement] = STATE(67), + [sym_goto_statement] = STATE(67), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(67), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(67), + [sym_template_instantiation] = STATE(67), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(67), + [sym_operator_cast_declaration] = STATE(67), + [sym_constructor_or_destructor_definition] = STATE(67), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(67), + [sym_namespace_alias_definition] = STATE(67), + [sym_using_declaration] = STATE(67), + [sym_alias_declaration] = STATE(67), + [sym_static_assert_declaration] = STATE(67), + [sym_concept_definition] = STATE(67), + [sym_for_range_loop] = STATE(67), + [sym_co_return_statement] = STATE(67), + [sym_co_yield_statement] = STATE(67), + [sym_throw_statement] = STATE(67), + [sym_try_statement] = STATE(67), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(67), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(650), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [56] = { + [sym_preproc_include] = STATE(63), + [sym_preproc_def] = STATE(63), + [sym_preproc_function_def] = STATE(63), + [sym_preproc_call] = STATE(63), + [sym_preproc_if] = STATE(63), + [sym_preproc_ifdef] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_declaration] = STATE(63), + [sym_type_definition] = STATE(63), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(63), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(63), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(63), + [sym_labeled_statement] = STATE(63), + [sym_expression_statement] = STATE(63), + [sym_if_statement] = STATE(63), + [sym_switch_statement] = STATE(63), + [sym_case_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_do_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_return_statement] = STATE(63), + [sym_break_statement] = STATE(63), + [sym_continue_statement] = STATE(63), + [sym_goto_statement] = STATE(63), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(63), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(63), + [sym_template_instantiation] = STATE(63), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(63), + [sym_operator_cast_declaration] = STATE(63), + [sym_constructor_or_destructor_definition] = STATE(63), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(63), + [sym_namespace_alias_definition] = STATE(63), + [sym_using_declaration] = STATE(63), + [sym_alias_declaration] = STATE(63), + [sym_static_assert_declaration] = STATE(63), + [sym_concept_definition] = STATE(63), + [sym_for_range_loop] = STATE(63), + [sym_co_return_statement] = STATE(63), + [sym_co_yield_statement] = STATE(63), + [sym_throw_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(63), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(652), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [57] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(654), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [58] = { + [sym_preproc_include] = STATE(57), + [sym_preproc_def] = STATE(57), + [sym_preproc_function_def] = STATE(57), + [sym_preproc_call] = STATE(57), + [sym_preproc_if] = STATE(57), + [sym_preproc_ifdef] = STATE(57), + [sym_function_definition] = STATE(57), + [sym_declaration] = STATE(57), + [sym_type_definition] = STATE(57), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(57), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(57), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(57), + [sym_labeled_statement] = STATE(57), + [sym_expression_statement] = STATE(57), + [sym_if_statement] = STATE(57), + [sym_switch_statement] = STATE(57), + [sym_case_statement] = STATE(57), + [sym_while_statement] = STATE(57), + [sym_do_statement] = STATE(57), + [sym_for_statement] = STATE(57), + [sym_return_statement] = STATE(57), + [sym_break_statement] = STATE(57), + [sym_continue_statement] = STATE(57), + [sym_goto_statement] = STATE(57), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(57), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(57), + [sym_template_instantiation] = STATE(57), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(57), + [sym_operator_cast_declaration] = STATE(57), + [sym_constructor_or_destructor_definition] = STATE(57), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(57), + [sym_namespace_alias_definition] = STATE(57), + [sym_using_declaration] = STATE(57), + [sym_alias_declaration] = STATE(57), + [sym_static_assert_declaration] = STATE(57), + [sym_concept_definition] = STATE(57), + [sym_for_range_loop] = STATE(57), + [sym_co_return_statement] = STATE(57), + [sym_co_yield_statement] = STATE(57), + [sym_throw_statement] = STATE(57), + [sym_try_statement] = STATE(57), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(57), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(656), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [59] = { + [sym_preproc_include] = STATE(62), + [sym_preproc_def] = STATE(62), + [sym_preproc_function_def] = STATE(62), + [sym_preproc_call] = STATE(62), + [sym_preproc_if] = STATE(62), + [sym_preproc_ifdef] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_declaration] = STATE(62), + [sym_type_definition] = STATE(62), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(62), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(62), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(62), + [sym_labeled_statement] = STATE(62), + [sym_expression_statement] = STATE(62), + [sym_if_statement] = STATE(62), + [sym_switch_statement] = STATE(62), + [sym_case_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_do_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_return_statement] = STATE(62), + [sym_break_statement] = STATE(62), + [sym_continue_statement] = STATE(62), + [sym_goto_statement] = STATE(62), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(62), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(62), + [sym_template_instantiation] = STATE(62), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(62), + [sym_operator_cast_declaration] = STATE(62), + [sym_constructor_or_destructor_definition] = STATE(62), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(62), + [sym_namespace_alias_definition] = STATE(62), + [sym_using_declaration] = STATE(62), + [sym_alias_declaration] = STATE(62), + [sym_static_assert_declaration] = STATE(62), + [sym_concept_definition] = STATE(62), + [sym_for_range_loop] = STATE(62), + [sym_co_return_statement] = STATE(62), + [sym_co_yield_statement] = STATE(62), + [sym_throw_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(62), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(658), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [60] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(660), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [61] = { + [sym_preproc_include] = STATE(44), + [sym_preproc_def] = STATE(44), + [sym_preproc_function_def] = STATE(44), + [sym_preproc_call] = STATE(44), + [sym_preproc_if] = STATE(44), + [sym_preproc_ifdef] = STATE(44), + [sym_function_definition] = STATE(44), + [sym_declaration] = STATE(44), + [sym_type_definition] = STATE(44), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(44), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(44), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(44), + [sym_labeled_statement] = STATE(44), + [sym_expression_statement] = STATE(44), + [sym_if_statement] = STATE(44), + [sym_switch_statement] = STATE(44), + [sym_case_statement] = STATE(44), + [sym_while_statement] = STATE(44), + [sym_do_statement] = STATE(44), + [sym_for_statement] = STATE(44), + [sym_return_statement] = STATE(44), + [sym_break_statement] = STATE(44), + [sym_continue_statement] = STATE(44), + [sym_goto_statement] = STATE(44), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(44), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(44), + [sym_template_instantiation] = STATE(44), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(44), + [sym_operator_cast_declaration] = STATE(44), + [sym_constructor_or_destructor_definition] = STATE(44), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(44), + [sym_namespace_alias_definition] = STATE(44), + [sym_using_declaration] = STATE(44), + [sym_alias_declaration] = STATE(44), + [sym_static_assert_declaration] = STATE(44), + [sym_concept_definition] = STATE(44), + [sym_for_range_loop] = STATE(44), + [sym_co_return_statement] = STATE(44), + [sym_co_yield_statement] = STATE(44), + [sym_throw_statement] = STATE(44), + [sym_try_statement] = STATE(44), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(44), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(662), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [62] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(664), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [63] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(666), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [64] = { + [sym_preproc_include] = STATE(46), + [sym_preproc_def] = STATE(46), + [sym_preproc_function_def] = STATE(46), + [sym_preproc_call] = STATE(46), + [sym_preproc_if] = STATE(46), + [sym_preproc_ifdef] = STATE(46), + [sym_function_definition] = STATE(46), + [sym_declaration] = STATE(46), + [sym_type_definition] = STATE(46), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(46), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(46), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(46), + [sym_labeled_statement] = STATE(46), + [sym_expression_statement] = STATE(46), + [sym_if_statement] = STATE(46), + [sym_switch_statement] = STATE(46), + [sym_case_statement] = STATE(46), + [sym_while_statement] = STATE(46), + [sym_do_statement] = STATE(46), + [sym_for_statement] = STATE(46), + [sym_return_statement] = STATE(46), + [sym_break_statement] = STATE(46), + [sym_continue_statement] = STATE(46), + [sym_goto_statement] = STATE(46), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(46), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(46), + [sym_template_instantiation] = STATE(46), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(46), + [sym_operator_cast_declaration] = STATE(46), + [sym_constructor_or_destructor_definition] = STATE(46), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(46), + [sym_namespace_alias_definition] = STATE(46), + [sym_using_declaration] = STATE(46), + [sym_alias_declaration] = STATE(46), + [sym_static_assert_declaration] = STATE(46), + [sym_concept_definition] = STATE(46), + [sym_for_range_loop] = STATE(46), + [sym_co_return_statement] = STATE(46), + [sym_co_yield_statement] = STATE(46), + [sym_throw_statement] = STATE(46), + [sym_try_statement] = STATE(46), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(46), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(668), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [65] = { + [sym_preproc_include] = STATE(60), + [sym_preproc_def] = STATE(60), + [sym_preproc_function_def] = STATE(60), + [sym_preproc_call] = STATE(60), + [sym_preproc_if] = STATE(60), + [sym_preproc_ifdef] = STATE(60), + [sym_function_definition] = STATE(60), + [sym_declaration] = STATE(60), + [sym_type_definition] = STATE(60), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(60), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(60), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(60), + [sym_labeled_statement] = STATE(60), + [sym_expression_statement] = STATE(60), + [sym_if_statement] = STATE(60), + [sym_switch_statement] = STATE(60), + [sym_case_statement] = STATE(60), + [sym_while_statement] = STATE(60), + [sym_do_statement] = STATE(60), + [sym_for_statement] = STATE(60), + [sym_return_statement] = STATE(60), + [sym_break_statement] = STATE(60), + [sym_continue_statement] = STATE(60), + [sym_goto_statement] = STATE(60), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(60), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(60), + [sym_template_instantiation] = STATE(60), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(60), + [sym_operator_cast_declaration] = STATE(60), + [sym_constructor_or_destructor_definition] = STATE(60), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(60), + [sym_namespace_alias_definition] = STATE(60), + [sym_using_declaration] = STATE(60), + [sym_alias_declaration] = STATE(60), + [sym_static_assert_declaration] = STATE(60), + [sym_concept_definition] = STATE(60), + [sym_for_range_loop] = STATE(60), + [sym_co_return_statement] = STATE(60), + [sym_co_yield_statement] = STATE(60), + [sym_throw_statement] = STATE(60), + [sym_try_statement] = STATE(60), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(60), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(670), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [66] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(672), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [67] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(674), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [68] = { + [sym_preproc_include] = STATE(71), + [sym_preproc_def] = STATE(71), + [sym_preproc_function_def] = STATE(71), + [sym_preproc_call] = STATE(71), + [sym_preproc_if] = STATE(71), + [sym_preproc_ifdef] = STATE(71), + [sym_function_definition] = STATE(71), + [sym_declaration] = STATE(71), + [sym_type_definition] = STATE(71), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3699), + [sym_linkage_specification] = STATE(71), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1568), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4503), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(71), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2749), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(71), + [sym_labeled_statement] = STATE(71), + [sym_expression_statement] = STATE(71), + [sym_if_statement] = STATE(71), + [sym_switch_statement] = STATE(71), + [sym_case_statement] = STATE(71), + [sym_while_statement] = STATE(71), + [sym_do_statement] = STATE(71), + [sym_for_statement] = STATE(71), + [sym_return_statement] = STATE(71), + [sym_break_statement] = STATE(71), + [sym_continue_statement] = STATE(71), + [sym_goto_statement] = STATE(71), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(71), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1523), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(71), + [sym_template_instantiation] = STATE(71), + [sym_operator_cast] = STATE(5080), + [sym__constructor_specifiers] = STATE(1523), + [sym_operator_cast_definition] = STATE(71), + [sym_operator_cast_declaration] = STATE(71), + [sym_constructor_or_destructor_definition] = STATE(71), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(71), + [sym_namespace_alias_definition] = STATE(71), + [sym_using_declaration] = STATE(71), + [sym_alias_declaration] = STATE(71), + [sym_static_assert_declaration] = STATE(71), + [sym_concept_definition] = STATE(71), + [sym_for_range_loop] = STATE(71), + [sym_co_return_statement] = STATE(71), + [sym_co_yield_statement] = STATE(71), + [sym_throw_statement] = STATE(71), + [sym_try_statement] = STATE(71), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5080), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(71), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1523), + [ts_builtin_sym_end] = ACTIONS(676), + [sym_identifier] = ACTIONS(7), + [aux_sym_preproc_include_token1] = ACTIONS(9), + [aux_sym_preproc_def_token1] = ACTIONS(11), + [aux_sym_preproc_if_token1] = ACTIONS(13), + [aux_sym_preproc_ifdef_token1] = ACTIONS(15), + [aux_sym_preproc_ifdef_token2] = ACTIONS(15), + [sym_preproc_directive] = ACTIONS(17), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(37), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(115), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_namespace] = ACTIONS(123), + [anon_sym_using] = ACTIONS(125), + [anon_sym_static_assert] = ACTIONS(127), + [anon_sym_concept] = ACTIONS(129), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [69] = { + [sym_preproc_include] = STATE(74), + [sym_preproc_def] = STATE(74), + [sym_preproc_function_def] = STATE(74), + [sym_preproc_call] = STATE(74), + [sym_preproc_if] = STATE(74), + [sym_preproc_ifdef] = STATE(74), + [sym_function_definition] = STATE(74), + [sym_declaration] = STATE(74), + [sym_type_definition] = STATE(74), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(74), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(74), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(74), + [sym_labeled_statement] = STATE(74), + [sym_expression_statement] = STATE(74), + [sym_if_statement] = STATE(74), + [sym_switch_statement] = STATE(74), + [sym_case_statement] = STATE(74), + [sym_while_statement] = STATE(74), + [sym_do_statement] = STATE(74), + [sym_for_statement] = STATE(74), + [sym_return_statement] = STATE(74), + [sym_break_statement] = STATE(74), + [sym_continue_statement] = STATE(74), + [sym_goto_statement] = STATE(74), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(74), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(74), + [sym_template_instantiation] = STATE(74), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(74), + [sym_operator_cast_declaration] = STATE(74), + [sym_constructor_or_destructor_definition] = STATE(74), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(74), + [sym_namespace_alias_definition] = STATE(74), + [sym_using_declaration] = STATE(74), + [sym_alias_declaration] = STATE(74), + [sym_static_assert_declaration] = STATE(74), + [sym_concept_definition] = STATE(74), + [sym_for_range_loop] = STATE(74), + [sym_co_return_statement] = STATE(74), + [sym_co_yield_statement] = STATE(74), + [sym_throw_statement] = STATE(74), + [sym_try_statement] = STATE(74), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(74), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(678), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [70] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(680), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [71] = { + [sym_preproc_include] = STATE(71), + [sym_preproc_def] = STATE(71), + [sym_preproc_function_def] = STATE(71), + [sym_preproc_call] = STATE(71), + [sym_preproc_if] = STATE(71), + [sym_preproc_ifdef] = STATE(71), + [sym_function_definition] = STATE(71), + [sym_declaration] = STATE(71), + [sym_type_definition] = STATE(71), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3699), + [sym_linkage_specification] = STATE(71), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1568), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4503), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(71), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2749), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(71), + [sym_labeled_statement] = STATE(71), + [sym_expression_statement] = STATE(71), + [sym_if_statement] = STATE(71), + [sym_switch_statement] = STATE(71), + [sym_case_statement] = STATE(71), + [sym_while_statement] = STATE(71), + [sym_do_statement] = STATE(71), + [sym_for_statement] = STATE(71), + [sym_return_statement] = STATE(71), + [sym_break_statement] = STATE(71), + [sym_continue_statement] = STATE(71), + [sym_goto_statement] = STATE(71), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(71), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1523), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(71), + [sym_template_instantiation] = STATE(71), + [sym_operator_cast] = STATE(5080), + [sym__constructor_specifiers] = STATE(1523), + [sym_operator_cast_definition] = STATE(71), + [sym_operator_cast_declaration] = STATE(71), + [sym_constructor_or_destructor_definition] = STATE(71), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(71), + [sym_namespace_alias_definition] = STATE(71), + [sym_using_declaration] = STATE(71), + [sym_alias_declaration] = STATE(71), + [sym_static_assert_declaration] = STATE(71), + [sym_concept_definition] = STATE(71), + [sym_for_range_loop] = STATE(71), + [sym_co_return_statement] = STATE(71), + [sym_co_yield_statement] = STATE(71), + [sym_throw_statement] = STATE(71), + [sym_try_statement] = STATE(71), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(5080), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(71), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(155), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1523), + [ts_builtin_sym_end] = ACTIONS(682), + [sym_identifier] = ACTIONS(684), + [aux_sym_preproc_include_token1] = ACTIONS(687), + [aux_sym_preproc_def_token1] = ACTIONS(690), + [aux_sym_preproc_if_token1] = ACTIONS(693), + [aux_sym_preproc_ifdef_token1] = ACTIONS(696), + [aux_sym_preproc_ifdef_token2] = ACTIONS(696), + [sym_preproc_directive] = ACTIONS(699), + [anon_sym_LPAREN2] = ACTIONS(347), + [anon_sym_BANG] = ACTIONS(350), + [anon_sym_TILDE] = ACTIONS(353), + [anon_sym_DASH] = ACTIONS(356), + [anon_sym_PLUS] = ACTIONS(356), + [anon_sym_STAR] = ACTIONS(359), + [anon_sym_AMP_AMP] = ACTIONS(362), + [anon_sym_AMP] = ACTIONS(365), + [anon_sym_SEMI] = ACTIONS(702), + [anon_sym_typedef] = ACTIONS(705), + [anon_sym_extern] = ACTIONS(708), + [anon_sym___attribute__] = ACTIONS(377), + [anon_sym_COLON_COLON] = ACTIONS(380), + [anon_sym_LBRACK_LBRACK] = ACTIONS(383), + [anon_sym___declspec] = ACTIONS(386), + [anon_sym___based] = ACTIONS(389), + [anon_sym___cdecl] = ACTIONS(392), + [anon_sym___clrcall] = ACTIONS(392), + [anon_sym___stdcall] = ACTIONS(392), + [anon_sym___fastcall] = ACTIONS(392), + [anon_sym___thiscall] = ACTIONS(392), + [anon_sym___vectorcall] = ACTIONS(392), + [anon_sym_LBRACE] = ACTIONS(711), + [anon_sym_LBRACK] = ACTIONS(398), + [anon_sym_static] = ACTIONS(401), + [anon_sym_register] = ACTIONS(401), + [anon_sym_inline] = ACTIONS(401), + [anon_sym_thread_local] = ACTIONS(401), + [anon_sym_const] = ACTIONS(404), + [anon_sym_volatile] = ACTIONS(404), + [anon_sym_restrict] = ACTIONS(404), + [anon_sym__Atomic] = ACTIONS(404), + [anon_sym_mutable] = ACTIONS(404), + [anon_sym_constexpr] = ACTIONS(404), + [anon_sym_constinit] = ACTIONS(404), + [anon_sym_consteval] = ACTIONS(404), + [anon_sym_signed] = ACTIONS(407), + [anon_sym_unsigned] = ACTIONS(407), + [anon_sym_long] = ACTIONS(407), + [anon_sym_short] = ACTIONS(407), + [sym_primitive_type] = ACTIONS(410), + [anon_sym_enum] = ACTIONS(413), + [anon_sym_class] = ACTIONS(416), + [anon_sym_struct] = ACTIONS(419), + [anon_sym_union] = ACTIONS(422), + [anon_sym_if] = ACTIONS(714), + [anon_sym_switch] = ACTIONS(717), + [anon_sym_case] = ACTIONS(720), + [anon_sym_default] = ACTIONS(723), + [anon_sym_while] = ACTIONS(726), + [anon_sym_do] = ACTIONS(729), + [anon_sym_for] = ACTIONS(732), + [anon_sym_return] = ACTIONS(735), + [anon_sym_break] = ACTIONS(738), + [anon_sym_continue] = ACTIONS(741), + [anon_sym_goto] = ACTIONS(744), + [anon_sym_DASH_DASH] = ACTIONS(458), + [anon_sym_PLUS_PLUS] = ACTIONS(458), + [anon_sym_sizeof] = ACTIONS(461), + [sym_number_literal] = ACTIONS(464), + [anon_sym_L_SQUOTE] = ACTIONS(467), + [anon_sym_u_SQUOTE] = ACTIONS(467), + [anon_sym_U_SQUOTE] = ACTIONS(467), + [anon_sym_u8_SQUOTE] = ACTIONS(467), + [anon_sym_SQUOTE] = ACTIONS(467), + [anon_sym_L_DQUOTE] = ACTIONS(470), + [anon_sym_u_DQUOTE] = ACTIONS(470), + [anon_sym_U_DQUOTE] = ACTIONS(470), + [anon_sym_u8_DQUOTE] = ACTIONS(470), + [anon_sym_DQUOTE] = ACTIONS(470), + [sym_true] = ACTIONS(473), + [sym_false] = ACTIONS(473), + [sym_null] = ACTIONS(473), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(476), + [anon_sym_decltype] = ACTIONS(479), + [anon_sym_virtual] = ACTIONS(482), + [anon_sym_explicit] = ACTIONS(485), + [anon_sym_typename] = ACTIONS(488), + [anon_sym_template] = ACTIONS(747), + [anon_sym_operator] = ACTIONS(494), + [anon_sym_delete] = ACTIONS(497), + [anon_sym_throw] = ACTIONS(750), + [anon_sym_namespace] = ACTIONS(753), + [anon_sym_using] = ACTIONS(756), + [anon_sym_static_assert] = ACTIONS(759), + [anon_sym_concept] = ACTIONS(762), + [anon_sym_co_return] = ACTIONS(765), + [anon_sym_co_yield] = ACTIONS(768), + [anon_sym_try] = ACTIONS(771), + [anon_sym_co_await] = ACTIONS(524), + [anon_sym_new] = ACTIONS(527), + [anon_sym_requires] = ACTIONS(530), + [sym_this] = ACTIONS(473), + [sym_nullptr] = ACTIONS(473), + [sym_raw_string_literal] = ACTIONS(533), + }, + [72] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(774), + [aux_sym_preproc_include_token1] = ACTIONS(777), + [aux_sym_preproc_def_token1] = ACTIONS(780), + [aux_sym_preproc_if_token1] = ACTIONS(783), + [aux_sym_preproc_ifdef_token1] = ACTIONS(786), + [aux_sym_preproc_ifdef_token2] = ACTIONS(786), + [sym_preproc_directive] = ACTIONS(789), + [anon_sym_LPAREN2] = ACTIONS(347), + [anon_sym_BANG] = ACTIONS(350), + [anon_sym_TILDE] = ACTIONS(353), + [anon_sym_DASH] = ACTIONS(356), + [anon_sym_PLUS] = ACTIONS(356), + [anon_sym_STAR] = ACTIONS(359), + [anon_sym_AMP_AMP] = ACTIONS(362), + [anon_sym_AMP] = ACTIONS(365), + [anon_sym_SEMI] = ACTIONS(792), + [anon_sym_typedef] = ACTIONS(795), + [anon_sym_extern] = ACTIONS(798), + [anon_sym___attribute__] = ACTIONS(377), + [anon_sym_COLON_COLON] = ACTIONS(380), + [anon_sym_LBRACK_LBRACK] = ACTIONS(383), + [anon_sym___declspec] = ACTIONS(386), + [anon_sym___based] = ACTIONS(389), + [anon_sym___cdecl] = ACTIONS(392), + [anon_sym___clrcall] = ACTIONS(392), + [anon_sym___stdcall] = ACTIONS(392), + [anon_sym___fastcall] = ACTIONS(392), + [anon_sym___thiscall] = ACTIONS(392), + [anon_sym___vectorcall] = ACTIONS(392), + [anon_sym_LBRACE] = ACTIONS(801), + [anon_sym_RBRACE] = ACTIONS(682), + [anon_sym_LBRACK] = ACTIONS(398), + [anon_sym_static] = ACTIONS(401), + [anon_sym_register] = ACTIONS(401), + [anon_sym_inline] = ACTIONS(401), + [anon_sym_thread_local] = ACTIONS(401), + [anon_sym_const] = ACTIONS(404), + [anon_sym_volatile] = ACTIONS(404), + [anon_sym_restrict] = ACTIONS(404), + [anon_sym__Atomic] = ACTIONS(404), + [anon_sym_mutable] = ACTIONS(404), + [anon_sym_constexpr] = ACTIONS(404), + [anon_sym_constinit] = ACTIONS(404), + [anon_sym_consteval] = ACTIONS(404), + [anon_sym_signed] = ACTIONS(407), + [anon_sym_unsigned] = ACTIONS(407), + [anon_sym_long] = ACTIONS(407), + [anon_sym_short] = ACTIONS(407), + [sym_primitive_type] = ACTIONS(410), + [anon_sym_enum] = ACTIONS(413), + [anon_sym_class] = ACTIONS(416), + [anon_sym_struct] = ACTIONS(419), + [anon_sym_union] = ACTIONS(422), + [anon_sym_if] = ACTIONS(804), + [anon_sym_switch] = ACTIONS(807), + [anon_sym_case] = ACTIONS(810), + [anon_sym_default] = ACTIONS(813), + [anon_sym_while] = ACTIONS(816), + [anon_sym_do] = ACTIONS(819), + [anon_sym_for] = ACTIONS(822), + [anon_sym_return] = ACTIONS(825), + [anon_sym_break] = ACTIONS(828), + [anon_sym_continue] = ACTIONS(831), + [anon_sym_goto] = ACTIONS(834), + [anon_sym_DASH_DASH] = ACTIONS(458), + [anon_sym_PLUS_PLUS] = ACTIONS(458), + [anon_sym_sizeof] = ACTIONS(461), + [sym_number_literal] = ACTIONS(464), + [anon_sym_L_SQUOTE] = ACTIONS(467), + [anon_sym_u_SQUOTE] = ACTIONS(467), + [anon_sym_U_SQUOTE] = ACTIONS(467), + [anon_sym_u8_SQUOTE] = ACTIONS(467), + [anon_sym_SQUOTE] = ACTIONS(467), + [anon_sym_L_DQUOTE] = ACTIONS(470), + [anon_sym_u_DQUOTE] = ACTIONS(470), + [anon_sym_U_DQUOTE] = ACTIONS(470), + [anon_sym_u8_DQUOTE] = ACTIONS(470), + [anon_sym_DQUOTE] = ACTIONS(470), + [sym_true] = ACTIONS(473), + [sym_false] = ACTIONS(473), + [sym_null] = ACTIONS(473), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(476), + [anon_sym_decltype] = ACTIONS(479), + [anon_sym_virtual] = ACTIONS(482), + [anon_sym_explicit] = ACTIONS(485), + [anon_sym_typename] = ACTIONS(488), + [anon_sym_template] = ACTIONS(837), + [anon_sym_operator] = ACTIONS(494), + [anon_sym_delete] = ACTIONS(497), + [anon_sym_throw] = ACTIONS(840), + [anon_sym_namespace] = ACTIONS(843), + [anon_sym_using] = ACTIONS(846), + [anon_sym_static_assert] = ACTIONS(849), + [anon_sym_concept] = ACTIONS(852), + [anon_sym_co_return] = ACTIONS(855), + [anon_sym_co_yield] = ACTIONS(858), + [anon_sym_try] = ACTIONS(861), + [anon_sym_co_await] = ACTIONS(524), + [anon_sym_new] = ACTIONS(527), + [anon_sym_requires] = ACTIONS(530), + [sym_this] = ACTIONS(473), + [sym_nullptr] = ACTIONS(473), + [sym_raw_string_literal] = ACTIONS(533), + }, + [73] = { + [sym_preproc_include] = STATE(73), + [sym_preproc_def] = STATE(73), + [sym_preproc_function_def] = STATE(73), + [sym_preproc_call] = STATE(73), + [sym_preproc_if] = STATE(73), + [sym_preproc_ifdef] = STATE(73), + [sym_function_definition] = STATE(73), + [sym_declaration] = STATE(73), + [sym_type_definition] = STATE(73), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3709), + [sym_linkage_specification] = STATE(73), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1569), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4515), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(73), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2850), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(73), + [sym_labeled_statement] = STATE(73), + [sym_expression_statement] = STATE(73), + [sym_if_statement] = STATE(73), + [sym_switch_statement] = STATE(73), + [sym_case_statement] = STATE(73), + [sym_while_statement] = STATE(73), + [sym_do_statement] = STATE(73), + [sym_for_statement] = STATE(73), + [sym_return_statement] = STATE(73), + [sym_break_statement] = STATE(73), + [sym_continue_statement] = STATE(73), + [sym_goto_statement] = STATE(73), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(73), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1552), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(73), + [sym_template_instantiation] = STATE(73), + [sym_operator_cast] = STATE(4930), + [sym__constructor_specifiers] = STATE(1552), + [sym_operator_cast_definition] = STATE(73), + [sym_operator_cast_declaration] = STATE(73), + [sym_constructor_or_destructor_definition] = STATE(73), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(73), + [sym_namespace_alias_definition] = STATE(73), + [sym_using_declaration] = STATE(73), + [sym_alias_declaration] = STATE(73), + [sym_static_assert_declaration] = STATE(73), + [sym_concept_definition] = STATE(73), + [sym_for_range_loop] = STATE(73), + [sym_co_return_statement] = STATE(73), + [sym_co_yield_statement] = STATE(73), + [sym_throw_statement] = STATE(73), + [sym_try_statement] = STATE(73), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4930), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(73), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(157), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1552), + [sym_identifier] = ACTIONS(864), + [aux_sym_preproc_include_token1] = ACTIONS(867), + [aux_sym_preproc_def_token1] = ACTIONS(870), + [aux_sym_preproc_if_token1] = ACTIONS(873), + [aux_sym_preproc_if_token2] = ACTIONS(339), + [aux_sym_preproc_ifdef_token1] = ACTIONS(876), + [aux_sym_preproc_ifdef_token2] = ACTIONS(876), + [sym_preproc_directive] = ACTIONS(879), + [anon_sym_LPAREN2] = ACTIONS(347), + [anon_sym_BANG] = ACTIONS(350), + [anon_sym_TILDE] = ACTIONS(353), + [anon_sym_DASH] = ACTIONS(356), + [anon_sym_PLUS] = ACTIONS(356), + [anon_sym_STAR] = ACTIONS(359), + [anon_sym_AMP_AMP] = ACTIONS(362), + [anon_sym_AMP] = ACTIONS(365), + [anon_sym_SEMI] = ACTIONS(882), + [anon_sym_typedef] = ACTIONS(885), + [anon_sym_extern] = ACTIONS(888), + [anon_sym___attribute__] = ACTIONS(377), + [anon_sym_COLON_COLON] = ACTIONS(380), + [anon_sym_LBRACK_LBRACK] = ACTIONS(383), + [anon_sym___declspec] = ACTIONS(386), + [anon_sym___based] = ACTIONS(389), + [anon_sym___cdecl] = ACTIONS(392), + [anon_sym___clrcall] = ACTIONS(392), + [anon_sym___stdcall] = ACTIONS(392), + [anon_sym___fastcall] = ACTIONS(392), + [anon_sym___thiscall] = ACTIONS(392), + [anon_sym___vectorcall] = ACTIONS(392), + [anon_sym_LBRACE] = ACTIONS(891), + [anon_sym_LBRACK] = ACTIONS(398), + [anon_sym_static] = ACTIONS(401), + [anon_sym_register] = ACTIONS(401), + [anon_sym_inline] = ACTIONS(401), + [anon_sym_thread_local] = ACTIONS(401), + [anon_sym_const] = ACTIONS(404), + [anon_sym_volatile] = ACTIONS(404), + [anon_sym_restrict] = ACTIONS(404), + [anon_sym__Atomic] = ACTIONS(404), + [anon_sym_mutable] = ACTIONS(404), + [anon_sym_constexpr] = ACTIONS(404), + [anon_sym_constinit] = ACTIONS(404), + [anon_sym_consteval] = ACTIONS(404), + [anon_sym_signed] = ACTIONS(407), + [anon_sym_unsigned] = ACTIONS(407), + [anon_sym_long] = ACTIONS(407), + [anon_sym_short] = ACTIONS(407), + [sym_primitive_type] = ACTIONS(410), + [anon_sym_enum] = ACTIONS(413), + [anon_sym_class] = ACTIONS(416), + [anon_sym_struct] = ACTIONS(419), + [anon_sym_union] = ACTIONS(422), + [anon_sym_if] = ACTIONS(894), + [anon_sym_switch] = ACTIONS(897), + [anon_sym_case] = ACTIONS(900), + [anon_sym_default] = ACTIONS(903), + [anon_sym_while] = ACTIONS(906), + [anon_sym_do] = ACTIONS(909), + [anon_sym_for] = ACTIONS(912), + [anon_sym_return] = ACTIONS(915), + [anon_sym_break] = ACTIONS(918), + [anon_sym_continue] = ACTIONS(921), + [anon_sym_goto] = ACTIONS(924), + [anon_sym_DASH_DASH] = ACTIONS(458), + [anon_sym_PLUS_PLUS] = ACTIONS(458), + [anon_sym_sizeof] = ACTIONS(461), + [sym_number_literal] = ACTIONS(464), + [anon_sym_L_SQUOTE] = ACTIONS(467), + [anon_sym_u_SQUOTE] = ACTIONS(467), + [anon_sym_U_SQUOTE] = ACTIONS(467), + [anon_sym_u8_SQUOTE] = ACTIONS(467), + [anon_sym_SQUOTE] = ACTIONS(467), + [anon_sym_L_DQUOTE] = ACTIONS(470), + [anon_sym_u_DQUOTE] = ACTIONS(470), + [anon_sym_U_DQUOTE] = ACTIONS(470), + [anon_sym_u8_DQUOTE] = ACTIONS(470), + [anon_sym_DQUOTE] = ACTIONS(470), + [sym_true] = ACTIONS(473), + [sym_false] = ACTIONS(473), + [sym_null] = ACTIONS(473), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(476), + [anon_sym_decltype] = ACTIONS(479), + [anon_sym_virtual] = ACTIONS(482), + [anon_sym_explicit] = ACTIONS(485), + [anon_sym_typename] = ACTIONS(488), + [anon_sym_template] = ACTIONS(927), + [anon_sym_operator] = ACTIONS(494), + [anon_sym_delete] = ACTIONS(497), + [anon_sym_throw] = ACTIONS(930), + [anon_sym_namespace] = ACTIONS(933), + [anon_sym_using] = ACTIONS(936), + [anon_sym_static_assert] = ACTIONS(939), + [anon_sym_concept] = ACTIONS(942), + [anon_sym_co_return] = ACTIONS(945), + [anon_sym_co_yield] = ACTIONS(948), + [anon_sym_try] = ACTIONS(951), + [anon_sym_co_await] = ACTIONS(524), + [anon_sym_new] = ACTIONS(527), + [anon_sym_requires] = ACTIONS(530), + [sym_this] = ACTIONS(473), + [sym_nullptr] = ACTIONS(473), + [sym_raw_string_literal] = ACTIONS(533), + }, + [74] = { + [sym_preproc_include] = STATE(72), + [sym_preproc_def] = STATE(72), + [sym_preproc_function_def] = STATE(72), + [sym_preproc_call] = STATE(72), + [sym_preproc_if] = STATE(72), + [sym_preproc_ifdef] = STATE(72), + [sym_function_definition] = STATE(72), + [sym_declaration] = STATE(72), + [sym_type_definition] = STATE(72), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_linkage_specification] = STATE(72), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(891), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4550), + [sym_array_declarator] = STATE(4500), + [sym_compound_statement] = STATE(72), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_statement] = STATE(72), + [sym_labeled_statement] = STATE(72), + [sym_expression_statement] = STATE(72), + [sym_if_statement] = STATE(72), + [sym_switch_statement] = STATE(72), + [sym_case_statement] = STATE(72), + [sym_while_statement] = STATE(72), + [sym_do_statement] = STATE(72), + [sym_for_statement] = STATE(72), + [sym_return_statement] = STATE(72), + [sym_break_statement] = STATE(72), + [sym_continue_statement] = STATE(72), + [sym_goto_statement] = STATE(72), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__empty_declaration] = STATE(72), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1522), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(72), + [sym_template_instantiation] = STATE(72), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1522), + [sym_operator_cast_definition] = STATE(72), + [sym_operator_cast_declaration] = STATE(72), + [sym_constructor_or_destructor_definition] = STATE(72), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3279), + [sym_namespace_definition] = STATE(72), + [sym_namespace_alias_definition] = STATE(72), + [sym_using_declaration] = STATE(72), + [sym_alias_declaration] = STATE(72), + [sym_static_assert_declaration] = STATE(72), + [sym_concept_definition] = STATE(72), + [sym_for_range_loop] = STATE(72), + [sym_co_return_statement] = STATE(72), + [sym_co_yield_statement] = STATE(72), + [sym_throw_statement] = STATE(72), + [sym_try_statement] = STATE(72), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4203), + [sym_qualified_identifier] = STATE(2579), + [sym_qualified_type_identifier] = STATE(3012), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_translation_unit_repeat1] = STATE(72), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(154), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1522), + [sym_identifier] = ACTIONS(145), + [aux_sym_preproc_include_token1] = ACTIONS(147), + [aux_sym_preproc_def_token1] = ACTIONS(149), + [aux_sym_preproc_if_token1] = ACTIONS(153), + [aux_sym_preproc_ifdef_token1] = ACTIONS(155), + [aux_sym_preproc_ifdef_token2] = ACTIONS(155), + [sym_preproc_directive] = ACTIONS(157), + [anon_sym_LPAREN2] = ACTIONS(19), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(23), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(163), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(43), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(954), + [anon_sym_LBRACK] = ACTIONS(53), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(195), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(199), + [anon_sym_using] = ACTIONS(201), + [anon_sym_static_assert] = ACTIONS(203), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [75] = { + [sym_declaration] = STATE(79), + [sym_type_definition] = STATE(79), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3680), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(79), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(79), + [sym_labeled_statement] = STATE(79), + [sym_expression_statement] = STATE(79), + [sym_if_statement] = STATE(79), + [sym_switch_statement] = STATE(79), + [sym_while_statement] = STATE(79), + [sym_do_statement] = STATE(79), + [sym_for_statement] = STATE(79), + [sym_return_statement] = STATE(79), + [sym_break_statement] = STATE(79), + [sym_continue_statement] = STATE(79), + [sym_goto_statement] = STATE(79), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(79), + [sym_co_return_statement] = STATE(79), + [sym_co_yield_statement] = STATE(79), + [sym_throw_statement] = STATE(79), + [sym_try_statement] = STATE(79), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(79), + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(958), + [aux_sym_preproc_def_token1] = ACTIONS(958), + [aux_sym_preproc_if_token1] = ACTIONS(958), + [aux_sym_preproc_if_token2] = ACTIONS(958), + [aux_sym_preproc_ifdef_token1] = ACTIONS(958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(958), + [aux_sym_preproc_else_token1] = ACTIONS(958), + [aux_sym_preproc_elif_token1] = ACTIONS(958), + [sym_preproc_directive] = ACTIONS(958), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(964), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(958), + [anon_sym___cdecl] = ACTIONS(958), + [anon_sym___clrcall] = ACTIONS(958), + [anon_sym___stdcall] = ACTIONS(958), + [anon_sym___fastcall] = ACTIONS(958), + [anon_sym___thiscall] = ACTIONS(958), + [anon_sym___vectorcall] = ACTIONS(958), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_else] = ACTIONS(958), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(958), + [anon_sym_default] = ACTIONS(958), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(958), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(958), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(958), + [anon_sym_using] = ACTIONS(958), + [anon_sym_static_assert] = ACTIONS(958), + [anon_sym_concept] = ACTIONS(958), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [76] = { + [sym_declaration] = STATE(75), + [sym_type_definition] = STATE(75), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3680), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(75), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(75), + [sym_labeled_statement] = STATE(75), + [sym_expression_statement] = STATE(75), + [sym_if_statement] = STATE(75), + [sym_switch_statement] = STATE(75), + [sym_while_statement] = STATE(75), + [sym_do_statement] = STATE(75), + [sym_for_statement] = STATE(75), + [sym_return_statement] = STATE(75), + [sym_break_statement] = STATE(75), + [sym_continue_statement] = STATE(75), + [sym_goto_statement] = STATE(75), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(75), + [sym_co_return_statement] = STATE(75), + [sym_co_yield_statement] = STATE(75), + [sym_throw_statement] = STATE(75), + [sym_try_statement] = STATE(75), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(75), + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(974), + [aux_sym_preproc_def_token1] = ACTIONS(974), + [aux_sym_preproc_if_token1] = ACTIONS(974), + [aux_sym_preproc_if_token2] = ACTIONS(974), + [aux_sym_preproc_ifdef_token1] = ACTIONS(974), + [aux_sym_preproc_ifdef_token2] = ACTIONS(974), + [aux_sym_preproc_else_token1] = ACTIONS(974), + [aux_sym_preproc_elif_token1] = ACTIONS(974), + [sym_preproc_directive] = ACTIONS(974), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(976), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(974), + [anon_sym___cdecl] = ACTIONS(974), + [anon_sym___clrcall] = ACTIONS(974), + [anon_sym___stdcall] = ACTIONS(974), + [anon_sym___fastcall] = ACTIONS(974), + [anon_sym___thiscall] = ACTIONS(974), + [anon_sym___vectorcall] = ACTIONS(974), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_else] = ACTIONS(974), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(974), + [anon_sym_default] = ACTIONS(974), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(974), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(974), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(974), + [anon_sym_using] = ACTIONS(974), + [anon_sym_static_assert] = ACTIONS(974), + [anon_sym_concept] = ACTIONS(974), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [77] = { + [sym_declaration] = STATE(79), + [sym_type_definition] = STATE(79), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3680), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(79), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(79), + [sym_labeled_statement] = STATE(79), + [sym_expression_statement] = STATE(79), + [sym_if_statement] = STATE(79), + [sym_switch_statement] = STATE(79), + [sym_while_statement] = STATE(79), + [sym_do_statement] = STATE(79), + [sym_for_statement] = STATE(79), + [sym_return_statement] = STATE(79), + [sym_break_statement] = STATE(79), + [sym_continue_statement] = STATE(79), + [sym_goto_statement] = STATE(79), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(79), + [sym_co_return_statement] = STATE(79), + [sym_co_yield_statement] = STATE(79), + [sym_throw_statement] = STATE(79), + [sym_try_statement] = STATE(79), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(79), + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(978), + [aux_sym_preproc_def_token1] = ACTIONS(978), + [aux_sym_preproc_if_token1] = ACTIONS(978), + [aux_sym_preproc_if_token2] = ACTIONS(978), + [aux_sym_preproc_ifdef_token1] = ACTIONS(978), + [aux_sym_preproc_ifdef_token2] = ACTIONS(978), + [aux_sym_preproc_else_token1] = ACTIONS(978), + [aux_sym_preproc_elif_token1] = ACTIONS(978), + [sym_preproc_directive] = ACTIONS(978), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(980), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(978), + [anon_sym___cdecl] = ACTIONS(978), + [anon_sym___clrcall] = ACTIONS(978), + [anon_sym___stdcall] = ACTIONS(978), + [anon_sym___fastcall] = ACTIONS(978), + [anon_sym___thiscall] = ACTIONS(978), + [anon_sym___vectorcall] = ACTIONS(978), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_else] = ACTIONS(978), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(978), + [anon_sym_default] = ACTIONS(978), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(978), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(978), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(978), + [anon_sym_using] = ACTIONS(978), + [anon_sym_static_assert] = ACTIONS(978), + [anon_sym_concept] = ACTIONS(978), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [78] = { + [sym_declaration] = STATE(77), + [sym_type_definition] = STATE(77), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3680), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(77), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(77), + [sym_labeled_statement] = STATE(77), + [sym_expression_statement] = STATE(77), + [sym_if_statement] = STATE(77), + [sym_switch_statement] = STATE(77), + [sym_while_statement] = STATE(77), + [sym_do_statement] = STATE(77), + [sym_for_statement] = STATE(77), + [sym_return_statement] = STATE(77), + [sym_break_statement] = STATE(77), + [sym_continue_statement] = STATE(77), + [sym_goto_statement] = STATE(77), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(77), + [sym_co_return_statement] = STATE(77), + [sym_co_yield_statement] = STATE(77), + [sym_throw_statement] = STATE(77), + [sym_try_statement] = STATE(77), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(77), + [sym_identifier] = ACTIONS(956), + [aux_sym_preproc_include_token1] = ACTIONS(982), + [aux_sym_preproc_def_token1] = ACTIONS(982), + [aux_sym_preproc_if_token1] = ACTIONS(982), + [aux_sym_preproc_if_token2] = ACTIONS(982), + [aux_sym_preproc_ifdef_token1] = ACTIONS(982), + [aux_sym_preproc_ifdef_token2] = ACTIONS(982), + [aux_sym_preproc_else_token1] = ACTIONS(982), + [aux_sym_preproc_elif_token1] = ACTIONS(982), + [sym_preproc_directive] = ACTIONS(982), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(984), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_typedef] = ACTIONS(247), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(982), + [anon_sym___cdecl] = ACTIONS(982), + [anon_sym___clrcall] = ACTIONS(982), + [anon_sym___stdcall] = ACTIONS(982), + [anon_sym___fastcall] = ACTIONS(982), + [anon_sym___thiscall] = ACTIONS(982), + [anon_sym___vectorcall] = ACTIONS(982), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(253), + [anon_sym_else] = ACTIONS(982), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(982), + [anon_sym_default] = ACTIONS(982), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(982), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(982), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_namespace] = ACTIONS(982), + [anon_sym_using] = ACTIONS(982), + [anon_sym_static_assert] = ACTIONS(982), + [anon_sym_concept] = ACTIONS(982), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [79] = { + [sym_declaration] = STATE(79), + [sym_type_definition] = STATE(79), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3680), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(79), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(79), + [sym_labeled_statement] = STATE(79), + [sym_expression_statement] = STATE(79), + [sym_if_statement] = STATE(79), + [sym_switch_statement] = STATE(79), + [sym_while_statement] = STATE(79), + [sym_do_statement] = STATE(79), + [sym_for_statement] = STATE(79), + [sym_return_statement] = STATE(79), + [sym_break_statement] = STATE(79), + [sym_continue_statement] = STATE(79), + [sym_goto_statement] = STATE(79), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(79), + [sym_co_return_statement] = STATE(79), + [sym_co_yield_statement] = STATE(79), + [sym_throw_statement] = STATE(79), + [sym_try_statement] = STATE(79), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(366), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(79), + [sym_identifier] = ACTIONS(986), + [aux_sym_preproc_include_token1] = ACTIONS(989), + [aux_sym_preproc_def_token1] = ACTIONS(989), + [aux_sym_preproc_if_token1] = ACTIONS(989), + [aux_sym_preproc_if_token2] = ACTIONS(989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(989), + [aux_sym_preproc_else_token1] = ACTIONS(989), + [aux_sym_preproc_elif_token1] = ACTIONS(989), + [sym_preproc_directive] = ACTIONS(989), + [anon_sym_LPAREN2] = ACTIONS(991), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(997), + [anon_sym_PLUS] = ACTIONS(997), + [anon_sym_STAR] = ACTIONS(1000), + [anon_sym_AMP_AMP] = ACTIONS(1003), + [anon_sym_AMP] = ACTIONS(1005), + [anon_sym_SEMI] = ACTIONS(1008), + [anon_sym_typedef] = ACTIONS(1011), + [anon_sym_extern] = ACTIONS(1014), + [anon_sym___attribute__] = ACTIONS(1017), + [anon_sym_COLON_COLON] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1023), + [anon_sym___declspec] = ACTIONS(1026), + [anon_sym___based] = ACTIONS(989), + [anon_sym___cdecl] = ACTIONS(989), + [anon_sym___clrcall] = ACTIONS(989), + [anon_sym___stdcall] = ACTIONS(989), + [anon_sym___fastcall] = ACTIONS(989), + [anon_sym___thiscall] = ACTIONS(989), + [anon_sym___vectorcall] = ACTIONS(989), + [anon_sym_LBRACE] = ACTIONS(1029), + [anon_sym_LBRACK] = ACTIONS(1032), + [anon_sym_static] = ACTIONS(1014), + [anon_sym_register] = ACTIONS(1014), + [anon_sym_inline] = ACTIONS(1014), + [anon_sym_thread_local] = ACTIONS(1014), + [anon_sym_const] = ACTIONS(1035), + [anon_sym_volatile] = ACTIONS(1035), + [anon_sym_restrict] = ACTIONS(1035), + [anon_sym__Atomic] = ACTIONS(1035), + [anon_sym_mutable] = ACTIONS(1035), + [anon_sym_constexpr] = ACTIONS(1035), + [anon_sym_constinit] = ACTIONS(1035), + [anon_sym_consteval] = ACTIONS(1035), + [anon_sym_signed] = ACTIONS(1038), + [anon_sym_unsigned] = ACTIONS(1038), + [anon_sym_long] = ACTIONS(1038), + [anon_sym_short] = ACTIONS(1038), + [sym_primitive_type] = ACTIONS(1041), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_class] = ACTIONS(1047), + [anon_sym_struct] = ACTIONS(1050), + [anon_sym_union] = ACTIONS(1053), + [anon_sym_if] = ACTIONS(1056), + [anon_sym_else] = ACTIONS(989), + [anon_sym_switch] = ACTIONS(1059), + [anon_sym_case] = ACTIONS(989), + [anon_sym_default] = ACTIONS(989), + [anon_sym_while] = ACTIONS(1062), + [anon_sym_do] = ACTIONS(1065), + [anon_sym_for] = ACTIONS(1068), + [anon_sym_return] = ACTIONS(1071), + [anon_sym_break] = ACTIONS(1074), + [anon_sym_continue] = ACTIONS(1077), + [anon_sym_goto] = ACTIONS(1080), + [anon_sym_DASH_DASH] = ACTIONS(1083), + [anon_sym_PLUS_PLUS] = ACTIONS(1083), + [anon_sym_sizeof] = ACTIONS(1086), + [sym_number_literal] = ACTIONS(1089), + [anon_sym_L_SQUOTE] = ACTIONS(1092), + [anon_sym_u_SQUOTE] = ACTIONS(1092), + [anon_sym_U_SQUOTE] = ACTIONS(1092), + [anon_sym_u8_SQUOTE] = ACTIONS(1092), + [anon_sym_SQUOTE] = ACTIONS(1092), + [anon_sym_L_DQUOTE] = ACTIONS(1095), + [anon_sym_u_DQUOTE] = ACTIONS(1095), + [anon_sym_U_DQUOTE] = ACTIONS(1095), + [anon_sym_u8_DQUOTE] = ACTIONS(1095), + [anon_sym_DQUOTE] = ACTIONS(1095), + [sym_true] = ACTIONS(1098), + [sym_false] = ACTIONS(1098), + [sym_null] = ACTIONS(1098), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1101), + [anon_sym_decltype] = ACTIONS(1104), + [anon_sym_virtual] = ACTIONS(1107), + [anon_sym_explicit] = ACTIONS(989), + [anon_sym_typename] = ACTIONS(1110), + [anon_sym_template] = ACTIONS(1113), + [anon_sym_operator] = ACTIONS(989), + [anon_sym_delete] = ACTIONS(1116), + [anon_sym_throw] = ACTIONS(1119), + [anon_sym_namespace] = ACTIONS(989), + [anon_sym_using] = ACTIONS(989), + [anon_sym_static_assert] = ACTIONS(989), + [anon_sym_concept] = ACTIONS(989), + [anon_sym_co_return] = ACTIONS(1122), + [anon_sym_co_yield] = ACTIONS(1125), + [anon_sym_try] = ACTIONS(1128), + [anon_sym_co_await] = ACTIONS(1131), + [anon_sym_new] = ACTIONS(1134), + [anon_sym_requires] = ACTIONS(1137), + [sym_this] = ACTIONS(1098), + [sym_nullptr] = ACTIONS(1098), + [sym_raw_string_literal] = ACTIONS(1140), + }, + [80] = { + [sym_declaration] = STATE(80), + [sym_type_definition] = STATE(80), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3681), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(80), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(80), + [sym_labeled_statement] = STATE(80), + [sym_expression_statement] = STATE(80), + [sym_if_statement] = STATE(80), + [sym_switch_statement] = STATE(80), + [sym_while_statement] = STATE(80), + [sym_do_statement] = STATE(80), + [sym_for_statement] = STATE(80), + [sym_return_statement] = STATE(80), + [sym_break_statement] = STATE(80), + [sym_continue_statement] = STATE(80), + [sym_goto_statement] = STATE(80), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(80), + [sym_co_return_statement] = STATE(80), + [sym_co_yield_statement] = STATE(80), + [sym_throw_statement] = STATE(80), + [sym_try_statement] = STATE(80), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(190), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(80), + [ts_builtin_sym_end] = ACTIONS(1003), + [sym_identifier] = ACTIONS(1143), + [aux_sym_preproc_include_token1] = ACTIONS(989), + [aux_sym_preproc_def_token1] = ACTIONS(989), + [aux_sym_preproc_if_token1] = ACTIONS(989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(989), + [sym_preproc_directive] = ACTIONS(989), + [anon_sym_LPAREN2] = ACTIONS(991), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(997), + [anon_sym_PLUS] = ACTIONS(997), + [anon_sym_STAR] = ACTIONS(1000), + [anon_sym_AMP_AMP] = ACTIONS(1003), + [anon_sym_AMP] = ACTIONS(1005), + [anon_sym_SEMI] = ACTIONS(1146), + [anon_sym_typedef] = ACTIONS(1149), + [anon_sym_extern] = ACTIONS(1014), + [anon_sym___attribute__] = ACTIONS(1017), + [anon_sym_COLON_COLON] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1023), + [anon_sym___declspec] = ACTIONS(1026), + [anon_sym___based] = ACTIONS(989), + [anon_sym___cdecl] = ACTIONS(989), + [anon_sym___clrcall] = ACTIONS(989), + [anon_sym___stdcall] = ACTIONS(989), + [anon_sym___fastcall] = ACTIONS(989), + [anon_sym___thiscall] = ACTIONS(989), + [anon_sym___vectorcall] = ACTIONS(989), + [anon_sym_LBRACE] = ACTIONS(1152), + [anon_sym_LBRACK] = ACTIONS(1032), + [anon_sym_static] = ACTIONS(1014), + [anon_sym_register] = ACTIONS(1014), + [anon_sym_inline] = ACTIONS(1014), + [anon_sym_thread_local] = ACTIONS(1014), + [anon_sym_const] = ACTIONS(1035), + [anon_sym_volatile] = ACTIONS(1035), + [anon_sym_restrict] = ACTIONS(1035), + [anon_sym__Atomic] = ACTIONS(1035), + [anon_sym_mutable] = ACTIONS(1035), + [anon_sym_constexpr] = ACTIONS(1035), + [anon_sym_constinit] = ACTIONS(1035), + [anon_sym_consteval] = ACTIONS(1035), + [anon_sym_signed] = ACTIONS(1038), + [anon_sym_unsigned] = ACTIONS(1038), + [anon_sym_long] = ACTIONS(1038), + [anon_sym_short] = ACTIONS(1038), + [sym_primitive_type] = ACTIONS(1041), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_class] = ACTIONS(1047), + [anon_sym_struct] = ACTIONS(1050), + [anon_sym_union] = ACTIONS(1053), + [anon_sym_if] = ACTIONS(1155), + [anon_sym_else] = ACTIONS(989), + [anon_sym_switch] = ACTIONS(1158), + [anon_sym_case] = ACTIONS(989), + [anon_sym_default] = ACTIONS(989), + [anon_sym_while] = ACTIONS(1161), + [anon_sym_do] = ACTIONS(1164), + [anon_sym_for] = ACTIONS(1167), + [anon_sym_return] = ACTIONS(1170), + [anon_sym_break] = ACTIONS(1173), + [anon_sym_continue] = ACTIONS(1176), + [anon_sym_goto] = ACTIONS(1179), + [anon_sym_DASH_DASH] = ACTIONS(1083), + [anon_sym_PLUS_PLUS] = ACTIONS(1083), + [anon_sym_sizeof] = ACTIONS(1086), + [sym_number_literal] = ACTIONS(1089), + [anon_sym_L_SQUOTE] = ACTIONS(1092), + [anon_sym_u_SQUOTE] = ACTIONS(1092), + [anon_sym_U_SQUOTE] = ACTIONS(1092), + [anon_sym_u8_SQUOTE] = ACTIONS(1092), + [anon_sym_SQUOTE] = ACTIONS(1092), + [anon_sym_L_DQUOTE] = ACTIONS(1095), + [anon_sym_u_DQUOTE] = ACTIONS(1095), + [anon_sym_U_DQUOTE] = ACTIONS(1095), + [anon_sym_u8_DQUOTE] = ACTIONS(1095), + [anon_sym_DQUOTE] = ACTIONS(1095), + [sym_true] = ACTIONS(1098), + [sym_false] = ACTIONS(1098), + [sym_null] = ACTIONS(1098), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1101), + [anon_sym_decltype] = ACTIONS(1104), + [anon_sym_virtual] = ACTIONS(1107), + [anon_sym_explicit] = ACTIONS(989), + [anon_sym_typename] = ACTIONS(1110), + [anon_sym_template] = ACTIONS(1113), + [anon_sym_operator] = ACTIONS(989), + [anon_sym_delete] = ACTIONS(1116), + [anon_sym_throw] = ACTIONS(1182), + [anon_sym_namespace] = ACTIONS(989), + [anon_sym_using] = ACTIONS(989), + [anon_sym_static_assert] = ACTIONS(989), + [anon_sym_concept] = ACTIONS(989), + [anon_sym_co_return] = ACTIONS(1185), + [anon_sym_co_yield] = ACTIONS(1188), + [anon_sym_try] = ACTIONS(1191), + [anon_sym_co_await] = ACTIONS(1131), + [anon_sym_new] = ACTIONS(1134), + [anon_sym_requires] = ACTIONS(1137), + [sym_this] = ACTIONS(1098), + [sym_nullptr] = ACTIONS(1098), + [sym_raw_string_literal] = ACTIONS(1140), + }, + [81] = { + [sym_declaration] = STATE(80), + [sym_type_definition] = STATE(80), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3681), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(80), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(80), + [sym_labeled_statement] = STATE(80), + [sym_expression_statement] = STATE(80), + [sym_if_statement] = STATE(80), + [sym_switch_statement] = STATE(80), + [sym_while_statement] = STATE(80), + [sym_do_statement] = STATE(80), + [sym_for_statement] = STATE(80), + [sym_return_statement] = STATE(80), + [sym_break_statement] = STATE(80), + [sym_continue_statement] = STATE(80), + [sym_goto_statement] = STATE(80), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(80), + [sym_co_return_statement] = STATE(80), + [sym_co_yield_statement] = STATE(80), + [sym_throw_statement] = STATE(80), + [sym_try_statement] = STATE(80), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(190), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(80), + [ts_builtin_sym_end] = ACTIONS(964), + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(958), + [aux_sym_preproc_def_token1] = ACTIONS(958), + [aux_sym_preproc_if_token1] = ACTIONS(958), + [aux_sym_preproc_ifdef_token1] = ACTIONS(958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(958), + [sym_preproc_directive] = ACTIONS(958), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(964), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(958), + [anon_sym___cdecl] = ACTIONS(958), + [anon_sym___clrcall] = ACTIONS(958), + [anon_sym___stdcall] = ACTIONS(958), + [anon_sym___fastcall] = ACTIONS(958), + [anon_sym___thiscall] = ACTIONS(958), + [anon_sym___vectorcall] = ACTIONS(958), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(71), + [anon_sym_else] = ACTIONS(958), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(958), + [anon_sym_default] = ACTIONS(958), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(958), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(958), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_namespace] = ACTIONS(958), + [anon_sym_using] = ACTIONS(958), + [anon_sym_static_assert] = ACTIONS(958), + [anon_sym_concept] = ACTIONS(958), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [82] = { + [sym_declaration] = STATE(87), + [sym_type_definition] = STATE(87), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3679), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(87), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(87), + [sym_labeled_statement] = STATE(87), + [sym_expression_statement] = STATE(87), + [sym_if_statement] = STATE(87), + [sym_switch_statement] = STATE(87), + [sym_while_statement] = STATE(87), + [sym_do_statement] = STATE(87), + [sym_for_statement] = STATE(87), + [sym_return_statement] = STATE(87), + [sym_break_statement] = STATE(87), + [sym_continue_statement] = STATE(87), + [sym_goto_statement] = STATE(87), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(87), + [sym_co_return_statement] = STATE(87), + [sym_co_yield_statement] = STATE(87), + [sym_throw_statement] = STATE(87), + [sym_try_statement] = STATE(87), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(358), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(87), + [sym_identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(974), + [aux_sym_preproc_def_token1] = ACTIONS(974), + [aux_sym_preproc_if_token1] = ACTIONS(974), + [aux_sym_preproc_if_token2] = ACTIONS(974), + [aux_sym_preproc_ifdef_token1] = ACTIONS(974), + [aux_sym_preproc_ifdef_token2] = ACTIONS(974), + [sym_preproc_directive] = ACTIONS(974), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(976), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_typedef] = ACTIONS(560), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(974), + [anon_sym___cdecl] = ACTIONS(974), + [anon_sym___clrcall] = ACTIONS(974), + [anon_sym___stdcall] = ACTIONS(974), + [anon_sym___fastcall] = ACTIONS(974), + [anon_sym___thiscall] = ACTIONS(974), + [anon_sym___vectorcall] = ACTIONS(974), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(566), + [anon_sym_else] = ACTIONS(974), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(974), + [anon_sym_default] = ACTIONS(974), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(974), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(974), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_namespace] = ACTIONS(974), + [anon_sym_using] = ACTIONS(974), + [anon_sym_static_assert] = ACTIONS(974), + [anon_sym_concept] = ACTIONS(974), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [83] = { + [sym_declaration] = STATE(84), + [sym_type_definition] = STATE(84), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3718), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(84), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(84), + [sym_labeled_statement] = STATE(84), + [sym_expression_statement] = STATE(84), + [sym_if_statement] = STATE(84), + [sym_switch_statement] = STATE(84), + [sym_while_statement] = STATE(84), + [sym_do_statement] = STATE(84), + [sym_for_statement] = STATE(84), + [sym_return_statement] = STATE(84), + [sym_break_statement] = STATE(84), + [sym_continue_statement] = STATE(84), + [sym_goto_statement] = STATE(84), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(84), + [sym_co_return_statement] = STATE(84), + [sym_co_yield_statement] = STATE(84), + [sym_throw_statement] = STATE(84), + [sym_try_statement] = STATE(84), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(211), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(84), + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(974), + [aux_sym_preproc_def_token1] = ACTIONS(974), + [aux_sym_preproc_if_token1] = ACTIONS(974), + [aux_sym_preproc_ifdef_token1] = ACTIONS(974), + [aux_sym_preproc_ifdef_token2] = ACTIONS(974), + [sym_preproc_directive] = ACTIONS(974), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(976), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(974), + [anon_sym___cdecl] = ACTIONS(974), + [anon_sym___clrcall] = ACTIONS(974), + [anon_sym___stdcall] = ACTIONS(974), + [anon_sym___fastcall] = ACTIONS(974), + [anon_sym___thiscall] = ACTIONS(974), + [anon_sym___vectorcall] = ACTIONS(974), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(976), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_else] = ACTIONS(974), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(974), + [anon_sym_default] = ACTIONS(974), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(974), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(974), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(974), + [anon_sym_using] = ACTIONS(974), + [anon_sym_static_assert] = ACTIONS(974), + [anon_sym_concept] = ACTIONS(974), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [84] = { + [sym_declaration] = STATE(88), + [sym_type_definition] = STATE(88), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3718), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(88), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(88), + [sym_labeled_statement] = STATE(88), + [sym_expression_statement] = STATE(88), + [sym_if_statement] = STATE(88), + [sym_switch_statement] = STATE(88), + [sym_while_statement] = STATE(88), + [sym_do_statement] = STATE(88), + [sym_for_statement] = STATE(88), + [sym_return_statement] = STATE(88), + [sym_break_statement] = STATE(88), + [sym_continue_statement] = STATE(88), + [sym_goto_statement] = STATE(88), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(88), + [sym_co_return_statement] = STATE(88), + [sym_co_yield_statement] = STATE(88), + [sym_throw_statement] = STATE(88), + [sym_try_statement] = STATE(88), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(211), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(88), + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(958), + [aux_sym_preproc_def_token1] = ACTIONS(958), + [aux_sym_preproc_if_token1] = ACTIONS(958), + [aux_sym_preproc_ifdef_token1] = ACTIONS(958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(958), + [sym_preproc_directive] = ACTIONS(958), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(964), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(958), + [anon_sym___cdecl] = ACTIONS(958), + [anon_sym___clrcall] = ACTIONS(958), + [anon_sym___stdcall] = ACTIONS(958), + [anon_sym___fastcall] = ACTIONS(958), + [anon_sym___thiscall] = ACTIONS(958), + [anon_sym___vectorcall] = ACTIONS(958), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(964), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_else] = ACTIONS(958), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(958), + [anon_sym_default] = ACTIONS(958), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(958), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(958), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(958), + [anon_sym_using] = ACTIONS(958), + [anon_sym_static_assert] = ACTIONS(958), + [anon_sym_concept] = ACTIONS(958), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [85] = { + [sym_declaration] = STATE(88), + [sym_type_definition] = STATE(88), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3718), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(88), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(88), + [sym_labeled_statement] = STATE(88), + [sym_expression_statement] = STATE(88), + [sym_if_statement] = STATE(88), + [sym_switch_statement] = STATE(88), + [sym_while_statement] = STATE(88), + [sym_do_statement] = STATE(88), + [sym_for_statement] = STATE(88), + [sym_return_statement] = STATE(88), + [sym_break_statement] = STATE(88), + [sym_continue_statement] = STATE(88), + [sym_goto_statement] = STATE(88), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(88), + [sym_co_return_statement] = STATE(88), + [sym_co_yield_statement] = STATE(88), + [sym_throw_statement] = STATE(88), + [sym_try_statement] = STATE(88), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(211), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(88), + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(978), + [aux_sym_preproc_def_token1] = ACTIONS(978), + [aux_sym_preproc_if_token1] = ACTIONS(978), + [aux_sym_preproc_ifdef_token1] = ACTIONS(978), + [aux_sym_preproc_ifdef_token2] = ACTIONS(978), + [sym_preproc_directive] = ACTIONS(978), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(980), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(978), + [anon_sym___cdecl] = ACTIONS(978), + [anon_sym___clrcall] = ACTIONS(978), + [anon_sym___stdcall] = ACTIONS(978), + [anon_sym___fastcall] = ACTIONS(978), + [anon_sym___thiscall] = ACTIONS(978), + [anon_sym___vectorcall] = ACTIONS(978), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(980), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_else] = ACTIONS(978), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(978), + [anon_sym_default] = ACTIONS(978), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(978), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(978), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(978), + [anon_sym_using] = ACTIONS(978), + [anon_sym_static_assert] = ACTIONS(978), + [anon_sym_concept] = ACTIONS(978), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [86] = { + [sym_declaration] = STATE(80), + [sym_type_definition] = STATE(80), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3681), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(80), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(80), + [sym_labeled_statement] = STATE(80), + [sym_expression_statement] = STATE(80), + [sym_if_statement] = STATE(80), + [sym_switch_statement] = STATE(80), + [sym_while_statement] = STATE(80), + [sym_do_statement] = STATE(80), + [sym_for_statement] = STATE(80), + [sym_return_statement] = STATE(80), + [sym_break_statement] = STATE(80), + [sym_continue_statement] = STATE(80), + [sym_goto_statement] = STATE(80), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(80), + [sym_co_return_statement] = STATE(80), + [sym_co_yield_statement] = STATE(80), + [sym_throw_statement] = STATE(80), + [sym_try_statement] = STATE(80), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(190), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(80), + [ts_builtin_sym_end] = ACTIONS(980), + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(978), + [aux_sym_preproc_def_token1] = ACTIONS(978), + [aux_sym_preproc_if_token1] = ACTIONS(978), + [aux_sym_preproc_ifdef_token1] = ACTIONS(978), + [aux_sym_preproc_ifdef_token2] = ACTIONS(978), + [sym_preproc_directive] = ACTIONS(978), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(980), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(978), + [anon_sym___cdecl] = ACTIONS(978), + [anon_sym___clrcall] = ACTIONS(978), + [anon_sym___stdcall] = ACTIONS(978), + [anon_sym___fastcall] = ACTIONS(978), + [anon_sym___thiscall] = ACTIONS(978), + [anon_sym___vectorcall] = ACTIONS(978), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(71), + [anon_sym_else] = ACTIONS(978), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(978), + [anon_sym_default] = ACTIONS(978), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(978), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(978), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_namespace] = ACTIONS(978), + [anon_sym_using] = ACTIONS(978), + [anon_sym_static_assert] = ACTIONS(978), + [anon_sym_concept] = ACTIONS(978), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [87] = { + [sym_declaration] = STATE(91), + [sym_type_definition] = STATE(91), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3679), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(91), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(91), + [sym_labeled_statement] = STATE(91), + [sym_expression_statement] = STATE(91), + [sym_if_statement] = STATE(91), + [sym_switch_statement] = STATE(91), + [sym_while_statement] = STATE(91), + [sym_do_statement] = STATE(91), + [sym_for_statement] = STATE(91), + [sym_return_statement] = STATE(91), + [sym_break_statement] = STATE(91), + [sym_continue_statement] = STATE(91), + [sym_goto_statement] = STATE(91), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(91), + [sym_co_return_statement] = STATE(91), + [sym_co_yield_statement] = STATE(91), + [sym_throw_statement] = STATE(91), + [sym_try_statement] = STATE(91), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(358), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(91), + [sym_identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(958), + [aux_sym_preproc_def_token1] = ACTIONS(958), + [aux_sym_preproc_if_token1] = ACTIONS(958), + [aux_sym_preproc_if_token2] = ACTIONS(958), + [aux_sym_preproc_ifdef_token1] = ACTIONS(958), + [aux_sym_preproc_ifdef_token2] = ACTIONS(958), + [sym_preproc_directive] = ACTIONS(958), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(964), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_typedef] = ACTIONS(560), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(958), + [anon_sym___cdecl] = ACTIONS(958), + [anon_sym___clrcall] = ACTIONS(958), + [anon_sym___stdcall] = ACTIONS(958), + [anon_sym___fastcall] = ACTIONS(958), + [anon_sym___thiscall] = ACTIONS(958), + [anon_sym___vectorcall] = ACTIONS(958), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(566), + [anon_sym_else] = ACTIONS(958), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(958), + [anon_sym_default] = ACTIONS(958), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(958), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(958), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_namespace] = ACTIONS(958), + [anon_sym_using] = ACTIONS(958), + [anon_sym_static_assert] = ACTIONS(958), + [anon_sym_concept] = ACTIONS(958), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [88] = { + [sym_declaration] = STATE(88), + [sym_type_definition] = STATE(88), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3718), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(88), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(88), + [sym_labeled_statement] = STATE(88), + [sym_expression_statement] = STATE(88), + [sym_if_statement] = STATE(88), + [sym_switch_statement] = STATE(88), + [sym_while_statement] = STATE(88), + [sym_do_statement] = STATE(88), + [sym_for_statement] = STATE(88), + [sym_return_statement] = STATE(88), + [sym_break_statement] = STATE(88), + [sym_continue_statement] = STATE(88), + [sym_goto_statement] = STATE(88), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(88), + [sym_co_return_statement] = STATE(88), + [sym_co_yield_statement] = STATE(88), + [sym_throw_statement] = STATE(88), + [sym_try_statement] = STATE(88), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(211), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(88), + [sym_identifier] = ACTIONS(1200), + [aux_sym_preproc_include_token1] = ACTIONS(989), + [aux_sym_preproc_def_token1] = ACTIONS(989), + [aux_sym_preproc_if_token1] = ACTIONS(989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(989), + [sym_preproc_directive] = ACTIONS(989), + [anon_sym_LPAREN2] = ACTIONS(991), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(997), + [anon_sym_PLUS] = ACTIONS(997), + [anon_sym_STAR] = ACTIONS(1000), + [anon_sym_AMP_AMP] = ACTIONS(1003), + [anon_sym_AMP] = ACTIONS(1005), + [anon_sym_SEMI] = ACTIONS(1203), + [anon_sym_typedef] = ACTIONS(1206), + [anon_sym_extern] = ACTIONS(1014), + [anon_sym___attribute__] = ACTIONS(1017), + [anon_sym_COLON_COLON] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1023), + [anon_sym___declspec] = ACTIONS(1026), + [anon_sym___based] = ACTIONS(989), + [anon_sym___cdecl] = ACTIONS(989), + [anon_sym___clrcall] = ACTIONS(989), + [anon_sym___stdcall] = ACTIONS(989), + [anon_sym___fastcall] = ACTIONS(989), + [anon_sym___thiscall] = ACTIONS(989), + [anon_sym___vectorcall] = ACTIONS(989), + [anon_sym_LBRACE] = ACTIONS(1209), + [anon_sym_RBRACE] = ACTIONS(1003), + [anon_sym_LBRACK] = ACTIONS(1032), + [anon_sym_static] = ACTIONS(1014), + [anon_sym_register] = ACTIONS(1014), + [anon_sym_inline] = ACTIONS(1014), + [anon_sym_thread_local] = ACTIONS(1014), + [anon_sym_const] = ACTIONS(1035), + [anon_sym_volatile] = ACTIONS(1035), + [anon_sym_restrict] = ACTIONS(1035), + [anon_sym__Atomic] = ACTIONS(1035), + [anon_sym_mutable] = ACTIONS(1035), + [anon_sym_constexpr] = ACTIONS(1035), + [anon_sym_constinit] = ACTIONS(1035), + [anon_sym_consteval] = ACTIONS(1035), + [anon_sym_signed] = ACTIONS(1038), + [anon_sym_unsigned] = ACTIONS(1038), + [anon_sym_long] = ACTIONS(1038), + [anon_sym_short] = ACTIONS(1038), + [sym_primitive_type] = ACTIONS(1041), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_class] = ACTIONS(1047), + [anon_sym_struct] = ACTIONS(1050), + [anon_sym_union] = ACTIONS(1053), + [anon_sym_if] = ACTIONS(1212), + [anon_sym_else] = ACTIONS(989), + [anon_sym_switch] = ACTIONS(1215), + [anon_sym_case] = ACTIONS(989), + [anon_sym_default] = ACTIONS(989), + [anon_sym_while] = ACTIONS(1218), + [anon_sym_do] = ACTIONS(1221), + [anon_sym_for] = ACTIONS(1224), + [anon_sym_return] = ACTIONS(1227), + [anon_sym_break] = ACTIONS(1230), + [anon_sym_continue] = ACTIONS(1233), + [anon_sym_goto] = ACTIONS(1236), + [anon_sym_DASH_DASH] = ACTIONS(1083), + [anon_sym_PLUS_PLUS] = ACTIONS(1083), + [anon_sym_sizeof] = ACTIONS(1086), + [sym_number_literal] = ACTIONS(1089), + [anon_sym_L_SQUOTE] = ACTIONS(1092), + [anon_sym_u_SQUOTE] = ACTIONS(1092), + [anon_sym_U_SQUOTE] = ACTIONS(1092), + [anon_sym_u8_SQUOTE] = ACTIONS(1092), + [anon_sym_SQUOTE] = ACTIONS(1092), + [anon_sym_L_DQUOTE] = ACTIONS(1095), + [anon_sym_u_DQUOTE] = ACTIONS(1095), + [anon_sym_U_DQUOTE] = ACTIONS(1095), + [anon_sym_u8_DQUOTE] = ACTIONS(1095), + [anon_sym_DQUOTE] = ACTIONS(1095), + [sym_true] = ACTIONS(1098), + [sym_false] = ACTIONS(1098), + [sym_null] = ACTIONS(1098), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1101), + [anon_sym_decltype] = ACTIONS(1104), + [anon_sym_virtual] = ACTIONS(1107), + [anon_sym_explicit] = ACTIONS(989), + [anon_sym_typename] = ACTIONS(1110), + [anon_sym_template] = ACTIONS(1113), + [anon_sym_operator] = ACTIONS(989), + [anon_sym_delete] = ACTIONS(1116), + [anon_sym_throw] = ACTIONS(1239), + [anon_sym_namespace] = ACTIONS(989), + [anon_sym_using] = ACTIONS(989), + [anon_sym_static_assert] = ACTIONS(989), + [anon_sym_concept] = ACTIONS(989), + [anon_sym_co_return] = ACTIONS(1242), + [anon_sym_co_yield] = ACTIONS(1245), + [anon_sym_try] = ACTIONS(1248), + [anon_sym_co_await] = ACTIONS(1131), + [anon_sym_new] = ACTIONS(1134), + [anon_sym_requires] = ACTIONS(1137), + [sym_this] = ACTIONS(1098), + [sym_nullptr] = ACTIONS(1098), + [sym_raw_string_literal] = ACTIONS(1140), + }, + [89] = { + [sym_declaration] = STATE(81), + [sym_type_definition] = STATE(81), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3681), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(81), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(81), + [sym_labeled_statement] = STATE(81), + [sym_expression_statement] = STATE(81), + [sym_if_statement] = STATE(81), + [sym_switch_statement] = STATE(81), + [sym_while_statement] = STATE(81), + [sym_do_statement] = STATE(81), + [sym_for_statement] = STATE(81), + [sym_return_statement] = STATE(81), + [sym_break_statement] = STATE(81), + [sym_continue_statement] = STATE(81), + [sym_goto_statement] = STATE(81), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(81), + [sym_co_return_statement] = STATE(81), + [sym_co_yield_statement] = STATE(81), + [sym_throw_statement] = STATE(81), + [sym_try_statement] = STATE(81), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(190), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(81), + [ts_builtin_sym_end] = ACTIONS(976), + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(974), + [aux_sym_preproc_def_token1] = ACTIONS(974), + [aux_sym_preproc_if_token1] = ACTIONS(974), + [aux_sym_preproc_ifdef_token1] = ACTIONS(974), + [aux_sym_preproc_ifdef_token2] = ACTIONS(974), + [sym_preproc_directive] = ACTIONS(974), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(976), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(974), + [anon_sym___cdecl] = ACTIONS(974), + [anon_sym___clrcall] = ACTIONS(974), + [anon_sym___stdcall] = ACTIONS(974), + [anon_sym___fastcall] = ACTIONS(974), + [anon_sym___thiscall] = ACTIONS(974), + [anon_sym___vectorcall] = ACTIONS(974), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(71), + [anon_sym_else] = ACTIONS(974), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(974), + [anon_sym_default] = ACTIONS(974), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(974), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(974), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_namespace] = ACTIONS(974), + [anon_sym_using] = ACTIONS(974), + [anon_sym_static_assert] = ACTIONS(974), + [anon_sym_concept] = ACTIONS(974), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [90] = { + [sym_declaration] = STATE(91), + [sym_type_definition] = STATE(91), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3679), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(91), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(91), + [sym_labeled_statement] = STATE(91), + [sym_expression_statement] = STATE(91), + [sym_if_statement] = STATE(91), + [sym_switch_statement] = STATE(91), + [sym_while_statement] = STATE(91), + [sym_do_statement] = STATE(91), + [sym_for_statement] = STATE(91), + [sym_return_statement] = STATE(91), + [sym_break_statement] = STATE(91), + [sym_continue_statement] = STATE(91), + [sym_goto_statement] = STATE(91), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(91), + [sym_co_return_statement] = STATE(91), + [sym_co_yield_statement] = STATE(91), + [sym_throw_statement] = STATE(91), + [sym_try_statement] = STATE(91), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(358), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(91), + [sym_identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(978), + [aux_sym_preproc_def_token1] = ACTIONS(978), + [aux_sym_preproc_if_token1] = ACTIONS(978), + [aux_sym_preproc_if_token2] = ACTIONS(978), + [aux_sym_preproc_ifdef_token1] = ACTIONS(978), + [aux_sym_preproc_ifdef_token2] = ACTIONS(978), + [sym_preproc_directive] = ACTIONS(978), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(980), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_typedef] = ACTIONS(560), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(978), + [anon_sym___cdecl] = ACTIONS(978), + [anon_sym___clrcall] = ACTIONS(978), + [anon_sym___stdcall] = ACTIONS(978), + [anon_sym___fastcall] = ACTIONS(978), + [anon_sym___thiscall] = ACTIONS(978), + [anon_sym___vectorcall] = ACTIONS(978), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(566), + [anon_sym_else] = ACTIONS(978), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(978), + [anon_sym_default] = ACTIONS(978), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(978), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(978), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_namespace] = ACTIONS(978), + [anon_sym_using] = ACTIONS(978), + [anon_sym_static_assert] = ACTIONS(978), + [anon_sym_concept] = ACTIONS(978), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [91] = { + [sym_declaration] = STATE(91), + [sym_type_definition] = STATE(91), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3679), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(91), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(91), + [sym_labeled_statement] = STATE(91), + [sym_expression_statement] = STATE(91), + [sym_if_statement] = STATE(91), + [sym_switch_statement] = STATE(91), + [sym_while_statement] = STATE(91), + [sym_do_statement] = STATE(91), + [sym_for_statement] = STATE(91), + [sym_return_statement] = STATE(91), + [sym_break_statement] = STATE(91), + [sym_continue_statement] = STATE(91), + [sym_goto_statement] = STATE(91), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(91), + [sym_co_return_statement] = STATE(91), + [sym_co_yield_statement] = STATE(91), + [sym_throw_statement] = STATE(91), + [sym_try_statement] = STATE(91), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(358), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(91), + [sym_identifier] = ACTIONS(1251), + [aux_sym_preproc_include_token1] = ACTIONS(989), + [aux_sym_preproc_def_token1] = ACTIONS(989), + [aux_sym_preproc_if_token1] = ACTIONS(989), + [aux_sym_preproc_if_token2] = ACTIONS(989), + [aux_sym_preproc_ifdef_token1] = ACTIONS(989), + [aux_sym_preproc_ifdef_token2] = ACTIONS(989), + [sym_preproc_directive] = ACTIONS(989), + [anon_sym_LPAREN2] = ACTIONS(991), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(997), + [anon_sym_PLUS] = ACTIONS(997), + [anon_sym_STAR] = ACTIONS(1000), + [anon_sym_AMP_AMP] = ACTIONS(1003), + [anon_sym_AMP] = ACTIONS(1005), + [anon_sym_SEMI] = ACTIONS(1254), + [anon_sym_typedef] = ACTIONS(1257), + [anon_sym_extern] = ACTIONS(1014), + [anon_sym___attribute__] = ACTIONS(1017), + [anon_sym_COLON_COLON] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1023), + [anon_sym___declspec] = ACTIONS(1026), + [anon_sym___based] = ACTIONS(989), + [anon_sym___cdecl] = ACTIONS(989), + [anon_sym___clrcall] = ACTIONS(989), + [anon_sym___stdcall] = ACTIONS(989), + [anon_sym___fastcall] = ACTIONS(989), + [anon_sym___thiscall] = ACTIONS(989), + [anon_sym___vectorcall] = ACTIONS(989), + [anon_sym_LBRACE] = ACTIONS(1260), + [anon_sym_LBRACK] = ACTIONS(1032), + [anon_sym_static] = ACTIONS(1014), + [anon_sym_register] = ACTIONS(1014), + [anon_sym_inline] = ACTIONS(1014), + [anon_sym_thread_local] = ACTIONS(1014), + [anon_sym_const] = ACTIONS(1035), + [anon_sym_volatile] = ACTIONS(1035), + [anon_sym_restrict] = ACTIONS(1035), + [anon_sym__Atomic] = ACTIONS(1035), + [anon_sym_mutable] = ACTIONS(1035), + [anon_sym_constexpr] = ACTIONS(1035), + [anon_sym_constinit] = ACTIONS(1035), + [anon_sym_consteval] = ACTIONS(1035), + [anon_sym_signed] = ACTIONS(1038), + [anon_sym_unsigned] = ACTIONS(1038), + [anon_sym_long] = ACTIONS(1038), + [anon_sym_short] = ACTIONS(1038), + [sym_primitive_type] = ACTIONS(1041), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_class] = ACTIONS(1047), + [anon_sym_struct] = ACTIONS(1050), + [anon_sym_union] = ACTIONS(1053), + [anon_sym_if] = ACTIONS(1263), + [anon_sym_else] = ACTIONS(989), + [anon_sym_switch] = ACTIONS(1266), + [anon_sym_case] = ACTIONS(989), + [anon_sym_default] = ACTIONS(989), + [anon_sym_while] = ACTIONS(1269), + [anon_sym_do] = ACTIONS(1272), + [anon_sym_for] = ACTIONS(1275), + [anon_sym_return] = ACTIONS(1278), + [anon_sym_break] = ACTIONS(1281), + [anon_sym_continue] = ACTIONS(1284), + [anon_sym_goto] = ACTIONS(1287), + [anon_sym_DASH_DASH] = ACTIONS(1083), + [anon_sym_PLUS_PLUS] = ACTIONS(1083), + [anon_sym_sizeof] = ACTIONS(1086), + [sym_number_literal] = ACTIONS(1089), + [anon_sym_L_SQUOTE] = ACTIONS(1092), + [anon_sym_u_SQUOTE] = ACTIONS(1092), + [anon_sym_U_SQUOTE] = ACTIONS(1092), + [anon_sym_u8_SQUOTE] = ACTIONS(1092), + [anon_sym_SQUOTE] = ACTIONS(1092), + [anon_sym_L_DQUOTE] = ACTIONS(1095), + [anon_sym_u_DQUOTE] = ACTIONS(1095), + [anon_sym_U_DQUOTE] = ACTIONS(1095), + [anon_sym_u8_DQUOTE] = ACTIONS(1095), + [anon_sym_DQUOTE] = ACTIONS(1095), + [sym_true] = ACTIONS(1098), + [sym_false] = ACTIONS(1098), + [sym_null] = ACTIONS(1098), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1101), + [anon_sym_decltype] = ACTIONS(1104), + [anon_sym_virtual] = ACTIONS(1107), + [anon_sym_explicit] = ACTIONS(989), + [anon_sym_typename] = ACTIONS(1110), + [anon_sym_template] = ACTIONS(1113), + [anon_sym_operator] = ACTIONS(989), + [anon_sym_delete] = ACTIONS(1116), + [anon_sym_throw] = ACTIONS(1290), + [anon_sym_namespace] = ACTIONS(989), + [anon_sym_using] = ACTIONS(989), + [anon_sym_static_assert] = ACTIONS(989), + [anon_sym_concept] = ACTIONS(989), + [anon_sym_co_return] = ACTIONS(1293), + [anon_sym_co_yield] = ACTIONS(1296), + [anon_sym_try] = ACTIONS(1299), + [anon_sym_co_await] = ACTIONS(1131), + [anon_sym_new] = ACTIONS(1134), + [anon_sym_requires] = ACTIONS(1137), + [sym_this] = ACTIONS(1098), + [sym_nullptr] = ACTIONS(1098), + [sym_raw_string_literal] = ACTIONS(1140), + }, + [92] = { + [sym_declaration] = STATE(86), + [sym_type_definition] = STATE(86), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3681), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(86), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(86), + [sym_labeled_statement] = STATE(86), + [sym_expression_statement] = STATE(86), + [sym_if_statement] = STATE(86), + [sym_switch_statement] = STATE(86), + [sym_while_statement] = STATE(86), + [sym_do_statement] = STATE(86), + [sym_for_statement] = STATE(86), + [sym_return_statement] = STATE(86), + [sym_break_statement] = STATE(86), + [sym_continue_statement] = STATE(86), + [sym_goto_statement] = STATE(86), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(86), + [sym_co_return_statement] = STATE(86), + [sym_co_yield_statement] = STATE(86), + [sym_throw_statement] = STATE(86), + [sym_try_statement] = STATE(86), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(190), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(86), + [ts_builtin_sym_end] = ACTIONS(984), + [sym_identifier] = ACTIONS(1194), + [aux_sym_preproc_include_token1] = ACTIONS(982), + [aux_sym_preproc_def_token1] = ACTIONS(982), + [aux_sym_preproc_if_token1] = ACTIONS(982), + [aux_sym_preproc_ifdef_token1] = ACTIONS(982), + [aux_sym_preproc_ifdef_token2] = ACTIONS(982), + [sym_preproc_directive] = ACTIONS(982), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(984), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_typedef] = ACTIONS(35), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(982), + [anon_sym___cdecl] = ACTIONS(982), + [anon_sym___clrcall] = ACTIONS(982), + [anon_sym___stdcall] = ACTIONS(982), + [anon_sym___fastcall] = ACTIONS(982), + [anon_sym___thiscall] = ACTIONS(982), + [anon_sym___vectorcall] = ACTIONS(982), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(71), + [anon_sym_else] = ACTIONS(982), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(982), + [anon_sym_default] = ACTIONS(982), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(982), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(982), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_namespace] = ACTIONS(982), + [anon_sym_using] = ACTIONS(982), + [anon_sym_static_assert] = ACTIONS(982), + [anon_sym_concept] = ACTIONS(982), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [93] = { + [sym_declaration] = STATE(90), + [sym_type_definition] = STATE(90), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3679), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(90), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(90), + [sym_labeled_statement] = STATE(90), + [sym_expression_statement] = STATE(90), + [sym_if_statement] = STATE(90), + [sym_switch_statement] = STATE(90), + [sym_while_statement] = STATE(90), + [sym_do_statement] = STATE(90), + [sym_for_statement] = STATE(90), + [sym_return_statement] = STATE(90), + [sym_break_statement] = STATE(90), + [sym_continue_statement] = STATE(90), + [sym_goto_statement] = STATE(90), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(90), + [sym_co_return_statement] = STATE(90), + [sym_co_yield_statement] = STATE(90), + [sym_throw_statement] = STATE(90), + [sym_try_statement] = STATE(90), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(358), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(90), + [sym_identifier] = ACTIONS(1196), + [aux_sym_preproc_include_token1] = ACTIONS(982), + [aux_sym_preproc_def_token1] = ACTIONS(982), + [aux_sym_preproc_if_token1] = ACTIONS(982), + [aux_sym_preproc_if_token2] = ACTIONS(982), + [aux_sym_preproc_ifdef_token1] = ACTIONS(982), + [aux_sym_preproc_ifdef_token2] = ACTIONS(982), + [sym_preproc_directive] = ACTIONS(982), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(984), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_typedef] = ACTIONS(560), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(982), + [anon_sym___cdecl] = ACTIONS(982), + [anon_sym___clrcall] = ACTIONS(982), + [anon_sym___stdcall] = ACTIONS(982), + [anon_sym___fastcall] = ACTIONS(982), + [anon_sym___thiscall] = ACTIONS(982), + [anon_sym___vectorcall] = ACTIONS(982), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(566), + [anon_sym_else] = ACTIONS(982), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(982), + [anon_sym_default] = ACTIONS(982), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(982), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(982), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_namespace] = ACTIONS(982), + [anon_sym_using] = ACTIONS(982), + [anon_sym_static_assert] = ACTIONS(982), + [anon_sym_concept] = ACTIONS(982), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [94] = { + [sym_declaration] = STATE(85), + [sym_type_definition] = STATE(85), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3718), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(85), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(85), + [sym_labeled_statement] = STATE(85), + [sym_expression_statement] = STATE(85), + [sym_if_statement] = STATE(85), + [sym_switch_statement] = STATE(85), + [sym_while_statement] = STATE(85), + [sym_do_statement] = STATE(85), + [sym_for_statement] = STATE(85), + [sym_return_statement] = STATE(85), + [sym_break_statement] = STATE(85), + [sym_continue_statement] = STATE(85), + [sym_goto_statement] = STATE(85), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(85), + [sym_co_return_statement] = STATE(85), + [sym_co_yield_statement] = STATE(85), + [sym_throw_statement] = STATE(85), + [sym_try_statement] = STATE(85), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(211), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(85), + [sym_identifier] = ACTIONS(1198), + [aux_sym_preproc_include_token1] = ACTIONS(982), + [aux_sym_preproc_def_token1] = ACTIONS(982), + [aux_sym_preproc_if_token1] = ACTIONS(982), + [aux_sym_preproc_ifdef_token1] = ACTIONS(982), + [aux_sym_preproc_ifdef_token2] = ACTIONS(982), + [sym_preproc_directive] = ACTIONS(982), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP_AMP] = ACTIONS(984), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_typedef] = ACTIONS(161), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(982), + [anon_sym___cdecl] = ACTIONS(982), + [anon_sym___clrcall] = ACTIONS(982), + [anon_sym___stdcall] = ACTIONS(982), + [anon_sym___fastcall] = ACTIONS(982), + [anon_sym___thiscall] = ACTIONS(982), + [anon_sym___vectorcall] = ACTIONS(982), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_RBRACE] = ACTIONS(984), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(171), + [anon_sym_else] = ACTIONS(982), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(982), + [anon_sym_default] = ACTIONS(982), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(982), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(982), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_namespace] = ACTIONS(982), + [anon_sym_using] = ACTIONS(982), + [anon_sym_static_assert] = ACTIONS(982), + [anon_sym_concept] = ACTIONS(982), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [95] = { + [sym_declaration] = STATE(96), + [sym_type_definition] = STATE(96), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3694), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(96), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(96), + [sym_labeled_statement] = STATE(96), + [sym_expression_statement] = STATE(96), + [sym_if_statement] = STATE(96), + [sym_switch_statement] = STATE(96), + [sym_while_statement] = STATE(96), + [sym_do_statement] = STATE(96), + [sym_for_statement] = STATE(96), + [sym_return_statement] = STATE(96), + [sym_break_statement] = STATE(96), + [sym_continue_statement] = STATE(96), + [sym_goto_statement] = STATE(96), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(96), + [sym_co_return_statement] = STATE(96), + [sym_co_yield_statement] = STATE(96), + [sym_throw_statement] = STATE(96), + [sym_try_statement] = STATE(96), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(258), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(96), + [sym_identifier] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_else] = ACTIONS(958), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [96] = { + [sym_declaration] = STATE(96), + [sym_type_definition] = STATE(96), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3694), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(96), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(96), + [sym_labeled_statement] = STATE(96), + [sym_expression_statement] = STATE(96), + [sym_if_statement] = STATE(96), + [sym_switch_statement] = STATE(96), + [sym_while_statement] = STATE(96), + [sym_do_statement] = STATE(96), + [sym_for_statement] = STATE(96), + [sym_return_statement] = STATE(96), + [sym_break_statement] = STATE(96), + [sym_continue_statement] = STATE(96), + [sym_goto_statement] = STATE(96), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(96), + [sym_co_return_statement] = STATE(96), + [sym_co_yield_statement] = STATE(96), + [sym_throw_statement] = STATE(96), + [sym_try_statement] = STATE(96), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(258), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(96), + [sym_identifier] = ACTIONS(1336), + [anon_sym_LPAREN2] = ACTIONS(991), + [anon_sym_BANG] = ACTIONS(994), + [anon_sym_TILDE] = ACTIONS(994), + [anon_sym_DASH] = ACTIONS(997), + [anon_sym_PLUS] = ACTIONS(997), + [anon_sym_STAR] = ACTIONS(1000), + [anon_sym_AMP] = ACTIONS(1000), + [anon_sym_SEMI] = ACTIONS(1339), + [anon_sym_typedef] = ACTIONS(1342), + [anon_sym_extern] = ACTIONS(1014), + [anon_sym___attribute__] = ACTIONS(1017), + [anon_sym_COLON_COLON] = ACTIONS(1020), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1023), + [anon_sym___declspec] = ACTIONS(1026), + [anon_sym_LBRACE] = ACTIONS(1345), + [anon_sym_LBRACK] = ACTIONS(1032), + [anon_sym_static] = ACTIONS(1014), + [anon_sym_register] = ACTIONS(1014), + [anon_sym_inline] = ACTIONS(1014), + [anon_sym_thread_local] = ACTIONS(1014), + [anon_sym_const] = ACTIONS(1035), + [anon_sym_volatile] = ACTIONS(1035), + [anon_sym_restrict] = ACTIONS(1035), + [anon_sym__Atomic] = ACTIONS(1035), + [anon_sym_mutable] = ACTIONS(1035), + [anon_sym_constexpr] = ACTIONS(1035), + [anon_sym_constinit] = ACTIONS(1035), + [anon_sym_consteval] = ACTIONS(1035), + [anon_sym_signed] = ACTIONS(1038), + [anon_sym_unsigned] = ACTIONS(1038), + [anon_sym_long] = ACTIONS(1038), + [anon_sym_short] = ACTIONS(1038), + [sym_primitive_type] = ACTIONS(1041), + [anon_sym_enum] = ACTIONS(1044), + [anon_sym_class] = ACTIONS(1047), + [anon_sym_struct] = ACTIONS(1050), + [anon_sym_union] = ACTIONS(1053), + [anon_sym_if] = ACTIONS(1348), + [anon_sym_else] = ACTIONS(989), + [anon_sym_switch] = ACTIONS(1351), + [anon_sym_while] = ACTIONS(1354), + [anon_sym_do] = ACTIONS(1357), + [anon_sym_for] = ACTIONS(1360), + [anon_sym_return] = ACTIONS(1363), + [anon_sym_break] = ACTIONS(1366), + [anon_sym_continue] = ACTIONS(1369), + [anon_sym_goto] = ACTIONS(1372), + [anon_sym_DASH_DASH] = ACTIONS(1083), + [anon_sym_PLUS_PLUS] = ACTIONS(1083), + [anon_sym_sizeof] = ACTIONS(1086), + [sym_number_literal] = ACTIONS(1089), + [anon_sym_L_SQUOTE] = ACTIONS(1092), + [anon_sym_u_SQUOTE] = ACTIONS(1092), + [anon_sym_U_SQUOTE] = ACTIONS(1092), + [anon_sym_u8_SQUOTE] = ACTIONS(1092), + [anon_sym_SQUOTE] = ACTIONS(1092), + [anon_sym_L_DQUOTE] = ACTIONS(1095), + [anon_sym_u_DQUOTE] = ACTIONS(1095), + [anon_sym_U_DQUOTE] = ACTIONS(1095), + [anon_sym_u8_DQUOTE] = ACTIONS(1095), + [anon_sym_DQUOTE] = ACTIONS(1095), + [sym_true] = ACTIONS(1098), + [sym_false] = ACTIONS(1098), + [sym_null] = ACTIONS(1098), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1101), + [anon_sym_decltype] = ACTIONS(1104), + [anon_sym_virtual] = ACTIONS(1107), + [anon_sym_typename] = ACTIONS(1110), + [anon_sym_template] = ACTIONS(1113), + [anon_sym_delete] = ACTIONS(1116), + [anon_sym_throw] = ACTIONS(1375), + [anon_sym_co_return] = ACTIONS(1378), + [anon_sym_co_yield] = ACTIONS(1381), + [anon_sym_try] = ACTIONS(1384), + [anon_sym_co_await] = ACTIONS(1131), + [anon_sym_new] = ACTIONS(1134), + [anon_sym_requires] = ACTIONS(1137), + [sym_this] = ACTIONS(1098), + [sym_nullptr] = ACTIONS(1098), + [sym_raw_string_literal] = ACTIONS(1140), + }, + [97] = { + [sym_declaration] = STATE(96), + [sym_type_definition] = STATE(96), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3694), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(96), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(96), + [sym_labeled_statement] = STATE(96), + [sym_expression_statement] = STATE(96), + [sym_if_statement] = STATE(96), + [sym_switch_statement] = STATE(96), + [sym_while_statement] = STATE(96), + [sym_do_statement] = STATE(96), + [sym_for_statement] = STATE(96), + [sym_return_statement] = STATE(96), + [sym_break_statement] = STATE(96), + [sym_continue_statement] = STATE(96), + [sym_goto_statement] = STATE(96), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(96), + [sym_co_return_statement] = STATE(96), + [sym_co_yield_statement] = STATE(96), + [sym_throw_statement] = STATE(96), + [sym_try_statement] = STATE(96), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(258), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(96), + [sym_identifier] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_else] = ACTIONS(978), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [98] = { + [sym_declaration] = STATE(95), + [sym_type_definition] = STATE(95), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3694), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(95), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(95), + [sym_labeled_statement] = STATE(95), + [sym_expression_statement] = STATE(95), + [sym_if_statement] = STATE(95), + [sym_switch_statement] = STATE(95), + [sym_while_statement] = STATE(95), + [sym_do_statement] = STATE(95), + [sym_for_statement] = STATE(95), + [sym_return_statement] = STATE(95), + [sym_break_statement] = STATE(95), + [sym_continue_statement] = STATE(95), + [sym_goto_statement] = STATE(95), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(95), + [sym_co_return_statement] = STATE(95), + [sym_co_yield_statement] = STATE(95), + [sym_throw_statement] = STATE(95), + [sym_try_statement] = STATE(95), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(258), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(95), + [sym_identifier] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_else] = ACTIONS(974), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [99] = { + [sym_declaration] = STATE(97), + [sym_type_definition] = STATE(97), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3694), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1021), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_compound_statement] = STATE(97), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_attributed_non_case_statement] = STATE(97), + [sym_labeled_statement] = STATE(97), + [sym_expression_statement] = STATE(97), + [sym_if_statement] = STATE(97), + [sym_switch_statement] = STATE(97), + [sym_while_statement] = STATE(97), + [sym_do_statement] = STATE(97), + [sym_for_statement] = STATE(97), + [sym_return_statement] = STATE(97), + [sym_break_statement] = STATE(97), + [sym_continue_statement] = STATE(97), + [sym_goto_statement] = STATE(97), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(97), + [sym_co_return_statement] = STATE(97), + [sym_co_yield_statement] = STATE(97), + [sym_throw_statement] = STATE(97), + [sym_try_statement] = STATE(97), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_attributed_declarator_repeat1] = STATE(258), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_case_statement_repeat1] = STATE(97), + [sym_identifier] = ACTIONS(1302), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_typedef] = ACTIONS(1306), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_else] = ACTIONS(982), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [100] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5298), + [sym__expression] = STATE(2217), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5964), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5298), + [sym_variadic_parameter_declaration] = STATE(5298), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6473), + [sym__unary_right_fold] = STATE(6458), + [sym__binary_fold] = STATE(6391), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4326), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(2551), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1387), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_RPAREN] = ACTIONS(1391), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(1405), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [101] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5298), + [sym__expression] = STATE(2142), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5964), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5298), + [sym_variadic_parameter_declaration] = STATE(5298), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4326), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(2551), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1387), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_RPAREN] = ACTIONS(1391), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(1405), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [102] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5298), + [sym__expression] = STATE(2204), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5964), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5298), + [sym_variadic_parameter_declaration] = STATE(5298), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6007), + [sym__unary_right_fold] = STATE(6008), + [sym__binary_fold] = STATE(6009), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4326), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(2551), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1387), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_RPAREN] = ACTIONS(1391), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(1405), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [103] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5298), + [sym__expression] = STATE(2133), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5964), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5298), + [sym_variadic_parameter_declaration] = STATE(5298), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6167), + [sym__unary_right_fold] = STATE(6166), + [sym__binary_fold] = STATE(6165), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4326), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(2551), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1387), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_RPAREN] = ACTIONS(1391), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(1405), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [104] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5298), + [sym__expression] = STATE(2083), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5964), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5298), + [sym_variadic_parameter_declaration] = STATE(5298), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6013), + [sym__unary_right_fold] = STATE(6014), + [sym__binary_fold] = STATE(6019), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4326), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(2551), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1387), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_RPAREN] = ACTIONS(1391), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(1405), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [105] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5272), + [sym__expression] = STATE(3283), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5347), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5272), + [sym_variadic_parameter_declaration] = STATE(5272), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4333), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1439), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1441), + [anon_sym_RPAREN] = ACTIONS(1443), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [106] = { + [sym_declaration] = STATE(1244), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3685), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_expression_statement] = STATE(1244), + [sym__expression] = STATE(3277), + [sym_comma_expression] = STATE(5929), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_condition_declaration] = STATE(6025), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [107] = { + [sym_declaration] = STATE(1204), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3685), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_expression_statement] = STATE(1204), + [sym__expression] = STATE(3267), + [sym_comma_expression] = STATE(5722), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_condition_declaration] = STATE(6248), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [108] = { + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4833), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6334), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2450), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4334), + [sym_qualified_identifier] = STATE(2448), + [sym_qualified_type_identifier] = STATE(3974), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1451), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1453), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1455), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1457), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1459), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1461), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [109] = { + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4833), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2135), + [sym_comma_expression] = STATE(6001), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6003), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2450), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6007), + [sym__unary_right_fold] = STATE(6008), + [sym__binary_fold] = STATE(6009), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4334), + [sym_qualified_identifier] = STATE(2448), + [sym_qualified_type_identifier] = STATE(3974), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1451), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1453), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1455), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1457), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1459), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1461), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [110] = { + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4833), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6470), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2450), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6473), + [sym__unary_right_fold] = STATE(6458), + [sym__binary_fold] = STATE(6391), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4334), + [sym_qualified_identifier] = STATE(2448), + [sym_qualified_type_identifier] = STATE(3974), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1451), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1453), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1455), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1457), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1459), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1461), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [111] = { + [sym_declaration] = STATE(1164), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3687), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__expression] = STATE(3443), + [sym_comma_expression] = STATE(6416), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1483), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [112] = { + [sym_declaration] = STATE(1249), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3692), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__expression] = STATE(3386), + [sym_comma_expression] = STATE(6348), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1485), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [113] = { + [sym_declaration] = STATE(1241), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3698), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__expression] = STATE(3388), + [sym_comma_expression] = STATE(6038), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1487), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [114] = { + [sym_declaration] = STATE(1212), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3691), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__expression] = STATE(3396), + [sym_comma_expression] = STATE(6377), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1489), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [115] = { + [sym_declaration] = STATE(1196), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3690), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__expression] = STATE(3431), + [sym_comma_expression] = STATE(6403), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1491), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [116] = { + [sym_declaration] = STATE(1209), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3678), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__expression] = STATE(3414), + [sym_comma_expression] = STATE(6233), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(5573), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3013), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4314), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(3012), + [sym_user_defined_literal] = STATE(3118), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(1447), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1493), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(970), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(61), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [117] = { + [sym_preproc_def] = STATE(120), + [sym_preproc_function_def] = STATE(120), + [sym_preproc_call] = STATE(120), + [sym_preproc_if_in_field_declaration_list] = STATE(120), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(120), + [sym_preproc_else_in_field_declaration_list] = STATE(6283), + [sym_preproc_elif_in_field_declaration_list] = STATE(6283), + [sym_type_definition] = STATE(120), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(120), + [sym_field_declaration] = STATE(120), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(120), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(120), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(120), + [sym_operator_cast_declaration] = STATE(120), + [sym_constructor_or_destructor_definition] = STATE(120), + [sym_constructor_or_destructor_declaration] = STATE(120), + [sym_friend_declaration] = STATE(120), + [sym_access_specifier] = STATE(120), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(120), + [sym_alias_declaration] = STATE(120), + [sym_static_assert_declaration] = STATE(120), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(120), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1501), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [118] = { + [sym_preproc_def] = STATE(121), + [sym_preproc_function_def] = STATE(121), + [sym_preproc_call] = STATE(121), + [sym_preproc_if_in_field_declaration_list] = STATE(121), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(121), + [sym_preproc_else_in_field_declaration_list] = STATE(6145), + [sym_preproc_elif_in_field_declaration_list] = STATE(6145), + [sym_type_definition] = STATE(121), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(121), + [sym_field_declaration] = STATE(121), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(121), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(121), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(121), + [sym_operator_cast_declaration] = STATE(121), + [sym_constructor_or_destructor_definition] = STATE(121), + [sym_constructor_or_destructor_declaration] = STATE(121), + [sym_friend_declaration] = STATE(121), + [sym_access_specifier] = STATE(121), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(121), + [sym_alias_declaration] = STATE(121), + [sym_static_assert_declaration] = STATE(121), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(121), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1553), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [119] = { + [sym_preproc_def] = STATE(126), + [sym_preproc_function_def] = STATE(126), + [sym_preproc_call] = STATE(126), + [sym_preproc_if_in_field_declaration_list] = STATE(126), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(126), + [sym_preproc_else_in_field_declaration_list] = STATE(6185), + [sym_preproc_elif_in_field_declaration_list] = STATE(6185), + [sym_type_definition] = STATE(126), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(126), + [sym_field_declaration] = STATE(126), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(126), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(126), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(126), + [sym_operator_cast_declaration] = STATE(126), + [sym_constructor_or_destructor_definition] = STATE(126), + [sym_constructor_or_destructor_declaration] = STATE(126), + [sym_friend_declaration] = STATE(126), + [sym_access_specifier] = STATE(126), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(126), + [sym_alias_declaration] = STATE(126), + [sym_static_assert_declaration] = STATE(126), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(126), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1555), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [120] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_preproc_else_in_field_declaration_list] = STATE(6201), + [sym_preproc_elif_in_field_declaration_list] = STATE(6201), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1557), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [121] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_preproc_else_in_field_declaration_list] = STATE(6081), + [sym_preproc_elif_in_field_declaration_list] = STATE(6081), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1559), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [122] = { + [sym_preproc_def] = STATE(123), + [sym_preproc_function_def] = STATE(123), + [sym_preproc_call] = STATE(123), + [sym_preproc_if_in_field_declaration_list] = STATE(123), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(123), + [sym_preproc_else_in_field_declaration_list] = STATE(6244), + [sym_preproc_elif_in_field_declaration_list] = STATE(6244), + [sym_type_definition] = STATE(123), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(123), + [sym_field_declaration] = STATE(123), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(123), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(123), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(123), + [sym_operator_cast_declaration] = STATE(123), + [sym_constructor_or_destructor_definition] = STATE(123), + [sym_constructor_or_destructor_declaration] = STATE(123), + [sym_friend_declaration] = STATE(123), + [sym_access_specifier] = STATE(123), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(123), + [sym_alias_declaration] = STATE(123), + [sym_static_assert_declaration] = STATE(123), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(123), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1561), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [123] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_preproc_else_in_field_declaration_list] = STATE(6207), + [sym_preproc_elif_in_field_declaration_list] = STATE(6207), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1563), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [124] = { + [sym_preproc_def] = STATE(128), + [sym_preproc_function_def] = STATE(128), + [sym_preproc_call] = STATE(128), + [sym_preproc_if_in_field_declaration_list] = STATE(128), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(128), + [sym_preproc_else_in_field_declaration_list] = STATE(6135), + [sym_preproc_elif_in_field_declaration_list] = STATE(6135), + [sym_type_definition] = STATE(128), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(128), + [sym_field_declaration] = STATE(128), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(128), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(128), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(128), + [sym_operator_cast_declaration] = STATE(128), + [sym_constructor_or_destructor_definition] = STATE(128), + [sym_constructor_or_destructor_declaration] = STATE(128), + [sym_friend_declaration] = STATE(128), + [sym_access_specifier] = STATE(128), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(128), + [sym_alias_declaration] = STATE(128), + [sym_static_assert_declaration] = STATE(128), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(128), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1565), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [125] = { + [sym_preproc_def] = STATE(130), + [sym_preproc_function_def] = STATE(130), + [sym_preproc_call] = STATE(130), + [sym_preproc_if_in_field_declaration_list] = STATE(130), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(130), + [sym_preproc_else_in_field_declaration_list] = STATE(6087), + [sym_preproc_elif_in_field_declaration_list] = STATE(6087), + [sym_type_definition] = STATE(130), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(130), + [sym_field_declaration] = STATE(130), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(130), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(130), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(130), + [sym_operator_cast_declaration] = STATE(130), + [sym_constructor_or_destructor_definition] = STATE(130), + [sym_constructor_or_destructor_declaration] = STATE(130), + [sym_friend_declaration] = STATE(130), + [sym_access_specifier] = STATE(130), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(130), + [sym_alias_declaration] = STATE(130), + [sym_static_assert_declaration] = STATE(130), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(130), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1567), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [126] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_preproc_else_in_field_declaration_list] = STATE(6200), + [sym_preproc_elif_in_field_declaration_list] = STATE(6200), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1569), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [127] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_preproc_else_in_field_declaration_list] = STATE(5983), + [sym_preproc_elif_in_field_declaration_list] = STATE(5983), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1571), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [128] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_preproc_else_in_field_declaration_list] = STATE(6252), + [sym_preproc_elif_in_field_declaration_list] = STATE(6252), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1573), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [129] = { + [sym_preproc_def] = STATE(127), + [sym_preproc_function_def] = STATE(127), + [sym_preproc_call] = STATE(127), + [sym_preproc_if_in_field_declaration_list] = STATE(127), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(127), + [sym_preproc_else_in_field_declaration_list] = STATE(6112), + [sym_preproc_elif_in_field_declaration_list] = STATE(6112), + [sym_type_definition] = STATE(127), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(127), + [sym_field_declaration] = STATE(127), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(127), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(127), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(127), + [sym_operator_cast_declaration] = STATE(127), + [sym_constructor_or_destructor_definition] = STATE(127), + [sym_constructor_or_destructor_declaration] = STATE(127), + [sym_friend_declaration] = STATE(127), + [sym_access_specifier] = STATE(127), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(127), + [sym_alias_declaration] = STATE(127), + [sym_static_assert_declaration] = STATE(127), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(127), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1575), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [130] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_preproc_else_in_field_declaration_list] = STATE(5980), + [sym_preproc_elif_in_field_declaration_list] = STATE(5980), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1497), + [aux_sym_preproc_if_token1] = ACTIONS(1499), + [aux_sym_preproc_if_token2] = ACTIONS(1577), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1503), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1503), + [aux_sym_preproc_else_token1] = ACTIONS(1505), + [aux_sym_preproc_elif_token1] = ACTIONS(1507), + [sym_preproc_directive] = ACTIONS(1509), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1519), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1541), + [anon_sym_private] = ACTIONS(1541), + [anon_sym_protected] = ACTIONS(1541), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1547), + [anon_sym_using] = ACTIONS(1549), + [anon_sym_static_assert] = ACTIONS(1551), + }, + [131] = { + [sym_preproc_def] = STATE(131), + [sym_preproc_function_def] = STATE(131), + [sym_preproc_call] = STATE(131), + [sym_preproc_if_in_field_declaration_list] = STATE(131), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(131), + [sym_type_definition] = STATE(131), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3869), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(131), + [sym_field_declaration] = STATE(131), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(131), + [sym_operator_cast] = STATE(5135), + [sym_inline_method_definition] = STATE(131), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(131), + [sym_operator_cast_declaration] = STATE(131), + [sym_constructor_or_destructor_definition] = STATE(131), + [sym_constructor_or_destructor_declaration] = STATE(131), + [sym_friend_declaration] = STATE(131), + [sym_access_specifier] = STATE(131), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(131), + [sym_alias_declaration] = STATE(131), + [sym_static_assert_declaration] = STATE(131), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(131), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(1579), + [aux_sym_preproc_def_token1] = ACTIONS(1582), + [aux_sym_preproc_if_token1] = ACTIONS(1585), + [aux_sym_preproc_if_token2] = ACTIONS(1588), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1590), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1590), + [aux_sym_preproc_else_token1] = ACTIONS(1588), + [aux_sym_preproc_elif_token1] = ACTIONS(1588), + [sym_preproc_directive] = ACTIONS(1593), + [anon_sym_LPAREN2] = ACTIONS(1596), + [anon_sym_TILDE] = ACTIONS(1599), + [anon_sym_STAR] = ACTIONS(1602), + [anon_sym_AMP_AMP] = ACTIONS(1605), + [anon_sym_AMP] = ACTIONS(1608), + [anon_sym_typedef] = ACTIONS(1611), + [anon_sym_extern] = ACTIONS(1614), + [anon_sym___attribute__] = ACTIONS(1617), + [anon_sym_COLON_COLON] = ACTIONS(1620), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1623), + [anon_sym___declspec] = ACTIONS(1626), + [anon_sym___based] = ACTIONS(1629), + [anon_sym_LBRACK] = ACTIONS(1632), + [anon_sym_static] = ACTIONS(1614), + [anon_sym_register] = ACTIONS(1614), + [anon_sym_inline] = ACTIONS(1614), + [anon_sym_thread_local] = ACTIONS(1614), + [anon_sym_const] = ACTIONS(1635), + [anon_sym_volatile] = ACTIONS(1635), + [anon_sym_restrict] = ACTIONS(1635), + [anon_sym__Atomic] = ACTIONS(1635), + [anon_sym_mutable] = ACTIONS(1635), + [anon_sym_constexpr] = ACTIONS(1635), + [anon_sym_constinit] = ACTIONS(1635), + [anon_sym_consteval] = ACTIONS(1635), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [sym_primitive_type] = ACTIONS(1641), + [anon_sym_enum] = ACTIONS(1644), + [anon_sym_class] = ACTIONS(1647), + [anon_sym_struct] = ACTIONS(1650), + [anon_sym_union] = ACTIONS(1653), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1656), + [anon_sym_decltype] = ACTIONS(1659), + [anon_sym_virtual] = ACTIONS(1662), + [anon_sym_explicit] = ACTIONS(1665), + [anon_sym_public] = ACTIONS(1668), + [anon_sym_private] = ACTIONS(1668), + [anon_sym_protected] = ACTIONS(1668), + [anon_sym_typename] = ACTIONS(1671), + [anon_sym_template] = ACTIONS(1674), + [anon_sym_operator] = ACTIONS(1677), + [anon_sym_friend] = ACTIONS(1680), + [anon_sym_using] = ACTIONS(1683), + [anon_sym_static_assert] = ACTIONS(1686), + }, + [132] = { + [sym_preproc_def] = STATE(134), + [sym_preproc_function_def] = STATE(134), + [sym_preproc_call] = STATE(134), + [sym_preproc_if_in_field_declaration_list] = STATE(134), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(134), + [sym_type_definition] = STATE(134), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(134), + [sym_field_declaration] = STATE(134), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(134), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(134), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(134), + [sym_operator_cast_declaration] = STATE(134), + [sym_constructor_or_destructor_definition] = STATE(134), + [sym_constructor_or_destructor_declaration] = STATE(134), + [sym_friend_declaration] = STATE(134), + [sym_access_specifier] = STATE(134), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(134), + [sym_alias_declaration] = STATE(134), + [sym_static_assert_declaration] = STATE(134), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(134), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1699), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [133] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1711), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [134] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1713), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [135] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1715), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [136] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1717), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [137] = { + [sym_preproc_def] = STATE(135), + [sym_preproc_function_def] = STATE(135), + [sym_preproc_call] = STATE(135), + [sym_preproc_if_in_field_declaration_list] = STATE(135), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(135), + [sym_type_definition] = STATE(135), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(135), + [sym_field_declaration] = STATE(135), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(135), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(135), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(135), + [sym_operator_cast_declaration] = STATE(135), + [sym_constructor_or_destructor_definition] = STATE(135), + [sym_constructor_or_destructor_declaration] = STATE(135), + [sym_friend_declaration] = STATE(135), + [sym_access_specifier] = STATE(135), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(135), + [sym_alias_declaration] = STATE(135), + [sym_static_assert_declaration] = STATE(135), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(135), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1719), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [138] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1721), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [139] = { + [sym_preproc_def] = STATE(150), + [sym_preproc_function_def] = STATE(150), + [sym_preproc_call] = STATE(150), + [sym_preproc_if_in_field_declaration_list] = STATE(150), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(150), + [sym_type_definition] = STATE(150), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3854), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4471), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(150), + [sym_field_declaration] = STATE(150), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1544), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(150), + [sym_operator_cast] = STATE(5061), + [sym_inline_method_definition] = STATE(150), + [sym__constructor_specifiers] = STATE(1544), + [sym_operator_cast_definition] = STATE(150), + [sym_operator_cast_declaration] = STATE(150), + [sym_constructor_or_destructor_definition] = STATE(150), + [sym_constructor_or_destructor_declaration] = STATE(150), + [sym_friend_declaration] = STATE(150), + [sym_access_specifier] = STATE(150), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(150), + [sym_alias_declaration] = STATE(150), + [sym_static_assert_declaration] = STATE(150), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5061), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(150), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1544), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1723), + [aux_sym_preproc_if_token1] = ACTIONS(1725), + [aux_sym_preproc_if_token2] = ACTIONS(1727), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1729), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1729), + [sym_preproc_directive] = ACTIONS(1731), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1733), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1735), + [anon_sym_private] = ACTIONS(1735), + [anon_sym_protected] = ACTIONS(1735), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1737), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1739), + [anon_sym_using] = ACTIONS(1741), + [anon_sym_static_assert] = ACTIONS(1743), + }, + [140] = { + [sym_preproc_def] = STATE(141), + [sym_preproc_function_def] = STATE(141), + [sym_preproc_call] = STATE(141), + [sym_preproc_if_in_field_declaration_list] = STATE(141), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(141), + [sym_type_definition] = STATE(141), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(141), + [sym_field_declaration] = STATE(141), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(141), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(141), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(141), + [sym_operator_cast_declaration] = STATE(141), + [sym_constructor_or_destructor_definition] = STATE(141), + [sym_constructor_or_destructor_declaration] = STATE(141), + [sym_friend_declaration] = STATE(141), + [sym_access_specifier] = STATE(141), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(141), + [sym_alias_declaration] = STATE(141), + [sym_static_assert_declaration] = STATE(141), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(141), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1745), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [141] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1747), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [142] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1579), + [aux_sym_preproc_def_token1] = ACTIONS(1749), + [aux_sym_preproc_if_token1] = ACTIONS(1752), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1755), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1755), + [sym_preproc_directive] = ACTIONS(1758), + [anon_sym_LPAREN2] = ACTIONS(1596), + [anon_sym_TILDE] = ACTIONS(1599), + [anon_sym_STAR] = ACTIONS(1602), + [anon_sym_AMP_AMP] = ACTIONS(1605), + [anon_sym_AMP] = ACTIONS(1608), + [anon_sym_typedef] = ACTIONS(1761), + [anon_sym_extern] = ACTIONS(1614), + [anon_sym___attribute__] = ACTIONS(1617), + [anon_sym_COLON_COLON] = ACTIONS(1620), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1623), + [anon_sym___declspec] = ACTIONS(1626), + [anon_sym___based] = ACTIONS(1629), + [anon_sym_RBRACE] = ACTIONS(1764), + [anon_sym_LBRACK] = ACTIONS(1632), + [anon_sym_static] = ACTIONS(1614), + [anon_sym_register] = ACTIONS(1614), + [anon_sym_inline] = ACTIONS(1614), + [anon_sym_thread_local] = ACTIONS(1614), + [anon_sym_const] = ACTIONS(1635), + [anon_sym_volatile] = ACTIONS(1635), + [anon_sym_restrict] = ACTIONS(1635), + [anon_sym__Atomic] = ACTIONS(1635), + [anon_sym_mutable] = ACTIONS(1635), + [anon_sym_constexpr] = ACTIONS(1635), + [anon_sym_constinit] = ACTIONS(1635), + [anon_sym_consteval] = ACTIONS(1635), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [sym_primitive_type] = ACTIONS(1641), + [anon_sym_enum] = ACTIONS(1644), + [anon_sym_class] = ACTIONS(1647), + [anon_sym_struct] = ACTIONS(1650), + [anon_sym_union] = ACTIONS(1653), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1656), + [anon_sym_decltype] = ACTIONS(1659), + [anon_sym_virtual] = ACTIONS(1662), + [anon_sym_explicit] = ACTIONS(1665), + [anon_sym_public] = ACTIONS(1766), + [anon_sym_private] = ACTIONS(1766), + [anon_sym_protected] = ACTIONS(1766), + [anon_sym_typename] = ACTIONS(1671), + [anon_sym_template] = ACTIONS(1769), + [anon_sym_operator] = ACTIONS(1677), + [anon_sym_friend] = ACTIONS(1772), + [anon_sym_using] = ACTIONS(1775), + [anon_sym_static_assert] = ACTIONS(1778), + }, + [143] = { + [sym_preproc_def] = STATE(136), + [sym_preproc_function_def] = STATE(136), + [sym_preproc_call] = STATE(136), + [sym_preproc_if_in_field_declaration_list] = STATE(136), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(136), + [sym_type_definition] = STATE(136), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(136), + [sym_field_declaration] = STATE(136), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(136), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(136), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(136), + [sym_operator_cast_declaration] = STATE(136), + [sym_constructor_or_destructor_definition] = STATE(136), + [sym_constructor_or_destructor_declaration] = STATE(136), + [sym_friend_declaration] = STATE(136), + [sym_access_specifier] = STATE(136), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(136), + [sym_alias_declaration] = STATE(136), + [sym_static_assert_declaration] = STATE(136), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(136), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1781), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [144] = { + [sym_preproc_def] = STATE(138), + [sym_preproc_function_def] = STATE(138), + [sym_preproc_call] = STATE(138), + [sym_preproc_if_in_field_declaration_list] = STATE(138), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(138), + [sym_type_definition] = STATE(138), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(138), + [sym_field_declaration] = STATE(138), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(138), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(138), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(138), + [sym_operator_cast_declaration] = STATE(138), + [sym_constructor_or_destructor_definition] = STATE(138), + [sym_constructor_or_destructor_declaration] = STATE(138), + [sym_friend_declaration] = STATE(138), + [sym_access_specifier] = STATE(138), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(138), + [sym_alias_declaration] = STATE(138), + [sym_static_assert_declaration] = STATE(138), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(138), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1783), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [145] = { + [sym_preproc_def] = STATE(133), + [sym_preproc_function_def] = STATE(133), + [sym_preproc_call] = STATE(133), + [sym_preproc_if_in_field_declaration_list] = STATE(133), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(133), + [sym_type_definition] = STATE(133), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(133), + [sym_field_declaration] = STATE(133), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(133), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(133), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(133), + [sym_operator_cast_declaration] = STATE(133), + [sym_constructor_or_destructor_definition] = STATE(133), + [sym_constructor_or_destructor_declaration] = STATE(133), + [sym_friend_declaration] = STATE(133), + [sym_access_specifier] = STATE(133), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(133), + [sym_alias_declaration] = STATE(133), + [sym_static_assert_declaration] = STATE(133), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(133), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1785), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [146] = { + [sym_preproc_def] = STATE(147), + [sym_preproc_function_def] = STATE(147), + [sym_preproc_call] = STATE(147), + [sym_preproc_if_in_field_declaration_list] = STATE(147), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(147), + [sym_type_definition] = STATE(147), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(147), + [sym_field_declaration] = STATE(147), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(147), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(147), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(147), + [sym_operator_cast_declaration] = STATE(147), + [sym_constructor_or_destructor_definition] = STATE(147), + [sym_constructor_or_destructor_declaration] = STATE(147), + [sym_friend_declaration] = STATE(147), + [sym_access_specifier] = STATE(147), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(147), + [sym_alias_declaration] = STATE(147), + [sym_static_assert_declaration] = STATE(147), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(147), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1787), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [147] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1789), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [148] = { + [sym_preproc_def] = STATE(149), + [sym_preproc_function_def] = STATE(149), + [sym_preproc_call] = STATE(149), + [sym_preproc_if_in_field_declaration_list] = STATE(149), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(149), + [sym_type_definition] = STATE(149), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(149), + [sym_field_declaration] = STATE(149), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(149), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(149), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(149), + [sym_operator_cast_declaration] = STATE(149), + [sym_constructor_or_destructor_definition] = STATE(149), + [sym_constructor_or_destructor_declaration] = STATE(149), + [sym_friend_declaration] = STATE(149), + [sym_access_specifier] = STATE(149), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(149), + [sym_alias_declaration] = STATE(149), + [sym_static_assert_declaration] = STATE(149), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(149), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1791), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [149] = { + [sym_preproc_def] = STATE(142), + [sym_preproc_function_def] = STATE(142), + [sym_preproc_call] = STATE(142), + [sym_preproc_if_in_field_declaration_list] = STATE(142), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(142), + [sym_type_definition] = STATE(142), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3859), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(142), + [sym_field_declaration] = STATE(142), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(142), + [sym_operator_cast] = STATE(5139), + [sym_inline_method_definition] = STATE(142), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(142), + [sym_operator_cast_declaration] = STATE(142), + [sym_constructor_or_destructor_definition] = STATE(142), + [sym_constructor_or_destructor_declaration] = STATE(142), + [sym_friend_declaration] = STATE(142), + [sym_access_specifier] = STATE(142), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(142), + [sym_alias_declaration] = STATE(142), + [sym_static_assert_declaration] = STATE(142), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(142), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1689), + [aux_sym_preproc_if_token1] = ACTIONS(1691), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1693), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1693), + [sym_preproc_directive] = ACTIONS(1695), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1697), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_RBRACE] = ACTIONS(1793), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1701), + [anon_sym_private] = ACTIONS(1701), + [anon_sym_protected] = ACTIONS(1701), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1705), + [anon_sym_using] = ACTIONS(1707), + [anon_sym_static_assert] = ACTIONS(1709), + }, + [150] = { + [sym_preproc_def] = STATE(151), + [sym_preproc_function_def] = STATE(151), + [sym_preproc_call] = STATE(151), + [sym_preproc_if_in_field_declaration_list] = STATE(151), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(151), + [sym_type_definition] = STATE(151), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3854), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4471), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(151), + [sym_field_declaration] = STATE(151), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1544), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(151), + [sym_operator_cast] = STATE(5061), + [sym_inline_method_definition] = STATE(151), + [sym__constructor_specifiers] = STATE(1544), + [sym_operator_cast_definition] = STATE(151), + [sym_operator_cast_declaration] = STATE(151), + [sym_constructor_or_destructor_definition] = STATE(151), + [sym_constructor_or_destructor_declaration] = STATE(151), + [sym_friend_declaration] = STATE(151), + [sym_access_specifier] = STATE(151), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(151), + [sym_alias_declaration] = STATE(151), + [sym_static_assert_declaration] = STATE(151), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5061), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(151), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1544), + [sym_identifier] = ACTIONS(1495), + [aux_sym_preproc_def_token1] = ACTIONS(1723), + [aux_sym_preproc_if_token1] = ACTIONS(1725), + [aux_sym_preproc_if_token2] = ACTIONS(1795), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1729), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1729), + [sym_preproc_directive] = ACTIONS(1731), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_typedef] = ACTIONS(1733), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(1521), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1525), + [anon_sym_unsigned] = ACTIONS(1525), + [anon_sym_long] = ACTIONS(1525), + [anon_sym_short] = ACTIONS(1525), + [sym_primitive_type] = ACTIONS(1527), + [anon_sym_enum] = ACTIONS(1529), + [anon_sym_class] = ACTIONS(1531), + [anon_sym_struct] = ACTIONS(1533), + [anon_sym_union] = ACTIONS(1535), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1537), + [anon_sym_decltype] = ACTIONS(1539), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_public] = ACTIONS(1735), + [anon_sym_private] = ACTIONS(1735), + [anon_sym_protected] = ACTIONS(1735), + [anon_sym_typename] = ACTIONS(1543), + [anon_sym_template] = ACTIONS(1737), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_friend] = ACTIONS(1739), + [anon_sym_using] = ACTIONS(1741), + [anon_sym_static_assert] = ACTIONS(1743), + }, + [151] = { + [sym_preproc_def] = STATE(151), + [sym_preproc_function_def] = STATE(151), + [sym_preproc_call] = STATE(151), + [sym_preproc_if_in_field_declaration_list] = STATE(151), + [sym_preproc_ifdef_in_field_declaration_list] = STATE(151), + [sym_type_definition] = STATE(151), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3854), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4471), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2871), + [sym_sized_type_specifier] = STATE(3120), + [sym_enum_specifier] = STATE(3120), + [sym_struct_specifier] = STATE(3120), + [sym_union_specifier] = STATE(3120), + [sym__field_declaration_list_item] = STATE(151), + [sym_field_declaration] = STATE(151), + [sym_placeholder_type_specifier] = STATE(3120), + [sym_decltype_auto] = STATE(3152), + [sym_decltype] = STATE(3120), + [sym_class_specifier] = STATE(3120), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1544), + [sym_dependent_type] = STATE(3120), + [sym_template_declaration] = STATE(151), + [sym_operator_cast] = STATE(5061), + [sym_inline_method_definition] = STATE(151), + [sym__constructor_specifiers] = STATE(1544), + [sym_operator_cast_definition] = STATE(151), + [sym_operator_cast_declaration] = STATE(151), + [sym_constructor_or_destructor_definition] = STATE(151), + [sym_constructor_or_destructor_declaration] = STATE(151), + [sym_friend_declaration] = STATE(151), + [sym_access_specifier] = STATE(151), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_using_declaration] = STATE(151), + [sym_alias_declaration] = STATE(151), + [sym_static_assert_declaration] = STATE(151), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4217), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(3157), + [sym_qualified_operator_cast_identifier] = STATE(5061), + [sym_operator_name] = STATE(4500), + [aux_sym_preproc_if_in_field_declaration_list_repeat1] = STATE(151), + [aux_sym__declaration_specifiers_repeat1] = STATE(1655), + [aux_sym_sized_type_specifier_repeat1] = STATE(3028), + [aux_sym_operator_cast_definition_repeat1] = STATE(1544), + [sym_identifier] = ACTIONS(1579), + [aux_sym_preproc_def_token1] = ACTIONS(1797), + [aux_sym_preproc_if_token1] = ACTIONS(1800), + [aux_sym_preproc_if_token2] = ACTIONS(1588), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1803), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1803), + [sym_preproc_directive] = ACTIONS(1806), + [anon_sym_LPAREN2] = ACTIONS(1596), + [anon_sym_TILDE] = ACTIONS(1599), + [anon_sym_STAR] = ACTIONS(1602), + [anon_sym_AMP_AMP] = ACTIONS(1605), + [anon_sym_AMP] = ACTIONS(1608), + [anon_sym_typedef] = ACTIONS(1809), + [anon_sym_extern] = ACTIONS(1614), + [anon_sym___attribute__] = ACTIONS(1617), + [anon_sym_COLON_COLON] = ACTIONS(1620), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1623), + [anon_sym___declspec] = ACTIONS(1626), + [anon_sym___based] = ACTIONS(1629), + [anon_sym_LBRACK] = ACTIONS(1632), + [anon_sym_static] = ACTIONS(1614), + [anon_sym_register] = ACTIONS(1614), + [anon_sym_inline] = ACTIONS(1614), + [anon_sym_thread_local] = ACTIONS(1614), + [anon_sym_const] = ACTIONS(1635), + [anon_sym_volatile] = ACTIONS(1635), + [anon_sym_restrict] = ACTIONS(1635), + [anon_sym__Atomic] = ACTIONS(1635), + [anon_sym_mutable] = ACTIONS(1635), + [anon_sym_constexpr] = ACTIONS(1635), + [anon_sym_constinit] = ACTIONS(1635), + [anon_sym_consteval] = ACTIONS(1635), + [anon_sym_signed] = ACTIONS(1638), + [anon_sym_unsigned] = ACTIONS(1638), + [anon_sym_long] = ACTIONS(1638), + [anon_sym_short] = ACTIONS(1638), + [sym_primitive_type] = ACTIONS(1641), + [anon_sym_enum] = ACTIONS(1644), + [anon_sym_class] = ACTIONS(1647), + [anon_sym_struct] = ACTIONS(1650), + [anon_sym_union] = ACTIONS(1653), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1656), + [anon_sym_decltype] = ACTIONS(1659), + [anon_sym_virtual] = ACTIONS(1662), + [anon_sym_explicit] = ACTIONS(1665), + [anon_sym_public] = ACTIONS(1812), + [anon_sym_private] = ACTIONS(1812), + [anon_sym_protected] = ACTIONS(1812), + [anon_sym_typename] = ACTIONS(1671), + [anon_sym_template] = ACTIONS(1815), + [anon_sym_operator] = ACTIONS(1677), + [anon_sym_friend] = ACTIONS(1818), + [anon_sym_using] = ACTIONS(1821), + [anon_sym_static_assert] = ACTIONS(1824), + }, + [152] = { + [sym_catch_clause] = STATE(152), + [aux_sym_try_statement_repeat1] = STATE(152), + [sym_identifier] = ACTIONS(1827), + [aux_sym_preproc_include_token1] = ACTIONS(1827), + [aux_sym_preproc_def_token1] = ACTIONS(1827), + [aux_sym_preproc_if_token1] = ACTIONS(1827), + [aux_sym_preproc_if_token2] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1827), + [aux_sym_preproc_else_token1] = ACTIONS(1827), + [aux_sym_preproc_elif_token1] = ACTIONS(1827), + [sym_preproc_directive] = ACTIONS(1827), + [anon_sym_LPAREN2] = ACTIONS(1829), + [anon_sym_BANG] = ACTIONS(1829), + [anon_sym_TILDE] = ACTIONS(1829), + [anon_sym_DASH] = ACTIONS(1827), + [anon_sym_PLUS] = ACTIONS(1827), + [anon_sym_STAR] = ACTIONS(1829), + [anon_sym_AMP_AMP] = ACTIONS(1829), + [anon_sym_AMP] = ACTIONS(1827), + [anon_sym_SEMI] = ACTIONS(1829), + [anon_sym_typedef] = ACTIONS(1827), + [anon_sym_extern] = ACTIONS(1827), + [anon_sym___attribute__] = ACTIONS(1827), + [anon_sym_COLON_COLON] = ACTIONS(1829), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1829), + [anon_sym___declspec] = ACTIONS(1827), + [anon_sym___based] = ACTIONS(1827), + [anon_sym___cdecl] = ACTIONS(1827), + [anon_sym___clrcall] = ACTIONS(1827), + [anon_sym___stdcall] = ACTIONS(1827), + [anon_sym___fastcall] = ACTIONS(1827), + [anon_sym___thiscall] = ACTIONS(1827), + [anon_sym___vectorcall] = ACTIONS(1827), + [anon_sym_LBRACE] = ACTIONS(1829), + [anon_sym_LBRACK] = ACTIONS(1827), + [anon_sym_static] = ACTIONS(1827), + [anon_sym_register] = ACTIONS(1827), + [anon_sym_inline] = ACTIONS(1827), + [anon_sym_thread_local] = ACTIONS(1827), + [anon_sym_const] = ACTIONS(1827), + [anon_sym_volatile] = ACTIONS(1827), + [anon_sym_restrict] = ACTIONS(1827), + [anon_sym__Atomic] = ACTIONS(1827), + [anon_sym_mutable] = ACTIONS(1827), + [anon_sym_constexpr] = ACTIONS(1827), + [anon_sym_constinit] = ACTIONS(1827), + [anon_sym_consteval] = ACTIONS(1827), + [anon_sym_signed] = ACTIONS(1827), + [anon_sym_unsigned] = ACTIONS(1827), + [anon_sym_long] = ACTIONS(1827), + [anon_sym_short] = ACTIONS(1827), + [sym_primitive_type] = ACTIONS(1827), + [anon_sym_enum] = ACTIONS(1827), + [anon_sym_class] = ACTIONS(1827), + [anon_sym_struct] = ACTIONS(1827), + [anon_sym_union] = ACTIONS(1827), + [anon_sym_if] = ACTIONS(1827), + [anon_sym_else] = ACTIONS(1827), + [anon_sym_switch] = ACTIONS(1827), + [anon_sym_case] = ACTIONS(1827), + [anon_sym_default] = ACTIONS(1827), + [anon_sym_while] = ACTIONS(1827), + [anon_sym_do] = ACTIONS(1827), + [anon_sym_for] = ACTIONS(1827), + [anon_sym_return] = ACTIONS(1827), + [anon_sym_break] = ACTIONS(1827), + [anon_sym_continue] = ACTIONS(1827), + [anon_sym_goto] = ACTIONS(1827), + [anon_sym_DASH_DASH] = ACTIONS(1829), + [anon_sym_PLUS_PLUS] = ACTIONS(1829), + [anon_sym_sizeof] = ACTIONS(1827), + [sym_number_literal] = ACTIONS(1829), + [anon_sym_L_SQUOTE] = ACTIONS(1829), + [anon_sym_u_SQUOTE] = ACTIONS(1829), + [anon_sym_U_SQUOTE] = ACTIONS(1829), + [anon_sym_u8_SQUOTE] = ACTIONS(1829), + [anon_sym_SQUOTE] = ACTIONS(1829), + [anon_sym_L_DQUOTE] = ACTIONS(1829), + [anon_sym_u_DQUOTE] = ACTIONS(1829), + [anon_sym_U_DQUOTE] = ACTIONS(1829), + [anon_sym_u8_DQUOTE] = ACTIONS(1829), + [anon_sym_DQUOTE] = ACTIONS(1829), + [sym_true] = ACTIONS(1827), + [sym_false] = ACTIONS(1827), + [sym_null] = ACTIONS(1827), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1827), + [anon_sym_decltype] = ACTIONS(1827), + [anon_sym_virtual] = ACTIONS(1827), + [anon_sym_explicit] = ACTIONS(1827), + [anon_sym_typename] = ACTIONS(1827), + [anon_sym_template] = ACTIONS(1827), + [anon_sym_operator] = ACTIONS(1827), + [anon_sym_delete] = ACTIONS(1827), + [anon_sym_throw] = ACTIONS(1827), + [anon_sym_namespace] = ACTIONS(1827), + [anon_sym_using] = ACTIONS(1827), + [anon_sym_static_assert] = ACTIONS(1827), + [anon_sym_concept] = ACTIONS(1827), + [anon_sym_co_return] = ACTIONS(1827), + [anon_sym_co_yield] = ACTIONS(1827), + [anon_sym_try] = ACTIONS(1827), + [anon_sym_catch] = ACTIONS(1831), + [anon_sym_co_await] = ACTIONS(1827), + [anon_sym_new] = ACTIONS(1827), + [anon_sym_requires] = ACTIONS(1827), + [sym_this] = ACTIONS(1827), + [sym_nullptr] = ACTIONS(1827), + [sym_raw_string_literal] = ACTIONS(1829), + }, + [153] = { + [sym_catch_clause] = STATE(152), + [aux_sym_try_statement_repeat1] = STATE(152), + [sym_identifier] = ACTIONS(1834), + [aux_sym_preproc_include_token1] = ACTIONS(1834), + [aux_sym_preproc_def_token1] = ACTIONS(1834), + [aux_sym_preproc_if_token1] = ACTIONS(1834), + [aux_sym_preproc_if_token2] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1834), + [aux_sym_preproc_else_token1] = ACTIONS(1834), + [aux_sym_preproc_elif_token1] = ACTIONS(1834), + [sym_preproc_directive] = ACTIONS(1834), + [anon_sym_LPAREN2] = ACTIONS(1836), + [anon_sym_BANG] = ACTIONS(1836), + [anon_sym_TILDE] = ACTIONS(1836), + [anon_sym_DASH] = ACTIONS(1834), + [anon_sym_PLUS] = ACTIONS(1834), + [anon_sym_STAR] = ACTIONS(1836), + [anon_sym_AMP_AMP] = ACTIONS(1836), + [anon_sym_AMP] = ACTIONS(1834), + [anon_sym_SEMI] = ACTIONS(1836), + [anon_sym_typedef] = ACTIONS(1834), + [anon_sym_extern] = ACTIONS(1834), + [anon_sym___attribute__] = ACTIONS(1834), + [anon_sym_COLON_COLON] = ACTIONS(1836), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1836), + [anon_sym___declspec] = ACTIONS(1834), + [anon_sym___based] = ACTIONS(1834), + [anon_sym___cdecl] = ACTIONS(1834), + [anon_sym___clrcall] = ACTIONS(1834), + [anon_sym___stdcall] = ACTIONS(1834), + [anon_sym___fastcall] = ACTIONS(1834), + [anon_sym___thiscall] = ACTIONS(1834), + [anon_sym___vectorcall] = ACTIONS(1834), + [anon_sym_LBRACE] = ACTIONS(1836), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_static] = ACTIONS(1834), + [anon_sym_register] = ACTIONS(1834), + [anon_sym_inline] = ACTIONS(1834), + [anon_sym_thread_local] = ACTIONS(1834), + [anon_sym_const] = ACTIONS(1834), + [anon_sym_volatile] = ACTIONS(1834), + [anon_sym_restrict] = ACTIONS(1834), + [anon_sym__Atomic] = ACTIONS(1834), + [anon_sym_mutable] = ACTIONS(1834), + [anon_sym_constexpr] = ACTIONS(1834), + [anon_sym_constinit] = ACTIONS(1834), + [anon_sym_consteval] = ACTIONS(1834), + [anon_sym_signed] = ACTIONS(1834), + [anon_sym_unsigned] = ACTIONS(1834), + [anon_sym_long] = ACTIONS(1834), + [anon_sym_short] = ACTIONS(1834), + [sym_primitive_type] = ACTIONS(1834), + [anon_sym_enum] = ACTIONS(1834), + [anon_sym_class] = ACTIONS(1834), + [anon_sym_struct] = ACTIONS(1834), + [anon_sym_union] = ACTIONS(1834), + [anon_sym_if] = ACTIONS(1834), + [anon_sym_else] = ACTIONS(1834), + [anon_sym_switch] = ACTIONS(1834), + [anon_sym_case] = ACTIONS(1834), + [anon_sym_default] = ACTIONS(1834), + [anon_sym_while] = ACTIONS(1834), + [anon_sym_do] = ACTIONS(1834), + [anon_sym_for] = ACTIONS(1834), + [anon_sym_return] = ACTIONS(1834), + [anon_sym_break] = ACTIONS(1834), + [anon_sym_continue] = ACTIONS(1834), + [anon_sym_goto] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(1836), + [anon_sym_PLUS_PLUS] = ACTIONS(1836), + [anon_sym_sizeof] = ACTIONS(1834), + [sym_number_literal] = ACTIONS(1836), + [anon_sym_L_SQUOTE] = ACTIONS(1836), + [anon_sym_u_SQUOTE] = ACTIONS(1836), + [anon_sym_U_SQUOTE] = ACTIONS(1836), + [anon_sym_u8_SQUOTE] = ACTIONS(1836), + [anon_sym_SQUOTE] = ACTIONS(1836), + [anon_sym_L_DQUOTE] = ACTIONS(1836), + [anon_sym_u_DQUOTE] = ACTIONS(1836), + [anon_sym_U_DQUOTE] = ACTIONS(1836), + [anon_sym_u8_DQUOTE] = ACTIONS(1836), + [anon_sym_DQUOTE] = ACTIONS(1836), + [sym_true] = ACTIONS(1834), + [sym_false] = ACTIONS(1834), + [sym_null] = ACTIONS(1834), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1834), + [anon_sym_decltype] = ACTIONS(1834), + [anon_sym_virtual] = ACTIONS(1834), + [anon_sym_explicit] = ACTIONS(1834), + [anon_sym_typename] = ACTIONS(1834), + [anon_sym_template] = ACTIONS(1834), + [anon_sym_operator] = ACTIONS(1834), + [anon_sym_delete] = ACTIONS(1834), + [anon_sym_throw] = ACTIONS(1834), + [anon_sym_namespace] = ACTIONS(1834), + [anon_sym_using] = ACTIONS(1834), + [anon_sym_static_assert] = ACTIONS(1834), + [anon_sym_concept] = ACTIONS(1834), + [anon_sym_co_return] = ACTIONS(1834), + [anon_sym_co_yield] = ACTIONS(1834), + [anon_sym_try] = ACTIONS(1834), + [anon_sym_catch] = ACTIONS(1838), + [anon_sym_co_await] = ACTIONS(1834), + [anon_sym_new] = ACTIONS(1834), + [anon_sym_requires] = ACTIONS(1834), + [sym_this] = ACTIONS(1834), + [sym_nullptr] = ACTIONS(1834), + [sym_raw_string_literal] = ACTIONS(1836), + }, + [154] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(865), + [sym_labeled_statement] = STATE(865), + [sym_expression_statement] = STATE(865), + [sym_if_statement] = STATE(865), + [sym_switch_statement] = STATE(865), + [sym_case_statement] = STATE(865), + [sym_while_statement] = STATE(865), + [sym_do_statement] = STATE(865), + [sym_for_statement] = STATE(865), + [sym_return_statement] = STATE(865), + [sym_break_statement] = STATE(865), + [sym_continue_statement] = STATE(865), + [sym_goto_statement] = STATE(865), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(865), + [sym_co_return_statement] = STATE(865), + [sym_co_yield_statement] = STATE(865), + [sym_throw_statement] = STATE(865), + [sym_try_statement] = STATE(865), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [155] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(764), + [sym_labeled_statement] = STATE(764), + [sym_expression_statement] = STATE(764), + [sym_if_statement] = STATE(764), + [sym_switch_statement] = STATE(764), + [sym_case_statement] = STATE(764), + [sym_while_statement] = STATE(764), + [sym_do_statement] = STATE(764), + [sym_for_statement] = STATE(764), + [sym_return_statement] = STATE(764), + [sym_break_statement] = STATE(764), + [sym_continue_statement] = STATE(764), + [sym_goto_statement] = STATE(764), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(764), + [sym_co_return_statement] = STATE(764), + [sym_co_yield_statement] = STATE(764), + [sym_throw_statement] = STATE(764), + [sym_try_statement] = STATE(764), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [156] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(462), + [sym_labeled_statement] = STATE(462), + [sym_expression_statement] = STATE(462), + [sym_if_statement] = STATE(462), + [sym_switch_statement] = STATE(462), + [sym_case_statement] = STATE(462), + [sym_while_statement] = STATE(462), + [sym_do_statement] = STATE(462), + [sym_for_statement] = STATE(462), + [sym_return_statement] = STATE(462), + [sym_break_statement] = STATE(462), + [sym_continue_statement] = STATE(462), + [sym_goto_statement] = STATE(462), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(462), + [sym_co_return_statement] = STATE(462), + [sym_co_yield_statement] = STATE(462), + [sym_throw_statement] = STATE(462), + [sym_try_statement] = STATE(462), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [157] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(735), + [sym_labeled_statement] = STATE(735), + [sym_expression_statement] = STATE(735), + [sym_if_statement] = STATE(735), + [sym_switch_statement] = STATE(735), + [sym_case_statement] = STATE(735), + [sym_while_statement] = STATE(735), + [sym_do_statement] = STATE(735), + [sym_for_statement] = STATE(735), + [sym_return_statement] = STATE(735), + [sym_break_statement] = STATE(735), + [sym_continue_statement] = STATE(735), + [sym_goto_statement] = STATE(735), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(735), + [sym_co_return_statement] = STATE(735), + [sym_co_yield_statement] = STATE(735), + [sym_throw_statement] = STATE(735), + [sym_try_statement] = STATE(735), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [158] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6412), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6473), + [sym__unary_right_fold] = STATE(6458), + [sym__binary_fold] = STATE(6391), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [159] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2135), + [sym_comma_expression] = STATE(6001), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6253), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6007), + [sym__unary_right_fold] = STATE(6008), + [sym__binary_fold] = STATE(6009), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [160] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6334), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [161] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6317), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6473), + [sym__unary_right_fold] = STATE(6458), + [sym__binary_fold] = STATE(6391), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [162] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2126), + [sym_comma_expression] = STATE(6464), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6012), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6013), + [sym__unary_right_fold] = STATE(6014), + [sym__binary_fold] = STATE(6019), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [163] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6234), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [164] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6470), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6473), + [sym__unary_right_fold] = STATE(6458), + [sym__binary_fold] = STATE(6391), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [165] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6349), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [166] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2126), + [sym_comma_expression] = STATE(6464), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6168), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6167), + [sym__unary_right_fold] = STATE(6166), + [sym__binary_fold] = STATE(6165), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [167] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6333), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [168] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2126), + [sym_comma_expression] = STATE(6464), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6075), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6167), + [sym__unary_right_fold] = STATE(6166), + [sym__binary_fold] = STATE(6165), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [169] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6045), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [170] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2126), + [sym_comma_expression] = STATE(6464), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6108), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6013), + [sym__unary_right_fold] = STATE(6014), + [sym__binary_fold] = STATE(6019), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [171] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2135), + [sym_comma_expression] = STATE(6001), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6003), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6007), + [sym__unary_right_fold] = STATE(6008), + [sym__binary_fold] = STATE(6009), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [172] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6313), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6473), + [sym__unary_right_fold] = STATE(6458), + [sym__binary_fold] = STATE(6391), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [173] = { + [sym_type_qualifier] = STATE(2715), + [sym__type_specifier] = STATE(3575), + [sym_sized_type_specifier] = STATE(2220), + [sym_enum_specifier] = STATE(2220), + [sym_struct_specifier] = STATE(2220), + [sym_union_specifier] = STATE(2220), + [sym__expression] = STATE(2112), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_type_descriptor] = STATE(6209), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym_placeholder_type_specifier] = STATE(2220), + [sym_decltype_auto] = STATE(2102), + [sym_decltype] = STATE(2220), + [sym_class_specifier] = STATE(2220), + [sym__class_name] = STATE(5964), + [sym_dependent_type] = STATE(2220), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4307), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2715), + [aux_sym_sized_type_specifier_repeat1] = STATE(1836), + [sym_identifier] = ACTIONS(1850), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(1463), + [anon_sym_unsigned] = ACTIONS(1463), + [anon_sym_long] = ACTIONS(1463), + [anon_sym_short] = ACTIONS(1463), + [sym_primitive_type] = ACTIONS(1465), + [anon_sym_enum] = ACTIONS(1467), + [anon_sym_class] = ACTIONS(1469), + [anon_sym_struct] = ACTIONS(1471), + [anon_sym_union] = ACTIONS(1473), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1475), + [anon_sym_decltype] = ACTIONS(1477), + [anon_sym_typename] = ACTIONS(1479), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [174] = { + [sym_catch_clause] = STATE(179), + [aux_sym_try_statement_repeat1] = STATE(179), + [ts_builtin_sym_end] = ACTIONS(1836), + [sym_identifier] = ACTIONS(1834), + [aux_sym_preproc_include_token1] = ACTIONS(1834), + [aux_sym_preproc_def_token1] = ACTIONS(1834), + [aux_sym_preproc_if_token1] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1834), + [sym_preproc_directive] = ACTIONS(1834), + [anon_sym_LPAREN2] = ACTIONS(1836), + [anon_sym_BANG] = ACTIONS(1836), + [anon_sym_TILDE] = ACTIONS(1836), + [anon_sym_DASH] = ACTIONS(1834), + [anon_sym_PLUS] = ACTIONS(1834), + [anon_sym_STAR] = ACTIONS(1836), + [anon_sym_AMP_AMP] = ACTIONS(1836), + [anon_sym_AMP] = ACTIONS(1834), + [anon_sym_SEMI] = ACTIONS(1836), + [anon_sym_typedef] = ACTIONS(1834), + [anon_sym_extern] = ACTIONS(1834), + [anon_sym___attribute__] = ACTIONS(1834), + [anon_sym_COLON_COLON] = ACTIONS(1836), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1836), + [anon_sym___declspec] = ACTIONS(1834), + [anon_sym___based] = ACTIONS(1834), + [anon_sym___cdecl] = ACTIONS(1834), + [anon_sym___clrcall] = ACTIONS(1834), + [anon_sym___stdcall] = ACTIONS(1834), + [anon_sym___fastcall] = ACTIONS(1834), + [anon_sym___thiscall] = ACTIONS(1834), + [anon_sym___vectorcall] = ACTIONS(1834), + [anon_sym_LBRACE] = ACTIONS(1836), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_static] = ACTIONS(1834), + [anon_sym_register] = ACTIONS(1834), + [anon_sym_inline] = ACTIONS(1834), + [anon_sym_thread_local] = ACTIONS(1834), + [anon_sym_const] = ACTIONS(1834), + [anon_sym_volatile] = ACTIONS(1834), + [anon_sym_restrict] = ACTIONS(1834), + [anon_sym__Atomic] = ACTIONS(1834), + [anon_sym_mutable] = ACTIONS(1834), + [anon_sym_constexpr] = ACTIONS(1834), + [anon_sym_constinit] = ACTIONS(1834), + [anon_sym_consteval] = ACTIONS(1834), + [anon_sym_signed] = ACTIONS(1834), + [anon_sym_unsigned] = ACTIONS(1834), + [anon_sym_long] = ACTIONS(1834), + [anon_sym_short] = ACTIONS(1834), + [sym_primitive_type] = ACTIONS(1834), + [anon_sym_enum] = ACTIONS(1834), + [anon_sym_class] = ACTIONS(1834), + [anon_sym_struct] = ACTIONS(1834), + [anon_sym_union] = ACTIONS(1834), + [anon_sym_if] = ACTIONS(1834), + [anon_sym_else] = ACTIONS(1834), + [anon_sym_switch] = ACTIONS(1834), + [anon_sym_case] = ACTIONS(1834), + [anon_sym_default] = ACTIONS(1834), + [anon_sym_while] = ACTIONS(1834), + [anon_sym_do] = ACTIONS(1834), + [anon_sym_for] = ACTIONS(1834), + [anon_sym_return] = ACTIONS(1834), + [anon_sym_break] = ACTIONS(1834), + [anon_sym_continue] = ACTIONS(1834), + [anon_sym_goto] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(1836), + [anon_sym_PLUS_PLUS] = ACTIONS(1836), + [anon_sym_sizeof] = ACTIONS(1834), + [sym_number_literal] = ACTIONS(1836), + [anon_sym_L_SQUOTE] = ACTIONS(1836), + [anon_sym_u_SQUOTE] = ACTIONS(1836), + [anon_sym_U_SQUOTE] = ACTIONS(1836), + [anon_sym_u8_SQUOTE] = ACTIONS(1836), + [anon_sym_SQUOTE] = ACTIONS(1836), + [anon_sym_L_DQUOTE] = ACTIONS(1836), + [anon_sym_u_DQUOTE] = ACTIONS(1836), + [anon_sym_U_DQUOTE] = ACTIONS(1836), + [anon_sym_u8_DQUOTE] = ACTIONS(1836), + [anon_sym_DQUOTE] = ACTIONS(1836), + [sym_true] = ACTIONS(1834), + [sym_false] = ACTIONS(1834), + [sym_null] = ACTIONS(1834), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1834), + [anon_sym_decltype] = ACTIONS(1834), + [anon_sym_virtual] = ACTIONS(1834), + [anon_sym_explicit] = ACTIONS(1834), + [anon_sym_typename] = ACTIONS(1834), + [anon_sym_template] = ACTIONS(1834), + [anon_sym_operator] = ACTIONS(1834), + [anon_sym_delete] = ACTIONS(1834), + [anon_sym_throw] = ACTIONS(1834), + [anon_sym_namespace] = ACTIONS(1834), + [anon_sym_using] = ACTIONS(1834), + [anon_sym_static_assert] = ACTIONS(1834), + [anon_sym_concept] = ACTIONS(1834), + [anon_sym_co_return] = ACTIONS(1834), + [anon_sym_co_yield] = ACTIONS(1834), + [anon_sym_try] = ACTIONS(1834), + [anon_sym_catch] = ACTIONS(1854), + [anon_sym_co_await] = ACTIONS(1834), + [anon_sym_new] = ACTIONS(1834), + [anon_sym_requires] = ACTIONS(1834), + [sym_this] = ACTIONS(1834), + [sym_nullptr] = ACTIONS(1834), + [sym_raw_string_literal] = ACTIONS(1836), + }, + [175] = { + [sym_catch_clause] = STATE(176), + [aux_sym_try_statement_repeat1] = STATE(176), + [sym_identifier] = ACTIONS(1834), + [aux_sym_preproc_include_token1] = ACTIONS(1834), + [aux_sym_preproc_def_token1] = ACTIONS(1834), + [aux_sym_preproc_if_token1] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1834), + [sym_preproc_directive] = ACTIONS(1834), + [anon_sym_LPAREN2] = ACTIONS(1836), + [anon_sym_BANG] = ACTIONS(1836), + [anon_sym_TILDE] = ACTIONS(1836), + [anon_sym_DASH] = ACTIONS(1834), + [anon_sym_PLUS] = ACTIONS(1834), + [anon_sym_STAR] = ACTIONS(1836), + [anon_sym_AMP_AMP] = ACTIONS(1836), + [anon_sym_AMP] = ACTIONS(1834), + [anon_sym_SEMI] = ACTIONS(1836), + [anon_sym_typedef] = ACTIONS(1834), + [anon_sym_extern] = ACTIONS(1834), + [anon_sym___attribute__] = ACTIONS(1834), + [anon_sym_COLON_COLON] = ACTIONS(1836), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1836), + [anon_sym___declspec] = ACTIONS(1834), + [anon_sym___based] = ACTIONS(1834), + [anon_sym___cdecl] = ACTIONS(1834), + [anon_sym___clrcall] = ACTIONS(1834), + [anon_sym___stdcall] = ACTIONS(1834), + [anon_sym___fastcall] = ACTIONS(1834), + [anon_sym___thiscall] = ACTIONS(1834), + [anon_sym___vectorcall] = ACTIONS(1834), + [anon_sym_LBRACE] = ACTIONS(1836), + [anon_sym_RBRACE] = ACTIONS(1836), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_static] = ACTIONS(1834), + [anon_sym_register] = ACTIONS(1834), + [anon_sym_inline] = ACTIONS(1834), + [anon_sym_thread_local] = ACTIONS(1834), + [anon_sym_const] = ACTIONS(1834), + [anon_sym_volatile] = ACTIONS(1834), + [anon_sym_restrict] = ACTIONS(1834), + [anon_sym__Atomic] = ACTIONS(1834), + [anon_sym_mutable] = ACTIONS(1834), + [anon_sym_constexpr] = ACTIONS(1834), + [anon_sym_constinit] = ACTIONS(1834), + [anon_sym_consteval] = ACTIONS(1834), + [anon_sym_signed] = ACTIONS(1834), + [anon_sym_unsigned] = ACTIONS(1834), + [anon_sym_long] = ACTIONS(1834), + [anon_sym_short] = ACTIONS(1834), + [sym_primitive_type] = ACTIONS(1834), + [anon_sym_enum] = ACTIONS(1834), + [anon_sym_class] = ACTIONS(1834), + [anon_sym_struct] = ACTIONS(1834), + [anon_sym_union] = ACTIONS(1834), + [anon_sym_if] = ACTIONS(1834), + [anon_sym_else] = ACTIONS(1834), + [anon_sym_switch] = ACTIONS(1834), + [anon_sym_case] = ACTIONS(1834), + [anon_sym_default] = ACTIONS(1834), + [anon_sym_while] = ACTIONS(1834), + [anon_sym_do] = ACTIONS(1834), + [anon_sym_for] = ACTIONS(1834), + [anon_sym_return] = ACTIONS(1834), + [anon_sym_break] = ACTIONS(1834), + [anon_sym_continue] = ACTIONS(1834), + [anon_sym_goto] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(1836), + [anon_sym_PLUS_PLUS] = ACTIONS(1836), + [anon_sym_sizeof] = ACTIONS(1834), + [sym_number_literal] = ACTIONS(1836), + [anon_sym_L_SQUOTE] = ACTIONS(1836), + [anon_sym_u_SQUOTE] = ACTIONS(1836), + [anon_sym_U_SQUOTE] = ACTIONS(1836), + [anon_sym_u8_SQUOTE] = ACTIONS(1836), + [anon_sym_SQUOTE] = ACTIONS(1836), + [anon_sym_L_DQUOTE] = ACTIONS(1836), + [anon_sym_u_DQUOTE] = ACTIONS(1836), + [anon_sym_U_DQUOTE] = ACTIONS(1836), + [anon_sym_u8_DQUOTE] = ACTIONS(1836), + [anon_sym_DQUOTE] = ACTIONS(1836), + [sym_true] = ACTIONS(1834), + [sym_false] = ACTIONS(1834), + [sym_null] = ACTIONS(1834), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1834), + [anon_sym_decltype] = ACTIONS(1834), + [anon_sym_virtual] = ACTIONS(1834), + [anon_sym_explicit] = ACTIONS(1834), + [anon_sym_typename] = ACTIONS(1834), + [anon_sym_template] = ACTIONS(1834), + [anon_sym_operator] = ACTIONS(1834), + [anon_sym_delete] = ACTIONS(1834), + [anon_sym_throw] = ACTIONS(1834), + [anon_sym_namespace] = ACTIONS(1834), + [anon_sym_using] = ACTIONS(1834), + [anon_sym_static_assert] = ACTIONS(1834), + [anon_sym_concept] = ACTIONS(1834), + [anon_sym_co_return] = ACTIONS(1834), + [anon_sym_co_yield] = ACTIONS(1834), + [anon_sym_try] = ACTIONS(1834), + [anon_sym_catch] = ACTIONS(1856), + [anon_sym_co_await] = ACTIONS(1834), + [anon_sym_new] = ACTIONS(1834), + [anon_sym_requires] = ACTIONS(1834), + [sym_this] = ACTIONS(1834), + [sym_nullptr] = ACTIONS(1834), + [sym_raw_string_literal] = ACTIONS(1836), + }, + [176] = { + [sym_catch_clause] = STATE(176), + [aux_sym_try_statement_repeat1] = STATE(176), + [sym_identifier] = ACTIONS(1827), + [aux_sym_preproc_include_token1] = ACTIONS(1827), + [aux_sym_preproc_def_token1] = ACTIONS(1827), + [aux_sym_preproc_if_token1] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1827), + [sym_preproc_directive] = ACTIONS(1827), + [anon_sym_LPAREN2] = ACTIONS(1829), + [anon_sym_BANG] = ACTIONS(1829), + [anon_sym_TILDE] = ACTIONS(1829), + [anon_sym_DASH] = ACTIONS(1827), + [anon_sym_PLUS] = ACTIONS(1827), + [anon_sym_STAR] = ACTIONS(1829), + [anon_sym_AMP_AMP] = ACTIONS(1829), + [anon_sym_AMP] = ACTIONS(1827), + [anon_sym_SEMI] = ACTIONS(1829), + [anon_sym_typedef] = ACTIONS(1827), + [anon_sym_extern] = ACTIONS(1827), + [anon_sym___attribute__] = ACTIONS(1827), + [anon_sym_COLON_COLON] = ACTIONS(1829), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1829), + [anon_sym___declspec] = ACTIONS(1827), + [anon_sym___based] = ACTIONS(1827), + [anon_sym___cdecl] = ACTIONS(1827), + [anon_sym___clrcall] = ACTIONS(1827), + [anon_sym___stdcall] = ACTIONS(1827), + [anon_sym___fastcall] = ACTIONS(1827), + [anon_sym___thiscall] = ACTIONS(1827), + [anon_sym___vectorcall] = ACTIONS(1827), + [anon_sym_LBRACE] = ACTIONS(1829), + [anon_sym_RBRACE] = ACTIONS(1829), + [anon_sym_LBRACK] = ACTIONS(1827), + [anon_sym_static] = ACTIONS(1827), + [anon_sym_register] = ACTIONS(1827), + [anon_sym_inline] = ACTIONS(1827), + [anon_sym_thread_local] = ACTIONS(1827), + [anon_sym_const] = ACTIONS(1827), + [anon_sym_volatile] = ACTIONS(1827), + [anon_sym_restrict] = ACTIONS(1827), + [anon_sym__Atomic] = ACTIONS(1827), + [anon_sym_mutable] = ACTIONS(1827), + [anon_sym_constexpr] = ACTIONS(1827), + [anon_sym_constinit] = ACTIONS(1827), + [anon_sym_consteval] = ACTIONS(1827), + [anon_sym_signed] = ACTIONS(1827), + [anon_sym_unsigned] = ACTIONS(1827), + [anon_sym_long] = ACTIONS(1827), + [anon_sym_short] = ACTIONS(1827), + [sym_primitive_type] = ACTIONS(1827), + [anon_sym_enum] = ACTIONS(1827), + [anon_sym_class] = ACTIONS(1827), + [anon_sym_struct] = ACTIONS(1827), + [anon_sym_union] = ACTIONS(1827), + [anon_sym_if] = ACTIONS(1827), + [anon_sym_else] = ACTIONS(1827), + [anon_sym_switch] = ACTIONS(1827), + [anon_sym_case] = ACTIONS(1827), + [anon_sym_default] = ACTIONS(1827), + [anon_sym_while] = ACTIONS(1827), + [anon_sym_do] = ACTIONS(1827), + [anon_sym_for] = ACTIONS(1827), + [anon_sym_return] = ACTIONS(1827), + [anon_sym_break] = ACTIONS(1827), + [anon_sym_continue] = ACTIONS(1827), + [anon_sym_goto] = ACTIONS(1827), + [anon_sym_DASH_DASH] = ACTIONS(1829), + [anon_sym_PLUS_PLUS] = ACTIONS(1829), + [anon_sym_sizeof] = ACTIONS(1827), + [sym_number_literal] = ACTIONS(1829), + [anon_sym_L_SQUOTE] = ACTIONS(1829), + [anon_sym_u_SQUOTE] = ACTIONS(1829), + [anon_sym_U_SQUOTE] = ACTIONS(1829), + [anon_sym_u8_SQUOTE] = ACTIONS(1829), + [anon_sym_SQUOTE] = ACTIONS(1829), + [anon_sym_L_DQUOTE] = ACTIONS(1829), + [anon_sym_u_DQUOTE] = ACTIONS(1829), + [anon_sym_U_DQUOTE] = ACTIONS(1829), + [anon_sym_u8_DQUOTE] = ACTIONS(1829), + [anon_sym_DQUOTE] = ACTIONS(1829), + [sym_true] = ACTIONS(1827), + [sym_false] = ACTIONS(1827), + [sym_null] = ACTIONS(1827), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1827), + [anon_sym_decltype] = ACTIONS(1827), + [anon_sym_virtual] = ACTIONS(1827), + [anon_sym_explicit] = ACTIONS(1827), + [anon_sym_typename] = ACTIONS(1827), + [anon_sym_template] = ACTIONS(1827), + [anon_sym_operator] = ACTIONS(1827), + [anon_sym_delete] = ACTIONS(1827), + [anon_sym_throw] = ACTIONS(1827), + [anon_sym_namespace] = ACTIONS(1827), + [anon_sym_using] = ACTIONS(1827), + [anon_sym_static_assert] = ACTIONS(1827), + [anon_sym_concept] = ACTIONS(1827), + [anon_sym_co_return] = ACTIONS(1827), + [anon_sym_co_yield] = ACTIONS(1827), + [anon_sym_try] = ACTIONS(1827), + [anon_sym_catch] = ACTIONS(1858), + [anon_sym_co_await] = ACTIONS(1827), + [anon_sym_new] = ACTIONS(1827), + [anon_sym_requires] = ACTIONS(1827), + [sym_this] = ACTIONS(1827), + [sym_nullptr] = ACTIONS(1827), + [sym_raw_string_literal] = ACTIONS(1829), + }, + [177] = { + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token2] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [aux_sym_preproc_else_token1] = ACTIONS(1861), + [aux_sym_preproc_elif_token1] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1863), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_else] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_catch] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [178] = { + [sym_catch_clause] = STATE(180), + [aux_sym_try_statement_repeat1] = STATE(180), + [sym_identifier] = ACTIONS(1834), + [aux_sym_preproc_include_token1] = ACTIONS(1834), + [aux_sym_preproc_def_token1] = ACTIONS(1834), + [aux_sym_preproc_if_token1] = ACTIONS(1834), + [aux_sym_preproc_if_token2] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1834), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1834), + [sym_preproc_directive] = ACTIONS(1834), + [anon_sym_LPAREN2] = ACTIONS(1836), + [anon_sym_BANG] = ACTIONS(1836), + [anon_sym_TILDE] = ACTIONS(1836), + [anon_sym_DASH] = ACTIONS(1834), + [anon_sym_PLUS] = ACTIONS(1834), + [anon_sym_STAR] = ACTIONS(1836), + [anon_sym_AMP_AMP] = ACTIONS(1836), + [anon_sym_AMP] = ACTIONS(1834), + [anon_sym_SEMI] = ACTIONS(1836), + [anon_sym_typedef] = ACTIONS(1834), + [anon_sym_extern] = ACTIONS(1834), + [anon_sym___attribute__] = ACTIONS(1834), + [anon_sym_COLON_COLON] = ACTIONS(1836), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1836), + [anon_sym___declspec] = ACTIONS(1834), + [anon_sym___based] = ACTIONS(1834), + [anon_sym___cdecl] = ACTIONS(1834), + [anon_sym___clrcall] = ACTIONS(1834), + [anon_sym___stdcall] = ACTIONS(1834), + [anon_sym___fastcall] = ACTIONS(1834), + [anon_sym___thiscall] = ACTIONS(1834), + [anon_sym___vectorcall] = ACTIONS(1834), + [anon_sym_LBRACE] = ACTIONS(1836), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_static] = ACTIONS(1834), + [anon_sym_register] = ACTIONS(1834), + [anon_sym_inline] = ACTIONS(1834), + [anon_sym_thread_local] = ACTIONS(1834), + [anon_sym_const] = ACTIONS(1834), + [anon_sym_volatile] = ACTIONS(1834), + [anon_sym_restrict] = ACTIONS(1834), + [anon_sym__Atomic] = ACTIONS(1834), + [anon_sym_mutable] = ACTIONS(1834), + [anon_sym_constexpr] = ACTIONS(1834), + [anon_sym_constinit] = ACTIONS(1834), + [anon_sym_consteval] = ACTIONS(1834), + [anon_sym_signed] = ACTIONS(1834), + [anon_sym_unsigned] = ACTIONS(1834), + [anon_sym_long] = ACTIONS(1834), + [anon_sym_short] = ACTIONS(1834), + [sym_primitive_type] = ACTIONS(1834), + [anon_sym_enum] = ACTIONS(1834), + [anon_sym_class] = ACTIONS(1834), + [anon_sym_struct] = ACTIONS(1834), + [anon_sym_union] = ACTIONS(1834), + [anon_sym_if] = ACTIONS(1834), + [anon_sym_else] = ACTIONS(1834), + [anon_sym_switch] = ACTIONS(1834), + [anon_sym_case] = ACTIONS(1834), + [anon_sym_default] = ACTIONS(1834), + [anon_sym_while] = ACTIONS(1834), + [anon_sym_do] = ACTIONS(1834), + [anon_sym_for] = ACTIONS(1834), + [anon_sym_return] = ACTIONS(1834), + [anon_sym_break] = ACTIONS(1834), + [anon_sym_continue] = ACTIONS(1834), + [anon_sym_goto] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(1836), + [anon_sym_PLUS_PLUS] = ACTIONS(1836), + [anon_sym_sizeof] = ACTIONS(1834), + [sym_number_literal] = ACTIONS(1836), + [anon_sym_L_SQUOTE] = ACTIONS(1836), + [anon_sym_u_SQUOTE] = ACTIONS(1836), + [anon_sym_U_SQUOTE] = ACTIONS(1836), + [anon_sym_u8_SQUOTE] = ACTIONS(1836), + [anon_sym_SQUOTE] = ACTIONS(1836), + [anon_sym_L_DQUOTE] = ACTIONS(1836), + [anon_sym_u_DQUOTE] = ACTIONS(1836), + [anon_sym_U_DQUOTE] = ACTIONS(1836), + [anon_sym_u8_DQUOTE] = ACTIONS(1836), + [anon_sym_DQUOTE] = ACTIONS(1836), + [sym_true] = ACTIONS(1834), + [sym_false] = ACTIONS(1834), + [sym_null] = ACTIONS(1834), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1834), + [anon_sym_decltype] = ACTIONS(1834), + [anon_sym_virtual] = ACTIONS(1834), + [anon_sym_explicit] = ACTIONS(1834), + [anon_sym_typename] = ACTIONS(1834), + [anon_sym_template] = ACTIONS(1834), + [anon_sym_operator] = ACTIONS(1834), + [anon_sym_delete] = ACTIONS(1834), + [anon_sym_throw] = ACTIONS(1834), + [anon_sym_namespace] = ACTIONS(1834), + [anon_sym_using] = ACTIONS(1834), + [anon_sym_static_assert] = ACTIONS(1834), + [anon_sym_concept] = ACTIONS(1834), + [anon_sym_co_return] = ACTIONS(1834), + [anon_sym_co_yield] = ACTIONS(1834), + [anon_sym_try] = ACTIONS(1834), + [anon_sym_catch] = ACTIONS(1865), + [anon_sym_co_await] = ACTIONS(1834), + [anon_sym_new] = ACTIONS(1834), + [anon_sym_requires] = ACTIONS(1834), + [sym_this] = ACTIONS(1834), + [sym_nullptr] = ACTIONS(1834), + [sym_raw_string_literal] = ACTIONS(1836), + }, + [179] = { + [sym_catch_clause] = STATE(179), + [aux_sym_try_statement_repeat1] = STATE(179), + [ts_builtin_sym_end] = ACTIONS(1829), + [sym_identifier] = ACTIONS(1827), + [aux_sym_preproc_include_token1] = ACTIONS(1827), + [aux_sym_preproc_def_token1] = ACTIONS(1827), + [aux_sym_preproc_if_token1] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1827), + [sym_preproc_directive] = ACTIONS(1827), + [anon_sym_LPAREN2] = ACTIONS(1829), + [anon_sym_BANG] = ACTIONS(1829), + [anon_sym_TILDE] = ACTIONS(1829), + [anon_sym_DASH] = ACTIONS(1827), + [anon_sym_PLUS] = ACTIONS(1827), + [anon_sym_STAR] = ACTIONS(1829), + [anon_sym_AMP_AMP] = ACTIONS(1829), + [anon_sym_AMP] = ACTIONS(1827), + [anon_sym_SEMI] = ACTIONS(1829), + [anon_sym_typedef] = ACTIONS(1827), + [anon_sym_extern] = ACTIONS(1827), + [anon_sym___attribute__] = ACTIONS(1827), + [anon_sym_COLON_COLON] = ACTIONS(1829), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1829), + [anon_sym___declspec] = ACTIONS(1827), + [anon_sym___based] = ACTIONS(1827), + [anon_sym___cdecl] = ACTIONS(1827), + [anon_sym___clrcall] = ACTIONS(1827), + [anon_sym___stdcall] = ACTIONS(1827), + [anon_sym___fastcall] = ACTIONS(1827), + [anon_sym___thiscall] = ACTIONS(1827), + [anon_sym___vectorcall] = ACTIONS(1827), + [anon_sym_LBRACE] = ACTIONS(1829), + [anon_sym_LBRACK] = ACTIONS(1827), + [anon_sym_static] = ACTIONS(1827), + [anon_sym_register] = ACTIONS(1827), + [anon_sym_inline] = ACTIONS(1827), + [anon_sym_thread_local] = ACTIONS(1827), + [anon_sym_const] = ACTIONS(1827), + [anon_sym_volatile] = ACTIONS(1827), + [anon_sym_restrict] = ACTIONS(1827), + [anon_sym__Atomic] = ACTIONS(1827), + [anon_sym_mutable] = ACTIONS(1827), + [anon_sym_constexpr] = ACTIONS(1827), + [anon_sym_constinit] = ACTIONS(1827), + [anon_sym_consteval] = ACTIONS(1827), + [anon_sym_signed] = ACTIONS(1827), + [anon_sym_unsigned] = ACTIONS(1827), + [anon_sym_long] = ACTIONS(1827), + [anon_sym_short] = ACTIONS(1827), + [sym_primitive_type] = ACTIONS(1827), + [anon_sym_enum] = ACTIONS(1827), + [anon_sym_class] = ACTIONS(1827), + [anon_sym_struct] = ACTIONS(1827), + [anon_sym_union] = ACTIONS(1827), + [anon_sym_if] = ACTIONS(1827), + [anon_sym_else] = ACTIONS(1827), + [anon_sym_switch] = ACTIONS(1827), + [anon_sym_case] = ACTIONS(1827), + [anon_sym_default] = ACTIONS(1827), + [anon_sym_while] = ACTIONS(1827), + [anon_sym_do] = ACTIONS(1827), + [anon_sym_for] = ACTIONS(1827), + [anon_sym_return] = ACTIONS(1827), + [anon_sym_break] = ACTIONS(1827), + [anon_sym_continue] = ACTIONS(1827), + [anon_sym_goto] = ACTIONS(1827), + [anon_sym_DASH_DASH] = ACTIONS(1829), + [anon_sym_PLUS_PLUS] = ACTIONS(1829), + [anon_sym_sizeof] = ACTIONS(1827), + [sym_number_literal] = ACTIONS(1829), + [anon_sym_L_SQUOTE] = ACTIONS(1829), + [anon_sym_u_SQUOTE] = ACTIONS(1829), + [anon_sym_U_SQUOTE] = ACTIONS(1829), + [anon_sym_u8_SQUOTE] = ACTIONS(1829), + [anon_sym_SQUOTE] = ACTIONS(1829), + [anon_sym_L_DQUOTE] = ACTIONS(1829), + [anon_sym_u_DQUOTE] = ACTIONS(1829), + [anon_sym_U_DQUOTE] = ACTIONS(1829), + [anon_sym_u8_DQUOTE] = ACTIONS(1829), + [anon_sym_DQUOTE] = ACTIONS(1829), + [sym_true] = ACTIONS(1827), + [sym_false] = ACTIONS(1827), + [sym_null] = ACTIONS(1827), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1827), + [anon_sym_decltype] = ACTIONS(1827), + [anon_sym_virtual] = ACTIONS(1827), + [anon_sym_explicit] = ACTIONS(1827), + [anon_sym_typename] = ACTIONS(1827), + [anon_sym_template] = ACTIONS(1827), + [anon_sym_operator] = ACTIONS(1827), + [anon_sym_delete] = ACTIONS(1827), + [anon_sym_throw] = ACTIONS(1827), + [anon_sym_namespace] = ACTIONS(1827), + [anon_sym_using] = ACTIONS(1827), + [anon_sym_static_assert] = ACTIONS(1827), + [anon_sym_concept] = ACTIONS(1827), + [anon_sym_co_return] = ACTIONS(1827), + [anon_sym_co_yield] = ACTIONS(1827), + [anon_sym_try] = ACTIONS(1827), + [anon_sym_catch] = ACTIONS(1867), + [anon_sym_co_await] = ACTIONS(1827), + [anon_sym_new] = ACTIONS(1827), + [anon_sym_requires] = ACTIONS(1827), + [sym_this] = ACTIONS(1827), + [sym_nullptr] = ACTIONS(1827), + [sym_raw_string_literal] = ACTIONS(1829), + }, + [180] = { + [sym_catch_clause] = STATE(180), + [aux_sym_try_statement_repeat1] = STATE(180), + [sym_identifier] = ACTIONS(1827), + [aux_sym_preproc_include_token1] = ACTIONS(1827), + [aux_sym_preproc_def_token1] = ACTIONS(1827), + [aux_sym_preproc_if_token1] = ACTIONS(1827), + [aux_sym_preproc_if_token2] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1827), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1827), + [sym_preproc_directive] = ACTIONS(1827), + [anon_sym_LPAREN2] = ACTIONS(1829), + [anon_sym_BANG] = ACTIONS(1829), + [anon_sym_TILDE] = ACTIONS(1829), + [anon_sym_DASH] = ACTIONS(1827), + [anon_sym_PLUS] = ACTIONS(1827), + [anon_sym_STAR] = ACTIONS(1829), + [anon_sym_AMP_AMP] = ACTIONS(1829), + [anon_sym_AMP] = ACTIONS(1827), + [anon_sym_SEMI] = ACTIONS(1829), + [anon_sym_typedef] = ACTIONS(1827), + [anon_sym_extern] = ACTIONS(1827), + [anon_sym___attribute__] = ACTIONS(1827), + [anon_sym_COLON_COLON] = ACTIONS(1829), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1829), + [anon_sym___declspec] = ACTIONS(1827), + [anon_sym___based] = ACTIONS(1827), + [anon_sym___cdecl] = ACTIONS(1827), + [anon_sym___clrcall] = ACTIONS(1827), + [anon_sym___stdcall] = ACTIONS(1827), + [anon_sym___fastcall] = ACTIONS(1827), + [anon_sym___thiscall] = ACTIONS(1827), + [anon_sym___vectorcall] = ACTIONS(1827), + [anon_sym_LBRACE] = ACTIONS(1829), + [anon_sym_LBRACK] = ACTIONS(1827), + [anon_sym_static] = ACTIONS(1827), + [anon_sym_register] = ACTIONS(1827), + [anon_sym_inline] = ACTIONS(1827), + [anon_sym_thread_local] = ACTIONS(1827), + [anon_sym_const] = ACTIONS(1827), + [anon_sym_volatile] = ACTIONS(1827), + [anon_sym_restrict] = ACTIONS(1827), + [anon_sym__Atomic] = ACTIONS(1827), + [anon_sym_mutable] = ACTIONS(1827), + [anon_sym_constexpr] = ACTIONS(1827), + [anon_sym_constinit] = ACTIONS(1827), + [anon_sym_consteval] = ACTIONS(1827), + [anon_sym_signed] = ACTIONS(1827), + [anon_sym_unsigned] = ACTIONS(1827), + [anon_sym_long] = ACTIONS(1827), + [anon_sym_short] = ACTIONS(1827), + [sym_primitive_type] = ACTIONS(1827), + [anon_sym_enum] = ACTIONS(1827), + [anon_sym_class] = ACTIONS(1827), + [anon_sym_struct] = ACTIONS(1827), + [anon_sym_union] = ACTIONS(1827), + [anon_sym_if] = ACTIONS(1827), + [anon_sym_else] = ACTIONS(1827), + [anon_sym_switch] = ACTIONS(1827), + [anon_sym_case] = ACTIONS(1827), + [anon_sym_default] = ACTIONS(1827), + [anon_sym_while] = ACTIONS(1827), + [anon_sym_do] = ACTIONS(1827), + [anon_sym_for] = ACTIONS(1827), + [anon_sym_return] = ACTIONS(1827), + [anon_sym_break] = ACTIONS(1827), + [anon_sym_continue] = ACTIONS(1827), + [anon_sym_goto] = ACTIONS(1827), + [anon_sym_DASH_DASH] = ACTIONS(1829), + [anon_sym_PLUS_PLUS] = ACTIONS(1829), + [anon_sym_sizeof] = ACTIONS(1827), + [sym_number_literal] = ACTIONS(1829), + [anon_sym_L_SQUOTE] = ACTIONS(1829), + [anon_sym_u_SQUOTE] = ACTIONS(1829), + [anon_sym_U_SQUOTE] = ACTIONS(1829), + [anon_sym_u8_SQUOTE] = ACTIONS(1829), + [anon_sym_SQUOTE] = ACTIONS(1829), + [anon_sym_L_DQUOTE] = ACTIONS(1829), + [anon_sym_u_DQUOTE] = ACTIONS(1829), + [anon_sym_U_DQUOTE] = ACTIONS(1829), + [anon_sym_u8_DQUOTE] = ACTIONS(1829), + [anon_sym_DQUOTE] = ACTIONS(1829), + [sym_true] = ACTIONS(1827), + [sym_false] = ACTIONS(1827), + [sym_null] = ACTIONS(1827), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1827), + [anon_sym_decltype] = ACTIONS(1827), + [anon_sym_virtual] = ACTIONS(1827), + [anon_sym_explicit] = ACTIONS(1827), + [anon_sym_typename] = ACTIONS(1827), + [anon_sym_template] = ACTIONS(1827), + [anon_sym_operator] = ACTIONS(1827), + [anon_sym_delete] = ACTIONS(1827), + [anon_sym_throw] = ACTIONS(1827), + [anon_sym_namespace] = ACTIONS(1827), + [anon_sym_using] = ACTIONS(1827), + [anon_sym_static_assert] = ACTIONS(1827), + [anon_sym_concept] = ACTIONS(1827), + [anon_sym_co_return] = ACTIONS(1827), + [anon_sym_co_yield] = ACTIONS(1827), + [anon_sym_try] = ACTIONS(1827), + [anon_sym_catch] = ACTIONS(1870), + [anon_sym_co_await] = ACTIONS(1827), + [anon_sym_new] = ACTIONS(1827), + [anon_sym_requires] = ACTIONS(1827), + [sym_this] = ACTIONS(1827), + [sym_nullptr] = ACTIONS(1827), + [sym_raw_string_literal] = ACTIONS(1829), + }, + [181] = { + [sym_identifier] = ACTIONS(1873), + [aux_sym_preproc_include_token1] = ACTIONS(1873), + [aux_sym_preproc_def_token1] = ACTIONS(1873), + [aux_sym_preproc_if_token1] = ACTIONS(1873), + [aux_sym_preproc_if_token2] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1873), + [aux_sym_preproc_else_token1] = ACTIONS(1873), + [aux_sym_preproc_elif_token1] = ACTIONS(1873), + [sym_preproc_directive] = ACTIONS(1873), + [anon_sym_LPAREN2] = ACTIONS(1875), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(1875), + [anon_sym_AMP_AMP] = ACTIONS(1875), + [anon_sym_AMP] = ACTIONS(1873), + [anon_sym_SEMI] = ACTIONS(1875), + [anon_sym_typedef] = ACTIONS(1873), + [anon_sym_extern] = ACTIONS(1873), + [anon_sym___attribute__] = ACTIONS(1873), + [anon_sym_COLON_COLON] = ACTIONS(1875), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1875), + [anon_sym___declspec] = ACTIONS(1873), + [anon_sym___based] = ACTIONS(1873), + [anon_sym___cdecl] = ACTIONS(1873), + [anon_sym___clrcall] = ACTIONS(1873), + [anon_sym___stdcall] = ACTIONS(1873), + [anon_sym___fastcall] = ACTIONS(1873), + [anon_sym___thiscall] = ACTIONS(1873), + [anon_sym___vectorcall] = ACTIONS(1873), + [anon_sym_LBRACE] = ACTIONS(1875), + [anon_sym_LBRACK] = ACTIONS(1873), + [anon_sym_static] = ACTIONS(1873), + [anon_sym_register] = ACTIONS(1873), + [anon_sym_inline] = ACTIONS(1873), + [anon_sym_thread_local] = ACTIONS(1873), + [anon_sym_const] = ACTIONS(1873), + [anon_sym_volatile] = ACTIONS(1873), + [anon_sym_restrict] = ACTIONS(1873), + [anon_sym__Atomic] = ACTIONS(1873), + [anon_sym_mutable] = ACTIONS(1873), + [anon_sym_constexpr] = ACTIONS(1873), + [anon_sym_constinit] = ACTIONS(1873), + [anon_sym_consteval] = ACTIONS(1873), + [anon_sym_signed] = ACTIONS(1873), + [anon_sym_unsigned] = ACTIONS(1873), + [anon_sym_long] = ACTIONS(1873), + [anon_sym_short] = ACTIONS(1873), + [sym_primitive_type] = ACTIONS(1873), + [anon_sym_enum] = ACTIONS(1873), + [anon_sym_class] = ACTIONS(1873), + [anon_sym_struct] = ACTIONS(1873), + [anon_sym_union] = ACTIONS(1873), + [anon_sym_if] = ACTIONS(1873), + [anon_sym_else] = ACTIONS(1873), + [anon_sym_switch] = ACTIONS(1873), + [anon_sym_case] = ACTIONS(1873), + [anon_sym_default] = ACTIONS(1873), + [anon_sym_while] = ACTIONS(1873), + [anon_sym_do] = ACTIONS(1873), + [anon_sym_for] = ACTIONS(1873), + [anon_sym_return] = ACTIONS(1873), + [anon_sym_break] = ACTIONS(1873), + [anon_sym_continue] = ACTIONS(1873), + [anon_sym_goto] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(1875), + [anon_sym_PLUS_PLUS] = ACTIONS(1875), + [anon_sym_sizeof] = ACTIONS(1873), + [sym_number_literal] = ACTIONS(1875), + [anon_sym_L_SQUOTE] = ACTIONS(1875), + [anon_sym_u_SQUOTE] = ACTIONS(1875), + [anon_sym_U_SQUOTE] = ACTIONS(1875), + [anon_sym_u8_SQUOTE] = ACTIONS(1875), + [anon_sym_SQUOTE] = ACTIONS(1875), + [anon_sym_L_DQUOTE] = ACTIONS(1875), + [anon_sym_u_DQUOTE] = ACTIONS(1875), + [anon_sym_U_DQUOTE] = ACTIONS(1875), + [anon_sym_u8_DQUOTE] = ACTIONS(1875), + [anon_sym_DQUOTE] = ACTIONS(1875), + [sym_true] = ACTIONS(1873), + [sym_false] = ACTIONS(1873), + [sym_null] = ACTIONS(1873), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1873), + [anon_sym_decltype] = ACTIONS(1873), + [anon_sym_virtual] = ACTIONS(1873), + [anon_sym_explicit] = ACTIONS(1873), + [anon_sym_typename] = ACTIONS(1873), + [anon_sym_template] = ACTIONS(1873), + [anon_sym_operator] = ACTIONS(1873), + [anon_sym_delete] = ACTIONS(1873), + [anon_sym_throw] = ACTIONS(1873), + [anon_sym_namespace] = ACTIONS(1873), + [anon_sym_using] = ACTIONS(1873), + [anon_sym_static_assert] = ACTIONS(1873), + [anon_sym_concept] = ACTIONS(1873), + [anon_sym_co_return] = ACTIONS(1873), + [anon_sym_co_yield] = ACTIONS(1873), + [anon_sym_try] = ACTIONS(1873), + [anon_sym_catch] = ACTIONS(1873), + [anon_sym_co_await] = ACTIONS(1873), + [anon_sym_new] = ACTIONS(1873), + [anon_sym_requires] = ACTIONS(1873), + [sym_this] = ACTIONS(1873), + [sym_nullptr] = ACTIONS(1873), + [sym_raw_string_literal] = ACTIONS(1875), + }, + [182] = { + [sym_identifier] = ACTIONS(1877), + [aux_sym_preproc_include_token1] = ACTIONS(1877), + [aux_sym_preproc_def_token1] = ACTIONS(1877), + [aux_sym_preproc_if_token1] = ACTIONS(1877), + [aux_sym_preproc_if_token2] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1877), + [aux_sym_preproc_else_token1] = ACTIONS(1877), + [aux_sym_preproc_elif_token1] = ACTIONS(1877), + [sym_preproc_directive] = ACTIONS(1877), + [anon_sym_LPAREN2] = ACTIONS(1879), + [anon_sym_BANG] = ACTIONS(1879), + [anon_sym_TILDE] = ACTIONS(1879), + [anon_sym_DASH] = ACTIONS(1877), + [anon_sym_PLUS] = ACTIONS(1877), + [anon_sym_STAR] = ACTIONS(1879), + [anon_sym_AMP_AMP] = ACTIONS(1879), + [anon_sym_AMP] = ACTIONS(1877), + [anon_sym_SEMI] = ACTIONS(1879), + [anon_sym_typedef] = ACTIONS(1877), + [anon_sym_extern] = ACTIONS(1877), + [anon_sym___attribute__] = ACTIONS(1877), + [anon_sym_COLON_COLON] = ACTIONS(1879), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1879), + [anon_sym___declspec] = ACTIONS(1877), + [anon_sym___based] = ACTIONS(1877), + [anon_sym___cdecl] = ACTIONS(1877), + [anon_sym___clrcall] = ACTIONS(1877), + [anon_sym___stdcall] = ACTIONS(1877), + [anon_sym___fastcall] = ACTIONS(1877), + [anon_sym___thiscall] = ACTIONS(1877), + [anon_sym___vectorcall] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1877), + [anon_sym_static] = ACTIONS(1877), + [anon_sym_register] = ACTIONS(1877), + [anon_sym_inline] = ACTIONS(1877), + [anon_sym_thread_local] = ACTIONS(1877), + [anon_sym_const] = ACTIONS(1877), + [anon_sym_volatile] = ACTIONS(1877), + [anon_sym_restrict] = ACTIONS(1877), + [anon_sym__Atomic] = ACTIONS(1877), + [anon_sym_mutable] = ACTIONS(1877), + [anon_sym_constexpr] = ACTIONS(1877), + [anon_sym_constinit] = ACTIONS(1877), + [anon_sym_consteval] = ACTIONS(1877), + [anon_sym_signed] = ACTIONS(1877), + [anon_sym_unsigned] = ACTIONS(1877), + [anon_sym_long] = ACTIONS(1877), + [anon_sym_short] = ACTIONS(1877), + [sym_primitive_type] = ACTIONS(1877), + [anon_sym_enum] = ACTIONS(1877), + [anon_sym_class] = ACTIONS(1877), + [anon_sym_struct] = ACTIONS(1877), + [anon_sym_union] = ACTIONS(1877), + [anon_sym_if] = ACTIONS(1877), + [anon_sym_else] = ACTIONS(1877), + [anon_sym_switch] = ACTIONS(1877), + [anon_sym_case] = ACTIONS(1877), + [anon_sym_default] = ACTIONS(1877), + [anon_sym_while] = ACTIONS(1877), + [anon_sym_do] = ACTIONS(1877), + [anon_sym_for] = ACTIONS(1877), + [anon_sym_return] = ACTIONS(1877), + [anon_sym_break] = ACTIONS(1877), + [anon_sym_continue] = ACTIONS(1877), + [anon_sym_goto] = ACTIONS(1877), + [anon_sym_DASH_DASH] = ACTIONS(1879), + [anon_sym_PLUS_PLUS] = ACTIONS(1879), + [anon_sym_sizeof] = ACTIONS(1877), + [sym_number_literal] = ACTIONS(1879), + [anon_sym_L_SQUOTE] = ACTIONS(1879), + [anon_sym_u_SQUOTE] = ACTIONS(1879), + [anon_sym_U_SQUOTE] = ACTIONS(1879), + [anon_sym_u8_SQUOTE] = ACTIONS(1879), + [anon_sym_SQUOTE] = ACTIONS(1879), + [anon_sym_L_DQUOTE] = ACTIONS(1879), + [anon_sym_u_DQUOTE] = ACTIONS(1879), + [anon_sym_U_DQUOTE] = ACTIONS(1879), + [anon_sym_u8_DQUOTE] = ACTIONS(1879), + [anon_sym_DQUOTE] = ACTIONS(1879), + [sym_true] = ACTIONS(1877), + [sym_false] = ACTIONS(1877), + [sym_null] = ACTIONS(1877), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1877), + [anon_sym_decltype] = ACTIONS(1877), + [anon_sym_virtual] = ACTIONS(1877), + [anon_sym_explicit] = ACTIONS(1877), + [anon_sym_typename] = ACTIONS(1877), + [anon_sym_template] = ACTIONS(1877), + [anon_sym_operator] = ACTIONS(1877), + [anon_sym_delete] = ACTIONS(1877), + [anon_sym_throw] = ACTIONS(1877), + [anon_sym_namespace] = ACTIONS(1877), + [anon_sym_using] = ACTIONS(1877), + [anon_sym_static_assert] = ACTIONS(1877), + [anon_sym_concept] = ACTIONS(1877), + [anon_sym_co_return] = ACTIONS(1877), + [anon_sym_co_yield] = ACTIONS(1877), + [anon_sym_try] = ACTIONS(1877), + [anon_sym_catch] = ACTIONS(1877), + [anon_sym_co_await] = ACTIONS(1877), + [anon_sym_new] = ACTIONS(1877), + [anon_sym_requires] = ACTIONS(1877), + [sym_this] = ACTIONS(1877), + [sym_nullptr] = ACTIONS(1877), + [sym_raw_string_literal] = ACTIONS(1879), + }, + [183] = { + [sym__expression] = STATE(2357), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_initializer_list] = STATE(2356), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_COMMA] = ACTIONS(1883), + [anon_sym_RPAREN] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1887), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(966), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1891), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1891), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1891), + [anon_sym_GT_GT] = ACTIONS(1891), + [anon_sym_SEMI] = ACTIONS(1883), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACE] = ACTIONS(1895), + [anon_sym_RBRACE] = ACTIONS(1883), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(1883), + [anon_sym_EQ] = ACTIONS(1891), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_STAR_EQ] = ACTIONS(1883), + [anon_sym_SLASH_EQ] = ACTIONS(1883), + [anon_sym_PERCENT_EQ] = ACTIONS(1883), + [anon_sym_PLUS_EQ] = ACTIONS(1883), + [anon_sym_DASH_EQ] = ACTIONS(1883), + [anon_sym_LT_LT_EQ] = ACTIONS(1883), + [anon_sym_GT_GT_EQ] = ACTIONS(1883), + [anon_sym_AMP_EQ] = ACTIONS(1883), + [anon_sym_CARET_EQ] = ACTIONS(1883), + [anon_sym_PIPE_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1883), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [184] = { + [sym_identifier] = ACTIONS(1919), + [aux_sym_preproc_include_token1] = ACTIONS(1919), + [aux_sym_preproc_def_token1] = ACTIONS(1919), + [aux_sym_preproc_if_token1] = ACTIONS(1919), + [aux_sym_preproc_if_token2] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1919), + [aux_sym_preproc_else_token1] = ACTIONS(1919), + [aux_sym_preproc_elif_token1] = ACTIONS(1919), + [sym_preproc_directive] = ACTIONS(1919), + [anon_sym_LPAREN2] = ACTIONS(1921), + [anon_sym_BANG] = ACTIONS(1921), + [anon_sym_TILDE] = ACTIONS(1921), + [anon_sym_DASH] = ACTIONS(1919), + [anon_sym_PLUS] = ACTIONS(1919), + [anon_sym_STAR] = ACTIONS(1921), + [anon_sym_AMP_AMP] = ACTIONS(1921), + [anon_sym_AMP] = ACTIONS(1919), + [anon_sym_SEMI] = ACTIONS(1921), + [anon_sym_typedef] = ACTIONS(1919), + [anon_sym_extern] = ACTIONS(1919), + [anon_sym___attribute__] = ACTIONS(1919), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1921), + [anon_sym___declspec] = ACTIONS(1919), + [anon_sym___based] = ACTIONS(1919), + [anon_sym___cdecl] = ACTIONS(1919), + [anon_sym___clrcall] = ACTIONS(1919), + [anon_sym___stdcall] = ACTIONS(1919), + [anon_sym___fastcall] = ACTIONS(1919), + [anon_sym___thiscall] = ACTIONS(1919), + [anon_sym___vectorcall] = ACTIONS(1919), + [anon_sym_LBRACE] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(1919), + [anon_sym_static] = ACTIONS(1919), + [anon_sym_register] = ACTIONS(1919), + [anon_sym_inline] = ACTIONS(1919), + [anon_sym_thread_local] = ACTIONS(1919), + [anon_sym_const] = ACTIONS(1919), + [anon_sym_volatile] = ACTIONS(1919), + [anon_sym_restrict] = ACTIONS(1919), + [anon_sym__Atomic] = ACTIONS(1919), + [anon_sym_mutable] = ACTIONS(1919), + [anon_sym_constexpr] = ACTIONS(1919), + [anon_sym_constinit] = ACTIONS(1919), + [anon_sym_consteval] = ACTIONS(1919), + [anon_sym_signed] = ACTIONS(1919), + [anon_sym_unsigned] = ACTIONS(1919), + [anon_sym_long] = ACTIONS(1919), + [anon_sym_short] = ACTIONS(1919), + [sym_primitive_type] = ACTIONS(1919), + [anon_sym_enum] = ACTIONS(1919), + [anon_sym_class] = ACTIONS(1919), + [anon_sym_struct] = ACTIONS(1919), + [anon_sym_union] = ACTIONS(1919), + [anon_sym_if] = ACTIONS(1919), + [anon_sym_else] = ACTIONS(1923), + [anon_sym_switch] = ACTIONS(1919), + [anon_sym_case] = ACTIONS(1919), + [anon_sym_default] = ACTIONS(1919), + [anon_sym_while] = ACTIONS(1919), + [anon_sym_do] = ACTIONS(1919), + [anon_sym_for] = ACTIONS(1919), + [anon_sym_return] = ACTIONS(1919), + [anon_sym_break] = ACTIONS(1919), + [anon_sym_continue] = ACTIONS(1919), + [anon_sym_goto] = ACTIONS(1919), + [anon_sym_DASH_DASH] = ACTIONS(1921), + [anon_sym_PLUS_PLUS] = ACTIONS(1921), + [anon_sym_sizeof] = ACTIONS(1919), + [sym_number_literal] = ACTIONS(1921), + [anon_sym_L_SQUOTE] = ACTIONS(1921), + [anon_sym_u_SQUOTE] = ACTIONS(1921), + [anon_sym_U_SQUOTE] = ACTIONS(1921), + [anon_sym_u8_SQUOTE] = ACTIONS(1921), + [anon_sym_SQUOTE] = ACTIONS(1921), + [anon_sym_L_DQUOTE] = ACTIONS(1921), + [anon_sym_u_DQUOTE] = ACTIONS(1921), + [anon_sym_U_DQUOTE] = ACTIONS(1921), + [anon_sym_u8_DQUOTE] = ACTIONS(1921), + [anon_sym_DQUOTE] = ACTIONS(1921), + [sym_true] = ACTIONS(1919), + [sym_false] = ACTIONS(1919), + [sym_null] = ACTIONS(1919), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1919), + [anon_sym_decltype] = ACTIONS(1919), + [anon_sym_virtual] = ACTIONS(1919), + [anon_sym_explicit] = ACTIONS(1919), + [anon_sym_typename] = ACTIONS(1919), + [anon_sym_template] = ACTIONS(1919), + [anon_sym_operator] = ACTIONS(1919), + [anon_sym_delete] = ACTIONS(1919), + [anon_sym_throw] = ACTIONS(1919), + [anon_sym_namespace] = ACTIONS(1919), + [anon_sym_using] = ACTIONS(1919), + [anon_sym_static_assert] = ACTIONS(1919), + [anon_sym_concept] = ACTIONS(1919), + [anon_sym_co_return] = ACTIONS(1919), + [anon_sym_co_yield] = ACTIONS(1919), + [anon_sym_try] = ACTIONS(1919), + [anon_sym_co_await] = ACTIONS(1919), + [anon_sym_new] = ACTIONS(1919), + [anon_sym_requires] = ACTIONS(1919), + [sym_this] = ACTIONS(1919), + [sym_nullptr] = ACTIONS(1919), + [sym_raw_string_literal] = ACTIONS(1921), + }, + [185] = { + [sym_compound_statement] = STATE(483), + [sym_labeled_statement] = STATE(483), + [sym_expression_statement] = STATE(483), + [sym_if_statement] = STATE(483), + [sym_switch_statement] = STATE(483), + [sym_case_statement] = STATE(483), + [sym_while_statement] = STATE(483), + [sym_do_statement] = STATE(483), + [sym_for_statement] = STATE(483), + [sym_return_statement] = STATE(483), + [sym_break_statement] = STATE(483), + [sym_continue_statement] = STATE(483), + [sym_goto_statement] = STATE(483), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(483), + [sym_co_return_statement] = STATE(483), + [sym_co_yield_statement] = STATE(483), + [sym_throw_statement] = STATE(483), + [sym_try_statement] = STATE(483), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [186] = { + [sym_identifier] = ACTIONS(1925), + [aux_sym_preproc_include_token1] = ACTIONS(1925), + [aux_sym_preproc_def_token1] = ACTIONS(1925), + [aux_sym_preproc_if_token1] = ACTIONS(1925), + [aux_sym_preproc_if_token2] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1925), + [aux_sym_preproc_else_token1] = ACTIONS(1925), + [aux_sym_preproc_elif_token1] = ACTIONS(1925), + [sym_preproc_directive] = ACTIONS(1925), + [anon_sym_LPAREN2] = ACTIONS(1927), + [anon_sym_BANG] = ACTIONS(1927), + [anon_sym_TILDE] = ACTIONS(1927), + [anon_sym_DASH] = ACTIONS(1925), + [anon_sym_PLUS] = ACTIONS(1925), + [anon_sym_STAR] = ACTIONS(1927), + [anon_sym_AMP_AMP] = ACTIONS(1927), + [anon_sym_AMP] = ACTIONS(1925), + [anon_sym_SEMI] = ACTIONS(1927), + [anon_sym_typedef] = ACTIONS(1925), + [anon_sym_extern] = ACTIONS(1925), + [anon_sym___attribute__] = ACTIONS(1925), + [anon_sym_COLON_COLON] = ACTIONS(1927), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1927), + [anon_sym___declspec] = ACTIONS(1925), + [anon_sym___based] = ACTIONS(1925), + [anon_sym___cdecl] = ACTIONS(1925), + [anon_sym___clrcall] = ACTIONS(1925), + [anon_sym___stdcall] = ACTIONS(1925), + [anon_sym___fastcall] = ACTIONS(1925), + [anon_sym___thiscall] = ACTIONS(1925), + [anon_sym___vectorcall] = ACTIONS(1925), + [anon_sym_LBRACE] = ACTIONS(1927), + [anon_sym_LBRACK] = ACTIONS(1925), + [anon_sym_static] = ACTIONS(1925), + [anon_sym_register] = ACTIONS(1925), + [anon_sym_inline] = ACTIONS(1925), + [anon_sym_thread_local] = ACTIONS(1925), + [anon_sym_const] = ACTIONS(1925), + [anon_sym_volatile] = ACTIONS(1925), + [anon_sym_restrict] = ACTIONS(1925), + [anon_sym__Atomic] = ACTIONS(1925), + [anon_sym_mutable] = ACTIONS(1925), + [anon_sym_constexpr] = ACTIONS(1925), + [anon_sym_constinit] = ACTIONS(1925), + [anon_sym_consteval] = ACTIONS(1925), + [anon_sym_signed] = ACTIONS(1925), + [anon_sym_unsigned] = ACTIONS(1925), + [anon_sym_long] = ACTIONS(1925), + [anon_sym_short] = ACTIONS(1925), + [sym_primitive_type] = ACTIONS(1925), + [anon_sym_enum] = ACTIONS(1925), + [anon_sym_class] = ACTIONS(1925), + [anon_sym_struct] = ACTIONS(1925), + [anon_sym_union] = ACTIONS(1925), + [anon_sym_if] = ACTIONS(1925), + [anon_sym_else] = ACTIONS(1925), + [anon_sym_switch] = ACTIONS(1925), + [anon_sym_case] = ACTIONS(1925), + [anon_sym_default] = ACTIONS(1925), + [anon_sym_while] = ACTIONS(1925), + [anon_sym_do] = ACTIONS(1925), + [anon_sym_for] = ACTIONS(1925), + [anon_sym_return] = ACTIONS(1925), + [anon_sym_break] = ACTIONS(1925), + [anon_sym_continue] = ACTIONS(1925), + [anon_sym_goto] = ACTIONS(1925), + [anon_sym_DASH_DASH] = ACTIONS(1927), + [anon_sym_PLUS_PLUS] = ACTIONS(1927), + [anon_sym_sizeof] = ACTIONS(1925), + [sym_number_literal] = ACTIONS(1927), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1927), + [anon_sym_u_DQUOTE] = ACTIONS(1927), + [anon_sym_U_DQUOTE] = ACTIONS(1927), + [anon_sym_u8_DQUOTE] = ACTIONS(1927), + [anon_sym_DQUOTE] = ACTIONS(1927), + [sym_true] = ACTIONS(1925), + [sym_false] = ACTIONS(1925), + [sym_null] = ACTIONS(1925), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1925), + [anon_sym_decltype] = ACTIONS(1925), + [anon_sym_virtual] = ACTIONS(1925), + [anon_sym_explicit] = ACTIONS(1925), + [anon_sym_typename] = ACTIONS(1925), + [anon_sym_template] = ACTIONS(1925), + [anon_sym_operator] = ACTIONS(1925), + [anon_sym_delete] = ACTIONS(1925), + [anon_sym_throw] = ACTIONS(1925), + [anon_sym_namespace] = ACTIONS(1925), + [anon_sym_using] = ACTIONS(1925), + [anon_sym_static_assert] = ACTIONS(1925), + [anon_sym_concept] = ACTIONS(1925), + [anon_sym_co_return] = ACTIONS(1925), + [anon_sym_co_yield] = ACTIONS(1925), + [anon_sym_try] = ACTIONS(1925), + [anon_sym_co_await] = ACTIONS(1925), + [anon_sym_new] = ACTIONS(1925), + [anon_sym_requires] = ACTIONS(1925), + [sym_this] = ACTIONS(1925), + [sym_nullptr] = ACTIONS(1925), + [sym_raw_string_literal] = ACTIONS(1927), + }, + [187] = { + [sym_identifier] = ACTIONS(1929), + [aux_sym_preproc_include_token1] = ACTIONS(1929), + [aux_sym_preproc_def_token1] = ACTIONS(1929), + [aux_sym_preproc_if_token1] = ACTIONS(1929), + [aux_sym_preproc_if_token2] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1929), + [aux_sym_preproc_else_token1] = ACTIONS(1929), + [aux_sym_preproc_elif_token1] = ACTIONS(1929), + [sym_preproc_directive] = ACTIONS(1929), + [anon_sym_LPAREN2] = ACTIONS(1931), + [anon_sym_BANG] = ACTIONS(1931), + [anon_sym_TILDE] = ACTIONS(1931), + [anon_sym_DASH] = ACTIONS(1929), + [anon_sym_PLUS] = ACTIONS(1929), + [anon_sym_STAR] = ACTIONS(1931), + [anon_sym_AMP_AMP] = ACTIONS(1931), + [anon_sym_AMP] = ACTIONS(1929), + [anon_sym_SEMI] = ACTIONS(1931), + [anon_sym_typedef] = ACTIONS(1929), + [anon_sym_extern] = ACTIONS(1929), + [anon_sym___attribute__] = ACTIONS(1929), + [anon_sym_COLON_COLON] = ACTIONS(1931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1931), + [anon_sym___declspec] = ACTIONS(1929), + [anon_sym___based] = ACTIONS(1929), + [anon_sym___cdecl] = ACTIONS(1929), + [anon_sym___clrcall] = ACTIONS(1929), + [anon_sym___stdcall] = ACTIONS(1929), + [anon_sym___fastcall] = ACTIONS(1929), + [anon_sym___thiscall] = ACTIONS(1929), + [anon_sym___vectorcall] = ACTIONS(1929), + [anon_sym_LBRACE] = ACTIONS(1931), + [anon_sym_LBRACK] = ACTIONS(1929), + [anon_sym_static] = ACTIONS(1929), + [anon_sym_register] = ACTIONS(1929), + [anon_sym_inline] = ACTIONS(1929), + [anon_sym_thread_local] = ACTIONS(1929), + [anon_sym_const] = ACTIONS(1929), + [anon_sym_volatile] = ACTIONS(1929), + [anon_sym_restrict] = ACTIONS(1929), + [anon_sym__Atomic] = ACTIONS(1929), + [anon_sym_mutable] = ACTIONS(1929), + [anon_sym_constexpr] = ACTIONS(1929), + [anon_sym_constinit] = ACTIONS(1929), + [anon_sym_consteval] = ACTIONS(1929), + [anon_sym_signed] = ACTIONS(1929), + [anon_sym_unsigned] = ACTIONS(1929), + [anon_sym_long] = ACTIONS(1929), + [anon_sym_short] = ACTIONS(1929), + [sym_primitive_type] = ACTIONS(1929), + [anon_sym_enum] = ACTIONS(1929), + [anon_sym_class] = ACTIONS(1929), + [anon_sym_struct] = ACTIONS(1929), + [anon_sym_union] = ACTIONS(1929), + [anon_sym_if] = ACTIONS(1929), + [anon_sym_else] = ACTIONS(1929), + [anon_sym_switch] = ACTIONS(1929), + [anon_sym_case] = ACTIONS(1929), + [anon_sym_default] = ACTIONS(1929), + [anon_sym_while] = ACTIONS(1929), + [anon_sym_do] = ACTIONS(1929), + [anon_sym_for] = ACTIONS(1929), + [anon_sym_return] = ACTIONS(1929), + [anon_sym_break] = ACTIONS(1929), + [anon_sym_continue] = ACTIONS(1929), + [anon_sym_goto] = ACTIONS(1929), + [anon_sym_DASH_DASH] = ACTIONS(1931), + [anon_sym_PLUS_PLUS] = ACTIONS(1931), + [anon_sym_sizeof] = ACTIONS(1929), + [sym_number_literal] = ACTIONS(1931), + [anon_sym_L_SQUOTE] = ACTIONS(1931), + [anon_sym_u_SQUOTE] = ACTIONS(1931), + [anon_sym_U_SQUOTE] = ACTIONS(1931), + [anon_sym_u8_SQUOTE] = ACTIONS(1931), + [anon_sym_SQUOTE] = ACTIONS(1931), + [anon_sym_L_DQUOTE] = ACTIONS(1931), + [anon_sym_u_DQUOTE] = ACTIONS(1931), + [anon_sym_U_DQUOTE] = ACTIONS(1931), + [anon_sym_u8_DQUOTE] = ACTIONS(1931), + [anon_sym_DQUOTE] = ACTIONS(1931), + [sym_true] = ACTIONS(1929), + [sym_false] = ACTIONS(1929), + [sym_null] = ACTIONS(1929), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1929), + [anon_sym_decltype] = ACTIONS(1929), + [anon_sym_virtual] = ACTIONS(1929), + [anon_sym_explicit] = ACTIONS(1929), + [anon_sym_typename] = ACTIONS(1929), + [anon_sym_template] = ACTIONS(1929), + [anon_sym_operator] = ACTIONS(1929), + [anon_sym_delete] = ACTIONS(1929), + [anon_sym_throw] = ACTIONS(1929), + [anon_sym_namespace] = ACTIONS(1929), + [anon_sym_using] = ACTIONS(1929), + [anon_sym_static_assert] = ACTIONS(1929), + [anon_sym_concept] = ACTIONS(1929), + [anon_sym_co_return] = ACTIONS(1929), + [anon_sym_co_yield] = ACTIONS(1929), + [anon_sym_try] = ACTIONS(1929), + [anon_sym_co_await] = ACTIONS(1929), + [anon_sym_new] = ACTIONS(1929), + [anon_sym_requires] = ACTIONS(1929), + [sym_this] = ACTIONS(1929), + [sym_nullptr] = ACTIONS(1929), + [sym_raw_string_literal] = ACTIONS(1931), + }, + [188] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [189] = { + [sym_identifier] = ACTIONS(1937), + [aux_sym_preproc_include_token1] = ACTIONS(1937), + [aux_sym_preproc_def_token1] = ACTIONS(1937), + [aux_sym_preproc_if_token1] = ACTIONS(1937), + [aux_sym_preproc_if_token2] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1937), + [aux_sym_preproc_else_token1] = ACTIONS(1937), + [aux_sym_preproc_elif_token1] = ACTIONS(1937), + [sym_preproc_directive] = ACTIONS(1937), + [anon_sym_LPAREN2] = ACTIONS(1939), + [anon_sym_BANG] = ACTIONS(1939), + [anon_sym_TILDE] = ACTIONS(1939), + [anon_sym_DASH] = ACTIONS(1937), + [anon_sym_PLUS] = ACTIONS(1937), + [anon_sym_STAR] = ACTIONS(1939), + [anon_sym_AMP_AMP] = ACTIONS(1939), + [anon_sym_AMP] = ACTIONS(1937), + [anon_sym_SEMI] = ACTIONS(1939), + [anon_sym_typedef] = ACTIONS(1937), + [anon_sym_extern] = ACTIONS(1937), + [anon_sym___attribute__] = ACTIONS(1937), + [anon_sym_COLON_COLON] = ACTIONS(1939), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1939), + [anon_sym___declspec] = ACTIONS(1937), + [anon_sym___based] = ACTIONS(1937), + [anon_sym___cdecl] = ACTIONS(1937), + [anon_sym___clrcall] = ACTIONS(1937), + [anon_sym___stdcall] = ACTIONS(1937), + [anon_sym___fastcall] = ACTIONS(1937), + [anon_sym___thiscall] = ACTIONS(1937), + [anon_sym___vectorcall] = ACTIONS(1937), + [anon_sym_LBRACE] = ACTIONS(1939), + [anon_sym_LBRACK] = ACTIONS(1937), + [anon_sym_static] = ACTIONS(1937), + [anon_sym_register] = ACTIONS(1937), + [anon_sym_inline] = ACTIONS(1937), + [anon_sym_thread_local] = ACTIONS(1937), + [anon_sym_const] = ACTIONS(1937), + [anon_sym_volatile] = ACTIONS(1937), + [anon_sym_restrict] = ACTIONS(1937), + [anon_sym__Atomic] = ACTIONS(1937), + [anon_sym_mutable] = ACTIONS(1937), + [anon_sym_constexpr] = ACTIONS(1937), + [anon_sym_constinit] = ACTIONS(1937), + [anon_sym_consteval] = ACTIONS(1937), + [anon_sym_signed] = ACTIONS(1937), + [anon_sym_unsigned] = ACTIONS(1937), + [anon_sym_long] = ACTIONS(1937), + [anon_sym_short] = ACTIONS(1937), + [sym_primitive_type] = ACTIONS(1937), + [anon_sym_enum] = ACTIONS(1937), + [anon_sym_class] = ACTIONS(1937), + [anon_sym_struct] = ACTIONS(1937), + [anon_sym_union] = ACTIONS(1937), + [anon_sym_if] = ACTIONS(1937), + [anon_sym_else] = ACTIONS(1937), + [anon_sym_switch] = ACTIONS(1937), + [anon_sym_case] = ACTIONS(1937), + [anon_sym_default] = ACTIONS(1937), + [anon_sym_while] = ACTIONS(1937), + [anon_sym_do] = ACTIONS(1937), + [anon_sym_for] = ACTIONS(1937), + [anon_sym_return] = ACTIONS(1937), + [anon_sym_break] = ACTIONS(1937), + [anon_sym_continue] = ACTIONS(1937), + [anon_sym_goto] = ACTIONS(1937), + [anon_sym_DASH_DASH] = ACTIONS(1939), + [anon_sym_PLUS_PLUS] = ACTIONS(1939), + [anon_sym_sizeof] = ACTIONS(1937), + [sym_number_literal] = ACTIONS(1939), + [anon_sym_L_SQUOTE] = ACTIONS(1939), + [anon_sym_u_SQUOTE] = ACTIONS(1939), + [anon_sym_U_SQUOTE] = ACTIONS(1939), + [anon_sym_u8_SQUOTE] = ACTIONS(1939), + [anon_sym_SQUOTE] = ACTIONS(1939), + [anon_sym_L_DQUOTE] = ACTIONS(1939), + [anon_sym_u_DQUOTE] = ACTIONS(1939), + [anon_sym_U_DQUOTE] = ACTIONS(1939), + [anon_sym_u8_DQUOTE] = ACTIONS(1939), + [anon_sym_DQUOTE] = ACTIONS(1939), + [sym_true] = ACTIONS(1937), + [sym_false] = ACTIONS(1937), + [sym_null] = ACTIONS(1937), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1937), + [anon_sym_decltype] = ACTIONS(1937), + [anon_sym_virtual] = ACTIONS(1937), + [anon_sym_explicit] = ACTIONS(1937), + [anon_sym_typename] = ACTIONS(1937), + [anon_sym_template] = ACTIONS(1937), + [anon_sym_operator] = ACTIONS(1937), + [anon_sym_delete] = ACTIONS(1937), + [anon_sym_throw] = ACTIONS(1937), + [anon_sym_namespace] = ACTIONS(1937), + [anon_sym_using] = ACTIONS(1937), + [anon_sym_static_assert] = ACTIONS(1937), + [anon_sym_concept] = ACTIONS(1937), + [anon_sym_co_return] = ACTIONS(1937), + [anon_sym_co_yield] = ACTIONS(1937), + [anon_sym_try] = ACTIONS(1937), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1937), + [anon_sym_requires] = ACTIONS(1937), + [sym_this] = ACTIONS(1937), + [sym_nullptr] = ACTIONS(1937), + [sym_raw_string_literal] = ACTIONS(1939), + }, + [190] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(661), + [sym_labeled_statement] = STATE(661), + [sym_expression_statement] = STATE(661), + [sym_if_statement] = STATE(661), + [sym_switch_statement] = STATE(661), + [sym_while_statement] = STATE(661), + [sym_do_statement] = STATE(661), + [sym_for_statement] = STATE(661), + [sym_return_statement] = STATE(661), + [sym_break_statement] = STATE(661), + [sym_continue_statement] = STATE(661), + [sym_goto_statement] = STATE(661), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(661), + [sym_co_return_statement] = STATE(661), + [sym_co_yield_statement] = STATE(661), + [sym_throw_statement] = STATE(661), + [sym_try_statement] = STATE(661), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [191] = { + [sym_compound_statement] = STATE(681), + [sym_labeled_statement] = STATE(681), + [sym_expression_statement] = STATE(681), + [sym_if_statement] = STATE(681), + [sym_switch_statement] = STATE(681), + [sym_case_statement] = STATE(681), + [sym_while_statement] = STATE(681), + [sym_do_statement] = STATE(681), + [sym_for_statement] = STATE(681), + [sym_return_statement] = STATE(681), + [sym_break_statement] = STATE(681), + [sym_continue_statement] = STATE(681), + [sym_goto_statement] = STATE(681), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(681), + [sym_co_return_statement] = STATE(681), + [sym_co_yield_statement] = STATE(681), + [sym_throw_statement] = STATE(681), + [sym_try_statement] = STATE(681), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [192] = { + [sym_compound_statement] = STATE(663), + [sym_labeled_statement] = STATE(663), + [sym_expression_statement] = STATE(663), + [sym_if_statement] = STATE(663), + [sym_switch_statement] = STATE(663), + [sym_case_statement] = STATE(663), + [sym_while_statement] = STATE(663), + [sym_do_statement] = STATE(663), + [sym_for_statement] = STATE(663), + [sym_return_statement] = STATE(663), + [sym_break_statement] = STATE(663), + [sym_continue_statement] = STATE(663), + [sym_goto_statement] = STATE(663), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(663), + [sym_co_return_statement] = STATE(663), + [sym_co_yield_statement] = STATE(663), + [sym_throw_statement] = STATE(663), + [sym_try_statement] = STATE(663), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [193] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [194] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [195] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [196] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [197] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [198] = { + [sym_compound_statement] = STATE(632), + [sym_labeled_statement] = STATE(632), + [sym_expression_statement] = STATE(632), + [sym_if_statement] = STATE(632), + [sym_switch_statement] = STATE(632), + [sym_case_statement] = STATE(632), + [sym_while_statement] = STATE(632), + [sym_do_statement] = STATE(632), + [sym_for_statement] = STATE(632), + [sym_return_statement] = STATE(632), + [sym_break_statement] = STATE(632), + [sym_continue_statement] = STATE(632), + [sym_goto_statement] = STATE(632), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(632), + [sym_co_return_statement] = STATE(632), + [sym_co_yield_statement] = STATE(632), + [sym_throw_statement] = STATE(632), + [sym_try_statement] = STATE(632), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [199] = { + [sym_compound_statement] = STATE(514), + [sym_labeled_statement] = STATE(514), + [sym_expression_statement] = STATE(514), + [sym_if_statement] = STATE(514), + [sym_switch_statement] = STATE(514), + [sym_case_statement] = STATE(514), + [sym_while_statement] = STATE(514), + [sym_do_statement] = STATE(514), + [sym_for_statement] = STATE(514), + [sym_return_statement] = STATE(514), + [sym_break_statement] = STATE(514), + [sym_continue_statement] = STATE(514), + [sym_goto_statement] = STATE(514), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(514), + [sym_co_return_statement] = STATE(514), + [sym_co_yield_statement] = STATE(514), + [sym_throw_statement] = STATE(514), + [sym_try_statement] = STATE(514), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [200] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [201] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [202] = { + [sym_compound_statement] = STATE(516), + [sym_labeled_statement] = STATE(516), + [sym_expression_statement] = STATE(516), + [sym_if_statement] = STATE(516), + [sym_switch_statement] = STATE(516), + [sym_case_statement] = STATE(516), + [sym_while_statement] = STATE(516), + [sym_do_statement] = STATE(516), + [sym_for_statement] = STATE(516), + [sym_return_statement] = STATE(516), + [sym_break_statement] = STATE(516), + [sym_continue_statement] = STATE(516), + [sym_goto_statement] = STATE(516), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(516), + [sym_co_return_statement] = STATE(516), + [sym_co_yield_statement] = STATE(516), + [sym_throw_statement] = STATE(516), + [sym_try_statement] = STATE(516), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [203] = { + [sym_compound_statement] = STATE(481), + [sym_labeled_statement] = STATE(481), + [sym_expression_statement] = STATE(481), + [sym_if_statement] = STATE(481), + [sym_switch_statement] = STATE(481), + [sym_case_statement] = STATE(481), + [sym_while_statement] = STATE(481), + [sym_do_statement] = STATE(481), + [sym_for_statement] = STATE(481), + [sym_return_statement] = STATE(481), + [sym_break_statement] = STATE(481), + [sym_continue_statement] = STATE(481), + [sym_goto_statement] = STATE(481), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(481), + [sym_co_return_statement] = STATE(481), + [sym_co_yield_statement] = STATE(481), + [sym_throw_statement] = STATE(481), + [sym_try_statement] = STATE(481), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [204] = { + [sym_identifier] = ACTIONS(1941), + [aux_sym_preproc_include_token1] = ACTIONS(1941), + [aux_sym_preproc_def_token1] = ACTIONS(1941), + [aux_sym_preproc_if_token1] = ACTIONS(1941), + [aux_sym_preproc_if_token2] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1941), + [aux_sym_preproc_else_token1] = ACTIONS(1941), + [aux_sym_preproc_elif_token1] = ACTIONS(1941), + [sym_preproc_directive] = ACTIONS(1941), + [anon_sym_LPAREN2] = ACTIONS(1943), + [anon_sym_BANG] = ACTIONS(1943), + [anon_sym_TILDE] = ACTIONS(1943), + [anon_sym_DASH] = ACTIONS(1941), + [anon_sym_PLUS] = ACTIONS(1941), + [anon_sym_STAR] = ACTIONS(1943), + [anon_sym_AMP_AMP] = ACTIONS(1943), + [anon_sym_AMP] = ACTIONS(1941), + [anon_sym_SEMI] = ACTIONS(1943), + [anon_sym_typedef] = ACTIONS(1941), + [anon_sym_extern] = ACTIONS(1941), + [anon_sym___attribute__] = ACTIONS(1941), + [anon_sym_COLON_COLON] = ACTIONS(1943), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1943), + [anon_sym___declspec] = ACTIONS(1941), + [anon_sym___based] = ACTIONS(1941), + [anon_sym___cdecl] = ACTIONS(1941), + [anon_sym___clrcall] = ACTIONS(1941), + [anon_sym___stdcall] = ACTIONS(1941), + [anon_sym___fastcall] = ACTIONS(1941), + [anon_sym___thiscall] = ACTIONS(1941), + [anon_sym___vectorcall] = ACTIONS(1941), + [anon_sym_LBRACE] = ACTIONS(1943), + [anon_sym_LBRACK] = ACTIONS(1941), + [anon_sym_static] = ACTIONS(1941), + [anon_sym_register] = ACTIONS(1941), + [anon_sym_inline] = ACTIONS(1941), + [anon_sym_thread_local] = ACTIONS(1941), + [anon_sym_const] = ACTIONS(1941), + [anon_sym_volatile] = ACTIONS(1941), + [anon_sym_restrict] = ACTIONS(1941), + [anon_sym__Atomic] = ACTIONS(1941), + [anon_sym_mutable] = ACTIONS(1941), + [anon_sym_constexpr] = ACTIONS(1941), + [anon_sym_constinit] = ACTIONS(1941), + [anon_sym_consteval] = ACTIONS(1941), + [anon_sym_signed] = ACTIONS(1941), + [anon_sym_unsigned] = ACTIONS(1941), + [anon_sym_long] = ACTIONS(1941), + [anon_sym_short] = ACTIONS(1941), + [sym_primitive_type] = ACTIONS(1941), + [anon_sym_enum] = ACTIONS(1941), + [anon_sym_class] = ACTIONS(1941), + [anon_sym_struct] = ACTIONS(1941), + [anon_sym_union] = ACTIONS(1941), + [anon_sym_if] = ACTIONS(1941), + [anon_sym_else] = ACTIONS(1941), + [anon_sym_switch] = ACTIONS(1941), + [anon_sym_case] = ACTIONS(1941), + [anon_sym_default] = ACTIONS(1941), + [anon_sym_while] = ACTIONS(1941), + [anon_sym_do] = ACTIONS(1941), + [anon_sym_for] = ACTIONS(1941), + [anon_sym_return] = ACTIONS(1941), + [anon_sym_break] = ACTIONS(1941), + [anon_sym_continue] = ACTIONS(1941), + [anon_sym_goto] = ACTIONS(1941), + [anon_sym_DASH_DASH] = ACTIONS(1943), + [anon_sym_PLUS_PLUS] = ACTIONS(1943), + [anon_sym_sizeof] = ACTIONS(1941), + [sym_number_literal] = ACTIONS(1943), + [anon_sym_L_SQUOTE] = ACTIONS(1943), + [anon_sym_u_SQUOTE] = ACTIONS(1943), + [anon_sym_U_SQUOTE] = ACTIONS(1943), + [anon_sym_u8_SQUOTE] = ACTIONS(1943), + [anon_sym_SQUOTE] = ACTIONS(1943), + [anon_sym_L_DQUOTE] = ACTIONS(1943), + [anon_sym_u_DQUOTE] = ACTIONS(1943), + [anon_sym_U_DQUOTE] = ACTIONS(1943), + [anon_sym_u8_DQUOTE] = ACTIONS(1943), + [anon_sym_DQUOTE] = ACTIONS(1943), + [sym_true] = ACTIONS(1941), + [sym_false] = ACTIONS(1941), + [sym_null] = ACTIONS(1941), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1941), + [anon_sym_decltype] = ACTIONS(1941), + [anon_sym_virtual] = ACTIONS(1941), + [anon_sym_explicit] = ACTIONS(1941), + [anon_sym_typename] = ACTIONS(1941), + [anon_sym_template] = ACTIONS(1941), + [anon_sym_operator] = ACTIONS(1941), + [anon_sym_delete] = ACTIONS(1941), + [anon_sym_throw] = ACTIONS(1941), + [anon_sym_namespace] = ACTIONS(1941), + [anon_sym_using] = ACTIONS(1941), + [anon_sym_static_assert] = ACTIONS(1941), + [anon_sym_concept] = ACTIONS(1941), + [anon_sym_co_return] = ACTIONS(1941), + [anon_sym_co_yield] = ACTIONS(1941), + [anon_sym_try] = ACTIONS(1941), + [anon_sym_co_await] = ACTIONS(1941), + [anon_sym_new] = ACTIONS(1941), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1941), + [sym_nullptr] = ACTIONS(1941), + [sym_raw_string_literal] = ACTIONS(1943), + }, + [205] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [206] = { + [sym_compound_statement] = STATE(510), + [sym_labeled_statement] = STATE(510), + [sym_expression_statement] = STATE(510), + [sym_if_statement] = STATE(510), + [sym_switch_statement] = STATE(510), + [sym_case_statement] = STATE(510), + [sym_while_statement] = STATE(510), + [sym_do_statement] = STATE(510), + [sym_for_statement] = STATE(510), + [sym_return_statement] = STATE(510), + [sym_break_statement] = STATE(510), + [sym_continue_statement] = STATE(510), + [sym_goto_statement] = STATE(510), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(510), + [sym_co_return_statement] = STATE(510), + [sym_co_yield_statement] = STATE(510), + [sym_throw_statement] = STATE(510), + [sym_try_statement] = STATE(510), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [207] = { + [sym_compound_statement] = STATE(660), + [sym_labeled_statement] = STATE(660), + [sym_expression_statement] = STATE(660), + [sym_if_statement] = STATE(660), + [sym_switch_statement] = STATE(660), + [sym_case_statement] = STATE(660), + [sym_while_statement] = STATE(660), + [sym_do_statement] = STATE(660), + [sym_for_statement] = STATE(660), + [sym_return_statement] = STATE(660), + [sym_break_statement] = STATE(660), + [sym_continue_statement] = STATE(660), + [sym_goto_statement] = STATE(660), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(660), + [sym_co_return_statement] = STATE(660), + [sym_co_yield_statement] = STATE(660), + [sym_throw_statement] = STATE(660), + [sym_try_statement] = STATE(660), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [208] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [209] = { + [sym_compound_statement] = STATE(513), + [sym_labeled_statement] = STATE(513), + [sym_expression_statement] = STATE(513), + [sym_if_statement] = STATE(513), + [sym_switch_statement] = STATE(513), + [sym_case_statement] = STATE(513), + [sym_while_statement] = STATE(513), + [sym_do_statement] = STATE(513), + [sym_for_statement] = STATE(513), + [sym_return_statement] = STATE(513), + [sym_break_statement] = STATE(513), + [sym_continue_statement] = STATE(513), + [sym_goto_statement] = STATE(513), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(513), + [sym_co_return_statement] = STATE(513), + [sym_co_yield_statement] = STATE(513), + [sym_throw_statement] = STATE(513), + [sym_try_statement] = STATE(513), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [210] = { + [sym_compound_statement] = STATE(337), + [sym_labeled_statement] = STATE(337), + [sym_expression_statement] = STATE(337), + [sym_if_statement] = STATE(337), + [sym_switch_statement] = STATE(337), + [sym_case_statement] = STATE(337), + [sym_while_statement] = STATE(337), + [sym_do_statement] = STATE(337), + [sym_for_statement] = STATE(337), + [sym_return_statement] = STATE(337), + [sym_break_statement] = STATE(337), + [sym_continue_statement] = STATE(337), + [sym_goto_statement] = STATE(337), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(337), + [sym_co_return_statement] = STATE(337), + [sym_co_yield_statement] = STATE(337), + [sym_throw_statement] = STATE(337), + [sym_try_statement] = STATE(337), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [211] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(664), + [sym_labeled_statement] = STATE(664), + [sym_expression_statement] = STATE(664), + [sym_if_statement] = STATE(664), + [sym_switch_statement] = STATE(664), + [sym_while_statement] = STATE(664), + [sym_do_statement] = STATE(664), + [sym_for_statement] = STATE(664), + [sym_return_statement] = STATE(664), + [sym_break_statement] = STATE(664), + [sym_continue_statement] = STATE(664), + [sym_goto_statement] = STATE(664), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(664), + [sym_co_return_statement] = STATE(664), + [sym_co_yield_statement] = STATE(664), + [sym_throw_statement] = STATE(664), + [sym_try_statement] = STATE(664), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [212] = { + [sym_compound_statement] = STATE(184), + [sym_labeled_statement] = STATE(184), + [sym_expression_statement] = STATE(184), + [sym_if_statement] = STATE(184), + [sym_switch_statement] = STATE(184), + [sym_case_statement] = STATE(184), + [sym_while_statement] = STATE(184), + [sym_do_statement] = STATE(184), + [sym_for_statement] = STATE(184), + [sym_return_statement] = STATE(184), + [sym_break_statement] = STATE(184), + [sym_continue_statement] = STATE(184), + [sym_goto_statement] = STATE(184), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(184), + [sym_co_return_statement] = STATE(184), + [sym_co_yield_statement] = STATE(184), + [sym_throw_statement] = STATE(184), + [sym_try_statement] = STATE(184), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [213] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [214] = { + [sym_identifier] = ACTIONS(1945), + [aux_sym_preproc_include_token1] = ACTIONS(1945), + [aux_sym_preproc_def_token1] = ACTIONS(1945), + [aux_sym_preproc_if_token1] = ACTIONS(1945), + [aux_sym_preproc_if_token2] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1945), + [aux_sym_preproc_else_token1] = ACTIONS(1945), + [aux_sym_preproc_elif_token1] = ACTIONS(1945), + [sym_preproc_directive] = ACTIONS(1945), + [anon_sym_LPAREN2] = ACTIONS(1947), + [anon_sym_BANG] = ACTIONS(1947), + [anon_sym_TILDE] = ACTIONS(1947), + [anon_sym_DASH] = ACTIONS(1945), + [anon_sym_PLUS] = ACTIONS(1945), + [anon_sym_STAR] = ACTIONS(1947), + [anon_sym_AMP_AMP] = ACTIONS(1947), + [anon_sym_AMP] = ACTIONS(1945), + [anon_sym_SEMI] = ACTIONS(1947), + [anon_sym_typedef] = ACTIONS(1945), + [anon_sym_extern] = ACTIONS(1945), + [anon_sym___attribute__] = ACTIONS(1945), + [anon_sym_COLON_COLON] = ACTIONS(1947), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1947), + [anon_sym___declspec] = ACTIONS(1945), + [anon_sym___based] = ACTIONS(1945), + [anon_sym___cdecl] = ACTIONS(1945), + [anon_sym___clrcall] = ACTIONS(1945), + [anon_sym___stdcall] = ACTIONS(1945), + [anon_sym___fastcall] = ACTIONS(1945), + [anon_sym___thiscall] = ACTIONS(1945), + [anon_sym___vectorcall] = ACTIONS(1945), + [anon_sym_LBRACE] = ACTIONS(1947), + [anon_sym_LBRACK] = ACTIONS(1945), + [anon_sym_static] = ACTIONS(1945), + [anon_sym_register] = ACTIONS(1945), + [anon_sym_inline] = ACTIONS(1945), + [anon_sym_thread_local] = ACTIONS(1945), + [anon_sym_const] = ACTIONS(1945), + [anon_sym_volatile] = ACTIONS(1945), + [anon_sym_restrict] = ACTIONS(1945), + [anon_sym__Atomic] = ACTIONS(1945), + [anon_sym_mutable] = ACTIONS(1945), + [anon_sym_constexpr] = ACTIONS(1945), + [anon_sym_constinit] = ACTIONS(1945), + [anon_sym_consteval] = ACTIONS(1945), + [anon_sym_signed] = ACTIONS(1945), + [anon_sym_unsigned] = ACTIONS(1945), + [anon_sym_long] = ACTIONS(1945), + [anon_sym_short] = ACTIONS(1945), + [sym_primitive_type] = ACTIONS(1945), + [anon_sym_enum] = ACTIONS(1945), + [anon_sym_class] = ACTIONS(1945), + [anon_sym_struct] = ACTIONS(1945), + [anon_sym_union] = ACTIONS(1945), + [anon_sym_if] = ACTIONS(1945), + [anon_sym_else] = ACTIONS(1945), + [anon_sym_switch] = ACTIONS(1945), + [anon_sym_case] = ACTIONS(1945), + [anon_sym_default] = ACTIONS(1945), + [anon_sym_while] = ACTIONS(1945), + [anon_sym_do] = ACTIONS(1945), + [anon_sym_for] = ACTIONS(1945), + [anon_sym_return] = ACTIONS(1945), + [anon_sym_break] = ACTIONS(1945), + [anon_sym_continue] = ACTIONS(1945), + [anon_sym_goto] = ACTIONS(1945), + [anon_sym_DASH_DASH] = ACTIONS(1947), + [anon_sym_PLUS_PLUS] = ACTIONS(1947), + [anon_sym_sizeof] = ACTIONS(1945), + [sym_number_literal] = ACTIONS(1947), + [anon_sym_L_SQUOTE] = ACTIONS(1947), + [anon_sym_u_SQUOTE] = ACTIONS(1947), + [anon_sym_U_SQUOTE] = ACTIONS(1947), + [anon_sym_u8_SQUOTE] = ACTIONS(1947), + [anon_sym_SQUOTE] = ACTIONS(1947), + [anon_sym_L_DQUOTE] = ACTIONS(1947), + [anon_sym_u_DQUOTE] = ACTIONS(1947), + [anon_sym_U_DQUOTE] = ACTIONS(1947), + [anon_sym_u8_DQUOTE] = ACTIONS(1947), + [anon_sym_DQUOTE] = ACTIONS(1947), + [sym_true] = ACTIONS(1945), + [sym_false] = ACTIONS(1945), + [sym_null] = ACTIONS(1945), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1945), + [anon_sym_virtual] = ACTIONS(1945), + [anon_sym_explicit] = ACTIONS(1945), + [anon_sym_typename] = ACTIONS(1945), + [anon_sym_template] = ACTIONS(1945), + [anon_sym_operator] = ACTIONS(1945), + [anon_sym_delete] = ACTIONS(1945), + [anon_sym_throw] = ACTIONS(1945), + [anon_sym_namespace] = ACTIONS(1945), + [anon_sym_using] = ACTIONS(1945), + [anon_sym_static_assert] = ACTIONS(1945), + [anon_sym_concept] = ACTIONS(1945), + [anon_sym_co_return] = ACTIONS(1945), + [anon_sym_co_yield] = ACTIONS(1945), + [anon_sym_try] = ACTIONS(1945), + [anon_sym_co_await] = ACTIONS(1945), + [anon_sym_new] = ACTIONS(1945), + [anon_sym_requires] = ACTIONS(1945), + [sym_this] = ACTIONS(1945), + [sym_nullptr] = ACTIONS(1945), + [sym_raw_string_literal] = ACTIONS(1947), + }, + [215] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [216] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [217] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [218] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [219] = { + [sym_identifier] = ACTIONS(1949), + [aux_sym_preproc_include_token1] = ACTIONS(1949), + [aux_sym_preproc_def_token1] = ACTIONS(1949), + [aux_sym_preproc_if_token1] = ACTIONS(1949), + [aux_sym_preproc_if_token2] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1949), + [aux_sym_preproc_else_token1] = ACTIONS(1949), + [aux_sym_preproc_elif_token1] = ACTIONS(1949), + [sym_preproc_directive] = ACTIONS(1949), + [anon_sym_LPAREN2] = ACTIONS(1951), + [anon_sym_BANG] = ACTIONS(1951), + [anon_sym_TILDE] = ACTIONS(1951), + [anon_sym_DASH] = ACTIONS(1949), + [anon_sym_PLUS] = ACTIONS(1949), + [anon_sym_STAR] = ACTIONS(1951), + [anon_sym_AMP_AMP] = ACTIONS(1951), + [anon_sym_AMP] = ACTIONS(1949), + [anon_sym_SEMI] = ACTIONS(1951), + [anon_sym_typedef] = ACTIONS(1949), + [anon_sym_extern] = ACTIONS(1949), + [anon_sym___attribute__] = ACTIONS(1949), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1951), + [anon_sym___declspec] = ACTIONS(1949), + [anon_sym___based] = ACTIONS(1949), + [anon_sym___cdecl] = ACTIONS(1949), + [anon_sym___clrcall] = ACTIONS(1949), + [anon_sym___stdcall] = ACTIONS(1949), + [anon_sym___fastcall] = ACTIONS(1949), + [anon_sym___thiscall] = ACTIONS(1949), + [anon_sym___vectorcall] = ACTIONS(1949), + [anon_sym_LBRACE] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(1949), + [anon_sym_static] = ACTIONS(1949), + [anon_sym_register] = ACTIONS(1949), + [anon_sym_inline] = ACTIONS(1949), + [anon_sym_thread_local] = ACTIONS(1949), + [anon_sym_const] = ACTIONS(1949), + [anon_sym_volatile] = ACTIONS(1949), + [anon_sym_restrict] = ACTIONS(1949), + [anon_sym__Atomic] = ACTIONS(1949), + [anon_sym_mutable] = ACTIONS(1949), + [anon_sym_constexpr] = ACTIONS(1949), + [anon_sym_constinit] = ACTIONS(1949), + [anon_sym_consteval] = ACTIONS(1949), + [anon_sym_signed] = ACTIONS(1949), + [anon_sym_unsigned] = ACTIONS(1949), + [anon_sym_long] = ACTIONS(1949), + [anon_sym_short] = ACTIONS(1949), + [sym_primitive_type] = ACTIONS(1949), + [anon_sym_enum] = ACTIONS(1949), + [anon_sym_class] = ACTIONS(1949), + [anon_sym_struct] = ACTIONS(1949), + [anon_sym_union] = ACTIONS(1949), + [anon_sym_if] = ACTIONS(1949), + [anon_sym_else] = ACTIONS(1949), + [anon_sym_switch] = ACTIONS(1949), + [anon_sym_case] = ACTIONS(1949), + [anon_sym_default] = ACTIONS(1949), + [anon_sym_while] = ACTIONS(1949), + [anon_sym_do] = ACTIONS(1949), + [anon_sym_for] = ACTIONS(1949), + [anon_sym_return] = ACTIONS(1949), + [anon_sym_break] = ACTIONS(1949), + [anon_sym_continue] = ACTIONS(1949), + [anon_sym_goto] = ACTIONS(1949), + [anon_sym_DASH_DASH] = ACTIONS(1951), + [anon_sym_PLUS_PLUS] = ACTIONS(1951), + [anon_sym_sizeof] = ACTIONS(1949), + [sym_number_literal] = ACTIONS(1951), + [anon_sym_L_SQUOTE] = ACTIONS(1951), + [anon_sym_u_SQUOTE] = ACTIONS(1951), + [anon_sym_U_SQUOTE] = ACTIONS(1951), + [anon_sym_u8_SQUOTE] = ACTIONS(1951), + [anon_sym_SQUOTE] = ACTIONS(1951), + [anon_sym_L_DQUOTE] = ACTIONS(1951), + [anon_sym_u_DQUOTE] = ACTIONS(1951), + [anon_sym_U_DQUOTE] = ACTIONS(1951), + [anon_sym_u8_DQUOTE] = ACTIONS(1951), + [anon_sym_DQUOTE] = ACTIONS(1951), + [sym_true] = ACTIONS(1949), + [sym_false] = ACTIONS(1949), + [sym_null] = ACTIONS(1949), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1949), + [anon_sym_decltype] = ACTIONS(1949), + [anon_sym_virtual] = ACTIONS(1949), + [anon_sym_explicit] = ACTIONS(1949), + [anon_sym_typename] = ACTIONS(1949), + [anon_sym_template] = ACTIONS(1949), + [anon_sym_operator] = ACTIONS(1949), + [anon_sym_delete] = ACTIONS(1949), + [anon_sym_throw] = ACTIONS(1949), + [anon_sym_namespace] = ACTIONS(1949), + [anon_sym_using] = ACTIONS(1949), + [anon_sym_static_assert] = ACTIONS(1949), + [anon_sym_concept] = ACTIONS(1949), + [anon_sym_co_return] = ACTIONS(1949), + [anon_sym_co_yield] = ACTIONS(1949), + [anon_sym_try] = ACTIONS(1949), + [anon_sym_co_await] = ACTIONS(1949), + [anon_sym_new] = ACTIONS(1949), + [anon_sym_requires] = ACTIONS(1949), + [sym_this] = ACTIONS(1949), + [sym_nullptr] = ACTIONS(1949), + [sym_raw_string_literal] = ACTIONS(1951), + }, + [220] = { + [sym_identifier] = ACTIONS(1953), + [aux_sym_preproc_include_token1] = ACTIONS(1953), + [aux_sym_preproc_def_token1] = ACTIONS(1953), + [aux_sym_preproc_if_token1] = ACTIONS(1953), + [aux_sym_preproc_if_token2] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1953), + [aux_sym_preproc_else_token1] = ACTIONS(1953), + [aux_sym_preproc_elif_token1] = ACTIONS(1953), + [sym_preproc_directive] = ACTIONS(1953), + [anon_sym_LPAREN2] = ACTIONS(1955), + [anon_sym_BANG] = ACTIONS(1955), + [anon_sym_TILDE] = ACTIONS(1955), + [anon_sym_DASH] = ACTIONS(1953), + [anon_sym_PLUS] = ACTIONS(1953), + [anon_sym_STAR] = ACTIONS(1955), + [anon_sym_AMP_AMP] = ACTIONS(1955), + [anon_sym_AMP] = ACTIONS(1953), + [anon_sym_SEMI] = ACTIONS(1955), + [anon_sym_typedef] = ACTIONS(1953), + [anon_sym_extern] = ACTIONS(1953), + [anon_sym___attribute__] = ACTIONS(1953), + [anon_sym_COLON_COLON] = ACTIONS(1955), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1955), + [anon_sym___declspec] = ACTIONS(1953), + [anon_sym___based] = ACTIONS(1953), + [anon_sym___cdecl] = ACTIONS(1953), + [anon_sym___clrcall] = ACTIONS(1953), + [anon_sym___stdcall] = ACTIONS(1953), + [anon_sym___fastcall] = ACTIONS(1953), + [anon_sym___thiscall] = ACTIONS(1953), + [anon_sym___vectorcall] = ACTIONS(1953), + [anon_sym_LBRACE] = ACTIONS(1955), + [anon_sym_LBRACK] = ACTIONS(1953), + [anon_sym_static] = ACTIONS(1953), + [anon_sym_register] = ACTIONS(1953), + [anon_sym_inline] = ACTIONS(1953), + [anon_sym_thread_local] = ACTIONS(1953), + [anon_sym_const] = ACTIONS(1953), + [anon_sym_volatile] = ACTIONS(1953), + [anon_sym_restrict] = ACTIONS(1953), + [anon_sym__Atomic] = ACTIONS(1953), + [anon_sym_mutable] = ACTIONS(1953), + [anon_sym_constexpr] = ACTIONS(1953), + [anon_sym_constinit] = ACTIONS(1953), + [anon_sym_consteval] = ACTIONS(1953), + [anon_sym_signed] = ACTIONS(1953), + [anon_sym_unsigned] = ACTIONS(1953), + [anon_sym_long] = ACTIONS(1953), + [anon_sym_short] = ACTIONS(1953), + [sym_primitive_type] = ACTIONS(1953), + [anon_sym_enum] = ACTIONS(1953), + [anon_sym_class] = ACTIONS(1953), + [anon_sym_struct] = ACTIONS(1953), + [anon_sym_union] = ACTIONS(1953), + [anon_sym_if] = ACTIONS(1953), + [anon_sym_else] = ACTIONS(1953), + [anon_sym_switch] = ACTIONS(1953), + [anon_sym_case] = ACTIONS(1953), + [anon_sym_default] = ACTIONS(1953), + [anon_sym_while] = ACTIONS(1953), + [anon_sym_do] = ACTIONS(1953), + [anon_sym_for] = ACTIONS(1953), + [anon_sym_return] = ACTIONS(1953), + [anon_sym_break] = ACTIONS(1953), + [anon_sym_continue] = ACTIONS(1953), + [anon_sym_goto] = ACTIONS(1953), + [anon_sym_DASH_DASH] = ACTIONS(1955), + [anon_sym_PLUS_PLUS] = ACTIONS(1955), + [anon_sym_sizeof] = ACTIONS(1953), + [sym_number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1955), + [anon_sym_u_SQUOTE] = ACTIONS(1955), + [anon_sym_U_SQUOTE] = ACTIONS(1955), + [anon_sym_u8_SQUOTE] = ACTIONS(1955), + [anon_sym_SQUOTE] = ACTIONS(1955), + [anon_sym_L_DQUOTE] = ACTIONS(1955), + [anon_sym_u_DQUOTE] = ACTIONS(1955), + [anon_sym_U_DQUOTE] = ACTIONS(1955), + [anon_sym_u8_DQUOTE] = ACTIONS(1955), + [anon_sym_DQUOTE] = ACTIONS(1955), + [sym_true] = ACTIONS(1953), + [sym_false] = ACTIONS(1953), + [sym_null] = ACTIONS(1953), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1953), + [anon_sym_decltype] = ACTIONS(1953), + [anon_sym_virtual] = ACTIONS(1953), + [anon_sym_explicit] = ACTIONS(1953), + [anon_sym_typename] = ACTIONS(1953), + [anon_sym_template] = ACTIONS(1953), + [anon_sym_operator] = ACTIONS(1953), + [anon_sym_delete] = ACTIONS(1953), + [anon_sym_throw] = ACTIONS(1953), + [anon_sym_namespace] = ACTIONS(1953), + [anon_sym_using] = ACTIONS(1953), + [anon_sym_static_assert] = ACTIONS(1953), + [anon_sym_concept] = ACTIONS(1953), + [anon_sym_co_return] = ACTIONS(1953), + [anon_sym_co_yield] = ACTIONS(1953), + [anon_sym_try] = ACTIONS(1953), + [anon_sym_co_await] = ACTIONS(1953), + [anon_sym_new] = ACTIONS(1953), + [anon_sym_requires] = ACTIONS(1953), + [sym_this] = ACTIONS(1953), + [sym_nullptr] = ACTIONS(1953), + [sym_raw_string_literal] = ACTIONS(1955), + }, + [221] = { + [sym_identifier] = ACTIONS(1957), + [aux_sym_preproc_include_token1] = ACTIONS(1957), + [aux_sym_preproc_def_token1] = ACTIONS(1957), + [aux_sym_preproc_if_token1] = ACTIONS(1957), + [aux_sym_preproc_if_token2] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1957), + [aux_sym_preproc_else_token1] = ACTIONS(1957), + [aux_sym_preproc_elif_token1] = ACTIONS(1957), + [sym_preproc_directive] = ACTIONS(1957), + [anon_sym_LPAREN2] = ACTIONS(1959), + [anon_sym_BANG] = ACTIONS(1959), + [anon_sym_TILDE] = ACTIONS(1959), + [anon_sym_DASH] = ACTIONS(1957), + [anon_sym_PLUS] = ACTIONS(1957), + [anon_sym_STAR] = ACTIONS(1959), + [anon_sym_AMP_AMP] = ACTIONS(1959), + [anon_sym_AMP] = ACTIONS(1957), + [anon_sym_SEMI] = ACTIONS(1959), + [anon_sym_typedef] = ACTIONS(1957), + [anon_sym_extern] = ACTIONS(1957), + [anon_sym___attribute__] = ACTIONS(1957), + [anon_sym_COLON_COLON] = ACTIONS(1959), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1959), + [anon_sym___declspec] = ACTIONS(1957), + [anon_sym___based] = ACTIONS(1957), + [anon_sym___cdecl] = ACTIONS(1957), + [anon_sym___clrcall] = ACTIONS(1957), + [anon_sym___stdcall] = ACTIONS(1957), + [anon_sym___fastcall] = ACTIONS(1957), + [anon_sym___thiscall] = ACTIONS(1957), + [anon_sym___vectorcall] = ACTIONS(1957), + [anon_sym_LBRACE] = ACTIONS(1959), + [anon_sym_LBRACK] = ACTIONS(1957), + [anon_sym_static] = ACTIONS(1957), + [anon_sym_register] = ACTIONS(1957), + [anon_sym_inline] = ACTIONS(1957), + [anon_sym_thread_local] = ACTIONS(1957), + [anon_sym_const] = ACTIONS(1957), + [anon_sym_volatile] = ACTIONS(1957), + [anon_sym_restrict] = ACTIONS(1957), + [anon_sym__Atomic] = ACTIONS(1957), + [anon_sym_mutable] = ACTIONS(1957), + [anon_sym_constexpr] = ACTIONS(1957), + [anon_sym_constinit] = ACTIONS(1957), + [anon_sym_consteval] = ACTIONS(1957), + [anon_sym_signed] = ACTIONS(1957), + [anon_sym_unsigned] = ACTIONS(1957), + [anon_sym_long] = ACTIONS(1957), + [anon_sym_short] = ACTIONS(1957), + [sym_primitive_type] = ACTIONS(1957), + [anon_sym_enum] = ACTIONS(1957), + [anon_sym_class] = ACTIONS(1957), + [anon_sym_struct] = ACTIONS(1957), + [anon_sym_union] = ACTIONS(1957), + [anon_sym_if] = ACTIONS(1957), + [anon_sym_else] = ACTIONS(1961), + [anon_sym_switch] = ACTIONS(1957), + [anon_sym_case] = ACTIONS(1957), + [anon_sym_default] = ACTIONS(1957), + [anon_sym_while] = ACTIONS(1957), + [anon_sym_do] = ACTIONS(1957), + [anon_sym_for] = ACTIONS(1957), + [anon_sym_return] = ACTIONS(1957), + [anon_sym_break] = ACTIONS(1957), + [anon_sym_continue] = ACTIONS(1957), + [anon_sym_goto] = ACTIONS(1957), + [anon_sym_DASH_DASH] = ACTIONS(1959), + [anon_sym_PLUS_PLUS] = ACTIONS(1959), + [anon_sym_sizeof] = ACTIONS(1957), + [sym_number_literal] = ACTIONS(1959), + [anon_sym_L_SQUOTE] = ACTIONS(1959), + [anon_sym_u_SQUOTE] = ACTIONS(1959), + [anon_sym_U_SQUOTE] = ACTIONS(1959), + [anon_sym_u8_SQUOTE] = ACTIONS(1959), + [anon_sym_SQUOTE] = ACTIONS(1959), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1957), + [sym_false] = ACTIONS(1957), + [sym_null] = ACTIONS(1957), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1957), + [anon_sym_decltype] = ACTIONS(1957), + [anon_sym_virtual] = ACTIONS(1957), + [anon_sym_explicit] = ACTIONS(1957), + [anon_sym_typename] = ACTIONS(1957), + [anon_sym_template] = ACTIONS(1957), + [anon_sym_operator] = ACTIONS(1957), + [anon_sym_delete] = ACTIONS(1957), + [anon_sym_throw] = ACTIONS(1957), + [anon_sym_namespace] = ACTIONS(1957), + [anon_sym_using] = ACTIONS(1957), + [anon_sym_static_assert] = ACTIONS(1957), + [anon_sym_concept] = ACTIONS(1957), + [anon_sym_co_return] = ACTIONS(1957), + [anon_sym_co_yield] = ACTIONS(1957), + [anon_sym_try] = ACTIONS(1957), + [anon_sym_co_await] = ACTIONS(1957), + [anon_sym_new] = ACTIONS(1957), + [anon_sym_requires] = ACTIONS(1957), + [sym_this] = ACTIONS(1957), + [sym_nullptr] = ACTIONS(1957), + [sym_raw_string_literal] = ACTIONS(1959), + }, + [222] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [223] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [224] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [225] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [226] = { + [sym_compound_statement] = STATE(665), + [sym_labeled_statement] = STATE(665), + [sym_expression_statement] = STATE(665), + [sym_if_statement] = STATE(665), + [sym_switch_statement] = STATE(665), + [sym_case_statement] = STATE(665), + [sym_while_statement] = STATE(665), + [sym_do_statement] = STATE(665), + [sym_for_statement] = STATE(665), + [sym_return_statement] = STATE(665), + [sym_break_statement] = STATE(665), + [sym_continue_statement] = STATE(665), + [sym_goto_statement] = STATE(665), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(665), + [sym_co_return_statement] = STATE(665), + [sym_co_yield_statement] = STATE(665), + [sym_throw_statement] = STATE(665), + [sym_try_statement] = STATE(665), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [227] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [228] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [229] = { + [sym_compound_statement] = STATE(539), + [sym_labeled_statement] = STATE(539), + [sym_expression_statement] = STATE(539), + [sym_if_statement] = STATE(539), + [sym_switch_statement] = STATE(539), + [sym_case_statement] = STATE(539), + [sym_while_statement] = STATE(539), + [sym_do_statement] = STATE(539), + [sym_for_statement] = STATE(539), + [sym_return_statement] = STATE(539), + [sym_break_statement] = STATE(539), + [sym_continue_statement] = STATE(539), + [sym_goto_statement] = STATE(539), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(539), + [sym_co_return_statement] = STATE(539), + [sym_co_yield_statement] = STATE(539), + [sym_throw_statement] = STATE(539), + [sym_try_statement] = STATE(539), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [230] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [231] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [232] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [233] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [234] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [235] = { + [sym_compound_statement] = STATE(372), + [sym_labeled_statement] = STATE(372), + [sym_expression_statement] = STATE(372), + [sym_if_statement] = STATE(372), + [sym_switch_statement] = STATE(372), + [sym_case_statement] = STATE(372), + [sym_while_statement] = STATE(372), + [sym_do_statement] = STATE(372), + [sym_for_statement] = STATE(372), + [sym_return_statement] = STATE(372), + [sym_break_statement] = STATE(372), + [sym_continue_statement] = STATE(372), + [sym_goto_statement] = STATE(372), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(372), + [sym_co_return_statement] = STATE(372), + [sym_co_yield_statement] = STATE(372), + [sym_throw_statement] = STATE(372), + [sym_try_statement] = STATE(372), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [236] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [237] = { + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [anon_sym_COMMA] = ACTIONS(1963), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token2] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [aux_sym_preproc_else_token1] = ACTIONS(1861), + [aux_sym_preproc_elif_token1] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1963), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [238] = { + [sym_identifier] = ACTIONS(1965), + [aux_sym_preproc_include_token1] = ACTIONS(1965), + [aux_sym_preproc_def_token1] = ACTIONS(1965), + [aux_sym_preproc_if_token1] = ACTIONS(1965), + [aux_sym_preproc_if_token2] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1965), + [aux_sym_preproc_else_token1] = ACTIONS(1965), + [aux_sym_preproc_elif_token1] = ACTIONS(1965), + [sym_preproc_directive] = ACTIONS(1965), + [anon_sym_LPAREN2] = ACTIONS(1967), + [anon_sym_BANG] = ACTIONS(1967), + [anon_sym_TILDE] = ACTIONS(1967), + [anon_sym_DASH] = ACTIONS(1965), + [anon_sym_PLUS] = ACTIONS(1965), + [anon_sym_STAR] = ACTIONS(1967), + [anon_sym_AMP_AMP] = ACTIONS(1967), + [anon_sym_AMP] = ACTIONS(1965), + [anon_sym_SEMI] = ACTIONS(1967), + [anon_sym_typedef] = ACTIONS(1965), + [anon_sym_extern] = ACTIONS(1965), + [anon_sym___attribute__] = ACTIONS(1965), + [anon_sym_COLON_COLON] = ACTIONS(1967), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1967), + [anon_sym___declspec] = ACTIONS(1965), + [anon_sym___based] = ACTIONS(1965), + [anon_sym___cdecl] = ACTIONS(1965), + [anon_sym___clrcall] = ACTIONS(1965), + [anon_sym___stdcall] = ACTIONS(1965), + [anon_sym___fastcall] = ACTIONS(1965), + [anon_sym___thiscall] = ACTIONS(1965), + [anon_sym___vectorcall] = ACTIONS(1965), + [anon_sym_LBRACE] = ACTIONS(1967), + [anon_sym_LBRACK] = ACTIONS(1965), + [anon_sym_static] = ACTIONS(1965), + [anon_sym_register] = ACTIONS(1965), + [anon_sym_inline] = ACTIONS(1965), + [anon_sym_thread_local] = ACTIONS(1965), + [anon_sym_const] = ACTIONS(1965), + [anon_sym_volatile] = ACTIONS(1965), + [anon_sym_restrict] = ACTIONS(1965), + [anon_sym__Atomic] = ACTIONS(1965), + [anon_sym_mutable] = ACTIONS(1965), + [anon_sym_constexpr] = ACTIONS(1965), + [anon_sym_constinit] = ACTIONS(1965), + [anon_sym_consteval] = ACTIONS(1965), + [anon_sym_signed] = ACTIONS(1965), + [anon_sym_unsigned] = ACTIONS(1965), + [anon_sym_long] = ACTIONS(1965), + [anon_sym_short] = ACTIONS(1965), + [sym_primitive_type] = ACTIONS(1965), + [anon_sym_enum] = ACTIONS(1965), + [anon_sym_class] = ACTIONS(1965), + [anon_sym_struct] = ACTIONS(1965), + [anon_sym_union] = ACTIONS(1965), + [anon_sym_if] = ACTIONS(1965), + [anon_sym_else] = ACTIONS(1965), + [anon_sym_switch] = ACTIONS(1965), + [anon_sym_case] = ACTIONS(1965), + [anon_sym_default] = ACTIONS(1965), + [anon_sym_while] = ACTIONS(1965), + [anon_sym_do] = ACTIONS(1965), + [anon_sym_for] = ACTIONS(1965), + [anon_sym_return] = ACTIONS(1965), + [anon_sym_break] = ACTIONS(1965), + [anon_sym_continue] = ACTIONS(1965), + [anon_sym_goto] = ACTIONS(1965), + [anon_sym_DASH_DASH] = ACTIONS(1967), + [anon_sym_PLUS_PLUS] = ACTIONS(1967), + [anon_sym_sizeof] = ACTIONS(1965), + [sym_number_literal] = ACTIONS(1967), + [anon_sym_L_SQUOTE] = ACTIONS(1967), + [anon_sym_u_SQUOTE] = ACTIONS(1967), + [anon_sym_U_SQUOTE] = ACTIONS(1967), + [anon_sym_u8_SQUOTE] = ACTIONS(1967), + [anon_sym_SQUOTE] = ACTIONS(1967), + [anon_sym_L_DQUOTE] = ACTIONS(1967), + [anon_sym_u_DQUOTE] = ACTIONS(1967), + [anon_sym_U_DQUOTE] = ACTIONS(1967), + [anon_sym_u8_DQUOTE] = ACTIONS(1967), + [anon_sym_DQUOTE] = ACTIONS(1967), + [sym_true] = ACTIONS(1965), + [sym_false] = ACTIONS(1965), + [sym_null] = ACTIONS(1965), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1965), + [anon_sym_decltype] = ACTIONS(1965), + [anon_sym_virtual] = ACTIONS(1965), + [anon_sym_explicit] = ACTIONS(1965), + [anon_sym_typename] = ACTIONS(1965), + [anon_sym_template] = ACTIONS(1965), + [anon_sym_operator] = ACTIONS(1965), + [anon_sym_delete] = ACTIONS(1965), + [anon_sym_throw] = ACTIONS(1965), + [anon_sym_namespace] = ACTIONS(1965), + [anon_sym_using] = ACTIONS(1965), + [anon_sym_static_assert] = ACTIONS(1965), + [anon_sym_concept] = ACTIONS(1965), + [anon_sym_co_return] = ACTIONS(1965), + [anon_sym_co_yield] = ACTIONS(1965), + [anon_sym_try] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1965), + [anon_sym_new] = ACTIONS(1965), + [anon_sym_requires] = ACTIONS(1965), + [sym_this] = ACTIONS(1965), + [sym_nullptr] = ACTIONS(1965), + [sym_raw_string_literal] = ACTIONS(1967), + }, + [239] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [240] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [241] = { + [sym_compound_statement] = STATE(357), + [sym_labeled_statement] = STATE(357), + [sym_expression_statement] = STATE(357), + [sym_if_statement] = STATE(357), + [sym_switch_statement] = STATE(357), + [sym_case_statement] = STATE(357), + [sym_while_statement] = STATE(357), + [sym_do_statement] = STATE(357), + [sym_for_statement] = STATE(357), + [sym_return_statement] = STATE(357), + [sym_break_statement] = STATE(357), + [sym_continue_statement] = STATE(357), + [sym_goto_statement] = STATE(357), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(357), + [sym_co_return_statement] = STATE(357), + [sym_co_yield_statement] = STATE(357), + [sym_throw_statement] = STATE(357), + [sym_try_statement] = STATE(357), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [242] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [243] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [244] = { + [sym_compound_statement] = STATE(708), + [sym_labeled_statement] = STATE(708), + [sym_expression_statement] = STATE(708), + [sym_if_statement] = STATE(708), + [sym_switch_statement] = STATE(708), + [sym_case_statement] = STATE(708), + [sym_while_statement] = STATE(708), + [sym_do_statement] = STATE(708), + [sym_for_statement] = STATE(708), + [sym_return_statement] = STATE(708), + [sym_break_statement] = STATE(708), + [sym_continue_statement] = STATE(708), + [sym_goto_statement] = STATE(708), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(708), + [sym_co_return_statement] = STATE(708), + [sym_co_yield_statement] = STATE(708), + [sym_throw_statement] = STATE(708), + [sym_try_statement] = STATE(708), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [245] = { + [sym_identifier] = ACTIONS(1969), + [aux_sym_preproc_include_token1] = ACTIONS(1969), + [aux_sym_preproc_def_token1] = ACTIONS(1969), + [aux_sym_preproc_if_token1] = ACTIONS(1969), + [aux_sym_preproc_if_token2] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1969), + [aux_sym_preproc_else_token1] = ACTIONS(1969), + [aux_sym_preproc_elif_token1] = ACTIONS(1969), + [sym_preproc_directive] = ACTIONS(1969), + [anon_sym_LPAREN2] = ACTIONS(1971), + [anon_sym_BANG] = ACTIONS(1971), + [anon_sym_TILDE] = ACTIONS(1971), + [anon_sym_DASH] = ACTIONS(1969), + [anon_sym_PLUS] = ACTIONS(1969), + [anon_sym_STAR] = ACTIONS(1971), + [anon_sym_AMP_AMP] = ACTIONS(1971), + [anon_sym_AMP] = ACTIONS(1969), + [anon_sym_SEMI] = ACTIONS(1971), + [anon_sym_typedef] = ACTIONS(1969), + [anon_sym_extern] = ACTIONS(1969), + [anon_sym___attribute__] = ACTIONS(1969), + [anon_sym_COLON_COLON] = ACTIONS(1971), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1971), + [anon_sym___declspec] = ACTIONS(1969), + [anon_sym___based] = ACTIONS(1969), + [anon_sym___cdecl] = ACTIONS(1969), + [anon_sym___clrcall] = ACTIONS(1969), + [anon_sym___stdcall] = ACTIONS(1969), + [anon_sym___fastcall] = ACTIONS(1969), + [anon_sym___thiscall] = ACTIONS(1969), + [anon_sym___vectorcall] = ACTIONS(1969), + [anon_sym_LBRACE] = ACTIONS(1971), + [anon_sym_LBRACK] = ACTIONS(1969), + [anon_sym_static] = ACTIONS(1969), + [anon_sym_register] = ACTIONS(1969), + [anon_sym_inline] = ACTIONS(1969), + [anon_sym_thread_local] = ACTIONS(1969), + [anon_sym_const] = ACTIONS(1969), + [anon_sym_volatile] = ACTIONS(1969), + [anon_sym_restrict] = ACTIONS(1969), + [anon_sym__Atomic] = ACTIONS(1969), + [anon_sym_mutable] = ACTIONS(1969), + [anon_sym_constexpr] = ACTIONS(1969), + [anon_sym_constinit] = ACTIONS(1969), + [anon_sym_consteval] = ACTIONS(1969), + [anon_sym_signed] = ACTIONS(1969), + [anon_sym_unsigned] = ACTIONS(1969), + [anon_sym_long] = ACTIONS(1969), + [anon_sym_short] = ACTIONS(1969), + [sym_primitive_type] = ACTIONS(1969), + [anon_sym_enum] = ACTIONS(1969), + [anon_sym_class] = ACTIONS(1969), + [anon_sym_struct] = ACTIONS(1969), + [anon_sym_union] = ACTIONS(1969), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_else] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(1969), + [anon_sym_case] = ACTIONS(1969), + [anon_sym_default] = ACTIONS(1969), + [anon_sym_while] = ACTIONS(1969), + [anon_sym_do] = ACTIONS(1969), + [anon_sym_for] = ACTIONS(1969), + [anon_sym_return] = ACTIONS(1969), + [anon_sym_break] = ACTIONS(1969), + [anon_sym_continue] = ACTIONS(1969), + [anon_sym_goto] = ACTIONS(1969), + [anon_sym_DASH_DASH] = ACTIONS(1971), + [anon_sym_PLUS_PLUS] = ACTIONS(1971), + [anon_sym_sizeof] = ACTIONS(1969), + [sym_number_literal] = ACTIONS(1971), + [anon_sym_L_SQUOTE] = ACTIONS(1971), + [anon_sym_u_SQUOTE] = ACTIONS(1971), + [anon_sym_U_SQUOTE] = ACTIONS(1971), + [anon_sym_u8_SQUOTE] = ACTIONS(1971), + [anon_sym_SQUOTE] = ACTIONS(1971), + [anon_sym_L_DQUOTE] = ACTIONS(1971), + [anon_sym_u_DQUOTE] = ACTIONS(1971), + [anon_sym_U_DQUOTE] = ACTIONS(1971), + [anon_sym_u8_DQUOTE] = ACTIONS(1971), + [anon_sym_DQUOTE] = ACTIONS(1971), + [sym_true] = ACTIONS(1969), + [sym_false] = ACTIONS(1969), + [sym_null] = ACTIONS(1969), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1969), + [anon_sym_decltype] = ACTIONS(1969), + [anon_sym_virtual] = ACTIONS(1969), + [anon_sym_explicit] = ACTIONS(1969), + [anon_sym_typename] = ACTIONS(1969), + [anon_sym_template] = ACTIONS(1969), + [anon_sym_operator] = ACTIONS(1969), + [anon_sym_delete] = ACTIONS(1969), + [anon_sym_throw] = ACTIONS(1969), + [anon_sym_namespace] = ACTIONS(1969), + [anon_sym_using] = ACTIONS(1969), + [anon_sym_static_assert] = ACTIONS(1969), + [anon_sym_concept] = ACTIONS(1969), + [anon_sym_co_return] = ACTIONS(1969), + [anon_sym_co_yield] = ACTIONS(1969), + [anon_sym_try] = ACTIONS(1969), + [anon_sym_co_await] = ACTIONS(1969), + [anon_sym_new] = ACTIONS(1969), + [anon_sym_requires] = ACTIONS(1969), + [sym_this] = ACTIONS(1969), + [sym_nullptr] = ACTIONS(1969), + [sym_raw_string_literal] = ACTIONS(1971), + }, + [246] = { + [sym_compound_statement] = STATE(683), + [sym_labeled_statement] = STATE(683), + [sym_expression_statement] = STATE(683), + [sym_if_statement] = STATE(683), + [sym_switch_statement] = STATE(683), + [sym_case_statement] = STATE(683), + [sym_while_statement] = STATE(683), + [sym_do_statement] = STATE(683), + [sym_for_statement] = STATE(683), + [sym_return_statement] = STATE(683), + [sym_break_statement] = STATE(683), + [sym_continue_statement] = STATE(683), + [sym_goto_statement] = STATE(683), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(683), + [sym_co_return_statement] = STATE(683), + [sym_co_yield_statement] = STATE(683), + [sym_throw_statement] = STATE(683), + [sym_try_statement] = STATE(683), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [247] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [248] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [249] = { + [sym_compound_statement] = STATE(5786), + [sym_labeled_statement] = STATE(5786), + [sym_expression_statement] = STATE(5786), + [sym_if_statement] = STATE(5786), + [sym_switch_statement] = STATE(5786), + [sym_case_statement] = STATE(5786), + [sym_while_statement] = STATE(5786), + [sym_do_statement] = STATE(5786), + [sym_for_statement] = STATE(5786), + [sym_return_statement] = STATE(5786), + [sym_break_statement] = STATE(5786), + [sym_continue_statement] = STATE(5786), + [sym_goto_statement] = STATE(5786), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5786), + [sym_co_return_statement] = STATE(5786), + [sym_co_yield_statement] = STATE(5786), + [sym_throw_statement] = STATE(5786), + [sym_try_statement] = STATE(5786), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [250] = { + [sym_compound_statement] = STATE(653), + [sym_labeled_statement] = STATE(653), + [sym_expression_statement] = STATE(653), + [sym_if_statement] = STATE(653), + [sym_switch_statement] = STATE(653), + [sym_case_statement] = STATE(653), + [sym_while_statement] = STATE(653), + [sym_do_statement] = STATE(653), + [sym_for_statement] = STATE(653), + [sym_return_statement] = STATE(653), + [sym_break_statement] = STATE(653), + [sym_continue_statement] = STATE(653), + [sym_goto_statement] = STATE(653), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(653), + [sym_co_return_statement] = STATE(653), + [sym_co_yield_statement] = STATE(653), + [sym_throw_statement] = STATE(653), + [sym_try_statement] = STATE(653), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [251] = { + [sym_compound_statement] = STATE(536), + [sym_labeled_statement] = STATE(536), + [sym_expression_statement] = STATE(536), + [sym_if_statement] = STATE(536), + [sym_switch_statement] = STATE(536), + [sym_case_statement] = STATE(536), + [sym_while_statement] = STATE(536), + [sym_do_statement] = STATE(536), + [sym_for_statement] = STATE(536), + [sym_return_statement] = STATE(536), + [sym_break_statement] = STATE(536), + [sym_continue_statement] = STATE(536), + [sym_goto_statement] = STATE(536), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(536), + [sym_co_return_statement] = STATE(536), + [sym_co_yield_statement] = STATE(536), + [sym_throw_statement] = STATE(536), + [sym_try_statement] = STATE(536), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [252] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [253] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [254] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [aux_sym_preproc_else_token1] = ACTIONS(1933), + [aux_sym_preproc_elif_token1] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [255] = { + [sym_identifier] = ACTIONS(2009), + [aux_sym_preproc_include_token1] = ACTIONS(2009), + [aux_sym_preproc_def_token1] = ACTIONS(2009), + [aux_sym_preproc_if_token1] = ACTIONS(2009), + [aux_sym_preproc_if_token2] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2009), + [aux_sym_preproc_else_token1] = ACTIONS(2009), + [aux_sym_preproc_elif_token1] = ACTIONS(2009), + [sym_preproc_directive] = ACTIONS(2009), + [anon_sym_LPAREN2] = ACTIONS(2011), + [anon_sym_BANG] = ACTIONS(2011), + [anon_sym_TILDE] = ACTIONS(2011), + [anon_sym_DASH] = ACTIONS(2009), + [anon_sym_PLUS] = ACTIONS(2009), + [anon_sym_STAR] = ACTIONS(2011), + [anon_sym_AMP_AMP] = ACTIONS(2011), + [anon_sym_AMP] = ACTIONS(2009), + [anon_sym_SEMI] = ACTIONS(2011), + [anon_sym_typedef] = ACTIONS(2009), + [anon_sym_extern] = ACTIONS(2009), + [anon_sym___attribute__] = ACTIONS(2009), + [anon_sym_COLON_COLON] = ACTIONS(2011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2011), + [anon_sym___declspec] = ACTIONS(2009), + [anon_sym___based] = ACTIONS(2009), + [anon_sym___cdecl] = ACTIONS(2009), + [anon_sym___clrcall] = ACTIONS(2009), + [anon_sym___stdcall] = ACTIONS(2009), + [anon_sym___fastcall] = ACTIONS(2009), + [anon_sym___thiscall] = ACTIONS(2009), + [anon_sym___vectorcall] = ACTIONS(2009), + [anon_sym_LBRACE] = ACTIONS(2011), + [anon_sym_LBRACK] = ACTIONS(2009), + [anon_sym_static] = ACTIONS(2009), + [anon_sym_register] = ACTIONS(2009), + [anon_sym_inline] = ACTIONS(2009), + [anon_sym_thread_local] = ACTIONS(2009), + [anon_sym_const] = ACTIONS(2009), + [anon_sym_volatile] = ACTIONS(2009), + [anon_sym_restrict] = ACTIONS(2009), + [anon_sym__Atomic] = ACTIONS(2009), + [anon_sym_mutable] = ACTIONS(2009), + [anon_sym_constexpr] = ACTIONS(2009), + [anon_sym_constinit] = ACTIONS(2009), + [anon_sym_consteval] = ACTIONS(2009), + [anon_sym_signed] = ACTIONS(2009), + [anon_sym_unsigned] = ACTIONS(2009), + [anon_sym_long] = ACTIONS(2009), + [anon_sym_short] = ACTIONS(2009), + [sym_primitive_type] = ACTIONS(2009), + [anon_sym_enum] = ACTIONS(2009), + [anon_sym_class] = ACTIONS(2009), + [anon_sym_struct] = ACTIONS(2009), + [anon_sym_union] = ACTIONS(2009), + [anon_sym_if] = ACTIONS(2009), + [anon_sym_else] = ACTIONS(2009), + [anon_sym_switch] = ACTIONS(2009), + [anon_sym_case] = ACTIONS(2009), + [anon_sym_default] = ACTIONS(2009), + [anon_sym_while] = ACTIONS(2009), + [anon_sym_do] = ACTIONS(2009), + [anon_sym_for] = ACTIONS(2009), + [anon_sym_return] = ACTIONS(2009), + [anon_sym_break] = ACTIONS(2009), + [anon_sym_continue] = ACTIONS(2009), + [anon_sym_goto] = ACTIONS(2009), + [anon_sym_DASH_DASH] = ACTIONS(2011), + [anon_sym_PLUS_PLUS] = ACTIONS(2011), + [anon_sym_sizeof] = ACTIONS(2009), + [sym_number_literal] = ACTIONS(2011), + [anon_sym_L_SQUOTE] = ACTIONS(2011), + [anon_sym_u_SQUOTE] = ACTIONS(2011), + [anon_sym_U_SQUOTE] = ACTIONS(2011), + [anon_sym_u8_SQUOTE] = ACTIONS(2011), + [anon_sym_SQUOTE] = ACTIONS(2011), + [anon_sym_L_DQUOTE] = ACTIONS(2011), + [anon_sym_u_DQUOTE] = ACTIONS(2011), + [anon_sym_U_DQUOTE] = ACTIONS(2011), + [anon_sym_u8_DQUOTE] = ACTIONS(2011), + [anon_sym_DQUOTE] = ACTIONS(2011), + [sym_true] = ACTIONS(2009), + [sym_false] = ACTIONS(2009), + [sym_null] = ACTIONS(2009), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2009), + [anon_sym_decltype] = ACTIONS(2009), + [anon_sym_virtual] = ACTIONS(2009), + [anon_sym_explicit] = ACTIONS(2009), + [anon_sym_typename] = ACTIONS(2009), + [anon_sym_template] = ACTIONS(2009), + [anon_sym_operator] = ACTIONS(2009), + [anon_sym_delete] = ACTIONS(2009), + [anon_sym_throw] = ACTIONS(2009), + [anon_sym_namespace] = ACTIONS(2009), + [anon_sym_using] = ACTIONS(2009), + [anon_sym_static_assert] = ACTIONS(2009), + [anon_sym_concept] = ACTIONS(2009), + [anon_sym_co_return] = ACTIONS(2009), + [anon_sym_co_yield] = ACTIONS(2009), + [anon_sym_try] = ACTIONS(2009), + [anon_sym_co_await] = ACTIONS(2009), + [anon_sym_new] = ACTIONS(2009), + [anon_sym_requires] = ACTIONS(2009), + [sym_this] = ACTIONS(2009), + [sym_nullptr] = ACTIONS(2009), + [sym_raw_string_literal] = ACTIONS(2011), + }, + [256] = { + [sym_identifier] = ACTIONS(2013), + [aux_sym_preproc_include_token1] = ACTIONS(2013), + [aux_sym_preproc_def_token1] = ACTIONS(2013), + [aux_sym_preproc_if_token1] = ACTIONS(2013), + [aux_sym_preproc_if_token2] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2013), + [aux_sym_preproc_else_token1] = ACTIONS(2013), + [aux_sym_preproc_elif_token1] = ACTIONS(2013), + [sym_preproc_directive] = ACTIONS(2013), + [anon_sym_LPAREN2] = ACTIONS(2015), + [anon_sym_BANG] = ACTIONS(2015), + [anon_sym_TILDE] = ACTIONS(2015), + [anon_sym_DASH] = ACTIONS(2013), + [anon_sym_PLUS] = ACTIONS(2013), + [anon_sym_STAR] = ACTIONS(2015), + [anon_sym_AMP_AMP] = ACTIONS(2015), + [anon_sym_AMP] = ACTIONS(2013), + [anon_sym_SEMI] = ACTIONS(2015), + [anon_sym_typedef] = ACTIONS(2013), + [anon_sym_extern] = ACTIONS(2013), + [anon_sym___attribute__] = ACTIONS(2013), + [anon_sym_COLON_COLON] = ACTIONS(2015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2015), + [anon_sym___declspec] = ACTIONS(2013), + [anon_sym___based] = ACTIONS(2013), + [anon_sym___cdecl] = ACTIONS(2013), + [anon_sym___clrcall] = ACTIONS(2013), + [anon_sym___stdcall] = ACTIONS(2013), + [anon_sym___fastcall] = ACTIONS(2013), + [anon_sym___thiscall] = ACTIONS(2013), + [anon_sym___vectorcall] = ACTIONS(2013), + [anon_sym_LBRACE] = ACTIONS(2015), + [anon_sym_LBRACK] = ACTIONS(2013), + [anon_sym_static] = ACTIONS(2013), + [anon_sym_register] = ACTIONS(2013), + [anon_sym_inline] = ACTIONS(2013), + [anon_sym_thread_local] = ACTIONS(2013), + [anon_sym_const] = ACTIONS(2013), + [anon_sym_volatile] = ACTIONS(2013), + [anon_sym_restrict] = ACTIONS(2013), + [anon_sym__Atomic] = ACTIONS(2013), + [anon_sym_mutable] = ACTIONS(2013), + [anon_sym_constexpr] = ACTIONS(2013), + [anon_sym_constinit] = ACTIONS(2013), + [anon_sym_consteval] = ACTIONS(2013), + [anon_sym_signed] = ACTIONS(2013), + [anon_sym_unsigned] = ACTIONS(2013), + [anon_sym_long] = ACTIONS(2013), + [anon_sym_short] = ACTIONS(2013), + [sym_primitive_type] = ACTIONS(2013), + [anon_sym_enum] = ACTIONS(2013), + [anon_sym_class] = ACTIONS(2013), + [anon_sym_struct] = ACTIONS(2013), + [anon_sym_union] = ACTIONS(2013), + [anon_sym_if] = ACTIONS(2013), + [anon_sym_else] = ACTIONS(2013), + [anon_sym_switch] = ACTIONS(2013), + [anon_sym_case] = ACTIONS(2013), + [anon_sym_default] = ACTIONS(2013), + [anon_sym_while] = ACTIONS(2013), + [anon_sym_do] = ACTIONS(2013), + [anon_sym_for] = ACTIONS(2013), + [anon_sym_return] = ACTIONS(2013), + [anon_sym_break] = ACTIONS(2013), + [anon_sym_continue] = ACTIONS(2013), + [anon_sym_goto] = ACTIONS(2013), + [anon_sym_DASH_DASH] = ACTIONS(2015), + [anon_sym_PLUS_PLUS] = ACTIONS(2015), + [anon_sym_sizeof] = ACTIONS(2013), + [sym_number_literal] = ACTIONS(2015), + [anon_sym_L_SQUOTE] = ACTIONS(2015), + [anon_sym_u_SQUOTE] = ACTIONS(2015), + [anon_sym_U_SQUOTE] = ACTIONS(2015), + [anon_sym_u8_SQUOTE] = ACTIONS(2015), + [anon_sym_SQUOTE] = ACTIONS(2015), + [anon_sym_L_DQUOTE] = ACTIONS(2015), + [anon_sym_u_DQUOTE] = ACTIONS(2015), + [anon_sym_U_DQUOTE] = ACTIONS(2015), + [anon_sym_u8_DQUOTE] = ACTIONS(2015), + [anon_sym_DQUOTE] = ACTIONS(2015), + [sym_true] = ACTIONS(2013), + [sym_false] = ACTIONS(2013), + [sym_null] = ACTIONS(2013), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2013), + [anon_sym_decltype] = ACTIONS(2013), + [anon_sym_virtual] = ACTIONS(2013), + [anon_sym_explicit] = ACTIONS(2013), + [anon_sym_typename] = ACTIONS(2013), + [anon_sym_template] = ACTIONS(2013), + [anon_sym_operator] = ACTIONS(2013), + [anon_sym_delete] = ACTIONS(2013), + [anon_sym_throw] = ACTIONS(2013), + [anon_sym_namespace] = ACTIONS(2013), + [anon_sym_using] = ACTIONS(2013), + [anon_sym_static_assert] = ACTIONS(2013), + [anon_sym_concept] = ACTIONS(2013), + [anon_sym_co_return] = ACTIONS(2013), + [anon_sym_co_yield] = ACTIONS(2013), + [anon_sym_try] = ACTIONS(2013), + [anon_sym_co_await] = ACTIONS(2013), + [anon_sym_new] = ACTIONS(2013), + [anon_sym_requires] = ACTIONS(2013), + [sym_this] = ACTIONS(2013), + [sym_nullptr] = ACTIONS(2013), + [sym_raw_string_literal] = ACTIONS(2015), + }, + [257] = { + [sym_compound_statement] = STATE(260), + [sym_labeled_statement] = STATE(260), + [sym_expression_statement] = STATE(260), + [sym_if_statement] = STATE(260), + [sym_switch_statement] = STATE(260), + [sym_case_statement] = STATE(260), + [sym_while_statement] = STATE(260), + [sym_do_statement] = STATE(260), + [sym_for_statement] = STATE(260), + [sym_return_statement] = STATE(260), + [sym_break_statement] = STATE(260), + [sym_continue_statement] = STATE(260), + [sym_goto_statement] = STATE(260), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(260), + [sym_co_return_statement] = STATE(260), + [sym_co_yield_statement] = STATE(260), + [sym_throw_statement] = STATE(260), + [sym_try_statement] = STATE(260), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [258] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(926), + [sym_labeled_statement] = STATE(926), + [sym_expression_statement] = STATE(926), + [sym_if_statement] = STATE(926), + [sym_switch_statement] = STATE(926), + [sym_while_statement] = STATE(926), + [sym_do_statement] = STATE(926), + [sym_for_statement] = STATE(926), + [sym_return_statement] = STATE(926), + [sym_break_statement] = STATE(926), + [sym_continue_statement] = STATE(926), + [sym_goto_statement] = STATE(926), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(926), + [sym_co_return_statement] = STATE(926), + [sym_co_yield_statement] = STATE(926), + [sym_throw_statement] = STATE(926), + [sym_try_statement] = STATE(926), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [259] = { + [sym_compound_statement] = STATE(530), + [sym_labeled_statement] = STATE(530), + [sym_expression_statement] = STATE(530), + [sym_if_statement] = STATE(530), + [sym_switch_statement] = STATE(530), + [sym_case_statement] = STATE(530), + [sym_while_statement] = STATE(530), + [sym_do_statement] = STATE(530), + [sym_for_statement] = STATE(530), + [sym_return_statement] = STATE(530), + [sym_break_statement] = STATE(530), + [sym_continue_statement] = STATE(530), + [sym_goto_statement] = STATE(530), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(530), + [sym_co_return_statement] = STATE(530), + [sym_co_yield_statement] = STATE(530), + [sym_throw_statement] = STATE(530), + [sym_try_statement] = STATE(530), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [260] = { + [sym_identifier] = ACTIONS(2019), + [aux_sym_preproc_include_token1] = ACTIONS(2019), + [aux_sym_preproc_def_token1] = ACTIONS(2019), + [aux_sym_preproc_if_token1] = ACTIONS(2019), + [aux_sym_preproc_if_token2] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2019), + [aux_sym_preproc_else_token1] = ACTIONS(2019), + [aux_sym_preproc_elif_token1] = ACTIONS(2019), + [sym_preproc_directive] = ACTIONS(2019), + [anon_sym_LPAREN2] = ACTIONS(2021), + [anon_sym_BANG] = ACTIONS(2021), + [anon_sym_TILDE] = ACTIONS(2021), + [anon_sym_DASH] = ACTIONS(2019), + [anon_sym_PLUS] = ACTIONS(2019), + [anon_sym_STAR] = ACTIONS(2021), + [anon_sym_AMP_AMP] = ACTIONS(2021), + [anon_sym_AMP] = ACTIONS(2019), + [anon_sym_SEMI] = ACTIONS(2021), + [anon_sym_typedef] = ACTIONS(2019), + [anon_sym_extern] = ACTIONS(2019), + [anon_sym___attribute__] = ACTIONS(2019), + [anon_sym_COLON_COLON] = ACTIONS(2021), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2021), + [anon_sym___declspec] = ACTIONS(2019), + [anon_sym___based] = ACTIONS(2019), + [anon_sym___cdecl] = ACTIONS(2019), + [anon_sym___clrcall] = ACTIONS(2019), + [anon_sym___stdcall] = ACTIONS(2019), + [anon_sym___fastcall] = ACTIONS(2019), + [anon_sym___thiscall] = ACTIONS(2019), + [anon_sym___vectorcall] = ACTIONS(2019), + [anon_sym_LBRACE] = ACTIONS(2021), + [anon_sym_LBRACK] = ACTIONS(2019), + [anon_sym_static] = ACTIONS(2019), + [anon_sym_register] = ACTIONS(2019), + [anon_sym_inline] = ACTIONS(2019), + [anon_sym_thread_local] = ACTIONS(2019), + [anon_sym_const] = ACTIONS(2019), + [anon_sym_volatile] = ACTIONS(2019), + [anon_sym_restrict] = ACTIONS(2019), + [anon_sym__Atomic] = ACTIONS(2019), + [anon_sym_mutable] = ACTIONS(2019), + [anon_sym_constexpr] = ACTIONS(2019), + [anon_sym_constinit] = ACTIONS(2019), + [anon_sym_consteval] = ACTIONS(2019), + [anon_sym_signed] = ACTIONS(2019), + [anon_sym_unsigned] = ACTIONS(2019), + [anon_sym_long] = ACTIONS(2019), + [anon_sym_short] = ACTIONS(2019), + [sym_primitive_type] = ACTIONS(2019), + [anon_sym_enum] = ACTIONS(2019), + [anon_sym_class] = ACTIONS(2019), + [anon_sym_struct] = ACTIONS(2019), + [anon_sym_union] = ACTIONS(2019), + [anon_sym_if] = ACTIONS(2019), + [anon_sym_else] = ACTIONS(2019), + [anon_sym_switch] = ACTIONS(2019), + [anon_sym_case] = ACTIONS(2019), + [anon_sym_default] = ACTIONS(2019), + [anon_sym_while] = ACTIONS(2019), + [anon_sym_do] = ACTIONS(2019), + [anon_sym_for] = ACTIONS(2019), + [anon_sym_return] = ACTIONS(2019), + [anon_sym_break] = ACTIONS(2019), + [anon_sym_continue] = ACTIONS(2019), + [anon_sym_goto] = ACTIONS(2019), + [anon_sym_DASH_DASH] = ACTIONS(2021), + [anon_sym_PLUS_PLUS] = ACTIONS(2021), + [anon_sym_sizeof] = ACTIONS(2019), + [sym_number_literal] = ACTIONS(2021), + [anon_sym_L_SQUOTE] = ACTIONS(2021), + [anon_sym_u_SQUOTE] = ACTIONS(2021), + [anon_sym_U_SQUOTE] = ACTIONS(2021), + [anon_sym_u8_SQUOTE] = ACTIONS(2021), + [anon_sym_SQUOTE] = ACTIONS(2021), + [anon_sym_L_DQUOTE] = ACTIONS(2021), + [anon_sym_u_DQUOTE] = ACTIONS(2021), + [anon_sym_U_DQUOTE] = ACTIONS(2021), + [anon_sym_u8_DQUOTE] = ACTIONS(2021), + [anon_sym_DQUOTE] = ACTIONS(2021), + [sym_true] = ACTIONS(2019), + [sym_false] = ACTIONS(2019), + [sym_null] = ACTIONS(2019), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2019), + [anon_sym_decltype] = ACTIONS(2019), + [anon_sym_virtual] = ACTIONS(2019), + [anon_sym_explicit] = ACTIONS(2019), + [anon_sym_typename] = ACTIONS(2019), + [anon_sym_template] = ACTIONS(2019), + [anon_sym_operator] = ACTIONS(2019), + [anon_sym_delete] = ACTIONS(2019), + [anon_sym_throw] = ACTIONS(2019), + [anon_sym_namespace] = ACTIONS(2019), + [anon_sym_using] = ACTIONS(2019), + [anon_sym_static_assert] = ACTIONS(2019), + [anon_sym_concept] = ACTIONS(2019), + [anon_sym_co_return] = ACTIONS(2019), + [anon_sym_co_yield] = ACTIONS(2019), + [anon_sym_try] = ACTIONS(2019), + [anon_sym_co_await] = ACTIONS(2019), + [anon_sym_new] = ACTIONS(2019), + [anon_sym_requires] = ACTIONS(2019), + [sym_this] = ACTIONS(2019), + [sym_nullptr] = ACTIONS(2019), + [sym_raw_string_literal] = ACTIONS(2021), + }, + [261] = { + [sym_compound_statement] = STATE(573), + [sym_labeled_statement] = STATE(573), + [sym_expression_statement] = STATE(573), + [sym_if_statement] = STATE(573), + [sym_switch_statement] = STATE(573), + [sym_case_statement] = STATE(573), + [sym_while_statement] = STATE(573), + [sym_do_statement] = STATE(573), + [sym_for_statement] = STATE(573), + [sym_return_statement] = STATE(573), + [sym_break_statement] = STATE(573), + [sym_continue_statement] = STATE(573), + [sym_goto_statement] = STATE(573), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(573), + [sym_co_return_statement] = STATE(573), + [sym_co_yield_statement] = STATE(573), + [sym_throw_statement] = STATE(573), + [sym_try_statement] = STATE(573), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [262] = { + [sym_compound_statement] = STATE(569), + [sym_labeled_statement] = STATE(569), + [sym_expression_statement] = STATE(569), + [sym_if_statement] = STATE(569), + [sym_switch_statement] = STATE(569), + [sym_case_statement] = STATE(569), + [sym_while_statement] = STATE(569), + [sym_do_statement] = STATE(569), + [sym_for_statement] = STATE(569), + [sym_return_statement] = STATE(569), + [sym_break_statement] = STATE(569), + [sym_continue_statement] = STATE(569), + [sym_goto_statement] = STATE(569), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(569), + [sym_co_return_statement] = STATE(569), + [sym_co_yield_statement] = STATE(569), + [sym_throw_statement] = STATE(569), + [sym_try_statement] = STATE(569), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [263] = { + [sym_compound_statement] = STATE(559), + [sym_labeled_statement] = STATE(559), + [sym_expression_statement] = STATE(559), + [sym_if_statement] = STATE(559), + [sym_switch_statement] = STATE(559), + [sym_case_statement] = STATE(559), + [sym_while_statement] = STATE(559), + [sym_do_statement] = STATE(559), + [sym_for_statement] = STATE(559), + [sym_return_statement] = STATE(559), + [sym_break_statement] = STATE(559), + [sym_continue_statement] = STATE(559), + [sym_goto_statement] = STATE(559), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(559), + [sym_co_return_statement] = STATE(559), + [sym_co_yield_statement] = STATE(559), + [sym_throw_statement] = STATE(559), + [sym_try_statement] = STATE(559), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [264] = { + [sym_compound_statement] = STATE(654), + [sym_labeled_statement] = STATE(654), + [sym_expression_statement] = STATE(654), + [sym_if_statement] = STATE(654), + [sym_switch_statement] = STATE(654), + [sym_case_statement] = STATE(654), + [sym_while_statement] = STATE(654), + [sym_do_statement] = STATE(654), + [sym_for_statement] = STATE(654), + [sym_return_statement] = STATE(654), + [sym_break_statement] = STATE(654), + [sym_continue_statement] = STATE(654), + [sym_goto_statement] = STATE(654), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(654), + [sym_co_return_statement] = STATE(654), + [sym_co_yield_statement] = STATE(654), + [sym_throw_statement] = STATE(654), + [sym_try_statement] = STATE(654), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [265] = { + [sym_compound_statement] = STATE(360), + [sym_labeled_statement] = STATE(360), + [sym_expression_statement] = STATE(360), + [sym_if_statement] = STATE(360), + [sym_switch_statement] = STATE(360), + [sym_case_statement] = STATE(360), + [sym_while_statement] = STATE(360), + [sym_do_statement] = STATE(360), + [sym_for_statement] = STATE(360), + [sym_return_statement] = STATE(360), + [sym_break_statement] = STATE(360), + [sym_continue_statement] = STATE(360), + [sym_goto_statement] = STATE(360), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(360), + [sym_co_return_statement] = STATE(360), + [sym_co_yield_statement] = STATE(360), + [sym_throw_statement] = STATE(360), + [sym_try_statement] = STATE(360), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [266] = { + [sym_compound_statement] = STATE(646), + [sym_labeled_statement] = STATE(646), + [sym_expression_statement] = STATE(646), + [sym_if_statement] = STATE(646), + [sym_switch_statement] = STATE(646), + [sym_case_statement] = STATE(646), + [sym_while_statement] = STATE(646), + [sym_do_statement] = STATE(646), + [sym_for_statement] = STATE(646), + [sym_return_statement] = STATE(646), + [sym_break_statement] = STATE(646), + [sym_continue_statement] = STATE(646), + [sym_goto_statement] = STATE(646), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(646), + [sym_co_return_statement] = STATE(646), + [sym_co_yield_statement] = STATE(646), + [sym_throw_statement] = STATE(646), + [sym_try_statement] = STATE(646), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [267] = { + [sym_compound_statement] = STATE(506), + [sym_labeled_statement] = STATE(506), + [sym_expression_statement] = STATE(506), + [sym_if_statement] = STATE(506), + [sym_switch_statement] = STATE(506), + [sym_case_statement] = STATE(506), + [sym_while_statement] = STATE(506), + [sym_do_statement] = STATE(506), + [sym_for_statement] = STATE(506), + [sym_return_statement] = STATE(506), + [sym_break_statement] = STATE(506), + [sym_continue_statement] = STATE(506), + [sym_goto_statement] = STATE(506), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(506), + [sym_co_return_statement] = STATE(506), + [sym_co_yield_statement] = STATE(506), + [sym_throw_statement] = STATE(506), + [sym_try_statement] = STATE(506), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [268] = { + [sym_identifier] = ACTIONS(2023), + [aux_sym_preproc_include_token1] = ACTIONS(2023), + [aux_sym_preproc_def_token1] = ACTIONS(2023), + [aux_sym_preproc_if_token1] = ACTIONS(2023), + [aux_sym_preproc_if_token2] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2023), + [aux_sym_preproc_else_token1] = ACTIONS(2023), + [aux_sym_preproc_elif_token1] = ACTIONS(2023), + [sym_preproc_directive] = ACTIONS(2023), + [anon_sym_LPAREN2] = ACTIONS(2025), + [anon_sym_BANG] = ACTIONS(2025), + [anon_sym_TILDE] = ACTIONS(2025), + [anon_sym_DASH] = ACTIONS(2023), + [anon_sym_PLUS] = ACTIONS(2023), + [anon_sym_STAR] = ACTIONS(2025), + [anon_sym_AMP_AMP] = ACTIONS(2025), + [anon_sym_AMP] = ACTIONS(2023), + [anon_sym_SEMI] = ACTIONS(2025), + [anon_sym_typedef] = ACTIONS(2023), + [anon_sym_extern] = ACTIONS(2023), + [anon_sym___attribute__] = ACTIONS(2023), + [anon_sym_COLON_COLON] = ACTIONS(2025), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2025), + [anon_sym___declspec] = ACTIONS(2023), + [anon_sym___based] = ACTIONS(2023), + [anon_sym___cdecl] = ACTIONS(2023), + [anon_sym___clrcall] = ACTIONS(2023), + [anon_sym___stdcall] = ACTIONS(2023), + [anon_sym___fastcall] = ACTIONS(2023), + [anon_sym___thiscall] = ACTIONS(2023), + [anon_sym___vectorcall] = ACTIONS(2023), + [anon_sym_LBRACE] = ACTIONS(2025), + [anon_sym_LBRACK] = ACTIONS(2023), + [anon_sym_static] = ACTIONS(2023), + [anon_sym_register] = ACTIONS(2023), + [anon_sym_inline] = ACTIONS(2023), + [anon_sym_thread_local] = ACTIONS(2023), + [anon_sym_const] = ACTIONS(2023), + [anon_sym_volatile] = ACTIONS(2023), + [anon_sym_restrict] = ACTIONS(2023), + [anon_sym__Atomic] = ACTIONS(2023), + [anon_sym_mutable] = ACTIONS(2023), + [anon_sym_constexpr] = ACTIONS(2023), + [anon_sym_constinit] = ACTIONS(2023), + [anon_sym_consteval] = ACTIONS(2023), + [anon_sym_signed] = ACTIONS(2023), + [anon_sym_unsigned] = ACTIONS(2023), + [anon_sym_long] = ACTIONS(2023), + [anon_sym_short] = ACTIONS(2023), + [sym_primitive_type] = ACTIONS(2023), + [anon_sym_enum] = ACTIONS(2023), + [anon_sym_class] = ACTIONS(2023), + [anon_sym_struct] = ACTIONS(2023), + [anon_sym_union] = ACTIONS(2023), + [anon_sym_if] = ACTIONS(2023), + [anon_sym_else] = ACTIONS(2023), + [anon_sym_switch] = ACTIONS(2023), + [anon_sym_case] = ACTIONS(2023), + [anon_sym_default] = ACTIONS(2023), + [anon_sym_while] = ACTIONS(2023), + [anon_sym_do] = ACTIONS(2023), + [anon_sym_for] = ACTIONS(2023), + [anon_sym_return] = ACTIONS(2023), + [anon_sym_break] = ACTIONS(2023), + [anon_sym_continue] = ACTIONS(2023), + [anon_sym_goto] = ACTIONS(2023), + [anon_sym_DASH_DASH] = ACTIONS(2025), + [anon_sym_PLUS_PLUS] = ACTIONS(2025), + [anon_sym_sizeof] = ACTIONS(2023), + [sym_number_literal] = ACTIONS(2025), + [anon_sym_L_SQUOTE] = ACTIONS(2025), + [anon_sym_u_SQUOTE] = ACTIONS(2025), + [anon_sym_U_SQUOTE] = ACTIONS(2025), + [anon_sym_u8_SQUOTE] = ACTIONS(2025), + [anon_sym_SQUOTE] = ACTIONS(2025), + [anon_sym_L_DQUOTE] = ACTIONS(2025), + [anon_sym_u_DQUOTE] = ACTIONS(2025), + [anon_sym_U_DQUOTE] = ACTIONS(2025), + [anon_sym_u8_DQUOTE] = ACTIONS(2025), + [anon_sym_DQUOTE] = ACTIONS(2025), + [sym_true] = ACTIONS(2023), + [sym_false] = ACTIONS(2023), + [sym_null] = ACTIONS(2023), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2023), + [anon_sym_decltype] = ACTIONS(2023), + [anon_sym_virtual] = ACTIONS(2023), + [anon_sym_explicit] = ACTIONS(2023), + [anon_sym_typename] = ACTIONS(2023), + [anon_sym_template] = ACTIONS(2023), + [anon_sym_operator] = ACTIONS(2023), + [anon_sym_delete] = ACTIONS(2023), + [anon_sym_throw] = ACTIONS(2023), + [anon_sym_namespace] = ACTIONS(2023), + [anon_sym_using] = ACTIONS(2023), + [anon_sym_static_assert] = ACTIONS(2023), + [anon_sym_concept] = ACTIONS(2023), + [anon_sym_co_return] = ACTIONS(2023), + [anon_sym_co_yield] = ACTIONS(2023), + [anon_sym_try] = ACTIONS(2023), + [anon_sym_co_await] = ACTIONS(2023), + [anon_sym_new] = ACTIONS(2023), + [anon_sym_requires] = ACTIONS(2023), + [sym_this] = ACTIONS(2023), + [sym_nullptr] = ACTIONS(2023), + [sym_raw_string_literal] = ACTIONS(2025), + }, + [269] = { + [sym_identifier] = ACTIONS(2027), + [aux_sym_preproc_include_token1] = ACTIONS(2027), + [aux_sym_preproc_def_token1] = ACTIONS(2027), + [aux_sym_preproc_if_token1] = ACTIONS(2027), + [aux_sym_preproc_if_token2] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2027), + [aux_sym_preproc_else_token1] = ACTIONS(2027), + [aux_sym_preproc_elif_token1] = ACTIONS(2027), + [sym_preproc_directive] = ACTIONS(2027), + [anon_sym_LPAREN2] = ACTIONS(2029), + [anon_sym_BANG] = ACTIONS(2029), + [anon_sym_TILDE] = ACTIONS(2029), + [anon_sym_DASH] = ACTIONS(2027), + [anon_sym_PLUS] = ACTIONS(2027), + [anon_sym_STAR] = ACTIONS(2029), + [anon_sym_AMP_AMP] = ACTIONS(2029), + [anon_sym_AMP] = ACTIONS(2027), + [anon_sym_SEMI] = ACTIONS(2029), + [anon_sym_typedef] = ACTIONS(2027), + [anon_sym_extern] = ACTIONS(2027), + [anon_sym___attribute__] = ACTIONS(2027), + [anon_sym_COLON_COLON] = ACTIONS(2029), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2029), + [anon_sym___declspec] = ACTIONS(2027), + [anon_sym___based] = ACTIONS(2027), + [anon_sym___cdecl] = ACTIONS(2027), + [anon_sym___clrcall] = ACTIONS(2027), + [anon_sym___stdcall] = ACTIONS(2027), + [anon_sym___fastcall] = ACTIONS(2027), + [anon_sym___thiscall] = ACTIONS(2027), + [anon_sym___vectorcall] = ACTIONS(2027), + [anon_sym_LBRACE] = ACTIONS(2029), + [anon_sym_LBRACK] = ACTIONS(2027), + [anon_sym_static] = ACTIONS(2027), + [anon_sym_register] = ACTIONS(2027), + [anon_sym_inline] = ACTIONS(2027), + [anon_sym_thread_local] = ACTIONS(2027), + [anon_sym_const] = ACTIONS(2027), + [anon_sym_volatile] = ACTIONS(2027), + [anon_sym_restrict] = ACTIONS(2027), + [anon_sym__Atomic] = ACTIONS(2027), + [anon_sym_mutable] = ACTIONS(2027), + [anon_sym_constexpr] = ACTIONS(2027), + [anon_sym_constinit] = ACTIONS(2027), + [anon_sym_consteval] = ACTIONS(2027), + [anon_sym_signed] = ACTIONS(2027), + [anon_sym_unsigned] = ACTIONS(2027), + [anon_sym_long] = ACTIONS(2027), + [anon_sym_short] = ACTIONS(2027), + [sym_primitive_type] = ACTIONS(2027), + [anon_sym_enum] = ACTIONS(2027), + [anon_sym_class] = ACTIONS(2027), + [anon_sym_struct] = ACTIONS(2027), + [anon_sym_union] = ACTIONS(2027), + [anon_sym_if] = ACTIONS(2027), + [anon_sym_else] = ACTIONS(2027), + [anon_sym_switch] = ACTIONS(2027), + [anon_sym_case] = ACTIONS(2027), + [anon_sym_default] = ACTIONS(2027), + [anon_sym_while] = ACTIONS(2027), + [anon_sym_do] = ACTIONS(2027), + [anon_sym_for] = ACTIONS(2027), + [anon_sym_return] = ACTIONS(2027), + [anon_sym_break] = ACTIONS(2027), + [anon_sym_continue] = ACTIONS(2027), + [anon_sym_goto] = ACTIONS(2027), + [anon_sym_DASH_DASH] = ACTIONS(2029), + [anon_sym_PLUS_PLUS] = ACTIONS(2029), + [anon_sym_sizeof] = ACTIONS(2027), + [sym_number_literal] = ACTIONS(2029), + [anon_sym_L_SQUOTE] = ACTIONS(2029), + [anon_sym_u_SQUOTE] = ACTIONS(2029), + [anon_sym_U_SQUOTE] = ACTIONS(2029), + [anon_sym_u8_SQUOTE] = ACTIONS(2029), + [anon_sym_SQUOTE] = ACTIONS(2029), + [anon_sym_L_DQUOTE] = ACTIONS(2029), + [anon_sym_u_DQUOTE] = ACTIONS(2029), + [anon_sym_U_DQUOTE] = ACTIONS(2029), + [anon_sym_u8_DQUOTE] = ACTIONS(2029), + [anon_sym_DQUOTE] = ACTIONS(2029), + [sym_true] = ACTIONS(2027), + [sym_false] = ACTIONS(2027), + [sym_null] = ACTIONS(2027), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2027), + [anon_sym_decltype] = ACTIONS(2027), + [anon_sym_virtual] = ACTIONS(2027), + [anon_sym_explicit] = ACTIONS(2027), + [anon_sym_typename] = ACTIONS(2027), + [anon_sym_template] = ACTIONS(2027), + [anon_sym_operator] = ACTIONS(2027), + [anon_sym_delete] = ACTIONS(2027), + [anon_sym_throw] = ACTIONS(2027), + [anon_sym_namespace] = ACTIONS(2027), + [anon_sym_using] = ACTIONS(2027), + [anon_sym_static_assert] = ACTIONS(2027), + [anon_sym_concept] = ACTIONS(2027), + [anon_sym_co_return] = ACTIONS(2027), + [anon_sym_co_yield] = ACTIONS(2027), + [anon_sym_try] = ACTIONS(2027), + [anon_sym_co_await] = ACTIONS(2027), + [anon_sym_new] = ACTIONS(2027), + [anon_sym_requires] = ACTIONS(2027), + [sym_this] = ACTIONS(2027), + [sym_nullptr] = ACTIONS(2027), + [sym_raw_string_literal] = ACTIONS(2029), + }, + [270] = { + [sym_identifier] = ACTIONS(2031), + [aux_sym_preproc_include_token1] = ACTIONS(2031), + [aux_sym_preproc_def_token1] = ACTIONS(2031), + [aux_sym_preproc_if_token1] = ACTIONS(2031), + [aux_sym_preproc_if_token2] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2031), + [aux_sym_preproc_else_token1] = ACTIONS(2031), + [aux_sym_preproc_elif_token1] = ACTIONS(2031), + [sym_preproc_directive] = ACTIONS(2031), + [anon_sym_LPAREN2] = ACTIONS(2033), + [anon_sym_BANG] = ACTIONS(2033), + [anon_sym_TILDE] = ACTIONS(2033), + [anon_sym_DASH] = ACTIONS(2031), + [anon_sym_PLUS] = ACTIONS(2031), + [anon_sym_STAR] = ACTIONS(2033), + [anon_sym_AMP_AMP] = ACTIONS(2033), + [anon_sym_AMP] = ACTIONS(2031), + [anon_sym_SEMI] = ACTIONS(2033), + [anon_sym_typedef] = ACTIONS(2031), + [anon_sym_extern] = ACTIONS(2031), + [anon_sym___attribute__] = ACTIONS(2031), + [anon_sym_COLON_COLON] = ACTIONS(2033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2033), + [anon_sym___declspec] = ACTIONS(2031), + [anon_sym___based] = ACTIONS(2031), + [anon_sym___cdecl] = ACTIONS(2031), + [anon_sym___clrcall] = ACTIONS(2031), + [anon_sym___stdcall] = ACTIONS(2031), + [anon_sym___fastcall] = ACTIONS(2031), + [anon_sym___thiscall] = ACTIONS(2031), + [anon_sym___vectorcall] = ACTIONS(2031), + [anon_sym_LBRACE] = ACTIONS(2033), + [anon_sym_LBRACK] = ACTIONS(2031), + [anon_sym_static] = ACTIONS(2031), + [anon_sym_register] = ACTIONS(2031), + [anon_sym_inline] = ACTIONS(2031), + [anon_sym_thread_local] = ACTIONS(2031), + [anon_sym_const] = ACTIONS(2031), + [anon_sym_volatile] = ACTIONS(2031), + [anon_sym_restrict] = ACTIONS(2031), + [anon_sym__Atomic] = ACTIONS(2031), + [anon_sym_mutable] = ACTIONS(2031), + [anon_sym_constexpr] = ACTIONS(2031), + [anon_sym_constinit] = ACTIONS(2031), + [anon_sym_consteval] = ACTIONS(2031), + [anon_sym_signed] = ACTIONS(2031), + [anon_sym_unsigned] = ACTIONS(2031), + [anon_sym_long] = ACTIONS(2031), + [anon_sym_short] = ACTIONS(2031), + [sym_primitive_type] = ACTIONS(2031), + [anon_sym_enum] = ACTIONS(2031), + [anon_sym_class] = ACTIONS(2031), + [anon_sym_struct] = ACTIONS(2031), + [anon_sym_union] = ACTIONS(2031), + [anon_sym_if] = ACTIONS(2031), + [anon_sym_else] = ACTIONS(2031), + [anon_sym_switch] = ACTIONS(2031), + [anon_sym_case] = ACTIONS(2031), + [anon_sym_default] = ACTIONS(2031), + [anon_sym_while] = ACTIONS(2031), + [anon_sym_do] = ACTIONS(2031), + [anon_sym_for] = ACTIONS(2031), + [anon_sym_return] = ACTIONS(2031), + [anon_sym_break] = ACTIONS(2031), + [anon_sym_continue] = ACTIONS(2031), + [anon_sym_goto] = ACTIONS(2031), + [anon_sym_DASH_DASH] = ACTIONS(2033), + [anon_sym_PLUS_PLUS] = ACTIONS(2033), + [anon_sym_sizeof] = ACTIONS(2031), + [sym_number_literal] = ACTIONS(2033), + [anon_sym_L_SQUOTE] = ACTIONS(2033), + [anon_sym_u_SQUOTE] = ACTIONS(2033), + [anon_sym_U_SQUOTE] = ACTIONS(2033), + [anon_sym_u8_SQUOTE] = ACTIONS(2033), + [anon_sym_SQUOTE] = ACTIONS(2033), + [anon_sym_L_DQUOTE] = ACTIONS(2033), + [anon_sym_u_DQUOTE] = ACTIONS(2033), + [anon_sym_U_DQUOTE] = ACTIONS(2033), + [anon_sym_u8_DQUOTE] = ACTIONS(2033), + [anon_sym_DQUOTE] = ACTIONS(2033), + [sym_true] = ACTIONS(2031), + [sym_false] = ACTIONS(2031), + [sym_null] = ACTIONS(2031), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2031), + [anon_sym_decltype] = ACTIONS(2031), + [anon_sym_virtual] = ACTIONS(2031), + [anon_sym_explicit] = ACTIONS(2031), + [anon_sym_typename] = ACTIONS(2031), + [anon_sym_template] = ACTIONS(2031), + [anon_sym_operator] = ACTIONS(2031), + [anon_sym_delete] = ACTIONS(2031), + [anon_sym_throw] = ACTIONS(2031), + [anon_sym_namespace] = ACTIONS(2031), + [anon_sym_using] = ACTIONS(2031), + [anon_sym_static_assert] = ACTIONS(2031), + [anon_sym_concept] = ACTIONS(2031), + [anon_sym_co_return] = ACTIONS(2031), + [anon_sym_co_yield] = ACTIONS(2031), + [anon_sym_try] = ACTIONS(2031), + [anon_sym_co_await] = ACTIONS(2031), + [anon_sym_new] = ACTIONS(2031), + [anon_sym_requires] = ACTIONS(2031), + [sym_this] = ACTIONS(2031), + [sym_nullptr] = ACTIONS(2031), + [sym_raw_string_literal] = ACTIONS(2033), + }, + [271] = { + [sym_compound_statement] = STATE(316), + [sym_labeled_statement] = STATE(316), + [sym_expression_statement] = STATE(316), + [sym_if_statement] = STATE(316), + [sym_switch_statement] = STATE(316), + [sym_case_statement] = STATE(316), + [sym_while_statement] = STATE(316), + [sym_do_statement] = STATE(316), + [sym_for_statement] = STATE(316), + [sym_return_statement] = STATE(316), + [sym_break_statement] = STATE(316), + [sym_continue_statement] = STATE(316), + [sym_goto_statement] = STATE(316), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(316), + [sym_co_return_statement] = STATE(316), + [sym_co_yield_statement] = STATE(316), + [sym_throw_statement] = STATE(316), + [sym_try_statement] = STATE(316), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [272] = { + [sym_compound_statement] = STATE(496), + [sym_labeled_statement] = STATE(495), + [sym_expression_statement] = STATE(492), + [sym_if_statement] = STATE(489), + [sym_switch_statement] = STATE(488), + [sym_case_statement] = STATE(487), + [sym_while_statement] = STATE(480), + [sym_do_statement] = STATE(479), + [sym_for_statement] = STATE(478), + [sym_return_statement] = STATE(476), + [sym_break_statement] = STATE(475), + [sym_continue_statement] = STATE(473), + [sym_goto_statement] = STATE(472), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(534), + [sym_co_return_statement] = STATE(551), + [sym_co_yield_statement] = STATE(552), + [sym_throw_statement] = STATE(562), + [sym_try_statement] = STATE(568), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [273] = { + [sym_compound_statement] = STATE(564), + [sym_labeled_statement] = STATE(563), + [sym_expression_statement] = STATE(560), + [sym_if_statement] = STATE(554), + [sym_switch_statement] = STATE(546), + [sym_case_statement] = STATE(542), + [sym_while_statement] = STATE(540), + [sym_do_statement] = STATE(477), + [sym_for_statement] = STATE(482), + [sym_return_statement] = STATE(485), + [sym_break_statement] = STATE(509), + [sym_continue_statement] = STATE(550), + [sym_goto_statement] = STATE(553), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(587), + [sym_co_return_statement] = STATE(614), + [sym_co_yield_statement] = STATE(629), + [sym_throw_statement] = STATE(630), + [sym_try_statement] = STATE(633), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [274] = { + [sym_compound_statement] = STATE(535), + [sym_labeled_statement] = STATE(533), + [sym_expression_statement] = STATE(532), + [sym_if_statement] = STATE(531), + [sym_switch_statement] = STATE(525), + [sym_case_statement] = STATE(524), + [sym_while_statement] = STATE(521), + [sym_do_statement] = STATE(520), + [sym_for_statement] = STATE(519), + [sym_return_statement] = STATE(518), + [sym_break_statement] = STATE(517), + [sym_continue_statement] = STATE(512), + [sym_goto_statement] = STATE(508), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(507), + [sym_co_return_statement] = STATE(503), + [sym_co_yield_statement] = STATE(501), + [sym_throw_statement] = STATE(500), + [sym_try_statement] = STATE(498), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [275] = { + [sym_compound_statement] = STATE(647), + [sym_labeled_statement] = STATE(631), + [sym_expression_statement] = STATE(628), + [sym_if_statement] = STATE(622), + [sym_switch_statement] = STATE(619), + [sym_case_statement] = STATE(618), + [sym_while_statement] = STATE(616), + [sym_do_statement] = STATE(613), + [sym_for_statement] = STATE(612), + [sym_return_statement] = STATE(606), + [sym_break_statement] = STATE(599), + [sym_continue_statement] = STATE(595), + [sym_goto_statement] = STATE(591), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(589), + [sym_co_return_statement] = STATE(585), + [sym_co_yield_statement] = STATE(582), + [sym_throw_statement] = STATE(581), + [sym_try_statement] = STATE(567), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [276] = { + [sym_compound_statement] = STATE(256), + [sym_labeled_statement] = STATE(256), + [sym_expression_statement] = STATE(256), + [sym_if_statement] = STATE(256), + [sym_switch_statement] = STATE(256), + [sym_case_statement] = STATE(256), + [sym_while_statement] = STATE(256), + [sym_do_statement] = STATE(256), + [sym_for_statement] = STATE(256), + [sym_return_statement] = STATE(256), + [sym_break_statement] = STATE(256), + [sym_continue_statement] = STATE(256), + [sym_goto_statement] = STATE(256), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(256), + [sym_co_return_statement] = STATE(256), + [sym_co_yield_statement] = STATE(256), + [sym_throw_statement] = STATE(256), + [sym_try_statement] = STATE(256), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [277] = { + [sym_compound_statement] = STATE(713), + [sym_labeled_statement] = STATE(713), + [sym_expression_statement] = STATE(713), + [sym_if_statement] = STATE(713), + [sym_switch_statement] = STATE(713), + [sym_case_statement] = STATE(713), + [sym_while_statement] = STATE(713), + [sym_do_statement] = STATE(713), + [sym_for_statement] = STATE(713), + [sym_return_statement] = STATE(713), + [sym_break_statement] = STATE(713), + [sym_continue_statement] = STATE(713), + [sym_goto_statement] = STATE(713), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(713), + [sym_co_return_statement] = STATE(713), + [sym_co_yield_statement] = STATE(713), + [sym_throw_statement] = STATE(713), + [sym_try_statement] = STATE(713), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [278] = { + [sym_compound_statement] = STATE(668), + [sym_labeled_statement] = STATE(668), + [sym_expression_statement] = STATE(668), + [sym_if_statement] = STATE(668), + [sym_switch_statement] = STATE(668), + [sym_case_statement] = STATE(668), + [sym_while_statement] = STATE(668), + [sym_do_statement] = STATE(668), + [sym_for_statement] = STATE(668), + [sym_return_statement] = STATE(668), + [sym_break_statement] = STATE(668), + [sym_continue_statement] = STATE(668), + [sym_goto_statement] = STATE(668), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(668), + [sym_co_return_statement] = STATE(668), + [sym_co_yield_statement] = STATE(668), + [sym_throw_statement] = STATE(668), + [sym_try_statement] = STATE(668), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [279] = { + [sym_compound_statement] = STATE(221), + [sym_labeled_statement] = STATE(221), + [sym_expression_statement] = STATE(221), + [sym_if_statement] = STATE(221), + [sym_switch_statement] = STATE(221), + [sym_case_statement] = STATE(221), + [sym_while_statement] = STATE(221), + [sym_do_statement] = STATE(221), + [sym_for_statement] = STATE(221), + [sym_return_statement] = STATE(221), + [sym_break_statement] = STATE(221), + [sym_continue_statement] = STATE(221), + [sym_goto_statement] = STATE(221), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(221), + [sym_co_return_statement] = STATE(221), + [sym_co_yield_statement] = STATE(221), + [sym_throw_statement] = STATE(221), + [sym_try_statement] = STATE(221), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [280] = { + [sym_compound_statement] = STATE(537), + [sym_labeled_statement] = STATE(537), + [sym_expression_statement] = STATE(537), + [sym_if_statement] = STATE(537), + [sym_switch_statement] = STATE(537), + [sym_case_statement] = STATE(537), + [sym_while_statement] = STATE(537), + [sym_do_statement] = STATE(537), + [sym_for_statement] = STATE(537), + [sym_return_statement] = STATE(537), + [sym_break_statement] = STATE(537), + [sym_continue_statement] = STATE(537), + [sym_goto_statement] = STATE(537), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(537), + [sym_co_return_statement] = STATE(537), + [sym_co_yield_statement] = STATE(537), + [sym_throw_statement] = STATE(537), + [sym_try_statement] = STATE(537), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [281] = { + [sym_compound_statement] = STATE(705), + [sym_labeled_statement] = STATE(705), + [sym_expression_statement] = STATE(705), + [sym_if_statement] = STATE(705), + [sym_switch_statement] = STATE(705), + [sym_case_statement] = STATE(705), + [sym_while_statement] = STATE(705), + [sym_do_statement] = STATE(705), + [sym_for_statement] = STATE(705), + [sym_return_statement] = STATE(705), + [sym_break_statement] = STATE(705), + [sym_continue_statement] = STATE(705), + [sym_goto_statement] = STATE(705), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(705), + [sym_co_return_statement] = STATE(705), + [sym_co_yield_statement] = STATE(705), + [sym_throw_statement] = STATE(705), + [sym_try_statement] = STATE(705), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [282] = { + [sym__expression] = STATE(2395), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_initializer_list] = STATE(2503), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_COMMA] = ACTIONS(1883), + [anon_sym_RPAREN] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1397), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(2037), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1891), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1891), + [anon_sym_AMP] = ACTIONS(2037), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1891), + [anon_sym_GT_GT] = ACTIONS(1891), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACE] = ACTIONS(2039), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_EQ] = ACTIONS(1891), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_STAR_EQ] = ACTIONS(1883), + [anon_sym_SLASH_EQ] = ACTIONS(1883), + [anon_sym_PERCENT_EQ] = ACTIONS(1883), + [anon_sym_PLUS_EQ] = ACTIONS(1883), + [anon_sym_DASH_EQ] = ACTIONS(1883), + [anon_sym_LT_LT_EQ] = ACTIONS(1883), + [anon_sym_GT_GT_EQ] = ACTIONS(1883), + [anon_sym_AMP_EQ] = ACTIONS(1883), + [anon_sym_CARET_EQ] = ACTIONS(1883), + [anon_sym_PIPE_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1891), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [anon_sym_DOT_STAR] = ACTIONS(1883), + [anon_sym_DASH_GT_STAR] = ACTIONS(1883), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [283] = { + [sym_compound_statement] = STATE(5766), + [sym_labeled_statement] = STATE(5766), + [sym_expression_statement] = STATE(5766), + [sym_if_statement] = STATE(5766), + [sym_switch_statement] = STATE(5766), + [sym_case_statement] = STATE(5766), + [sym_while_statement] = STATE(5766), + [sym_do_statement] = STATE(5766), + [sym_for_statement] = STATE(5766), + [sym_return_statement] = STATE(5766), + [sym_break_statement] = STATE(5766), + [sym_continue_statement] = STATE(5766), + [sym_goto_statement] = STATE(5766), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5766), + [sym_co_return_statement] = STATE(5766), + [sym_co_yield_statement] = STATE(5766), + [sym_throw_statement] = STATE(5766), + [sym_try_statement] = STATE(5766), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [284] = { + [sym_compound_statement] = STATE(652), + [sym_labeled_statement] = STATE(652), + [sym_expression_statement] = STATE(652), + [sym_if_statement] = STATE(652), + [sym_switch_statement] = STATE(652), + [sym_case_statement] = STATE(652), + [sym_while_statement] = STATE(652), + [sym_do_statement] = STATE(652), + [sym_for_statement] = STATE(652), + [sym_return_statement] = STATE(652), + [sym_break_statement] = STATE(652), + [sym_continue_statement] = STATE(652), + [sym_goto_statement] = STATE(652), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(652), + [sym_co_return_statement] = STATE(652), + [sym_co_yield_statement] = STATE(652), + [sym_throw_statement] = STATE(652), + [sym_try_statement] = STATE(652), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [285] = { + [sym_compound_statement] = STATE(701), + [sym_labeled_statement] = STATE(699), + [sym_expression_statement] = STATE(698), + [sym_if_statement] = STATE(682), + [sym_switch_statement] = STATE(677), + [sym_case_statement] = STATE(673), + [sym_while_statement] = STATE(662), + [sym_do_statement] = STATE(656), + [sym_for_statement] = STATE(645), + [sym_return_statement] = STATE(644), + [sym_break_statement] = STATE(641), + [sym_continue_statement] = STATE(640), + [sym_goto_statement] = STATE(638), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(637), + [sym_co_return_statement] = STATE(635), + [sym_co_yield_statement] = STATE(627), + [sym_throw_statement] = STATE(626), + [sym_try_statement] = STATE(621), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [286] = { + [sym_compound_statement] = STATE(659), + [sym_labeled_statement] = STATE(659), + [sym_expression_statement] = STATE(659), + [sym_if_statement] = STATE(659), + [sym_switch_statement] = STATE(659), + [sym_case_statement] = STATE(659), + [sym_while_statement] = STATE(659), + [sym_do_statement] = STATE(659), + [sym_for_statement] = STATE(659), + [sym_return_statement] = STATE(659), + [sym_break_statement] = STATE(659), + [sym_continue_statement] = STATE(659), + [sym_goto_statement] = STATE(659), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(659), + [sym_co_return_statement] = STATE(659), + [sym_co_yield_statement] = STATE(659), + [sym_throw_statement] = STATE(659), + [sym_try_statement] = STATE(659), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [287] = { + [sym_compound_statement] = STATE(565), + [sym_labeled_statement] = STATE(565), + [sym_expression_statement] = STATE(565), + [sym_if_statement] = STATE(565), + [sym_switch_statement] = STATE(565), + [sym_case_statement] = STATE(565), + [sym_while_statement] = STATE(565), + [sym_do_statement] = STATE(565), + [sym_for_statement] = STATE(565), + [sym_return_statement] = STATE(565), + [sym_break_statement] = STATE(565), + [sym_continue_statement] = STATE(565), + [sym_goto_statement] = STATE(565), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(565), + [sym_co_return_statement] = STATE(565), + [sym_co_yield_statement] = STATE(565), + [sym_throw_statement] = STATE(565), + [sym_try_statement] = STATE(565), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [288] = { + [sym_identifier] = ACTIONS(2043), + [aux_sym_preproc_include_token1] = ACTIONS(2043), + [aux_sym_preproc_def_token1] = ACTIONS(2043), + [aux_sym_preproc_if_token1] = ACTIONS(2043), + [aux_sym_preproc_if_token2] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2043), + [aux_sym_preproc_else_token1] = ACTIONS(2043), + [aux_sym_preproc_elif_token1] = ACTIONS(2043), + [sym_preproc_directive] = ACTIONS(2043), + [anon_sym_LPAREN2] = ACTIONS(2045), + [anon_sym_BANG] = ACTIONS(2045), + [anon_sym_TILDE] = ACTIONS(2045), + [anon_sym_DASH] = ACTIONS(2043), + [anon_sym_PLUS] = ACTIONS(2043), + [anon_sym_STAR] = ACTIONS(2045), + [anon_sym_AMP_AMP] = ACTIONS(2045), + [anon_sym_AMP] = ACTIONS(2043), + [anon_sym_SEMI] = ACTIONS(2045), + [anon_sym_typedef] = ACTIONS(2043), + [anon_sym_extern] = ACTIONS(2043), + [anon_sym___attribute__] = ACTIONS(2043), + [anon_sym_COLON_COLON] = ACTIONS(2045), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2045), + [anon_sym___declspec] = ACTIONS(2043), + [anon_sym___based] = ACTIONS(2043), + [anon_sym___cdecl] = ACTIONS(2043), + [anon_sym___clrcall] = ACTIONS(2043), + [anon_sym___stdcall] = ACTIONS(2043), + [anon_sym___fastcall] = ACTIONS(2043), + [anon_sym___thiscall] = ACTIONS(2043), + [anon_sym___vectorcall] = ACTIONS(2043), + [anon_sym_LBRACE] = ACTIONS(2045), + [anon_sym_LBRACK] = ACTIONS(2043), + [anon_sym_static] = ACTIONS(2043), + [anon_sym_register] = ACTIONS(2043), + [anon_sym_inline] = ACTIONS(2043), + [anon_sym_thread_local] = ACTIONS(2043), + [anon_sym_const] = ACTIONS(2043), + [anon_sym_volatile] = ACTIONS(2043), + [anon_sym_restrict] = ACTIONS(2043), + [anon_sym__Atomic] = ACTIONS(2043), + [anon_sym_mutable] = ACTIONS(2043), + [anon_sym_constexpr] = ACTIONS(2043), + [anon_sym_constinit] = ACTIONS(2043), + [anon_sym_consteval] = ACTIONS(2043), + [anon_sym_signed] = ACTIONS(2043), + [anon_sym_unsigned] = ACTIONS(2043), + [anon_sym_long] = ACTIONS(2043), + [anon_sym_short] = ACTIONS(2043), + [sym_primitive_type] = ACTIONS(2043), + [anon_sym_enum] = ACTIONS(2043), + [anon_sym_class] = ACTIONS(2043), + [anon_sym_struct] = ACTIONS(2043), + [anon_sym_union] = ACTIONS(2043), + [anon_sym_if] = ACTIONS(2043), + [anon_sym_else] = ACTIONS(2043), + [anon_sym_switch] = ACTIONS(2043), + [anon_sym_case] = ACTIONS(2043), + [anon_sym_default] = ACTIONS(2043), + [anon_sym_while] = ACTIONS(2043), + [anon_sym_do] = ACTIONS(2043), + [anon_sym_for] = ACTIONS(2043), + [anon_sym_return] = ACTIONS(2043), + [anon_sym_break] = ACTIONS(2043), + [anon_sym_continue] = ACTIONS(2043), + [anon_sym_goto] = ACTIONS(2043), + [anon_sym_DASH_DASH] = ACTIONS(2045), + [anon_sym_PLUS_PLUS] = ACTIONS(2045), + [anon_sym_sizeof] = ACTIONS(2043), + [sym_number_literal] = ACTIONS(2045), + [anon_sym_L_SQUOTE] = ACTIONS(2045), + [anon_sym_u_SQUOTE] = ACTIONS(2045), + [anon_sym_U_SQUOTE] = ACTIONS(2045), + [anon_sym_u8_SQUOTE] = ACTIONS(2045), + [anon_sym_SQUOTE] = ACTIONS(2045), + [anon_sym_L_DQUOTE] = ACTIONS(2045), + [anon_sym_u_DQUOTE] = ACTIONS(2045), + [anon_sym_U_DQUOTE] = ACTIONS(2045), + [anon_sym_u8_DQUOTE] = ACTIONS(2045), + [anon_sym_DQUOTE] = ACTIONS(2045), + [sym_true] = ACTIONS(2043), + [sym_false] = ACTIONS(2043), + [sym_null] = ACTIONS(2043), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2043), + [anon_sym_decltype] = ACTIONS(2043), + [anon_sym_virtual] = ACTIONS(2043), + [anon_sym_explicit] = ACTIONS(2043), + [anon_sym_typename] = ACTIONS(2043), + [anon_sym_template] = ACTIONS(2043), + [anon_sym_operator] = ACTIONS(2043), + [anon_sym_delete] = ACTIONS(2043), + [anon_sym_throw] = ACTIONS(2043), + [anon_sym_namespace] = ACTIONS(2043), + [anon_sym_using] = ACTIONS(2043), + [anon_sym_static_assert] = ACTIONS(2043), + [anon_sym_concept] = ACTIONS(2043), + [anon_sym_co_return] = ACTIONS(2043), + [anon_sym_co_yield] = ACTIONS(2043), + [anon_sym_try] = ACTIONS(2043), + [anon_sym_co_await] = ACTIONS(2043), + [anon_sym_new] = ACTIONS(2043), + [anon_sym_requires] = ACTIONS(2043), + [sym_this] = ACTIONS(2043), + [sym_nullptr] = ACTIONS(2043), + [sym_raw_string_literal] = ACTIONS(2045), + }, + [289] = { + [sym_compound_statement] = STATE(255), + [sym_labeled_statement] = STATE(255), + [sym_expression_statement] = STATE(255), + [sym_if_statement] = STATE(255), + [sym_switch_statement] = STATE(255), + [sym_case_statement] = STATE(255), + [sym_while_statement] = STATE(255), + [sym_do_statement] = STATE(255), + [sym_for_statement] = STATE(255), + [sym_return_statement] = STATE(255), + [sym_break_statement] = STATE(255), + [sym_continue_statement] = STATE(255), + [sym_goto_statement] = STATE(255), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(255), + [sym_co_return_statement] = STATE(255), + [sym_co_yield_statement] = STATE(255), + [sym_throw_statement] = STATE(255), + [sym_try_statement] = STATE(255), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [290] = { + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token2] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [aux_sym_preproc_else_token1] = ACTIONS(2047), + [aux_sym_preproc_elif_token1] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [291] = { + [sym_compound_statement] = STATE(538), + [sym_labeled_statement] = STATE(538), + [sym_expression_statement] = STATE(538), + [sym_if_statement] = STATE(538), + [sym_switch_statement] = STATE(538), + [sym_case_statement] = STATE(538), + [sym_while_statement] = STATE(538), + [sym_do_statement] = STATE(538), + [sym_for_statement] = STATE(538), + [sym_return_statement] = STATE(538), + [sym_break_statement] = STATE(538), + [sym_continue_statement] = STATE(538), + [sym_goto_statement] = STATE(538), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(538), + [sym_co_return_statement] = STATE(538), + [sym_co_yield_statement] = STATE(538), + [sym_throw_statement] = STATE(538), + [sym_try_statement] = STATE(538), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [292] = { + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token2] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [aux_sym_preproc_else_token1] = ACTIONS(2047), + [aux_sym_preproc_elif_token1] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [293] = { + [sym_compound_statement] = STATE(684), + [sym_labeled_statement] = STATE(684), + [sym_expression_statement] = STATE(684), + [sym_if_statement] = STATE(684), + [sym_switch_statement] = STATE(684), + [sym_case_statement] = STATE(684), + [sym_while_statement] = STATE(684), + [sym_do_statement] = STATE(684), + [sym_for_statement] = STATE(684), + [sym_return_statement] = STATE(684), + [sym_break_statement] = STATE(684), + [sym_continue_statement] = STATE(684), + [sym_goto_statement] = STATE(684), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(684), + [sym_co_return_statement] = STATE(684), + [sym_co_yield_statement] = STATE(684), + [sym_throw_statement] = STATE(684), + [sym_try_statement] = STATE(684), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [294] = { + [sym_identifier] = ACTIONS(2051), + [aux_sym_preproc_include_token1] = ACTIONS(2051), + [aux_sym_preproc_def_token1] = ACTIONS(2051), + [aux_sym_preproc_if_token1] = ACTIONS(2051), + [aux_sym_preproc_if_token2] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2051), + [aux_sym_preproc_else_token1] = ACTIONS(2051), + [aux_sym_preproc_elif_token1] = ACTIONS(2051), + [sym_preproc_directive] = ACTIONS(2051), + [anon_sym_LPAREN2] = ACTIONS(2053), + [anon_sym_BANG] = ACTIONS(2053), + [anon_sym_TILDE] = ACTIONS(2053), + [anon_sym_DASH] = ACTIONS(2051), + [anon_sym_PLUS] = ACTIONS(2051), + [anon_sym_STAR] = ACTIONS(2053), + [anon_sym_AMP_AMP] = ACTIONS(2053), + [anon_sym_AMP] = ACTIONS(2051), + [anon_sym_SEMI] = ACTIONS(2053), + [anon_sym_typedef] = ACTIONS(2051), + [anon_sym_extern] = ACTIONS(2051), + [anon_sym___attribute__] = ACTIONS(2051), + [anon_sym_COLON_COLON] = ACTIONS(2053), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2053), + [anon_sym___declspec] = ACTIONS(2051), + [anon_sym___based] = ACTIONS(2051), + [anon_sym___cdecl] = ACTIONS(2051), + [anon_sym___clrcall] = ACTIONS(2051), + [anon_sym___stdcall] = ACTIONS(2051), + [anon_sym___fastcall] = ACTIONS(2051), + [anon_sym___thiscall] = ACTIONS(2051), + [anon_sym___vectorcall] = ACTIONS(2051), + [anon_sym_LBRACE] = ACTIONS(2053), + [anon_sym_LBRACK] = ACTIONS(2051), + [anon_sym_static] = ACTIONS(2051), + [anon_sym_register] = ACTIONS(2051), + [anon_sym_inline] = ACTIONS(2051), + [anon_sym_thread_local] = ACTIONS(2051), + [anon_sym_const] = ACTIONS(2051), + [anon_sym_volatile] = ACTIONS(2051), + [anon_sym_restrict] = ACTIONS(2051), + [anon_sym__Atomic] = ACTIONS(2051), + [anon_sym_mutable] = ACTIONS(2051), + [anon_sym_constexpr] = ACTIONS(2051), + [anon_sym_constinit] = ACTIONS(2051), + [anon_sym_consteval] = ACTIONS(2051), + [anon_sym_signed] = ACTIONS(2051), + [anon_sym_unsigned] = ACTIONS(2051), + [anon_sym_long] = ACTIONS(2051), + [anon_sym_short] = ACTIONS(2051), + [sym_primitive_type] = ACTIONS(2051), + [anon_sym_enum] = ACTIONS(2051), + [anon_sym_class] = ACTIONS(2051), + [anon_sym_struct] = ACTIONS(2051), + [anon_sym_union] = ACTIONS(2051), + [anon_sym_if] = ACTIONS(2051), + [anon_sym_else] = ACTIONS(2051), + [anon_sym_switch] = ACTIONS(2051), + [anon_sym_case] = ACTIONS(2051), + [anon_sym_default] = ACTIONS(2051), + [anon_sym_while] = ACTIONS(2051), + [anon_sym_do] = ACTIONS(2051), + [anon_sym_for] = ACTIONS(2051), + [anon_sym_return] = ACTIONS(2051), + [anon_sym_break] = ACTIONS(2051), + [anon_sym_continue] = ACTIONS(2051), + [anon_sym_goto] = ACTIONS(2051), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2051), + [sym_number_literal] = ACTIONS(2053), + [anon_sym_L_SQUOTE] = ACTIONS(2053), + [anon_sym_u_SQUOTE] = ACTIONS(2053), + [anon_sym_U_SQUOTE] = ACTIONS(2053), + [anon_sym_u8_SQUOTE] = ACTIONS(2053), + [anon_sym_SQUOTE] = ACTIONS(2053), + [anon_sym_L_DQUOTE] = ACTIONS(2053), + [anon_sym_u_DQUOTE] = ACTIONS(2053), + [anon_sym_U_DQUOTE] = ACTIONS(2053), + [anon_sym_u8_DQUOTE] = ACTIONS(2053), + [anon_sym_DQUOTE] = ACTIONS(2053), + [sym_true] = ACTIONS(2051), + [sym_false] = ACTIONS(2051), + [sym_null] = ACTIONS(2051), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2051), + [anon_sym_decltype] = ACTIONS(2051), + [anon_sym_virtual] = ACTIONS(2051), + [anon_sym_explicit] = ACTIONS(2051), + [anon_sym_typename] = ACTIONS(2051), + [anon_sym_template] = ACTIONS(2051), + [anon_sym_operator] = ACTIONS(2051), + [anon_sym_delete] = ACTIONS(2051), + [anon_sym_throw] = ACTIONS(2051), + [anon_sym_namespace] = ACTIONS(2051), + [anon_sym_using] = ACTIONS(2051), + [anon_sym_static_assert] = ACTIONS(2051), + [anon_sym_concept] = ACTIONS(2051), + [anon_sym_co_return] = ACTIONS(2051), + [anon_sym_co_yield] = ACTIONS(2051), + [anon_sym_try] = ACTIONS(2051), + [anon_sym_co_await] = ACTIONS(2051), + [anon_sym_new] = ACTIONS(2051), + [anon_sym_requires] = ACTIONS(2051), + [sym_this] = ACTIONS(2051), + [sym_nullptr] = ACTIONS(2051), + [sym_raw_string_literal] = ACTIONS(2053), + }, + [295] = { + [sym_compound_statement] = STATE(543), + [sym_labeled_statement] = STATE(543), + [sym_expression_statement] = STATE(543), + [sym_if_statement] = STATE(543), + [sym_switch_statement] = STATE(543), + [sym_case_statement] = STATE(543), + [sym_while_statement] = STATE(543), + [sym_do_statement] = STATE(543), + [sym_for_statement] = STATE(543), + [sym_return_statement] = STATE(543), + [sym_break_statement] = STATE(543), + [sym_continue_statement] = STATE(543), + [sym_goto_statement] = STATE(543), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(543), + [sym_co_return_statement] = STATE(543), + [sym_co_yield_statement] = STATE(543), + [sym_throw_statement] = STATE(543), + [sym_try_statement] = STATE(543), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [296] = { + [sym_compound_statement] = STATE(548), + [sym_labeled_statement] = STATE(548), + [sym_expression_statement] = STATE(548), + [sym_if_statement] = STATE(548), + [sym_switch_statement] = STATE(548), + [sym_case_statement] = STATE(548), + [sym_while_statement] = STATE(548), + [sym_do_statement] = STATE(548), + [sym_for_statement] = STATE(548), + [sym_return_statement] = STATE(548), + [sym_break_statement] = STATE(548), + [sym_continue_statement] = STATE(548), + [sym_goto_statement] = STATE(548), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(548), + [sym_co_return_statement] = STATE(548), + [sym_co_yield_statement] = STATE(548), + [sym_throw_statement] = STATE(548), + [sym_try_statement] = STATE(548), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [297] = { + [sym_compound_statement] = STATE(549), + [sym_labeled_statement] = STATE(549), + [sym_expression_statement] = STATE(549), + [sym_if_statement] = STATE(549), + [sym_switch_statement] = STATE(549), + [sym_case_statement] = STATE(549), + [sym_while_statement] = STATE(549), + [sym_do_statement] = STATE(549), + [sym_for_statement] = STATE(549), + [sym_return_statement] = STATE(549), + [sym_break_statement] = STATE(549), + [sym_continue_statement] = STATE(549), + [sym_goto_statement] = STATE(549), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(549), + [sym_co_return_statement] = STATE(549), + [sym_co_yield_statement] = STATE(549), + [sym_throw_statement] = STATE(549), + [sym_try_statement] = STATE(549), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [298] = { + [sym_compound_statement] = STATE(693), + [sym_labeled_statement] = STATE(693), + [sym_expression_statement] = STATE(693), + [sym_if_statement] = STATE(693), + [sym_switch_statement] = STATE(693), + [sym_case_statement] = STATE(693), + [sym_while_statement] = STATE(693), + [sym_do_statement] = STATE(693), + [sym_for_statement] = STATE(693), + [sym_return_statement] = STATE(693), + [sym_break_statement] = STATE(693), + [sym_continue_statement] = STATE(693), + [sym_goto_statement] = STATE(693), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(693), + [sym_co_return_statement] = STATE(693), + [sym_co_yield_statement] = STATE(693), + [sym_throw_statement] = STATE(693), + [sym_try_statement] = STATE(693), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [299] = { + [sym_compound_statement] = STATE(204), + [sym_labeled_statement] = STATE(204), + [sym_expression_statement] = STATE(204), + [sym_if_statement] = STATE(204), + [sym_switch_statement] = STATE(204), + [sym_case_statement] = STATE(204), + [sym_while_statement] = STATE(204), + [sym_do_statement] = STATE(204), + [sym_for_statement] = STATE(204), + [sym_return_statement] = STATE(204), + [sym_break_statement] = STATE(204), + [sym_continue_statement] = STATE(204), + [sym_goto_statement] = STATE(204), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(204), + [sym_co_return_statement] = STATE(204), + [sym_co_yield_statement] = STATE(204), + [sym_throw_statement] = STATE(204), + [sym_try_statement] = STATE(204), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [300] = { + [sym_compound_statement] = STATE(695), + [sym_labeled_statement] = STATE(695), + [sym_expression_statement] = STATE(695), + [sym_if_statement] = STATE(695), + [sym_switch_statement] = STATE(695), + [sym_case_statement] = STATE(695), + [sym_while_statement] = STATE(695), + [sym_do_statement] = STATE(695), + [sym_for_statement] = STATE(695), + [sym_return_statement] = STATE(695), + [sym_break_statement] = STATE(695), + [sym_continue_statement] = STATE(695), + [sym_goto_statement] = STATE(695), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(695), + [sym_co_return_statement] = STATE(695), + [sym_co_yield_statement] = STATE(695), + [sym_throw_statement] = STATE(695), + [sym_try_statement] = STATE(695), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [301] = { + [sym_compound_statement] = STATE(5764), + [sym_labeled_statement] = STATE(5764), + [sym_expression_statement] = STATE(5764), + [sym_if_statement] = STATE(5764), + [sym_switch_statement] = STATE(5764), + [sym_case_statement] = STATE(5764), + [sym_while_statement] = STATE(5764), + [sym_do_statement] = STATE(5764), + [sym_for_statement] = STATE(5764), + [sym_return_statement] = STATE(5764), + [sym_break_statement] = STATE(5764), + [sym_continue_statement] = STATE(5764), + [sym_goto_statement] = STATE(5764), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5764), + [sym_co_return_statement] = STATE(5764), + [sym_co_yield_statement] = STATE(5764), + [sym_throw_statement] = STATE(5764), + [sym_try_statement] = STATE(5764), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [302] = { + [sym_compound_statement] = STATE(5810), + [sym_labeled_statement] = STATE(5810), + [sym_expression_statement] = STATE(5810), + [sym_if_statement] = STATE(5810), + [sym_switch_statement] = STATE(5810), + [sym_case_statement] = STATE(5810), + [sym_while_statement] = STATE(5810), + [sym_do_statement] = STATE(5810), + [sym_for_statement] = STATE(5810), + [sym_return_statement] = STATE(5810), + [sym_break_statement] = STATE(5810), + [sym_continue_statement] = STATE(5810), + [sym_goto_statement] = STATE(5810), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5810), + [sym_co_return_statement] = STATE(5810), + [sym_co_yield_statement] = STATE(5810), + [sym_throw_statement] = STATE(5810), + [sym_try_statement] = STATE(5810), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [303] = { + [sym_compound_statement] = STATE(574), + [sym_labeled_statement] = STATE(574), + [sym_expression_statement] = STATE(574), + [sym_if_statement] = STATE(574), + [sym_switch_statement] = STATE(574), + [sym_case_statement] = STATE(574), + [sym_while_statement] = STATE(574), + [sym_do_statement] = STATE(574), + [sym_for_statement] = STATE(574), + [sym_return_statement] = STATE(574), + [sym_break_statement] = STATE(574), + [sym_continue_statement] = STATE(574), + [sym_goto_statement] = STATE(574), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(574), + [sym_co_return_statement] = STATE(574), + [sym_co_yield_statement] = STATE(574), + [sym_throw_statement] = STATE(574), + [sym_try_statement] = STATE(574), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [304] = { + [sym_compound_statement] = STATE(5828), + [sym_labeled_statement] = STATE(5828), + [sym_expression_statement] = STATE(5828), + [sym_if_statement] = STATE(5828), + [sym_switch_statement] = STATE(5828), + [sym_case_statement] = STATE(5828), + [sym_while_statement] = STATE(5828), + [sym_do_statement] = STATE(5828), + [sym_for_statement] = STATE(5828), + [sym_return_statement] = STATE(5828), + [sym_break_statement] = STATE(5828), + [sym_continue_statement] = STATE(5828), + [sym_goto_statement] = STATE(5828), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5828), + [sym_co_return_statement] = STATE(5828), + [sym_co_yield_statement] = STATE(5828), + [sym_throw_statement] = STATE(5828), + [sym_try_statement] = STATE(5828), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [305] = { + [sym_identifier] = ACTIONS(2055), + [aux_sym_preproc_include_token1] = ACTIONS(2055), + [aux_sym_preproc_def_token1] = ACTIONS(2055), + [aux_sym_preproc_if_token1] = ACTIONS(2055), + [aux_sym_preproc_if_token2] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2055), + [aux_sym_preproc_else_token1] = ACTIONS(2055), + [aux_sym_preproc_elif_token1] = ACTIONS(2055), + [sym_preproc_directive] = ACTIONS(2055), + [anon_sym_LPAREN2] = ACTIONS(2057), + [anon_sym_BANG] = ACTIONS(2057), + [anon_sym_TILDE] = ACTIONS(2057), + [anon_sym_DASH] = ACTIONS(2055), + [anon_sym_PLUS] = ACTIONS(2055), + [anon_sym_STAR] = ACTIONS(2057), + [anon_sym_AMP_AMP] = ACTIONS(2057), + [anon_sym_AMP] = ACTIONS(2055), + [anon_sym_SEMI] = ACTIONS(2057), + [anon_sym_typedef] = ACTIONS(2055), + [anon_sym_extern] = ACTIONS(2055), + [anon_sym___attribute__] = ACTIONS(2055), + [anon_sym_COLON_COLON] = ACTIONS(2057), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2057), + [anon_sym___declspec] = ACTIONS(2055), + [anon_sym___based] = ACTIONS(2055), + [anon_sym___cdecl] = ACTIONS(2055), + [anon_sym___clrcall] = ACTIONS(2055), + [anon_sym___stdcall] = ACTIONS(2055), + [anon_sym___fastcall] = ACTIONS(2055), + [anon_sym___thiscall] = ACTIONS(2055), + [anon_sym___vectorcall] = ACTIONS(2055), + [anon_sym_LBRACE] = ACTIONS(2057), + [anon_sym_LBRACK] = ACTIONS(2055), + [anon_sym_static] = ACTIONS(2055), + [anon_sym_register] = ACTIONS(2055), + [anon_sym_inline] = ACTIONS(2055), + [anon_sym_thread_local] = ACTIONS(2055), + [anon_sym_const] = ACTIONS(2055), + [anon_sym_volatile] = ACTIONS(2055), + [anon_sym_restrict] = ACTIONS(2055), + [anon_sym__Atomic] = ACTIONS(2055), + [anon_sym_mutable] = ACTIONS(2055), + [anon_sym_constexpr] = ACTIONS(2055), + [anon_sym_constinit] = ACTIONS(2055), + [anon_sym_consteval] = ACTIONS(2055), + [anon_sym_signed] = ACTIONS(2055), + [anon_sym_unsigned] = ACTIONS(2055), + [anon_sym_long] = ACTIONS(2055), + [anon_sym_short] = ACTIONS(2055), + [sym_primitive_type] = ACTIONS(2055), + [anon_sym_enum] = ACTIONS(2055), + [anon_sym_class] = ACTIONS(2055), + [anon_sym_struct] = ACTIONS(2055), + [anon_sym_union] = ACTIONS(2055), + [anon_sym_if] = ACTIONS(2055), + [anon_sym_else] = ACTIONS(2055), + [anon_sym_switch] = ACTIONS(2055), + [anon_sym_case] = ACTIONS(2055), + [anon_sym_default] = ACTIONS(2055), + [anon_sym_while] = ACTIONS(2055), + [anon_sym_do] = ACTIONS(2055), + [anon_sym_for] = ACTIONS(2055), + [anon_sym_return] = ACTIONS(2055), + [anon_sym_break] = ACTIONS(2055), + [anon_sym_continue] = ACTIONS(2055), + [anon_sym_goto] = ACTIONS(2055), + [anon_sym_DASH_DASH] = ACTIONS(2057), + [anon_sym_PLUS_PLUS] = ACTIONS(2057), + [anon_sym_sizeof] = ACTIONS(2055), + [sym_number_literal] = ACTIONS(2057), + [anon_sym_L_SQUOTE] = ACTIONS(2057), + [anon_sym_u_SQUOTE] = ACTIONS(2057), + [anon_sym_U_SQUOTE] = ACTIONS(2057), + [anon_sym_u8_SQUOTE] = ACTIONS(2057), + [anon_sym_SQUOTE] = ACTIONS(2057), + [anon_sym_L_DQUOTE] = ACTIONS(2057), + [anon_sym_u_DQUOTE] = ACTIONS(2057), + [anon_sym_U_DQUOTE] = ACTIONS(2057), + [anon_sym_u8_DQUOTE] = ACTIONS(2057), + [anon_sym_DQUOTE] = ACTIONS(2057), + [sym_true] = ACTIONS(2055), + [sym_false] = ACTIONS(2055), + [sym_null] = ACTIONS(2055), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2055), + [anon_sym_decltype] = ACTIONS(2055), + [anon_sym_virtual] = ACTIONS(2055), + [anon_sym_explicit] = ACTIONS(2055), + [anon_sym_typename] = ACTIONS(2055), + [anon_sym_template] = ACTIONS(2055), + [anon_sym_operator] = ACTIONS(2055), + [anon_sym_delete] = ACTIONS(2055), + [anon_sym_throw] = ACTIONS(2055), + [anon_sym_namespace] = ACTIONS(2055), + [anon_sym_using] = ACTIONS(2055), + [anon_sym_static_assert] = ACTIONS(2055), + [anon_sym_concept] = ACTIONS(2055), + [anon_sym_co_return] = ACTIONS(2055), + [anon_sym_co_yield] = ACTIONS(2055), + [anon_sym_try] = ACTIONS(2055), + [anon_sym_co_await] = ACTIONS(2055), + [anon_sym_new] = ACTIONS(2055), + [anon_sym_requires] = ACTIONS(2055), + [sym_this] = ACTIONS(2055), + [sym_nullptr] = ACTIONS(2055), + [sym_raw_string_literal] = ACTIONS(2057), + }, + [306] = { + [sym_compound_statement] = STATE(707), + [sym_labeled_statement] = STATE(707), + [sym_expression_statement] = STATE(707), + [sym_if_statement] = STATE(707), + [sym_switch_statement] = STATE(707), + [sym_case_statement] = STATE(707), + [sym_while_statement] = STATE(707), + [sym_do_statement] = STATE(707), + [sym_for_statement] = STATE(707), + [sym_return_statement] = STATE(707), + [sym_break_statement] = STATE(707), + [sym_continue_statement] = STATE(707), + [sym_goto_statement] = STATE(707), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(707), + [sym_co_return_statement] = STATE(707), + [sym_co_yield_statement] = STATE(707), + [sym_throw_statement] = STATE(707), + [sym_try_statement] = STATE(707), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [307] = { + [sym_compound_statement] = STATE(5761), + [sym_labeled_statement] = STATE(5761), + [sym_expression_statement] = STATE(5761), + [sym_if_statement] = STATE(5761), + [sym_switch_statement] = STATE(5761), + [sym_case_statement] = STATE(5761), + [sym_while_statement] = STATE(5761), + [sym_do_statement] = STATE(5761), + [sym_for_statement] = STATE(5761), + [sym_return_statement] = STATE(5761), + [sym_break_statement] = STATE(5761), + [sym_continue_statement] = STATE(5761), + [sym_goto_statement] = STATE(5761), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5761), + [sym_co_return_statement] = STATE(5761), + [sym_co_yield_statement] = STATE(5761), + [sym_throw_statement] = STATE(5761), + [sym_try_statement] = STATE(5761), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [308] = { + [sym_compound_statement] = STATE(555), + [sym_labeled_statement] = STATE(555), + [sym_expression_statement] = STATE(555), + [sym_if_statement] = STATE(555), + [sym_switch_statement] = STATE(555), + [sym_case_statement] = STATE(555), + [sym_while_statement] = STATE(555), + [sym_do_statement] = STATE(555), + [sym_for_statement] = STATE(555), + [sym_return_statement] = STATE(555), + [sym_break_statement] = STATE(555), + [sym_continue_statement] = STATE(555), + [sym_goto_statement] = STATE(555), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(555), + [sym_co_return_statement] = STATE(555), + [sym_co_yield_statement] = STATE(555), + [sym_throw_statement] = STATE(555), + [sym_try_statement] = STATE(555), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [309] = { + [sym_identifier] = ACTIONS(2059), + [aux_sym_preproc_include_token1] = ACTIONS(2059), + [aux_sym_preproc_def_token1] = ACTIONS(2059), + [aux_sym_preproc_if_token1] = ACTIONS(2059), + [aux_sym_preproc_if_token2] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2059), + [aux_sym_preproc_else_token1] = ACTIONS(2059), + [aux_sym_preproc_elif_token1] = ACTIONS(2059), + [sym_preproc_directive] = ACTIONS(2059), + [anon_sym_LPAREN2] = ACTIONS(2061), + [anon_sym_BANG] = ACTIONS(2061), + [anon_sym_TILDE] = ACTIONS(2061), + [anon_sym_DASH] = ACTIONS(2059), + [anon_sym_PLUS] = ACTIONS(2059), + [anon_sym_STAR] = ACTIONS(2061), + [anon_sym_AMP_AMP] = ACTIONS(2061), + [anon_sym_AMP] = ACTIONS(2059), + [anon_sym_SEMI] = ACTIONS(2061), + [anon_sym_typedef] = ACTIONS(2059), + [anon_sym_extern] = ACTIONS(2059), + [anon_sym___attribute__] = ACTIONS(2059), + [anon_sym_COLON_COLON] = ACTIONS(2061), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2061), + [anon_sym___declspec] = ACTIONS(2059), + [anon_sym___based] = ACTIONS(2059), + [anon_sym___cdecl] = ACTIONS(2059), + [anon_sym___clrcall] = ACTIONS(2059), + [anon_sym___stdcall] = ACTIONS(2059), + [anon_sym___fastcall] = ACTIONS(2059), + [anon_sym___thiscall] = ACTIONS(2059), + [anon_sym___vectorcall] = ACTIONS(2059), + [anon_sym_LBRACE] = ACTIONS(2061), + [anon_sym_LBRACK] = ACTIONS(2059), + [anon_sym_static] = ACTIONS(2059), + [anon_sym_register] = ACTIONS(2059), + [anon_sym_inline] = ACTIONS(2059), + [anon_sym_thread_local] = ACTIONS(2059), + [anon_sym_const] = ACTIONS(2059), + [anon_sym_volatile] = ACTIONS(2059), + [anon_sym_restrict] = ACTIONS(2059), + [anon_sym__Atomic] = ACTIONS(2059), + [anon_sym_mutable] = ACTIONS(2059), + [anon_sym_constexpr] = ACTIONS(2059), + [anon_sym_constinit] = ACTIONS(2059), + [anon_sym_consteval] = ACTIONS(2059), + [anon_sym_signed] = ACTIONS(2059), + [anon_sym_unsigned] = ACTIONS(2059), + [anon_sym_long] = ACTIONS(2059), + [anon_sym_short] = ACTIONS(2059), + [sym_primitive_type] = ACTIONS(2059), + [anon_sym_enum] = ACTIONS(2059), + [anon_sym_class] = ACTIONS(2059), + [anon_sym_struct] = ACTIONS(2059), + [anon_sym_union] = ACTIONS(2059), + [anon_sym_if] = ACTIONS(2059), + [anon_sym_else] = ACTIONS(2059), + [anon_sym_switch] = ACTIONS(2059), + [anon_sym_case] = ACTIONS(2059), + [anon_sym_default] = ACTIONS(2059), + [anon_sym_while] = ACTIONS(2059), + [anon_sym_do] = ACTIONS(2059), + [anon_sym_for] = ACTIONS(2059), + [anon_sym_return] = ACTIONS(2059), + [anon_sym_break] = ACTIONS(2059), + [anon_sym_continue] = ACTIONS(2059), + [anon_sym_goto] = ACTIONS(2059), + [anon_sym_DASH_DASH] = ACTIONS(2061), + [anon_sym_PLUS_PLUS] = ACTIONS(2061), + [anon_sym_sizeof] = ACTIONS(2059), + [sym_number_literal] = ACTIONS(2061), + [anon_sym_L_SQUOTE] = ACTIONS(2061), + [anon_sym_u_SQUOTE] = ACTIONS(2061), + [anon_sym_U_SQUOTE] = ACTIONS(2061), + [anon_sym_u8_SQUOTE] = ACTIONS(2061), + [anon_sym_SQUOTE] = ACTIONS(2061), + [anon_sym_L_DQUOTE] = ACTIONS(2061), + [anon_sym_u_DQUOTE] = ACTIONS(2061), + [anon_sym_U_DQUOTE] = ACTIONS(2061), + [anon_sym_u8_DQUOTE] = ACTIONS(2061), + [anon_sym_DQUOTE] = ACTIONS(2061), + [sym_true] = ACTIONS(2059), + [sym_false] = ACTIONS(2059), + [sym_null] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2059), + [anon_sym_decltype] = ACTIONS(2059), + [anon_sym_virtual] = ACTIONS(2059), + [anon_sym_explicit] = ACTIONS(2059), + [anon_sym_typename] = ACTIONS(2059), + [anon_sym_template] = ACTIONS(2059), + [anon_sym_operator] = ACTIONS(2059), + [anon_sym_delete] = ACTIONS(2059), + [anon_sym_throw] = ACTIONS(2059), + [anon_sym_namespace] = ACTIONS(2059), + [anon_sym_using] = ACTIONS(2059), + [anon_sym_static_assert] = ACTIONS(2059), + [anon_sym_concept] = ACTIONS(2059), + [anon_sym_co_return] = ACTIONS(2059), + [anon_sym_co_yield] = ACTIONS(2059), + [anon_sym_try] = ACTIONS(2059), + [anon_sym_co_await] = ACTIONS(2059), + [anon_sym_new] = ACTIONS(2059), + [anon_sym_requires] = ACTIONS(2059), + [sym_this] = ACTIONS(2059), + [sym_nullptr] = ACTIONS(2059), + [sym_raw_string_literal] = ACTIONS(2061), + }, + [310] = { + [sym_compound_statement] = STATE(556), + [sym_labeled_statement] = STATE(556), + [sym_expression_statement] = STATE(556), + [sym_if_statement] = STATE(556), + [sym_switch_statement] = STATE(556), + [sym_case_statement] = STATE(556), + [sym_while_statement] = STATE(556), + [sym_do_statement] = STATE(556), + [sym_for_statement] = STATE(556), + [sym_return_statement] = STATE(556), + [sym_break_statement] = STATE(556), + [sym_continue_statement] = STATE(556), + [sym_goto_statement] = STATE(556), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(556), + [sym_co_return_statement] = STATE(556), + [sym_co_yield_statement] = STATE(556), + [sym_throw_statement] = STATE(556), + [sym_try_statement] = STATE(556), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [311] = { + [sym_compound_statement] = STATE(219), + [sym_labeled_statement] = STATE(219), + [sym_expression_statement] = STATE(219), + [sym_if_statement] = STATE(219), + [sym_switch_statement] = STATE(219), + [sym_case_statement] = STATE(219), + [sym_while_statement] = STATE(219), + [sym_do_statement] = STATE(219), + [sym_for_statement] = STATE(219), + [sym_return_statement] = STATE(219), + [sym_break_statement] = STATE(219), + [sym_continue_statement] = STATE(219), + [sym_goto_statement] = STATE(219), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(219), + [sym_co_return_statement] = STATE(219), + [sym_co_yield_statement] = STATE(219), + [sym_throw_statement] = STATE(219), + [sym_try_statement] = STATE(219), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [312] = { + [sym_identifier] = ACTIONS(2063), + [aux_sym_preproc_include_token1] = ACTIONS(2063), + [aux_sym_preproc_def_token1] = ACTIONS(2063), + [aux_sym_preproc_if_token1] = ACTIONS(2063), + [aux_sym_preproc_if_token2] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2063), + [aux_sym_preproc_else_token1] = ACTIONS(2063), + [aux_sym_preproc_elif_token1] = ACTIONS(2063), + [sym_preproc_directive] = ACTIONS(2063), + [anon_sym_LPAREN2] = ACTIONS(2065), + [anon_sym_BANG] = ACTIONS(2065), + [anon_sym_TILDE] = ACTIONS(2065), + [anon_sym_DASH] = ACTIONS(2063), + [anon_sym_PLUS] = ACTIONS(2063), + [anon_sym_STAR] = ACTIONS(2065), + [anon_sym_AMP_AMP] = ACTIONS(2065), + [anon_sym_AMP] = ACTIONS(2063), + [anon_sym_SEMI] = ACTIONS(2065), + [anon_sym_typedef] = ACTIONS(2063), + [anon_sym_extern] = ACTIONS(2063), + [anon_sym___attribute__] = ACTIONS(2063), + [anon_sym_COLON_COLON] = ACTIONS(2065), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2065), + [anon_sym___declspec] = ACTIONS(2063), + [anon_sym___based] = ACTIONS(2063), + [anon_sym___cdecl] = ACTIONS(2063), + [anon_sym___clrcall] = ACTIONS(2063), + [anon_sym___stdcall] = ACTIONS(2063), + [anon_sym___fastcall] = ACTIONS(2063), + [anon_sym___thiscall] = ACTIONS(2063), + [anon_sym___vectorcall] = ACTIONS(2063), + [anon_sym_LBRACE] = ACTIONS(2065), + [anon_sym_LBRACK] = ACTIONS(2063), + [anon_sym_static] = ACTIONS(2063), + [anon_sym_register] = ACTIONS(2063), + [anon_sym_inline] = ACTIONS(2063), + [anon_sym_thread_local] = ACTIONS(2063), + [anon_sym_const] = ACTIONS(2063), + [anon_sym_volatile] = ACTIONS(2063), + [anon_sym_restrict] = ACTIONS(2063), + [anon_sym__Atomic] = ACTIONS(2063), + [anon_sym_mutable] = ACTIONS(2063), + [anon_sym_constexpr] = ACTIONS(2063), + [anon_sym_constinit] = ACTIONS(2063), + [anon_sym_consteval] = ACTIONS(2063), + [anon_sym_signed] = ACTIONS(2063), + [anon_sym_unsigned] = ACTIONS(2063), + [anon_sym_long] = ACTIONS(2063), + [anon_sym_short] = ACTIONS(2063), + [sym_primitive_type] = ACTIONS(2063), + [anon_sym_enum] = ACTIONS(2063), + [anon_sym_class] = ACTIONS(2063), + [anon_sym_struct] = ACTIONS(2063), + [anon_sym_union] = ACTIONS(2063), + [anon_sym_if] = ACTIONS(2063), + [anon_sym_else] = ACTIONS(2063), + [anon_sym_switch] = ACTIONS(2063), + [anon_sym_case] = ACTIONS(2063), + [anon_sym_default] = ACTIONS(2063), + [anon_sym_while] = ACTIONS(2063), + [anon_sym_do] = ACTIONS(2063), + [anon_sym_for] = ACTIONS(2063), + [anon_sym_return] = ACTIONS(2063), + [anon_sym_break] = ACTIONS(2063), + [anon_sym_continue] = ACTIONS(2063), + [anon_sym_goto] = ACTIONS(2063), + [anon_sym_DASH_DASH] = ACTIONS(2065), + [anon_sym_PLUS_PLUS] = ACTIONS(2065), + [anon_sym_sizeof] = ACTIONS(2063), + [sym_number_literal] = ACTIONS(2065), + [anon_sym_L_SQUOTE] = ACTIONS(2065), + [anon_sym_u_SQUOTE] = ACTIONS(2065), + [anon_sym_U_SQUOTE] = ACTIONS(2065), + [anon_sym_u8_SQUOTE] = ACTIONS(2065), + [anon_sym_SQUOTE] = ACTIONS(2065), + [anon_sym_L_DQUOTE] = ACTIONS(2065), + [anon_sym_u_DQUOTE] = ACTIONS(2065), + [anon_sym_U_DQUOTE] = ACTIONS(2065), + [anon_sym_u8_DQUOTE] = ACTIONS(2065), + [anon_sym_DQUOTE] = ACTIONS(2065), + [sym_true] = ACTIONS(2063), + [sym_false] = ACTIONS(2063), + [sym_null] = ACTIONS(2063), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2063), + [anon_sym_decltype] = ACTIONS(2063), + [anon_sym_virtual] = ACTIONS(2063), + [anon_sym_explicit] = ACTIONS(2063), + [anon_sym_typename] = ACTIONS(2063), + [anon_sym_template] = ACTIONS(2063), + [anon_sym_operator] = ACTIONS(2063), + [anon_sym_delete] = ACTIONS(2063), + [anon_sym_throw] = ACTIONS(2063), + [anon_sym_namespace] = ACTIONS(2063), + [anon_sym_using] = ACTIONS(2063), + [anon_sym_static_assert] = ACTIONS(2063), + [anon_sym_concept] = ACTIONS(2063), + [anon_sym_co_return] = ACTIONS(2063), + [anon_sym_co_yield] = ACTIONS(2063), + [anon_sym_try] = ACTIONS(2063), + [anon_sym_co_await] = ACTIONS(2063), + [anon_sym_new] = ACTIONS(2063), + [anon_sym_requires] = ACTIONS(2063), + [sym_this] = ACTIONS(2063), + [sym_nullptr] = ACTIONS(2063), + [sym_raw_string_literal] = ACTIONS(2065), + }, + [313] = { + [sym_compound_statement] = STATE(689), + [sym_labeled_statement] = STATE(689), + [sym_expression_statement] = STATE(689), + [sym_if_statement] = STATE(689), + [sym_switch_statement] = STATE(689), + [sym_case_statement] = STATE(689), + [sym_while_statement] = STATE(689), + [sym_do_statement] = STATE(689), + [sym_for_statement] = STATE(689), + [sym_return_statement] = STATE(689), + [sym_break_statement] = STATE(689), + [sym_continue_statement] = STATE(689), + [sym_goto_statement] = STATE(689), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(689), + [sym_co_return_statement] = STATE(689), + [sym_co_yield_statement] = STATE(689), + [sym_throw_statement] = STATE(689), + [sym_try_statement] = STATE(689), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [314] = { + [sym_compound_statement] = STATE(225), + [sym_labeled_statement] = STATE(227), + [sym_expression_statement] = STATE(228), + [sym_if_statement] = STATE(230), + [sym_switch_statement] = STATE(231), + [sym_case_statement] = STATE(232), + [sym_while_statement] = STATE(233), + [sym_do_statement] = STATE(234), + [sym_for_statement] = STATE(236), + [sym_return_statement] = STATE(239), + [sym_break_statement] = STATE(240), + [sym_continue_statement] = STATE(242), + [sym_goto_statement] = STATE(243), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(247), + [sym_co_return_statement] = STATE(248), + [sym_co_yield_statement] = STATE(252), + [sym_throw_statement] = STATE(253), + [sym_try_statement] = STATE(254), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [315] = { + [sym_compound_statement] = STATE(690), + [sym_labeled_statement] = STATE(690), + [sym_expression_statement] = STATE(690), + [sym_if_statement] = STATE(690), + [sym_switch_statement] = STATE(690), + [sym_case_statement] = STATE(690), + [sym_while_statement] = STATE(690), + [sym_do_statement] = STATE(690), + [sym_for_statement] = STATE(690), + [sym_return_statement] = STATE(690), + [sym_break_statement] = STATE(690), + [sym_continue_statement] = STATE(690), + [sym_goto_statement] = STATE(690), + [sym__expression] = STATE(3403), + [sym_comma_expression] = STATE(6384), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(690), + [sym_co_return_statement] = STATE(690), + [sym_co_yield_statement] = STATE(690), + [sym_throw_statement] = STATE(690), + [sym_try_statement] = STATE(690), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1844), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(33), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(71), + [anon_sym_switch] = ACTIONS(73), + [anon_sym_case] = ACTIONS(75), + [anon_sym_default] = ACTIONS(77), + [anon_sym_while] = ACTIONS(79), + [anon_sym_do] = ACTIONS(81), + [anon_sym_for] = ACTIONS(83), + [anon_sym_return] = ACTIONS(85), + [anon_sym_break] = ACTIONS(87), + [anon_sym_continue] = ACTIONS(89), + [anon_sym_goto] = ACTIONS(91), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(121), + [anon_sym_co_return] = ACTIONS(131), + [anon_sym_co_yield] = ACTIONS(133), + [anon_sym_try] = ACTIONS(135), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [316] = { + [sym_identifier] = ACTIONS(2067), + [aux_sym_preproc_include_token1] = ACTIONS(2067), + [aux_sym_preproc_def_token1] = ACTIONS(2067), + [aux_sym_preproc_if_token1] = ACTIONS(2067), + [aux_sym_preproc_if_token2] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2067), + [aux_sym_preproc_else_token1] = ACTIONS(2067), + [aux_sym_preproc_elif_token1] = ACTIONS(2067), + [sym_preproc_directive] = ACTIONS(2067), + [anon_sym_LPAREN2] = ACTIONS(2069), + [anon_sym_BANG] = ACTIONS(2069), + [anon_sym_TILDE] = ACTIONS(2069), + [anon_sym_DASH] = ACTIONS(2067), + [anon_sym_PLUS] = ACTIONS(2067), + [anon_sym_STAR] = ACTIONS(2069), + [anon_sym_AMP_AMP] = ACTIONS(2069), + [anon_sym_AMP] = ACTIONS(2067), + [anon_sym_SEMI] = ACTIONS(2069), + [anon_sym_typedef] = ACTIONS(2067), + [anon_sym_extern] = ACTIONS(2067), + [anon_sym___attribute__] = ACTIONS(2067), + [anon_sym_COLON_COLON] = ACTIONS(2069), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2069), + [anon_sym___declspec] = ACTIONS(2067), + [anon_sym___based] = ACTIONS(2067), + [anon_sym___cdecl] = ACTIONS(2067), + [anon_sym___clrcall] = ACTIONS(2067), + [anon_sym___stdcall] = ACTIONS(2067), + [anon_sym___fastcall] = ACTIONS(2067), + [anon_sym___thiscall] = ACTIONS(2067), + [anon_sym___vectorcall] = ACTIONS(2067), + [anon_sym_LBRACE] = ACTIONS(2069), + [anon_sym_LBRACK] = ACTIONS(2067), + [anon_sym_static] = ACTIONS(2067), + [anon_sym_register] = ACTIONS(2067), + [anon_sym_inline] = ACTIONS(2067), + [anon_sym_thread_local] = ACTIONS(2067), + [anon_sym_const] = ACTIONS(2067), + [anon_sym_volatile] = ACTIONS(2067), + [anon_sym_restrict] = ACTIONS(2067), + [anon_sym__Atomic] = ACTIONS(2067), + [anon_sym_mutable] = ACTIONS(2067), + [anon_sym_constexpr] = ACTIONS(2067), + [anon_sym_constinit] = ACTIONS(2067), + [anon_sym_consteval] = ACTIONS(2067), + [anon_sym_signed] = ACTIONS(2067), + [anon_sym_unsigned] = ACTIONS(2067), + [anon_sym_long] = ACTIONS(2067), + [anon_sym_short] = ACTIONS(2067), + [sym_primitive_type] = ACTIONS(2067), + [anon_sym_enum] = ACTIONS(2067), + [anon_sym_class] = ACTIONS(2067), + [anon_sym_struct] = ACTIONS(2067), + [anon_sym_union] = ACTIONS(2067), + [anon_sym_if] = ACTIONS(2067), + [anon_sym_else] = ACTIONS(2067), + [anon_sym_switch] = ACTIONS(2067), + [anon_sym_case] = ACTIONS(2067), + [anon_sym_default] = ACTIONS(2067), + [anon_sym_while] = ACTIONS(2067), + [anon_sym_do] = ACTIONS(2067), + [anon_sym_for] = ACTIONS(2067), + [anon_sym_return] = ACTIONS(2067), + [anon_sym_break] = ACTIONS(2067), + [anon_sym_continue] = ACTIONS(2067), + [anon_sym_goto] = ACTIONS(2067), + [anon_sym_DASH_DASH] = ACTIONS(2069), + [anon_sym_PLUS_PLUS] = ACTIONS(2069), + [anon_sym_sizeof] = ACTIONS(2067), + [sym_number_literal] = ACTIONS(2069), + [anon_sym_L_SQUOTE] = ACTIONS(2069), + [anon_sym_u_SQUOTE] = ACTIONS(2069), + [anon_sym_U_SQUOTE] = ACTIONS(2069), + [anon_sym_u8_SQUOTE] = ACTIONS(2069), + [anon_sym_SQUOTE] = ACTIONS(2069), + [anon_sym_L_DQUOTE] = ACTIONS(2069), + [anon_sym_u_DQUOTE] = ACTIONS(2069), + [anon_sym_U_DQUOTE] = ACTIONS(2069), + [anon_sym_u8_DQUOTE] = ACTIONS(2069), + [anon_sym_DQUOTE] = ACTIONS(2069), + [sym_true] = ACTIONS(2067), + [sym_false] = ACTIONS(2067), + [sym_null] = ACTIONS(2067), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2067), + [anon_sym_decltype] = ACTIONS(2067), + [anon_sym_virtual] = ACTIONS(2067), + [anon_sym_explicit] = ACTIONS(2067), + [anon_sym_typename] = ACTIONS(2067), + [anon_sym_template] = ACTIONS(2067), + [anon_sym_operator] = ACTIONS(2067), + [anon_sym_delete] = ACTIONS(2067), + [anon_sym_throw] = ACTIONS(2067), + [anon_sym_namespace] = ACTIONS(2067), + [anon_sym_using] = ACTIONS(2067), + [anon_sym_static_assert] = ACTIONS(2067), + [anon_sym_concept] = ACTIONS(2067), + [anon_sym_co_return] = ACTIONS(2067), + [anon_sym_co_yield] = ACTIONS(2067), + [anon_sym_try] = ACTIONS(2067), + [anon_sym_co_await] = ACTIONS(2067), + [anon_sym_new] = ACTIONS(2067), + [anon_sym_requires] = ACTIONS(2067), + [sym_this] = ACTIONS(2067), + [sym_nullptr] = ACTIONS(2067), + [sym_raw_string_literal] = ACTIONS(2069), + }, + [317] = { + [sym_compound_statement] = STATE(5582), + [sym_labeled_statement] = STATE(5582), + [sym_expression_statement] = STATE(5582), + [sym_if_statement] = STATE(5582), + [sym_switch_statement] = STATE(5582), + [sym_case_statement] = STATE(5582), + [sym_while_statement] = STATE(5582), + [sym_do_statement] = STATE(5582), + [sym_for_statement] = STATE(5582), + [sym_return_statement] = STATE(5582), + [sym_break_statement] = STATE(5582), + [sym_continue_statement] = STATE(5582), + [sym_goto_statement] = STATE(5582), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5582), + [sym_co_return_statement] = STATE(5582), + [sym_co_yield_statement] = STATE(5582), + [sym_throw_statement] = STATE(5582), + [sym_try_statement] = STATE(5582), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [318] = { + [sym_compound_statement] = STATE(617), + [sym_labeled_statement] = STATE(604), + [sym_expression_statement] = STATE(602), + [sym_if_statement] = STATE(597), + [sym_switch_statement] = STATE(594), + [sym_case_statement] = STATE(590), + [sym_while_statement] = STATE(588), + [sym_do_statement] = STATE(584), + [sym_for_statement] = STATE(583), + [sym_return_statement] = STATE(576), + [sym_break_statement] = STATE(557), + [sym_continue_statement] = STATE(547), + [sym_goto_statement] = STATE(544), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(541), + [sym_co_return_statement] = STATE(515), + [sym_co_yield_statement] = STATE(494), + [sym_throw_statement] = STATE(491), + [sym_try_statement] = STATE(490), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [319] = { + [sym_compound_statement] = STATE(526), + [sym_labeled_statement] = STATE(526), + [sym_expression_statement] = STATE(526), + [sym_if_statement] = STATE(526), + [sym_switch_statement] = STATE(526), + [sym_case_statement] = STATE(526), + [sym_while_statement] = STATE(526), + [sym_do_statement] = STATE(526), + [sym_for_statement] = STATE(526), + [sym_return_statement] = STATE(526), + [sym_break_statement] = STATE(526), + [sym_continue_statement] = STATE(526), + [sym_goto_statement] = STATE(526), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(526), + [sym_co_return_statement] = STATE(526), + [sym_co_yield_statement] = STATE(526), + [sym_throw_statement] = STATE(526), + [sym_try_statement] = STATE(526), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [320] = { + [sym_identifier] = ACTIONS(2071), + [aux_sym_preproc_include_token1] = ACTIONS(2071), + [aux_sym_preproc_def_token1] = ACTIONS(2071), + [aux_sym_preproc_if_token1] = ACTIONS(2071), + [aux_sym_preproc_if_token2] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2071), + [aux_sym_preproc_else_token1] = ACTIONS(2071), + [aux_sym_preproc_elif_token1] = ACTIONS(2071), + [sym_preproc_directive] = ACTIONS(2071), + [anon_sym_LPAREN2] = ACTIONS(2073), + [anon_sym_BANG] = ACTIONS(2073), + [anon_sym_TILDE] = ACTIONS(2073), + [anon_sym_DASH] = ACTIONS(2071), + [anon_sym_PLUS] = ACTIONS(2071), + [anon_sym_STAR] = ACTIONS(2073), + [anon_sym_AMP_AMP] = ACTIONS(2073), + [anon_sym_AMP] = ACTIONS(2071), + [anon_sym_SEMI] = ACTIONS(2073), + [anon_sym_typedef] = ACTIONS(2071), + [anon_sym_extern] = ACTIONS(2071), + [anon_sym___attribute__] = ACTIONS(2071), + [anon_sym_COLON_COLON] = ACTIONS(2073), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2073), + [anon_sym___declspec] = ACTIONS(2071), + [anon_sym___based] = ACTIONS(2071), + [anon_sym___cdecl] = ACTIONS(2071), + [anon_sym___clrcall] = ACTIONS(2071), + [anon_sym___stdcall] = ACTIONS(2071), + [anon_sym___fastcall] = ACTIONS(2071), + [anon_sym___thiscall] = ACTIONS(2071), + [anon_sym___vectorcall] = ACTIONS(2071), + [anon_sym_LBRACE] = ACTIONS(2073), + [anon_sym_LBRACK] = ACTIONS(2071), + [anon_sym_static] = ACTIONS(2071), + [anon_sym_register] = ACTIONS(2071), + [anon_sym_inline] = ACTIONS(2071), + [anon_sym_thread_local] = ACTIONS(2071), + [anon_sym_const] = ACTIONS(2071), + [anon_sym_volatile] = ACTIONS(2071), + [anon_sym_restrict] = ACTIONS(2071), + [anon_sym__Atomic] = ACTIONS(2071), + [anon_sym_mutable] = ACTIONS(2071), + [anon_sym_constexpr] = ACTIONS(2071), + [anon_sym_constinit] = ACTIONS(2071), + [anon_sym_consteval] = ACTIONS(2071), + [anon_sym_signed] = ACTIONS(2071), + [anon_sym_unsigned] = ACTIONS(2071), + [anon_sym_long] = ACTIONS(2071), + [anon_sym_short] = ACTIONS(2071), + [sym_primitive_type] = ACTIONS(2071), + [anon_sym_enum] = ACTIONS(2071), + [anon_sym_class] = ACTIONS(2071), + [anon_sym_struct] = ACTIONS(2071), + [anon_sym_union] = ACTIONS(2071), + [anon_sym_if] = ACTIONS(2071), + [anon_sym_else] = ACTIONS(2071), + [anon_sym_switch] = ACTIONS(2071), + [anon_sym_case] = ACTIONS(2071), + [anon_sym_default] = ACTIONS(2071), + [anon_sym_while] = ACTIONS(2071), + [anon_sym_do] = ACTIONS(2071), + [anon_sym_for] = ACTIONS(2071), + [anon_sym_return] = ACTIONS(2071), + [anon_sym_break] = ACTIONS(2071), + [anon_sym_continue] = ACTIONS(2071), + [anon_sym_goto] = ACTIONS(2071), + [anon_sym_DASH_DASH] = ACTIONS(2073), + [anon_sym_PLUS_PLUS] = ACTIONS(2073), + [anon_sym_sizeof] = ACTIONS(2071), + [sym_number_literal] = ACTIONS(2073), + [anon_sym_L_SQUOTE] = ACTIONS(2073), + [anon_sym_u_SQUOTE] = ACTIONS(2073), + [anon_sym_U_SQUOTE] = ACTIONS(2073), + [anon_sym_u8_SQUOTE] = ACTIONS(2073), + [anon_sym_SQUOTE] = ACTIONS(2073), + [anon_sym_L_DQUOTE] = ACTIONS(2073), + [anon_sym_u_DQUOTE] = ACTIONS(2073), + [anon_sym_U_DQUOTE] = ACTIONS(2073), + [anon_sym_u8_DQUOTE] = ACTIONS(2073), + [anon_sym_DQUOTE] = ACTIONS(2073), + [sym_true] = ACTIONS(2071), + [sym_false] = ACTIONS(2071), + [sym_null] = ACTIONS(2071), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2071), + [anon_sym_decltype] = ACTIONS(2071), + [anon_sym_virtual] = ACTIONS(2071), + [anon_sym_explicit] = ACTIONS(2071), + [anon_sym_typename] = ACTIONS(2071), + [anon_sym_template] = ACTIONS(2071), + [anon_sym_operator] = ACTIONS(2071), + [anon_sym_delete] = ACTIONS(2071), + [anon_sym_throw] = ACTIONS(2071), + [anon_sym_namespace] = ACTIONS(2071), + [anon_sym_using] = ACTIONS(2071), + [anon_sym_static_assert] = ACTIONS(2071), + [anon_sym_concept] = ACTIONS(2071), + [anon_sym_co_return] = ACTIONS(2071), + [anon_sym_co_yield] = ACTIONS(2071), + [anon_sym_try] = ACTIONS(2071), + [anon_sym_co_await] = ACTIONS(2071), + [anon_sym_new] = ACTIONS(2071), + [anon_sym_requires] = ACTIONS(2071), + [sym_this] = ACTIONS(2071), + [sym_nullptr] = ACTIONS(2071), + [sym_raw_string_literal] = ACTIONS(2073), + }, + [321] = { + [sym_compound_statement] = STATE(572), + [sym_labeled_statement] = STATE(572), + [sym_expression_statement] = STATE(572), + [sym_if_statement] = STATE(572), + [sym_switch_statement] = STATE(572), + [sym_case_statement] = STATE(572), + [sym_while_statement] = STATE(572), + [sym_do_statement] = STATE(572), + [sym_for_statement] = STATE(572), + [sym_return_statement] = STATE(572), + [sym_break_statement] = STATE(572), + [sym_continue_statement] = STATE(572), + [sym_goto_statement] = STATE(572), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(572), + [sym_co_return_statement] = STATE(572), + [sym_co_yield_statement] = STATE(572), + [sym_throw_statement] = STATE(572), + [sym_try_statement] = STATE(572), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [322] = { + [sym_identifier] = ACTIONS(2075), + [aux_sym_preproc_include_token1] = ACTIONS(2075), + [aux_sym_preproc_def_token1] = ACTIONS(2075), + [aux_sym_preproc_if_token1] = ACTIONS(2075), + [aux_sym_preproc_if_token2] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2075), + [aux_sym_preproc_else_token1] = ACTIONS(2075), + [aux_sym_preproc_elif_token1] = ACTIONS(2075), + [sym_preproc_directive] = ACTIONS(2075), + [anon_sym_LPAREN2] = ACTIONS(2077), + [anon_sym_BANG] = ACTIONS(2077), + [anon_sym_TILDE] = ACTIONS(2077), + [anon_sym_DASH] = ACTIONS(2075), + [anon_sym_PLUS] = ACTIONS(2075), + [anon_sym_STAR] = ACTIONS(2077), + [anon_sym_AMP_AMP] = ACTIONS(2077), + [anon_sym_AMP] = ACTIONS(2075), + [anon_sym_SEMI] = ACTIONS(2077), + [anon_sym_typedef] = ACTIONS(2075), + [anon_sym_extern] = ACTIONS(2075), + [anon_sym___attribute__] = ACTIONS(2075), + [anon_sym_COLON_COLON] = ACTIONS(2077), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2077), + [anon_sym___declspec] = ACTIONS(2075), + [anon_sym___based] = ACTIONS(2075), + [anon_sym___cdecl] = ACTIONS(2075), + [anon_sym___clrcall] = ACTIONS(2075), + [anon_sym___stdcall] = ACTIONS(2075), + [anon_sym___fastcall] = ACTIONS(2075), + [anon_sym___thiscall] = ACTIONS(2075), + [anon_sym___vectorcall] = ACTIONS(2075), + [anon_sym_LBRACE] = ACTIONS(2077), + [anon_sym_LBRACK] = ACTIONS(2075), + [anon_sym_static] = ACTIONS(2075), + [anon_sym_register] = ACTIONS(2075), + [anon_sym_inline] = ACTIONS(2075), + [anon_sym_thread_local] = ACTIONS(2075), + [anon_sym_const] = ACTIONS(2075), + [anon_sym_volatile] = ACTIONS(2075), + [anon_sym_restrict] = ACTIONS(2075), + [anon_sym__Atomic] = ACTIONS(2075), + [anon_sym_mutable] = ACTIONS(2075), + [anon_sym_constexpr] = ACTIONS(2075), + [anon_sym_constinit] = ACTIONS(2075), + [anon_sym_consteval] = ACTIONS(2075), + [anon_sym_signed] = ACTIONS(2075), + [anon_sym_unsigned] = ACTIONS(2075), + [anon_sym_long] = ACTIONS(2075), + [anon_sym_short] = ACTIONS(2075), + [sym_primitive_type] = ACTIONS(2075), + [anon_sym_enum] = ACTIONS(2075), + [anon_sym_class] = ACTIONS(2075), + [anon_sym_struct] = ACTIONS(2075), + [anon_sym_union] = ACTIONS(2075), + [anon_sym_if] = ACTIONS(2075), + [anon_sym_else] = ACTIONS(2075), + [anon_sym_switch] = ACTIONS(2075), + [anon_sym_case] = ACTIONS(2075), + [anon_sym_default] = ACTIONS(2075), + [anon_sym_while] = ACTIONS(2075), + [anon_sym_do] = ACTIONS(2075), + [anon_sym_for] = ACTIONS(2075), + [anon_sym_return] = ACTIONS(2075), + [anon_sym_break] = ACTIONS(2075), + [anon_sym_continue] = ACTIONS(2075), + [anon_sym_goto] = ACTIONS(2075), + [anon_sym_DASH_DASH] = ACTIONS(2077), + [anon_sym_PLUS_PLUS] = ACTIONS(2077), + [anon_sym_sizeof] = ACTIONS(2075), + [sym_number_literal] = ACTIONS(2077), + [anon_sym_L_SQUOTE] = ACTIONS(2077), + [anon_sym_u_SQUOTE] = ACTIONS(2077), + [anon_sym_U_SQUOTE] = ACTIONS(2077), + [anon_sym_u8_SQUOTE] = ACTIONS(2077), + [anon_sym_SQUOTE] = ACTIONS(2077), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2075), + [sym_false] = ACTIONS(2075), + [sym_null] = ACTIONS(2075), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2075), + [anon_sym_decltype] = ACTIONS(2075), + [anon_sym_virtual] = ACTIONS(2075), + [anon_sym_explicit] = ACTIONS(2075), + [anon_sym_typename] = ACTIONS(2075), + [anon_sym_template] = ACTIONS(2075), + [anon_sym_operator] = ACTIONS(2075), + [anon_sym_delete] = ACTIONS(2075), + [anon_sym_throw] = ACTIONS(2075), + [anon_sym_namespace] = ACTIONS(2075), + [anon_sym_using] = ACTIONS(2075), + [anon_sym_static_assert] = ACTIONS(2075), + [anon_sym_concept] = ACTIONS(2075), + [anon_sym_co_return] = ACTIONS(2075), + [anon_sym_co_yield] = ACTIONS(2075), + [anon_sym_try] = ACTIONS(2075), + [anon_sym_co_await] = ACTIONS(2075), + [anon_sym_new] = ACTIONS(2075), + [anon_sym_requires] = ACTIONS(2075), + [sym_this] = ACTIONS(2075), + [sym_nullptr] = ACTIONS(2075), + [sym_raw_string_literal] = ACTIONS(2077), + }, + [323] = { + [sym_compound_statement] = STATE(505), + [sym_labeled_statement] = STATE(505), + [sym_expression_statement] = STATE(505), + [sym_if_statement] = STATE(505), + [sym_switch_statement] = STATE(505), + [sym_case_statement] = STATE(505), + [sym_while_statement] = STATE(505), + [sym_do_statement] = STATE(505), + [sym_for_statement] = STATE(505), + [sym_return_statement] = STATE(505), + [sym_break_statement] = STATE(505), + [sym_continue_statement] = STATE(505), + [sym_goto_statement] = STATE(505), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(505), + [sym_co_return_statement] = STATE(505), + [sym_co_yield_statement] = STATE(505), + [sym_throw_statement] = STATE(505), + [sym_try_statement] = STATE(505), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [324] = { + [sym_compound_statement] = STATE(484), + [sym_labeled_statement] = STATE(484), + [sym_expression_statement] = STATE(484), + [sym_if_statement] = STATE(484), + [sym_switch_statement] = STATE(484), + [sym_case_statement] = STATE(484), + [sym_while_statement] = STATE(484), + [sym_do_statement] = STATE(484), + [sym_for_statement] = STATE(484), + [sym_return_statement] = STATE(484), + [sym_break_statement] = STATE(484), + [sym_continue_statement] = STATE(484), + [sym_goto_statement] = STATE(484), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(484), + [sym_co_return_statement] = STATE(484), + [sym_co_yield_statement] = STATE(484), + [sym_throw_statement] = STATE(484), + [sym_try_statement] = STATE(484), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [325] = { + [sym_compound_statement] = STATE(577), + [sym_labeled_statement] = STATE(577), + [sym_expression_statement] = STATE(577), + [sym_if_statement] = STATE(577), + [sym_switch_statement] = STATE(577), + [sym_case_statement] = STATE(577), + [sym_while_statement] = STATE(577), + [sym_do_statement] = STATE(577), + [sym_for_statement] = STATE(577), + [sym_return_statement] = STATE(577), + [sym_break_statement] = STATE(577), + [sym_continue_statement] = STATE(577), + [sym_goto_statement] = STATE(577), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(577), + [sym_co_return_statement] = STATE(577), + [sym_co_yield_statement] = STATE(577), + [sym_throw_statement] = STATE(577), + [sym_try_statement] = STATE(577), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [326] = { + [sym_compound_statement] = STATE(499), + [sym_labeled_statement] = STATE(499), + [sym_expression_statement] = STATE(499), + [sym_if_statement] = STATE(499), + [sym_switch_statement] = STATE(499), + [sym_case_statement] = STATE(499), + [sym_while_statement] = STATE(499), + [sym_do_statement] = STATE(499), + [sym_for_statement] = STATE(499), + [sym_return_statement] = STATE(499), + [sym_break_statement] = STATE(499), + [sym_continue_statement] = STATE(499), + [sym_goto_statement] = STATE(499), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(499), + [sym_co_return_statement] = STATE(499), + [sym_co_yield_statement] = STATE(499), + [sym_throw_statement] = STATE(499), + [sym_try_statement] = STATE(499), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [327] = { + [sym_compound_statement] = STATE(579), + [sym_labeled_statement] = STATE(579), + [sym_expression_statement] = STATE(579), + [sym_if_statement] = STATE(579), + [sym_switch_statement] = STATE(579), + [sym_case_statement] = STATE(579), + [sym_while_statement] = STATE(579), + [sym_do_statement] = STATE(579), + [sym_for_statement] = STATE(579), + [sym_return_statement] = STATE(579), + [sym_break_statement] = STATE(579), + [sym_continue_statement] = STATE(579), + [sym_goto_statement] = STATE(579), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(579), + [sym_co_return_statement] = STATE(579), + [sym_co_yield_statement] = STATE(579), + [sym_throw_statement] = STATE(579), + [sym_try_statement] = STATE(579), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [328] = { + [sym_identifier] = ACTIONS(2079), + [aux_sym_preproc_include_token1] = ACTIONS(2079), + [aux_sym_preproc_def_token1] = ACTIONS(2079), + [aux_sym_preproc_if_token1] = ACTIONS(2079), + [aux_sym_preproc_if_token2] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2079), + [aux_sym_preproc_else_token1] = ACTIONS(2079), + [aux_sym_preproc_elif_token1] = ACTIONS(2079), + [sym_preproc_directive] = ACTIONS(2079), + [anon_sym_LPAREN2] = ACTIONS(2081), + [anon_sym_BANG] = ACTIONS(2081), + [anon_sym_TILDE] = ACTIONS(2081), + [anon_sym_DASH] = ACTIONS(2079), + [anon_sym_PLUS] = ACTIONS(2079), + [anon_sym_STAR] = ACTIONS(2081), + [anon_sym_AMP_AMP] = ACTIONS(2081), + [anon_sym_AMP] = ACTIONS(2079), + [anon_sym_SEMI] = ACTIONS(2081), + [anon_sym_typedef] = ACTIONS(2079), + [anon_sym_extern] = ACTIONS(2079), + [anon_sym___attribute__] = ACTIONS(2079), + [anon_sym_COLON_COLON] = ACTIONS(2081), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2081), + [anon_sym___declspec] = ACTIONS(2079), + [anon_sym___based] = ACTIONS(2079), + [anon_sym___cdecl] = ACTIONS(2079), + [anon_sym___clrcall] = ACTIONS(2079), + [anon_sym___stdcall] = ACTIONS(2079), + [anon_sym___fastcall] = ACTIONS(2079), + [anon_sym___thiscall] = ACTIONS(2079), + [anon_sym___vectorcall] = ACTIONS(2079), + [anon_sym_LBRACE] = ACTIONS(2081), + [anon_sym_LBRACK] = ACTIONS(2079), + [anon_sym_static] = ACTIONS(2079), + [anon_sym_register] = ACTIONS(2079), + [anon_sym_inline] = ACTIONS(2079), + [anon_sym_thread_local] = ACTIONS(2079), + [anon_sym_const] = ACTIONS(2079), + [anon_sym_volatile] = ACTIONS(2079), + [anon_sym_restrict] = ACTIONS(2079), + [anon_sym__Atomic] = ACTIONS(2079), + [anon_sym_mutable] = ACTIONS(2079), + [anon_sym_constexpr] = ACTIONS(2079), + [anon_sym_constinit] = ACTIONS(2079), + [anon_sym_consteval] = ACTIONS(2079), + [anon_sym_signed] = ACTIONS(2079), + [anon_sym_unsigned] = ACTIONS(2079), + [anon_sym_long] = ACTIONS(2079), + [anon_sym_short] = ACTIONS(2079), + [sym_primitive_type] = ACTIONS(2079), + [anon_sym_enum] = ACTIONS(2079), + [anon_sym_class] = ACTIONS(2079), + [anon_sym_struct] = ACTIONS(2079), + [anon_sym_union] = ACTIONS(2079), + [anon_sym_if] = ACTIONS(2079), + [anon_sym_else] = ACTIONS(2079), + [anon_sym_switch] = ACTIONS(2079), + [anon_sym_case] = ACTIONS(2079), + [anon_sym_default] = ACTIONS(2079), + [anon_sym_while] = ACTIONS(2079), + [anon_sym_do] = ACTIONS(2079), + [anon_sym_for] = ACTIONS(2079), + [anon_sym_return] = ACTIONS(2079), + [anon_sym_break] = ACTIONS(2079), + [anon_sym_continue] = ACTIONS(2079), + [anon_sym_goto] = ACTIONS(2079), + [anon_sym_DASH_DASH] = ACTIONS(2081), + [anon_sym_PLUS_PLUS] = ACTIONS(2081), + [anon_sym_sizeof] = ACTIONS(2079), + [sym_number_literal] = ACTIONS(2081), + [anon_sym_L_SQUOTE] = ACTIONS(2081), + [anon_sym_u_SQUOTE] = ACTIONS(2081), + [anon_sym_U_SQUOTE] = ACTIONS(2081), + [anon_sym_u8_SQUOTE] = ACTIONS(2081), + [anon_sym_SQUOTE] = ACTIONS(2081), + [anon_sym_L_DQUOTE] = ACTIONS(2081), + [anon_sym_u_DQUOTE] = ACTIONS(2081), + [anon_sym_U_DQUOTE] = ACTIONS(2081), + [anon_sym_u8_DQUOTE] = ACTIONS(2081), + [anon_sym_DQUOTE] = ACTIONS(2081), + [sym_true] = ACTIONS(2079), + [sym_false] = ACTIONS(2079), + [sym_null] = ACTIONS(2079), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2079), + [anon_sym_decltype] = ACTIONS(2079), + [anon_sym_virtual] = ACTIONS(2079), + [anon_sym_explicit] = ACTIONS(2079), + [anon_sym_typename] = ACTIONS(2079), + [anon_sym_template] = ACTIONS(2079), + [anon_sym_operator] = ACTIONS(2079), + [anon_sym_delete] = ACTIONS(2079), + [anon_sym_throw] = ACTIONS(2079), + [anon_sym_namespace] = ACTIONS(2079), + [anon_sym_using] = ACTIONS(2079), + [anon_sym_static_assert] = ACTIONS(2079), + [anon_sym_concept] = ACTIONS(2079), + [anon_sym_co_return] = ACTIONS(2079), + [anon_sym_co_yield] = ACTIONS(2079), + [anon_sym_try] = ACTIONS(2079), + [anon_sym_co_await] = ACTIONS(2079), + [anon_sym_new] = ACTIONS(2079), + [anon_sym_requires] = ACTIONS(2079), + [sym_this] = ACTIONS(2079), + [sym_nullptr] = ACTIONS(2079), + [sym_raw_string_literal] = ACTIONS(2081), + }, + [329] = { + [sym_compound_statement] = STATE(642), + [sym_labeled_statement] = STATE(642), + [sym_expression_statement] = STATE(642), + [sym_if_statement] = STATE(642), + [sym_switch_statement] = STATE(642), + [sym_case_statement] = STATE(642), + [sym_while_statement] = STATE(642), + [sym_do_statement] = STATE(642), + [sym_for_statement] = STATE(642), + [sym_return_statement] = STATE(642), + [sym_break_statement] = STATE(642), + [sym_continue_statement] = STATE(642), + [sym_goto_statement] = STATE(642), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(642), + [sym_co_return_statement] = STATE(642), + [sym_co_yield_statement] = STATE(642), + [sym_throw_statement] = STATE(642), + [sym_try_statement] = STATE(642), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [330] = { + [sym_identifier] = ACTIONS(2083), + [aux_sym_preproc_include_token1] = ACTIONS(2083), + [aux_sym_preproc_def_token1] = ACTIONS(2083), + [aux_sym_preproc_if_token1] = ACTIONS(2083), + [aux_sym_preproc_if_token2] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2083), + [aux_sym_preproc_else_token1] = ACTIONS(2083), + [aux_sym_preproc_elif_token1] = ACTIONS(2083), + [sym_preproc_directive] = ACTIONS(2083), + [anon_sym_LPAREN2] = ACTIONS(2085), + [anon_sym_BANG] = ACTIONS(2085), + [anon_sym_TILDE] = ACTIONS(2085), + [anon_sym_DASH] = ACTIONS(2083), + [anon_sym_PLUS] = ACTIONS(2083), + [anon_sym_STAR] = ACTIONS(2085), + [anon_sym_AMP_AMP] = ACTIONS(2085), + [anon_sym_AMP] = ACTIONS(2083), + [anon_sym_SEMI] = ACTIONS(2085), + [anon_sym_typedef] = ACTIONS(2083), + [anon_sym_extern] = ACTIONS(2083), + [anon_sym___attribute__] = ACTIONS(2083), + [anon_sym_COLON_COLON] = ACTIONS(2085), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2085), + [anon_sym___declspec] = ACTIONS(2083), + [anon_sym___based] = ACTIONS(2083), + [anon_sym___cdecl] = ACTIONS(2083), + [anon_sym___clrcall] = ACTIONS(2083), + [anon_sym___stdcall] = ACTIONS(2083), + [anon_sym___fastcall] = ACTIONS(2083), + [anon_sym___thiscall] = ACTIONS(2083), + [anon_sym___vectorcall] = ACTIONS(2083), + [anon_sym_LBRACE] = ACTIONS(2085), + [anon_sym_LBRACK] = ACTIONS(2083), + [anon_sym_static] = ACTIONS(2083), + [anon_sym_register] = ACTIONS(2083), + [anon_sym_inline] = ACTIONS(2083), + [anon_sym_thread_local] = ACTIONS(2083), + [anon_sym_const] = ACTIONS(2083), + [anon_sym_volatile] = ACTIONS(2083), + [anon_sym_restrict] = ACTIONS(2083), + [anon_sym__Atomic] = ACTIONS(2083), + [anon_sym_mutable] = ACTIONS(2083), + [anon_sym_constexpr] = ACTIONS(2083), + [anon_sym_constinit] = ACTIONS(2083), + [anon_sym_consteval] = ACTIONS(2083), + [anon_sym_signed] = ACTIONS(2083), + [anon_sym_unsigned] = ACTIONS(2083), + [anon_sym_long] = ACTIONS(2083), + [anon_sym_short] = ACTIONS(2083), + [sym_primitive_type] = ACTIONS(2083), + [anon_sym_enum] = ACTIONS(2083), + [anon_sym_class] = ACTIONS(2083), + [anon_sym_struct] = ACTIONS(2083), + [anon_sym_union] = ACTIONS(2083), + [anon_sym_if] = ACTIONS(2083), + [anon_sym_else] = ACTIONS(2083), + [anon_sym_switch] = ACTIONS(2083), + [anon_sym_case] = ACTIONS(2083), + [anon_sym_default] = ACTIONS(2083), + [anon_sym_while] = ACTIONS(2083), + [anon_sym_do] = ACTIONS(2083), + [anon_sym_for] = ACTIONS(2083), + [anon_sym_return] = ACTIONS(2083), + [anon_sym_break] = ACTIONS(2083), + [anon_sym_continue] = ACTIONS(2083), + [anon_sym_goto] = ACTIONS(2083), + [anon_sym_DASH_DASH] = ACTIONS(2085), + [anon_sym_PLUS_PLUS] = ACTIONS(2085), + [anon_sym_sizeof] = ACTIONS(2083), + [sym_number_literal] = ACTIONS(2085), + [anon_sym_L_SQUOTE] = ACTIONS(2085), + [anon_sym_u_SQUOTE] = ACTIONS(2085), + [anon_sym_U_SQUOTE] = ACTIONS(2085), + [anon_sym_u8_SQUOTE] = ACTIONS(2085), + [anon_sym_SQUOTE] = ACTIONS(2085), + [anon_sym_L_DQUOTE] = ACTIONS(2085), + [anon_sym_u_DQUOTE] = ACTIONS(2085), + [anon_sym_U_DQUOTE] = ACTIONS(2085), + [anon_sym_u8_DQUOTE] = ACTIONS(2085), + [anon_sym_DQUOTE] = ACTIONS(2085), + [sym_true] = ACTIONS(2083), + [sym_false] = ACTIONS(2083), + [sym_null] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2083), + [anon_sym_decltype] = ACTIONS(2083), + [anon_sym_virtual] = ACTIONS(2083), + [anon_sym_explicit] = ACTIONS(2083), + [anon_sym_typename] = ACTIONS(2083), + [anon_sym_template] = ACTIONS(2083), + [anon_sym_operator] = ACTIONS(2083), + [anon_sym_delete] = ACTIONS(2083), + [anon_sym_throw] = ACTIONS(2083), + [anon_sym_namespace] = ACTIONS(2083), + [anon_sym_using] = ACTIONS(2083), + [anon_sym_static_assert] = ACTIONS(2083), + [anon_sym_concept] = ACTIONS(2083), + [anon_sym_co_return] = ACTIONS(2083), + [anon_sym_co_yield] = ACTIONS(2083), + [anon_sym_try] = ACTIONS(2083), + [anon_sym_co_await] = ACTIONS(2083), + [anon_sym_new] = ACTIONS(2083), + [anon_sym_requires] = ACTIONS(2083), + [sym_this] = ACTIONS(2083), + [sym_nullptr] = ACTIONS(2083), + [sym_raw_string_literal] = ACTIONS(2085), + }, + [331] = { + [sym_compound_statement] = STATE(343), + [sym_labeled_statement] = STATE(343), + [sym_expression_statement] = STATE(343), + [sym_if_statement] = STATE(343), + [sym_switch_statement] = STATE(343), + [sym_case_statement] = STATE(343), + [sym_while_statement] = STATE(343), + [sym_do_statement] = STATE(343), + [sym_for_statement] = STATE(343), + [sym_return_statement] = STATE(343), + [sym_break_statement] = STATE(343), + [sym_continue_statement] = STATE(343), + [sym_goto_statement] = STATE(343), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(343), + [sym_co_return_statement] = STATE(343), + [sym_co_yield_statement] = STATE(343), + [sym_throw_statement] = STATE(343), + [sym_try_statement] = STATE(343), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [332] = { + [sym_compound_statement] = STATE(188), + [sym_labeled_statement] = STATE(193), + [sym_expression_statement] = STATE(194), + [sym_if_statement] = STATE(195), + [sym_switch_statement] = STATE(196), + [sym_case_statement] = STATE(197), + [sym_while_statement] = STATE(200), + [sym_do_statement] = STATE(201), + [sym_for_statement] = STATE(205), + [sym_return_statement] = STATE(208), + [sym_break_statement] = STATE(213), + [sym_continue_statement] = STATE(215), + [sym_goto_statement] = STATE(216), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(217), + [sym_co_return_statement] = STATE(218), + [sym_co_yield_statement] = STATE(222), + [sym_throw_statement] = STATE(223), + [sym_try_statement] = STATE(224), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [333] = { + [sym_compound_statement] = STATE(187), + [sym_labeled_statement] = STATE(187), + [sym_expression_statement] = STATE(187), + [sym_if_statement] = STATE(187), + [sym_switch_statement] = STATE(187), + [sym_case_statement] = STATE(187), + [sym_while_statement] = STATE(187), + [sym_do_statement] = STATE(187), + [sym_for_statement] = STATE(187), + [sym_return_statement] = STATE(187), + [sym_break_statement] = STATE(187), + [sym_continue_statement] = STATE(187), + [sym_goto_statement] = STATE(187), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(187), + [sym_co_return_statement] = STATE(187), + [sym_co_yield_statement] = STATE(187), + [sym_throw_statement] = STATE(187), + [sym_try_statement] = STATE(187), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [334] = { + [sym_compound_statement] = STATE(305), + [sym_labeled_statement] = STATE(305), + [sym_expression_statement] = STATE(305), + [sym_if_statement] = STATE(305), + [sym_switch_statement] = STATE(305), + [sym_case_statement] = STATE(305), + [sym_while_statement] = STATE(305), + [sym_do_statement] = STATE(305), + [sym_for_statement] = STATE(305), + [sym_return_statement] = STATE(305), + [sym_break_statement] = STATE(305), + [sym_continue_statement] = STATE(305), + [sym_goto_statement] = STATE(305), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(305), + [sym_co_return_statement] = STATE(305), + [sym_co_yield_statement] = STATE(305), + [sym_throw_statement] = STATE(305), + [sym_try_statement] = STATE(305), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [335] = { + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token2] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [aux_sym_preproc_else_token1] = ACTIONS(2087), + [aux_sym_preproc_elif_token1] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [336] = { + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token2] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [aux_sym_preproc_else_token1] = ACTIONS(2087), + [aux_sym_preproc_elif_token1] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [337] = { + [sym_identifier] = ACTIONS(2091), + [aux_sym_preproc_include_token1] = ACTIONS(2091), + [aux_sym_preproc_def_token1] = ACTIONS(2091), + [aux_sym_preproc_if_token1] = ACTIONS(2091), + [aux_sym_preproc_if_token2] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2091), + [aux_sym_preproc_else_token1] = ACTIONS(2091), + [aux_sym_preproc_elif_token1] = ACTIONS(2091), + [sym_preproc_directive] = ACTIONS(2091), + [anon_sym_LPAREN2] = ACTIONS(2093), + [anon_sym_BANG] = ACTIONS(2093), + [anon_sym_TILDE] = ACTIONS(2093), + [anon_sym_DASH] = ACTIONS(2091), + [anon_sym_PLUS] = ACTIONS(2091), + [anon_sym_STAR] = ACTIONS(2093), + [anon_sym_AMP_AMP] = ACTIONS(2093), + [anon_sym_AMP] = ACTIONS(2091), + [anon_sym_SEMI] = ACTIONS(2093), + [anon_sym_typedef] = ACTIONS(2091), + [anon_sym_extern] = ACTIONS(2091), + [anon_sym___attribute__] = ACTIONS(2091), + [anon_sym_COLON_COLON] = ACTIONS(2093), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2093), + [anon_sym___declspec] = ACTIONS(2091), + [anon_sym___based] = ACTIONS(2091), + [anon_sym___cdecl] = ACTIONS(2091), + [anon_sym___clrcall] = ACTIONS(2091), + [anon_sym___stdcall] = ACTIONS(2091), + [anon_sym___fastcall] = ACTIONS(2091), + [anon_sym___thiscall] = ACTIONS(2091), + [anon_sym___vectorcall] = ACTIONS(2091), + [anon_sym_LBRACE] = ACTIONS(2093), + [anon_sym_LBRACK] = ACTIONS(2091), + [anon_sym_static] = ACTIONS(2091), + [anon_sym_register] = ACTIONS(2091), + [anon_sym_inline] = ACTIONS(2091), + [anon_sym_thread_local] = ACTIONS(2091), + [anon_sym_const] = ACTIONS(2091), + [anon_sym_volatile] = ACTIONS(2091), + [anon_sym_restrict] = ACTIONS(2091), + [anon_sym__Atomic] = ACTIONS(2091), + [anon_sym_mutable] = ACTIONS(2091), + [anon_sym_constexpr] = ACTIONS(2091), + [anon_sym_constinit] = ACTIONS(2091), + [anon_sym_consteval] = ACTIONS(2091), + [anon_sym_signed] = ACTIONS(2091), + [anon_sym_unsigned] = ACTIONS(2091), + [anon_sym_long] = ACTIONS(2091), + [anon_sym_short] = ACTIONS(2091), + [sym_primitive_type] = ACTIONS(2091), + [anon_sym_enum] = ACTIONS(2091), + [anon_sym_class] = ACTIONS(2091), + [anon_sym_struct] = ACTIONS(2091), + [anon_sym_union] = ACTIONS(2091), + [anon_sym_if] = ACTIONS(2091), + [anon_sym_else] = ACTIONS(2091), + [anon_sym_switch] = ACTIONS(2091), + [anon_sym_case] = ACTIONS(2091), + [anon_sym_default] = ACTIONS(2091), + [anon_sym_while] = ACTIONS(2091), + [anon_sym_do] = ACTIONS(2091), + [anon_sym_for] = ACTIONS(2091), + [anon_sym_return] = ACTIONS(2091), + [anon_sym_break] = ACTIONS(2091), + [anon_sym_continue] = ACTIONS(2091), + [anon_sym_goto] = ACTIONS(2091), + [anon_sym_DASH_DASH] = ACTIONS(2093), + [anon_sym_PLUS_PLUS] = ACTIONS(2093), + [anon_sym_sizeof] = ACTIONS(2091), + [sym_number_literal] = ACTIONS(2093), + [anon_sym_L_SQUOTE] = ACTIONS(2093), + [anon_sym_u_SQUOTE] = ACTIONS(2093), + [anon_sym_U_SQUOTE] = ACTIONS(2093), + [anon_sym_u8_SQUOTE] = ACTIONS(2093), + [anon_sym_SQUOTE] = ACTIONS(2093), + [anon_sym_L_DQUOTE] = ACTIONS(2093), + [anon_sym_u_DQUOTE] = ACTIONS(2093), + [anon_sym_U_DQUOTE] = ACTIONS(2093), + [anon_sym_u8_DQUOTE] = ACTIONS(2093), + [anon_sym_DQUOTE] = ACTIONS(2093), + [sym_true] = ACTIONS(2091), + [sym_false] = ACTIONS(2091), + [sym_null] = ACTIONS(2091), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2091), + [anon_sym_decltype] = ACTIONS(2091), + [anon_sym_virtual] = ACTIONS(2091), + [anon_sym_explicit] = ACTIONS(2091), + [anon_sym_typename] = ACTIONS(2091), + [anon_sym_template] = ACTIONS(2091), + [anon_sym_operator] = ACTIONS(2091), + [anon_sym_delete] = ACTIONS(2091), + [anon_sym_throw] = ACTIONS(2091), + [anon_sym_namespace] = ACTIONS(2091), + [anon_sym_using] = ACTIONS(2091), + [anon_sym_static_assert] = ACTIONS(2091), + [anon_sym_concept] = ACTIONS(2091), + [anon_sym_co_return] = ACTIONS(2091), + [anon_sym_co_yield] = ACTIONS(2091), + [anon_sym_try] = ACTIONS(2091), + [anon_sym_co_await] = ACTIONS(2091), + [anon_sym_new] = ACTIONS(2091), + [anon_sym_requires] = ACTIONS(2091), + [sym_this] = ACTIONS(2091), + [sym_nullptr] = ACTIONS(2091), + [sym_raw_string_literal] = ACTIONS(2093), + }, + [338] = { + [sym_compound_statement] = STATE(5584), + [sym_labeled_statement] = STATE(5584), + [sym_expression_statement] = STATE(5584), + [sym_if_statement] = STATE(5584), + [sym_switch_statement] = STATE(5584), + [sym_case_statement] = STATE(5584), + [sym_while_statement] = STATE(5584), + [sym_do_statement] = STATE(5584), + [sym_for_statement] = STATE(5584), + [sym_return_statement] = STATE(5584), + [sym_break_statement] = STATE(5584), + [sym_continue_statement] = STATE(5584), + [sym_goto_statement] = STATE(5584), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5584), + [sym_co_return_statement] = STATE(5584), + [sym_co_yield_statement] = STATE(5584), + [sym_throw_statement] = STATE(5584), + [sym_try_statement] = STATE(5584), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [339] = { + [sym_compound_statement] = STATE(5585), + [sym_labeled_statement] = STATE(5585), + [sym_expression_statement] = STATE(5585), + [sym_if_statement] = STATE(5585), + [sym_switch_statement] = STATE(5585), + [sym_case_statement] = STATE(5585), + [sym_while_statement] = STATE(5585), + [sym_do_statement] = STATE(5585), + [sym_for_statement] = STATE(5585), + [sym_return_statement] = STATE(5585), + [sym_break_statement] = STATE(5585), + [sym_continue_statement] = STATE(5585), + [sym_goto_statement] = STATE(5585), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5585), + [sym_co_return_statement] = STATE(5585), + [sym_co_yield_statement] = STATE(5585), + [sym_throw_statement] = STATE(5585), + [sym_try_statement] = STATE(5585), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [340] = { + [sym_identifier] = ACTIONS(2095), + [aux_sym_preproc_include_token1] = ACTIONS(2095), + [aux_sym_preproc_def_token1] = ACTIONS(2095), + [aux_sym_preproc_if_token1] = ACTIONS(2095), + [aux_sym_preproc_if_token2] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2095), + [aux_sym_preproc_else_token1] = ACTIONS(2095), + [aux_sym_preproc_elif_token1] = ACTIONS(2095), + [sym_preproc_directive] = ACTIONS(2095), + [anon_sym_LPAREN2] = ACTIONS(2097), + [anon_sym_BANG] = ACTIONS(2097), + [anon_sym_TILDE] = ACTIONS(2097), + [anon_sym_DASH] = ACTIONS(2095), + [anon_sym_PLUS] = ACTIONS(2095), + [anon_sym_STAR] = ACTIONS(2097), + [anon_sym_AMP_AMP] = ACTIONS(2097), + [anon_sym_AMP] = ACTIONS(2095), + [anon_sym_SEMI] = ACTIONS(2097), + [anon_sym_typedef] = ACTIONS(2095), + [anon_sym_extern] = ACTIONS(2095), + [anon_sym___attribute__] = ACTIONS(2095), + [anon_sym_COLON_COLON] = ACTIONS(2097), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2097), + [anon_sym___declspec] = ACTIONS(2095), + [anon_sym___based] = ACTIONS(2095), + [anon_sym___cdecl] = ACTIONS(2095), + [anon_sym___clrcall] = ACTIONS(2095), + [anon_sym___stdcall] = ACTIONS(2095), + [anon_sym___fastcall] = ACTIONS(2095), + [anon_sym___thiscall] = ACTIONS(2095), + [anon_sym___vectorcall] = ACTIONS(2095), + [anon_sym_LBRACE] = ACTIONS(2097), + [anon_sym_LBRACK] = ACTIONS(2095), + [anon_sym_static] = ACTIONS(2095), + [anon_sym_register] = ACTIONS(2095), + [anon_sym_inline] = ACTIONS(2095), + [anon_sym_thread_local] = ACTIONS(2095), + [anon_sym_const] = ACTIONS(2095), + [anon_sym_volatile] = ACTIONS(2095), + [anon_sym_restrict] = ACTIONS(2095), + [anon_sym__Atomic] = ACTIONS(2095), + [anon_sym_mutable] = ACTIONS(2095), + [anon_sym_constexpr] = ACTIONS(2095), + [anon_sym_constinit] = ACTIONS(2095), + [anon_sym_consteval] = ACTIONS(2095), + [anon_sym_signed] = ACTIONS(2095), + [anon_sym_unsigned] = ACTIONS(2095), + [anon_sym_long] = ACTIONS(2095), + [anon_sym_short] = ACTIONS(2095), + [sym_primitive_type] = ACTIONS(2095), + [anon_sym_enum] = ACTIONS(2095), + [anon_sym_class] = ACTIONS(2095), + [anon_sym_struct] = ACTIONS(2095), + [anon_sym_union] = ACTIONS(2095), + [anon_sym_if] = ACTIONS(2095), + [anon_sym_else] = ACTIONS(2095), + [anon_sym_switch] = ACTIONS(2095), + [anon_sym_case] = ACTIONS(2095), + [anon_sym_default] = ACTIONS(2095), + [anon_sym_while] = ACTIONS(2095), + [anon_sym_do] = ACTIONS(2095), + [anon_sym_for] = ACTIONS(2095), + [anon_sym_return] = ACTIONS(2095), + [anon_sym_break] = ACTIONS(2095), + [anon_sym_continue] = ACTIONS(2095), + [anon_sym_goto] = ACTIONS(2095), + [anon_sym_DASH_DASH] = ACTIONS(2097), + [anon_sym_PLUS_PLUS] = ACTIONS(2097), + [anon_sym_sizeof] = ACTIONS(2095), + [sym_number_literal] = ACTIONS(2097), + [anon_sym_L_SQUOTE] = ACTIONS(2097), + [anon_sym_u_SQUOTE] = ACTIONS(2097), + [anon_sym_U_SQUOTE] = ACTIONS(2097), + [anon_sym_u8_SQUOTE] = ACTIONS(2097), + [anon_sym_SQUOTE] = ACTIONS(2097), + [anon_sym_L_DQUOTE] = ACTIONS(2097), + [anon_sym_u_DQUOTE] = ACTIONS(2097), + [anon_sym_U_DQUOTE] = ACTIONS(2097), + [anon_sym_u8_DQUOTE] = ACTIONS(2097), + [anon_sym_DQUOTE] = ACTIONS(2097), + [sym_true] = ACTIONS(2095), + [sym_false] = ACTIONS(2095), + [sym_null] = ACTIONS(2095), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2095), + [anon_sym_decltype] = ACTIONS(2095), + [anon_sym_virtual] = ACTIONS(2095), + [anon_sym_explicit] = ACTIONS(2095), + [anon_sym_typename] = ACTIONS(2095), + [anon_sym_template] = ACTIONS(2095), + [anon_sym_operator] = ACTIONS(2095), + [anon_sym_delete] = ACTIONS(2095), + [anon_sym_throw] = ACTIONS(2095), + [anon_sym_namespace] = ACTIONS(2095), + [anon_sym_using] = ACTIONS(2095), + [anon_sym_static_assert] = ACTIONS(2095), + [anon_sym_concept] = ACTIONS(2095), + [anon_sym_co_return] = ACTIONS(2095), + [anon_sym_co_yield] = ACTIONS(2095), + [anon_sym_try] = ACTIONS(2095), + [anon_sym_co_await] = ACTIONS(2095), + [anon_sym_new] = ACTIONS(2095), + [anon_sym_requires] = ACTIONS(2095), + [sym_this] = ACTIONS(2095), + [sym_nullptr] = ACTIONS(2095), + [sym_raw_string_literal] = ACTIONS(2097), + }, + [341] = { + [sym_compound_statement] = STATE(6411), + [sym_labeled_statement] = STATE(6411), + [sym_expression_statement] = STATE(6411), + [sym_if_statement] = STATE(6411), + [sym_switch_statement] = STATE(6411), + [sym_case_statement] = STATE(6411), + [sym_while_statement] = STATE(6411), + [sym_do_statement] = STATE(6411), + [sym_for_statement] = STATE(6411), + [sym_return_statement] = STATE(6411), + [sym_break_statement] = STATE(6411), + [sym_continue_statement] = STATE(6411), + [sym_goto_statement] = STATE(6411), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(6411), + [sym_co_return_statement] = STATE(6411), + [sym_co_yield_statement] = STATE(6411), + [sym_throw_statement] = STATE(6411), + [sym_try_statement] = STATE(6411), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [342] = { + [sym_compound_statement] = STATE(5626), + [sym_labeled_statement] = STATE(5624), + [sym_expression_statement] = STATE(5617), + [sym_if_statement] = STATE(5612), + [sym_switch_statement] = STATE(5611), + [sym_case_statement] = STATE(5609), + [sym_while_statement] = STATE(5606), + [sym_do_statement] = STATE(5605), + [sym_for_statement] = STATE(5603), + [sym_return_statement] = STATE(5602), + [sym_break_statement] = STATE(5600), + [sym_continue_statement] = STATE(5598), + [sym_goto_statement] = STATE(5594), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5591), + [sym_co_return_statement] = STATE(5590), + [sym_co_yield_statement] = STATE(5589), + [sym_throw_statement] = STATE(5588), + [sym_try_statement] = STATE(5587), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [343] = { + [sym_identifier] = ACTIONS(2099), + [aux_sym_preproc_include_token1] = ACTIONS(2099), + [aux_sym_preproc_def_token1] = ACTIONS(2099), + [aux_sym_preproc_if_token1] = ACTIONS(2099), + [aux_sym_preproc_if_token2] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2099), + [aux_sym_preproc_else_token1] = ACTIONS(2099), + [aux_sym_preproc_elif_token1] = ACTIONS(2099), + [sym_preproc_directive] = ACTIONS(2099), + [anon_sym_LPAREN2] = ACTIONS(2101), + [anon_sym_BANG] = ACTIONS(2101), + [anon_sym_TILDE] = ACTIONS(2101), + [anon_sym_DASH] = ACTIONS(2099), + [anon_sym_PLUS] = ACTIONS(2099), + [anon_sym_STAR] = ACTIONS(2101), + [anon_sym_AMP_AMP] = ACTIONS(2101), + [anon_sym_AMP] = ACTIONS(2099), + [anon_sym_SEMI] = ACTIONS(2101), + [anon_sym_typedef] = ACTIONS(2099), + [anon_sym_extern] = ACTIONS(2099), + [anon_sym___attribute__] = ACTIONS(2099), + [anon_sym_COLON_COLON] = ACTIONS(2101), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2101), + [anon_sym___declspec] = ACTIONS(2099), + [anon_sym___based] = ACTIONS(2099), + [anon_sym___cdecl] = ACTIONS(2099), + [anon_sym___clrcall] = ACTIONS(2099), + [anon_sym___stdcall] = ACTIONS(2099), + [anon_sym___fastcall] = ACTIONS(2099), + [anon_sym___thiscall] = ACTIONS(2099), + [anon_sym___vectorcall] = ACTIONS(2099), + [anon_sym_LBRACE] = ACTIONS(2101), + [anon_sym_LBRACK] = ACTIONS(2099), + [anon_sym_static] = ACTIONS(2099), + [anon_sym_register] = ACTIONS(2099), + [anon_sym_inline] = ACTIONS(2099), + [anon_sym_thread_local] = ACTIONS(2099), + [anon_sym_const] = ACTIONS(2099), + [anon_sym_volatile] = ACTIONS(2099), + [anon_sym_restrict] = ACTIONS(2099), + [anon_sym__Atomic] = ACTIONS(2099), + [anon_sym_mutable] = ACTIONS(2099), + [anon_sym_constexpr] = ACTIONS(2099), + [anon_sym_constinit] = ACTIONS(2099), + [anon_sym_consteval] = ACTIONS(2099), + [anon_sym_signed] = ACTIONS(2099), + [anon_sym_unsigned] = ACTIONS(2099), + [anon_sym_long] = ACTIONS(2099), + [anon_sym_short] = ACTIONS(2099), + [sym_primitive_type] = ACTIONS(2099), + [anon_sym_enum] = ACTIONS(2099), + [anon_sym_class] = ACTIONS(2099), + [anon_sym_struct] = ACTIONS(2099), + [anon_sym_union] = ACTIONS(2099), + [anon_sym_if] = ACTIONS(2099), + [anon_sym_else] = ACTIONS(2099), + [anon_sym_switch] = ACTIONS(2099), + [anon_sym_case] = ACTIONS(2099), + [anon_sym_default] = ACTIONS(2099), + [anon_sym_while] = ACTIONS(2099), + [anon_sym_do] = ACTIONS(2099), + [anon_sym_for] = ACTIONS(2099), + [anon_sym_return] = ACTIONS(2099), + [anon_sym_break] = ACTIONS(2099), + [anon_sym_continue] = ACTIONS(2099), + [anon_sym_goto] = ACTIONS(2099), + [anon_sym_DASH_DASH] = ACTIONS(2101), + [anon_sym_PLUS_PLUS] = ACTIONS(2101), + [anon_sym_sizeof] = ACTIONS(2099), + [sym_number_literal] = ACTIONS(2101), + [anon_sym_L_SQUOTE] = ACTIONS(2101), + [anon_sym_u_SQUOTE] = ACTIONS(2101), + [anon_sym_U_SQUOTE] = ACTIONS(2101), + [anon_sym_u8_SQUOTE] = ACTIONS(2101), + [anon_sym_SQUOTE] = ACTIONS(2101), + [anon_sym_L_DQUOTE] = ACTIONS(2101), + [anon_sym_u_DQUOTE] = ACTIONS(2101), + [anon_sym_U_DQUOTE] = ACTIONS(2101), + [anon_sym_u8_DQUOTE] = ACTIONS(2101), + [anon_sym_DQUOTE] = ACTIONS(2101), + [sym_true] = ACTIONS(2099), + [sym_false] = ACTIONS(2099), + [sym_null] = ACTIONS(2099), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2099), + [anon_sym_decltype] = ACTIONS(2099), + [anon_sym_virtual] = ACTIONS(2099), + [anon_sym_explicit] = ACTIONS(2099), + [anon_sym_typename] = ACTIONS(2099), + [anon_sym_template] = ACTIONS(2099), + [anon_sym_operator] = ACTIONS(2099), + [anon_sym_delete] = ACTIONS(2099), + [anon_sym_throw] = ACTIONS(2099), + [anon_sym_namespace] = ACTIONS(2099), + [anon_sym_using] = ACTIONS(2099), + [anon_sym_static_assert] = ACTIONS(2099), + [anon_sym_concept] = ACTIONS(2099), + [anon_sym_co_return] = ACTIONS(2099), + [anon_sym_co_yield] = ACTIONS(2099), + [anon_sym_try] = ACTIONS(2099), + [anon_sym_co_await] = ACTIONS(2099), + [anon_sym_new] = ACTIONS(2099), + [anon_sym_requires] = ACTIONS(2099), + [sym_this] = ACTIONS(2099), + [sym_nullptr] = ACTIONS(2099), + [sym_raw_string_literal] = ACTIONS(2101), + }, + [344] = { + [sym_compound_statement] = STATE(186), + [sym_labeled_statement] = STATE(186), + [sym_expression_statement] = STATE(186), + [sym_if_statement] = STATE(186), + [sym_switch_statement] = STATE(186), + [sym_case_statement] = STATE(186), + [sym_while_statement] = STATE(186), + [sym_do_statement] = STATE(186), + [sym_for_statement] = STATE(186), + [sym_return_statement] = STATE(186), + [sym_break_statement] = STATE(186), + [sym_continue_statement] = STATE(186), + [sym_goto_statement] = STATE(186), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(186), + [sym_co_return_statement] = STATE(186), + [sym_co_yield_statement] = STATE(186), + [sym_throw_statement] = STATE(186), + [sym_try_statement] = STATE(186), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [345] = { + [sym_compound_statement] = STATE(971), + [sym_labeled_statement] = STATE(971), + [sym_expression_statement] = STATE(971), + [sym_if_statement] = STATE(971), + [sym_switch_statement] = STATE(971), + [sym_case_statement] = STATE(971), + [sym_while_statement] = STATE(971), + [sym_do_statement] = STATE(971), + [sym_for_statement] = STATE(971), + [sym_return_statement] = STATE(971), + [sym_break_statement] = STATE(971), + [sym_continue_statement] = STATE(971), + [sym_goto_statement] = STATE(971), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(971), + [sym_co_return_statement] = STATE(971), + [sym_co_yield_statement] = STATE(971), + [sym_throw_statement] = STATE(971), + [sym_try_statement] = STATE(971), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [346] = { + [sym_compound_statement] = STATE(975), + [sym_labeled_statement] = STATE(975), + [sym_expression_statement] = STATE(975), + [sym_if_statement] = STATE(975), + [sym_switch_statement] = STATE(975), + [sym_case_statement] = STATE(975), + [sym_while_statement] = STATE(975), + [sym_do_statement] = STATE(975), + [sym_for_statement] = STATE(975), + [sym_return_statement] = STATE(975), + [sym_break_statement] = STATE(975), + [sym_continue_statement] = STATE(975), + [sym_goto_statement] = STATE(975), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(975), + [sym_co_return_statement] = STATE(975), + [sym_co_yield_statement] = STATE(975), + [sym_throw_statement] = STATE(975), + [sym_try_statement] = STATE(975), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [347] = { + [sym_compound_statement] = STATE(680), + [sym_labeled_statement] = STATE(680), + [sym_expression_statement] = STATE(680), + [sym_if_statement] = STATE(680), + [sym_switch_statement] = STATE(680), + [sym_case_statement] = STATE(680), + [sym_while_statement] = STATE(680), + [sym_do_statement] = STATE(680), + [sym_for_statement] = STATE(680), + [sym_return_statement] = STATE(680), + [sym_break_statement] = STATE(680), + [sym_continue_statement] = STATE(680), + [sym_goto_statement] = STATE(680), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(680), + [sym_co_return_statement] = STATE(680), + [sym_co_yield_statement] = STATE(680), + [sym_throw_statement] = STATE(680), + [sym_try_statement] = STATE(680), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [348] = { + [sym_compound_statement] = STATE(6397), + [sym_labeled_statement] = STATE(6397), + [sym_expression_statement] = STATE(6397), + [sym_if_statement] = STATE(6397), + [sym_switch_statement] = STATE(6397), + [sym_case_statement] = STATE(6397), + [sym_while_statement] = STATE(6397), + [sym_do_statement] = STATE(6397), + [sym_for_statement] = STATE(6397), + [sym_return_statement] = STATE(6397), + [sym_break_statement] = STATE(6397), + [sym_continue_statement] = STATE(6397), + [sym_goto_statement] = STATE(6397), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(6397), + [sym_co_return_statement] = STATE(6397), + [sym_co_yield_statement] = STATE(6397), + [sym_throw_statement] = STATE(6397), + [sym_try_statement] = STATE(6397), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [349] = { + [sym_compound_statement] = STATE(978), + [sym_labeled_statement] = STATE(978), + [sym_expression_statement] = STATE(978), + [sym_if_statement] = STATE(978), + [sym_switch_statement] = STATE(978), + [sym_case_statement] = STATE(978), + [sym_while_statement] = STATE(978), + [sym_do_statement] = STATE(978), + [sym_for_statement] = STATE(978), + [sym_return_statement] = STATE(978), + [sym_break_statement] = STATE(978), + [sym_continue_statement] = STATE(978), + [sym_goto_statement] = STATE(978), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(978), + [sym_co_return_statement] = STATE(978), + [sym_co_yield_statement] = STATE(978), + [sym_throw_statement] = STATE(978), + [sym_try_statement] = STATE(978), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [350] = { + [sym_compound_statement] = STATE(5837), + [sym_labeled_statement] = STATE(5837), + [sym_expression_statement] = STATE(5837), + [sym_if_statement] = STATE(5837), + [sym_switch_statement] = STATE(5837), + [sym_case_statement] = STATE(5837), + [sym_while_statement] = STATE(5837), + [sym_do_statement] = STATE(5837), + [sym_for_statement] = STATE(5837), + [sym_return_statement] = STATE(5837), + [sym_break_statement] = STATE(5837), + [sym_continue_statement] = STATE(5837), + [sym_goto_statement] = STATE(5837), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5837), + [sym_co_return_statement] = STATE(5837), + [sym_co_yield_statement] = STATE(5837), + [sym_throw_statement] = STATE(5837), + [sym_try_statement] = STATE(5837), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [351] = { + [sym_compound_statement] = STATE(920), + [sym_labeled_statement] = STATE(922), + [sym_expression_statement] = STATE(923), + [sym_if_statement] = STATE(928), + [sym_switch_statement] = STATE(932), + [sym_case_statement] = STATE(943), + [sym_while_statement] = STATE(945), + [sym_do_statement] = STATE(946), + [sym_for_statement] = STATE(900), + [sym_return_statement] = STATE(948), + [sym_break_statement] = STATE(952), + [sym_continue_statement] = STATE(956), + [sym_goto_statement] = STATE(958), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(901), + [sym_co_return_statement] = STATE(970), + [sym_co_yield_statement] = STATE(976), + [sym_throw_statement] = STATE(977), + [sym_try_statement] = STATE(990), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [352] = { + [sym_compound_statement] = STATE(961), + [sym_labeled_statement] = STATE(959), + [sym_expression_statement] = STATE(954), + [sym_if_statement] = STATE(942), + [sym_switch_statement] = STATE(941), + [sym_case_statement] = STATE(939), + [sym_while_statement] = STATE(930), + [sym_do_statement] = STATE(967), + [sym_for_statement] = STATE(962), + [sym_return_statement] = STATE(992), + [sym_break_statement] = STATE(960), + [sym_continue_statement] = STATE(957), + [sym_goto_statement] = STATE(913), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(966), + [sym_co_return_statement] = STATE(902), + [sym_co_yield_statement] = STATE(903), + [sym_throw_statement] = STATE(905), + [sym_try_statement] = STATE(907), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [353] = { + [sym_compound_statement] = STATE(963), + [sym_labeled_statement] = STATE(963), + [sym_expression_statement] = STATE(963), + [sym_if_statement] = STATE(963), + [sym_switch_statement] = STATE(963), + [sym_case_statement] = STATE(963), + [sym_while_statement] = STATE(963), + [sym_do_statement] = STATE(963), + [sym_for_statement] = STATE(963), + [sym_return_statement] = STATE(963), + [sym_break_statement] = STATE(963), + [sym_continue_statement] = STATE(963), + [sym_goto_statement] = STATE(963), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(963), + [sym_co_return_statement] = STATE(963), + [sym_co_yield_statement] = STATE(963), + [sym_throw_statement] = STATE(963), + [sym_try_statement] = STATE(963), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [354] = { + [sym_compound_statement] = STATE(968), + [sym_labeled_statement] = STATE(968), + [sym_expression_statement] = STATE(968), + [sym_if_statement] = STATE(968), + [sym_switch_statement] = STATE(968), + [sym_case_statement] = STATE(968), + [sym_while_statement] = STATE(968), + [sym_do_statement] = STATE(968), + [sym_for_statement] = STATE(968), + [sym_return_statement] = STATE(968), + [sym_break_statement] = STATE(968), + [sym_continue_statement] = STATE(968), + [sym_goto_statement] = STATE(968), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(968), + [sym_co_return_statement] = STATE(968), + [sym_co_yield_statement] = STATE(968), + [sym_throw_statement] = STATE(968), + [sym_try_statement] = STATE(968), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [355] = { + [sym_compound_statement] = STATE(605), + [sym_labeled_statement] = STATE(605), + [sym_expression_statement] = STATE(605), + [sym_if_statement] = STATE(605), + [sym_switch_statement] = STATE(605), + [sym_case_statement] = STATE(605), + [sym_while_statement] = STATE(605), + [sym_do_statement] = STATE(605), + [sym_for_statement] = STATE(605), + [sym_return_statement] = STATE(605), + [sym_break_statement] = STATE(605), + [sym_continue_statement] = STATE(605), + [sym_goto_statement] = STATE(605), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(605), + [sym_co_return_statement] = STATE(605), + [sym_co_yield_statement] = STATE(605), + [sym_throw_statement] = STATE(605), + [sym_try_statement] = STATE(605), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_case] = ACTIONS(570), + [anon_sym_default] = ACTIONS(572), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [356] = { + [sym_compound_statement] = STATE(974), + [sym_labeled_statement] = STATE(974), + [sym_expression_statement] = STATE(974), + [sym_if_statement] = STATE(974), + [sym_switch_statement] = STATE(974), + [sym_case_statement] = STATE(974), + [sym_while_statement] = STATE(974), + [sym_do_statement] = STATE(974), + [sym_for_statement] = STATE(974), + [sym_return_statement] = STATE(974), + [sym_break_statement] = STATE(974), + [sym_continue_statement] = STATE(974), + [sym_goto_statement] = STATE(974), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(974), + [sym_co_return_statement] = STATE(974), + [sym_co_yield_statement] = STATE(974), + [sym_throw_statement] = STATE(974), + [sym_try_statement] = STATE(974), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [357] = { + [sym_identifier] = ACTIONS(2103), + [aux_sym_preproc_include_token1] = ACTIONS(2103), + [aux_sym_preproc_def_token1] = ACTIONS(2103), + [aux_sym_preproc_if_token1] = ACTIONS(2103), + [aux_sym_preproc_if_token2] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2103), + [aux_sym_preproc_else_token1] = ACTIONS(2103), + [aux_sym_preproc_elif_token1] = ACTIONS(2103), + [sym_preproc_directive] = ACTIONS(2103), + [anon_sym_LPAREN2] = ACTIONS(2105), + [anon_sym_BANG] = ACTIONS(2105), + [anon_sym_TILDE] = ACTIONS(2105), + [anon_sym_DASH] = ACTIONS(2103), + [anon_sym_PLUS] = ACTIONS(2103), + [anon_sym_STAR] = ACTIONS(2105), + [anon_sym_AMP_AMP] = ACTIONS(2105), + [anon_sym_AMP] = ACTIONS(2103), + [anon_sym_SEMI] = ACTIONS(2105), + [anon_sym_typedef] = ACTIONS(2103), + [anon_sym_extern] = ACTIONS(2103), + [anon_sym___attribute__] = ACTIONS(2103), + [anon_sym_COLON_COLON] = ACTIONS(2105), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2105), + [anon_sym___declspec] = ACTIONS(2103), + [anon_sym___based] = ACTIONS(2103), + [anon_sym___cdecl] = ACTIONS(2103), + [anon_sym___clrcall] = ACTIONS(2103), + [anon_sym___stdcall] = ACTIONS(2103), + [anon_sym___fastcall] = ACTIONS(2103), + [anon_sym___thiscall] = ACTIONS(2103), + [anon_sym___vectorcall] = ACTIONS(2103), + [anon_sym_LBRACE] = ACTIONS(2105), + [anon_sym_LBRACK] = ACTIONS(2103), + [anon_sym_static] = ACTIONS(2103), + [anon_sym_register] = ACTIONS(2103), + [anon_sym_inline] = ACTIONS(2103), + [anon_sym_thread_local] = ACTIONS(2103), + [anon_sym_const] = ACTIONS(2103), + [anon_sym_volatile] = ACTIONS(2103), + [anon_sym_restrict] = ACTIONS(2103), + [anon_sym__Atomic] = ACTIONS(2103), + [anon_sym_mutable] = ACTIONS(2103), + [anon_sym_constexpr] = ACTIONS(2103), + [anon_sym_constinit] = ACTIONS(2103), + [anon_sym_consteval] = ACTIONS(2103), + [anon_sym_signed] = ACTIONS(2103), + [anon_sym_unsigned] = ACTIONS(2103), + [anon_sym_long] = ACTIONS(2103), + [anon_sym_short] = ACTIONS(2103), + [sym_primitive_type] = ACTIONS(2103), + [anon_sym_enum] = ACTIONS(2103), + [anon_sym_class] = ACTIONS(2103), + [anon_sym_struct] = ACTIONS(2103), + [anon_sym_union] = ACTIONS(2103), + [anon_sym_if] = ACTIONS(2103), + [anon_sym_else] = ACTIONS(2103), + [anon_sym_switch] = ACTIONS(2103), + [anon_sym_case] = ACTIONS(2103), + [anon_sym_default] = ACTIONS(2103), + [anon_sym_while] = ACTIONS(2103), + [anon_sym_do] = ACTIONS(2103), + [anon_sym_for] = ACTIONS(2103), + [anon_sym_return] = ACTIONS(2103), + [anon_sym_break] = ACTIONS(2103), + [anon_sym_continue] = ACTIONS(2103), + [anon_sym_goto] = ACTIONS(2103), + [anon_sym_DASH_DASH] = ACTIONS(2105), + [anon_sym_PLUS_PLUS] = ACTIONS(2105), + [anon_sym_sizeof] = ACTIONS(2103), + [sym_number_literal] = ACTIONS(2105), + [anon_sym_L_SQUOTE] = ACTIONS(2105), + [anon_sym_u_SQUOTE] = ACTIONS(2105), + [anon_sym_U_SQUOTE] = ACTIONS(2105), + [anon_sym_u8_SQUOTE] = ACTIONS(2105), + [anon_sym_SQUOTE] = ACTIONS(2105), + [anon_sym_L_DQUOTE] = ACTIONS(2105), + [anon_sym_u_DQUOTE] = ACTIONS(2105), + [anon_sym_U_DQUOTE] = ACTIONS(2105), + [anon_sym_u8_DQUOTE] = ACTIONS(2105), + [anon_sym_DQUOTE] = ACTIONS(2105), + [sym_true] = ACTIONS(2103), + [sym_false] = ACTIONS(2103), + [sym_null] = ACTIONS(2103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2103), + [anon_sym_decltype] = ACTIONS(2103), + [anon_sym_virtual] = ACTIONS(2103), + [anon_sym_explicit] = ACTIONS(2103), + [anon_sym_typename] = ACTIONS(2103), + [anon_sym_template] = ACTIONS(2103), + [anon_sym_operator] = ACTIONS(2103), + [anon_sym_delete] = ACTIONS(2103), + [anon_sym_throw] = ACTIONS(2103), + [anon_sym_namespace] = ACTIONS(2103), + [anon_sym_using] = ACTIONS(2103), + [anon_sym_static_assert] = ACTIONS(2103), + [anon_sym_concept] = ACTIONS(2103), + [anon_sym_co_return] = ACTIONS(2103), + [anon_sym_co_yield] = ACTIONS(2103), + [anon_sym_try] = ACTIONS(2103), + [anon_sym_co_await] = ACTIONS(2103), + [anon_sym_new] = ACTIONS(2103), + [anon_sym_requires] = ACTIONS(2103), + [sym_this] = ACTIONS(2103), + [sym_nullptr] = ACTIONS(2103), + [sym_raw_string_literal] = ACTIONS(2105), + }, + [358] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(636), + [sym_labeled_statement] = STATE(636), + [sym_expression_statement] = STATE(636), + [sym_if_statement] = STATE(636), + [sym_switch_statement] = STATE(636), + [sym_while_statement] = STATE(636), + [sym_do_statement] = STATE(636), + [sym_for_statement] = STATE(636), + [sym_return_statement] = STATE(636), + [sym_break_statement] = STATE(636), + [sym_continue_statement] = STATE(636), + [sym_goto_statement] = STATE(636), + [sym__expression] = STATE(3453), + [sym_comma_expression] = STATE(6219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(636), + [sym_co_return_statement] = STATE(636), + [sym_co_yield_statement] = STATE(636), + [sym_throw_statement] = STATE(636), + [sym_try_statement] = STATE(636), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1848), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(558), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(564), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(566), + [anon_sym_switch] = ACTIONS(568), + [anon_sym_while] = ACTIONS(574), + [anon_sym_do] = ACTIONS(576), + [anon_sym_for] = ACTIONS(578), + [anon_sym_return] = ACTIONS(580), + [anon_sym_break] = ACTIONS(582), + [anon_sym_continue] = ACTIONS(584), + [anon_sym_goto] = ACTIONS(586), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(590), + [anon_sym_co_return] = ACTIONS(600), + [anon_sym_co_yield] = ACTIONS(602), + [anon_sym_try] = ACTIONS(604), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [359] = { + [sym_compound_statement] = STATE(6371), + [sym_labeled_statement] = STATE(6371), + [sym_expression_statement] = STATE(6371), + [sym_if_statement] = STATE(6371), + [sym_switch_statement] = STATE(6371), + [sym_case_statement] = STATE(6371), + [sym_while_statement] = STATE(6371), + [sym_do_statement] = STATE(6371), + [sym_for_statement] = STATE(6371), + [sym_return_statement] = STATE(6371), + [sym_break_statement] = STATE(6371), + [sym_continue_statement] = STATE(6371), + [sym_goto_statement] = STATE(6371), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(6371), + [sym_co_return_statement] = STATE(6371), + [sym_co_yield_statement] = STATE(6371), + [sym_throw_statement] = STATE(6371), + [sym_try_statement] = STATE(6371), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [360] = { + [sym_identifier] = ACTIONS(2107), + [aux_sym_preproc_include_token1] = ACTIONS(2107), + [aux_sym_preproc_def_token1] = ACTIONS(2107), + [aux_sym_preproc_if_token1] = ACTIONS(2107), + [aux_sym_preproc_if_token2] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2107), + [aux_sym_preproc_else_token1] = ACTIONS(2107), + [aux_sym_preproc_elif_token1] = ACTIONS(2107), + [sym_preproc_directive] = ACTIONS(2107), + [anon_sym_LPAREN2] = ACTIONS(2109), + [anon_sym_BANG] = ACTIONS(2109), + [anon_sym_TILDE] = ACTIONS(2109), + [anon_sym_DASH] = ACTIONS(2107), + [anon_sym_PLUS] = ACTIONS(2107), + [anon_sym_STAR] = ACTIONS(2109), + [anon_sym_AMP_AMP] = ACTIONS(2109), + [anon_sym_AMP] = ACTIONS(2107), + [anon_sym_SEMI] = ACTIONS(2109), + [anon_sym_typedef] = ACTIONS(2107), + [anon_sym_extern] = ACTIONS(2107), + [anon_sym___attribute__] = ACTIONS(2107), + [anon_sym_COLON_COLON] = ACTIONS(2109), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2109), + [anon_sym___declspec] = ACTIONS(2107), + [anon_sym___based] = ACTIONS(2107), + [anon_sym___cdecl] = ACTIONS(2107), + [anon_sym___clrcall] = ACTIONS(2107), + [anon_sym___stdcall] = ACTIONS(2107), + [anon_sym___fastcall] = ACTIONS(2107), + [anon_sym___thiscall] = ACTIONS(2107), + [anon_sym___vectorcall] = ACTIONS(2107), + [anon_sym_LBRACE] = ACTIONS(2109), + [anon_sym_LBRACK] = ACTIONS(2107), + [anon_sym_static] = ACTIONS(2107), + [anon_sym_register] = ACTIONS(2107), + [anon_sym_inline] = ACTIONS(2107), + [anon_sym_thread_local] = ACTIONS(2107), + [anon_sym_const] = ACTIONS(2107), + [anon_sym_volatile] = ACTIONS(2107), + [anon_sym_restrict] = ACTIONS(2107), + [anon_sym__Atomic] = ACTIONS(2107), + [anon_sym_mutable] = ACTIONS(2107), + [anon_sym_constexpr] = ACTIONS(2107), + [anon_sym_constinit] = ACTIONS(2107), + [anon_sym_consteval] = ACTIONS(2107), + [anon_sym_signed] = ACTIONS(2107), + [anon_sym_unsigned] = ACTIONS(2107), + [anon_sym_long] = ACTIONS(2107), + [anon_sym_short] = ACTIONS(2107), + [sym_primitive_type] = ACTIONS(2107), + [anon_sym_enum] = ACTIONS(2107), + [anon_sym_class] = ACTIONS(2107), + [anon_sym_struct] = ACTIONS(2107), + [anon_sym_union] = ACTIONS(2107), + [anon_sym_if] = ACTIONS(2107), + [anon_sym_else] = ACTIONS(2107), + [anon_sym_switch] = ACTIONS(2107), + [anon_sym_case] = ACTIONS(2107), + [anon_sym_default] = ACTIONS(2107), + [anon_sym_while] = ACTIONS(2107), + [anon_sym_do] = ACTIONS(2107), + [anon_sym_for] = ACTIONS(2107), + [anon_sym_return] = ACTIONS(2107), + [anon_sym_break] = ACTIONS(2107), + [anon_sym_continue] = ACTIONS(2107), + [anon_sym_goto] = ACTIONS(2107), + [anon_sym_DASH_DASH] = ACTIONS(2109), + [anon_sym_PLUS_PLUS] = ACTIONS(2109), + [anon_sym_sizeof] = ACTIONS(2107), + [sym_number_literal] = ACTIONS(2109), + [anon_sym_L_SQUOTE] = ACTIONS(2109), + [anon_sym_u_SQUOTE] = ACTIONS(2109), + [anon_sym_U_SQUOTE] = ACTIONS(2109), + [anon_sym_u8_SQUOTE] = ACTIONS(2109), + [anon_sym_SQUOTE] = ACTIONS(2109), + [anon_sym_L_DQUOTE] = ACTIONS(2109), + [anon_sym_u_DQUOTE] = ACTIONS(2109), + [anon_sym_U_DQUOTE] = ACTIONS(2109), + [anon_sym_u8_DQUOTE] = ACTIONS(2109), + [anon_sym_DQUOTE] = ACTIONS(2109), + [sym_true] = ACTIONS(2107), + [sym_false] = ACTIONS(2107), + [sym_null] = ACTIONS(2107), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2107), + [anon_sym_decltype] = ACTIONS(2107), + [anon_sym_virtual] = ACTIONS(2107), + [anon_sym_explicit] = ACTIONS(2107), + [anon_sym_typename] = ACTIONS(2107), + [anon_sym_template] = ACTIONS(2107), + [anon_sym_operator] = ACTIONS(2107), + [anon_sym_delete] = ACTIONS(2107), + [anon_sym_throw] = ACTIONS(2107), + [anon_sym_namespace] = ACTIONS(2107), + [anon_sym_using] = ACTIONS(2107), + [anon_sym_static_assert] = ACTIONS(2107), + [anon_sym_concept] = ACTIONS(2107), + [anon_sym_co_return] = ACTIONS(2107), + [anon_sym_co_yield] = ACTIONS(2107), + [anon_sym_try] = ACTIONS(2107), + [anon_sym_co_await] = ACTIONS(2107), + [anon_sym_new] = ACTIONS(2107), + [anon_sym_requires] = ACTIONS(2107), + [sym_this] = ACTIONS(2107), + [sym_nullptr] = ACTIONS(2107), + [sym_raw_string_literal] = ACTIONS(2109), + }, + [361] = { + [sym_compound_statement] = STATE(987), + [sym_labeled_statement] = STATE(987), + [sym_expression_statement] = STATE(987), + [sym_if_statement] = STATE(987), + [sym_switch_statement] = STATE(987), + [sym_case_statement] = STATE(987), + [sym_while_statement] = STATE(987), + [sym_do_statement] = STATE(987), + [sym_for_statement] = STATE(987), + [sym_return_statement] = STATE(987), + [sym_break_statement] = STATE(987), + [sym_continue_statement] = STATE(987), + [sym_goto_statement] = STATE(987), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(987), + [sym_co_return_statement] = STATE(987), + [sym_co_yield_statement] = STATE(987), + [sym_throw_statement] = STATE(987), + [sym_try_statement] = STATE(987), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [362] = { + [sym_compound_statement] = STATE(5769), + [sym_labeled_statement] = STATE(5769), + [sym_expression_statement] = STATE(5769), + [sym_if_statement] = STATE(5769), + [sym_switch_statement] = STATE(5769), + [sym_case_statement] = STATE(5769), + [sym_while_statement] = STATE(5769), + [sym_do_statement] = STATE(5769), + [sym_for_statement] = STATE(5769), + [sym_return_statement] = STATE(5769), + [sym_break_statement] = STATE(5769), + [sym_continue_statement] = STATE(5769), + [sym_goto_statement] = STATE(5769), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5769), + [sym_co_return_statement] = STATE(5769), + [sym_co_yield_statement] = STATE(5769), + [sym_throw_statement] = STATE(5769), + [sym_try_statement] = STATE(5769), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [363] = { + [sym_compound_statement] = STATE(949), + [sym_labeled_statement] = STATE(949), + [sym_expression_statement] = STATE(949), + [sym_if_statement] = STATE(949), + [sym_switch_statement] = STATE(949), + [sym_case_statement] = STATE(949), + [sym_while_statement] = STATE(949), + [sym_do_statement] = STATE(949), + [sym_for_statement] = STATE(949), + [sym_return_statement] = STATE(949), + [sym_break_statement] = STATE(949), + [sym_continue_statement] = STATE(949), + [sym_goto_statement] = STATE(949), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(949), + [sym_co_return_statement] = STATE(949), + [sym_co_yield_statement] = STATE(949), + [sym_throw_statement] = STATE(949), + [sym_try_statement] = STATE(949), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [364] = { + [sym_compound_statement] = STATE(993), + [sym_labeled_statement] = STATE(993), + [sym_expression_statement] = STATE(993), + [sym_if_statement] = STATE(993), + [sym_switch_statement] = STATE(993), + [sym_case_statement] = STATE(993), + [sym_while_statement] = STATE(993), + [sym_do_statement] = STATE(993), + [sym_for_statement] = STATE(993), + [sym_return_statement] = STATE(993), + [sym_break_statement] = STATE(993), + [sym_continue_statement] = STATE(993), + [sym_goto_statement] = STATE(993), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(993), + [sym_co_return_statement] = STATE(993), + [sym_co_yield_statement] = STATE(993), + [sym_throw_statement] = STATE(993), + [sym_try_statement] = STATE(993), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [365] = { + [sym_compound_statement] = STATE(989), + [sym_labeled_statement] = STATE(989), + [sym_expression_statement] = STATE(989), + [sym_if_statement] = STATE(989), + [sym_switch_statement] = STATE(989), + [sym_case_statement] = STATE(989), + [sym_while_statement] = STATE(989), + [sym_do_statement] = STATE(989), + [sym_for_statement] = STATE(989), + [sym_return_statement] = STATE(989), + [sym_break_statement] = STATE(989), + [sym_continue_statement] = STATE(989), + [sym_goto_statement] = STATE(989), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(989), + [sym_co_return_statement] = STATE(989), + [sym_co_yield_statement] = STATE(989), + [sym_throw_statement] = STATE(989), + [sym_try_statement] = STATE(989), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [366] = { + [sym_attribute_declaration] = STATE(1605), + [sym_compound_statement] = STATE(288), + [sym_labeled_statement] = STATE(288), + [sym_expression_statement] = STATE(288), + [sym_if_statement] = STATE(288), + [sym_switch_statement] = STATE(288), + [sym_while_statement] = STATE(288), + [sym_do_statement] = STATE(288), + [sym_for_statement] = STATE(288), + [sym_return_statement] = STATE(288), + [sym_break_statement] = STATE(288), + [sym_continue_statement] = STATE(288), + [sym_goto_statement] = STATE(288), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(288), + [sym_co_return_statement] = STATE(288), + [sym_co_yield_statement] = STATE(288), + [sym_throw_statement] = STATE(288), + [sym_try_statement] = STATE(288), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_attributed_declarator_repeat1] = STATE(1605), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK_LBRACK] = ACTIONS(968), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(970), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [367] = { + [sym_compound_statement] = STATE(988), + [sym_labeled_statement] = STATE(988), + [sym_expression_statement] = STATE(988), + [sym_if_statement] = STATE(988), + [sym_switch_statement] = STATE(988), + [sym_case_statement] = STATE(988), + [sym_while_statement] = STATE(988), + [sym_do_statement] = STATE(988), + [sym_for_statement] = STATE(988), + [sym_return_statement] = STATE(988), + [sym_break_statement] = STATE(988), + [sym_continue_statement] = STATE(988), + [sym_goto_statement] = STATE(988), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(988), + [sym_co_return_statement] = STATE(988), + [sym_co_yield_statement] = STATE(988), + [sym_throw_statement] = STATE(988), + [sym_try_statement] = STATE(988), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [368] = { + [sym_compound_statement] = STATE(5728), + [sym_labeled_statement] = STATE(5720), + [sym_expression_statement] = STATE(5719), + [sym_if_statement] = STATE(5714), + [sym_switch_statement] = STATE(5710), + [sym_case_statement] = STATE(5687), + [sym_while_statement] = STATE(5681), + [sym_do_statement] = STATE(5726), + [sym_for_statement] = STATE(5675), + [sym_return_statement] = STATE(5661), + [sym_break_statement] = STATE(5660), + [sym_continue_statement] = STATE(5658), + [sym_goto_statement] = STATE(5656), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5655), + [sym_co_return_statement] = STATE(5641), + [sym_co_yield_statement] = STATE(5631), + [sym_throw_statement] = STATE(5630), + [sym_try_statement] = STATE(5627), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [369] = { + [sym_compound_statement] = STATE(986), + [sym_labeled_statement] = STATE(986), + [sym_expression_statement] = STATE(986), + [sym_if_statement] = STATE(986), + [sym_switch_statement] = STATE(986), + [sym_case_statement] = STATE(986), + [sym_while_statement] = STATE(986), + [sym_do_statement] = STATE(986), + [sym_for_statement] = STATE(986), + [sym_return_statement] = STATE(986), + [sym_break_statement] = STATE(986), + [sym_continue_statement] = STATE(986), + [sym_goto_statement] = STATE(986), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(986), + [sym_co_return_statement] = STATE(986), + [sym_co_yield_statement] = STATE(986), + [sym_throw_statement] = STATE(986), + [sym_try_statement] = STATE(986), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [370] = { + [sym_compound_statement] = STATE(984), + [sym_labeled_statement] = STATE(984), + [sym_expression_statement] = STATE(984), + [sym_if_statement] = STATE(984), + [sym_switch_statement] = STATE(984), + [sym_case_statement] = STATE(984), + [sym_while_statement] = STATE(984), + [sym_do_statement] = STATE(984), + [sym_for_statement] = STATE(984), + [sym_return_statement] = STATE(984), + [sym_break_statement] = STATE(984), + [sym_continue_statement] = STATE(984), + [sym_goto_statement] = STATE(984), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(984), + [sym_co_return_statement] = STATE(984), + [sym_co_yield_statement] = STATE(984), + [sym_throw_statement] = STATE(984), + [sym_try_statement] = STATE(984), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [371] = { + [sym_compound_statement] = STATE(972), + [sym_labeled_statement] = STATE(972), + [sym_expression_statement] = STATE(972), + [sym_if_statement] = STATE(972), + [sym_switch_statement] = STATE(972), + [sym_case_statement] = STATE(972), + [sym_while_statement] = STATE(972), + [sym_do_statement] = STATE(972), + [sym_for_statement] = STATE(972), + [sym_return_statement] = STATE(972), + [sym_break_statement] = STATE(972), + [sym_continue_statement] = STATE(972), + [sym_goto_statement] = STATE(972), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(972), + [sym_co_return_statement] = STATE(972), + [sym_co_yield_statement] = STATE(972), + [sym_throw_statement] = STATE(972), + [sym_try_statement] = STATE(972), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [372] = { + [sym_identifier] = ACTIONS(2111), + [aux_sym_preproc_include_token1] = ACTIONS(2111), + [aux_sym_preproc_def_token1] = ACTIONS(2111), + [aux_sym_preproc_if_token1] = ACTIONS(2111), + [aux_sym_preproc_if_token2] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2111), + [aux_sym_preproc_else_token1] = ACTIONS(2111), + [aux_sym_preproc_elif_token1] = ACTIONS(2111), + [sym_preproc_directive] = ACTIONS(2111), + [anon_sym_LPAREN2] = ACTIONS(2113), + [anon_sym_BANG] = ACTIONS(2113), + [anon_sym_TILDE] = ACTIONS(2113), + [anon_sym_DASH] = ACTIONS(2111), + [anon_sym_PLUS] = ACTIONS(2111), + [anon_sym_STAR] = ACTIONS(2113), + [anon_sym_AMP_AMP] = ACTIONS(2113), + [anon_sym_AMP] = ACTIONS(2111), + [anon_sym_SEMI] = ACTIONS(2113), + [anon_sym_typedef] = ACTIONS(2111), + [anon_sym_extern] = ACTIONS(2111), + [anon_sym___attribute__] = ACTIONS(2111), + [anon_sym_COLON_COLON] = ACTIONS(2113), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2113), + [anon_sym___declspec] = ACTIONS(2111), + [anon_sym___based] = ACTIONS(2111), + [anon_sym___cdecl] = ACTIONS(2111), + [anon_sym___clrcall] = ACTIONS(2111), + [anon_sym___stdcall] = ACTIONS(2111), + [anon_sym___fastcall] = ACTIONS(2111), + [anon_sym___thiscall] = ACTIONS(2111), + [anon_sym___vectorcall] = ACTIONS(2111), + [anon_sym_LBRACE] = ACTIONS(2113), + [anon_sym_LBRACK] = ACTIONS(2111), + [anon_sym_static] = ACTIONS(2111), + [anon_sym_register] = ACTIONS(2111), + [anon_sym_inline] = ACTIONS(2111), + [anon_sym_thread_local] = ACTIONS(2111), + [anon_sym_const] = ACTIONS(2111), + [anon_sym_volatile] = ACTIONS(2111), + [anon_sym_restrict] = ACTIONS(2111), + [anon_sym__Atomic] = ACTIONS(2111), + [anon_sym_mutable] = ACTIONS(2111), + [anon_sym_constexpr] = ACTIONS(2111), + [anon_sym_constinit] = ACTIONS(2111), + [anon_sym_consteval] = ACTIONS(2111), + [anon_sym_signed] = ACTIONS(2111), + [anon_sym_unsigned] = ACTIONS(2111), + [anon_sym_long] = ACTIONS(2111), + [anon_sym_short] = ACTIONS(2111), + [sym_primitive_type] = ACTIONS(2111), + [anon_sym_enum] = ACTIONS(2111), + [anon_sym_class] = ACTIONS(2111), + [anon_sym_struct] = ACTIONS(2111), + [anon_sym_union] = ACTIONS(2111), + [anon_sym_if] = ACTIONS(2111), + [anon_sym_else] = ACTIONS(2111), + [anon_sym_switch] = ACTIONS(2111), + [anon_sym_case] = ACTIONS(2111), + [anon_sym_default] = ACTIONS(2111), + [anon_sym_while] = ACTIONS(2111), + [anon_sym_do] = ACTIONS(2111), + [anon_sym_for] = ACTIONS(2111), + [anon_sym_return] = ACTIONS(2111), + [anon_sym_break] = ACTIONS(2111), + [anon_sym_continue] = ACTIONS(2111), + [anon_sym_goto] = ACTIONS(2111), + [anon_sym_DASH_DASH] = ACTIONS(2113), + [anon_sym_PLUS_PLUS] = ACTIONS(2113), + [anon_sym_sizeof] = ACTIONS(2111), + [sym_number_literal] = ACTIONS(2113), + [anon_sym_L_SQUOTE] = ACTIONS(2113), + [anon_sym_u_SQUOTE] = ACTIONS(2113), + [anon_sym_U_SQUOTE] = ACTIONS(2113), + [anon_sym_u8_SQUOTE] = ACTIONS(2113), + [anon_sym_SQUOTE] = ACTIONS(2113), + [anon_sym_L_DQUOTE] = ACTIONS(2113), + [anon_sym_u_DQUOTE] = ACTIONS(2113), + [anon_sym_U_DQUOTE] = ACTIONS(2113), + [anon_sym_u8_DQUOTE] = ACTIONS(2113), + [anon_sym_DQUOTE] = ACTIONS(2113), + [sym_true] = ACTIONS(2111), + [sym_false] = ACTIONS(2111), + [sym_null] = ACTIONS(2111), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2111), + [anon_sym_decltype] = ACTIONS(2111), + [anon_sym_virtual] = ACTIONS(2111), + [anon_sym_explicit] = ACTIONS(2111), + [anon_sym_typename] = ACTIONS(2111), + [anon_sym_template] = ACTIONS(2111), + [anon_sym_operator] = ACTIONS(2111), + [anon_sym_delete] = ACTIONS(2111), + [anon_sym_throw] = ACTIONS(2111), + [anon_sym_namespace] = ACTIONS(2111), + [anon_sym_using] = ACTIONS(2111), + [anon_sym_static_assert] = ACTIONS(2111), + [anon_sym_concept] = ACTIONS(2111), + [anon_sym_co_return] = ACTIONS(2111), + [anon_sym_co_yield] = ACTIONS(2111), + [anon_sym_try] = ACTIONS(2111), + [anon_sym_co_await] = ACTIONS(2111), + [anon_sym_new] = ACTIONS(2111), + [anon_sym_requires] = ACTIONS(2111), + [sym_this] = ACTIONS(2111), + [sym_nullptr] = ACTIONS(2111), + [sym_raw_string_literal] = ACTIONS(2113), + }, + [373] = { + [sym_compound_statement] = STATE(6272), + [sym_labeled_statement] = STATE(6272), + [sym_expression_statement] = STATE(6272), + [sym_if_statement] = STATE(6272), + [sym_switch_statement] = STATE(6272), + [sym_case_statement] = STATE(6272), + [sym_while_statement] = STATE(6272), + [sym_do_statement] = STATE(6272), + [sym_for_statement] = STATE(6272), + [sym_return_statement] = STATE(6272), + [sym_break_statement] = STATE(6272), + [sym_continue_statement] = STATE(6272), + [sym_goto_statement] = STATE(6272), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(6272), + [sym_co_return_statement] = STATE(6272), + [sym_co_yield_statement] = STATE(6272), + [sym_throw_statement] = STATE(6272), + [sym_try_statement] = STATE(6272), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [374] = { + [sym_compound_statement] = STATE(5756), + [sym_labeled_statement] = STATE(5756), + [sym_expression_statement] = STATE(5756), + [sym_if_statement] = STATE(5756), + [sym_switch_statement] = STATE(5756), + [sym_case_statement] = STATE(5756), + [sym_while_statement] = STATE(5756), + [sym_do_statement] = STATE(5756), + [sym_for_statement] = STATE(5756), + [sym_return_statement] = STATE(5756), + [sym_break_statement] = STATE(5756), + [sym_continue_statement] = STATE(5756), + [sym_goto_statement] = STATE(5756), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5756), + [sym_co_return_statement] = STATE(5756), + [sym_co_yield_statement] = STATE(5756), + [sym_throw_statement] = STATE(5756), + [sym_try_statement] = STATE(5756), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [375] = { + [sym_compound_statement] = STATE(927), + [sym_labeled_statement] = STATE(927), + [sym_expression_statement] = STATE(927), + [sym_if_statement] = STATE(927), + [sym_switch_statement] = STATE(927), + [sym_case_statement] = STATE(927), + [sym_while_statement] = STATE(927), + [sym_do_statement] = STATE(927), + [sym_for_statement] = STATE(927), + [sym_return_statement] = STATE(927), + [sym_break_statement] = STATE(927), + [sym_continue_statement] = STATE(927), + [sym_goto_statement] = STATE(927), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(927), + [sym_co_return_statement] = STATE(927), + [sym_co_yield_statement] = STATE(927), + [sym_throw_statement] = STATE(927), + [sym_try_statement] = STATE(927), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [376] = { + [sym_compound_statement] = STATE(6215), + [sym_labeled_statement] = STATE(6215), + [sym_expression_statement] = STATE(6215), + [sym_if_statement] = STATE(6215), + [sym_switch_statement] = STATE(6215), + [sym_case_statement] = STATE(6215), + [sym_while_statement] = STATE(6215), + [sym_do_statement] = STATE(6215), + [sym_for_statement] = STATE(6215), + [sym_return_statement] = STATE(6215), + [sym_break_statement] = STATE(6215), + [sym_continue_statement] = STATE(6215), + [sym_goto_statement] = STATE(6215), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(6215), + [sym_co_return_statement] = STATE(6215), + [sym_co_yield_statement] = STATE(6215), + [sym_throw_statement] = STATE(6215), + [sym_try_statement] = STATE(6215), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [377] = { + [sym_compound_statement] = STATE(5755), + [sym_labeled_statement] = STATE(5755), + [sym_expression_statement] = STATE(5755), + [sym_if_statement] = STATE(5755), + [sym_switch_statement] = STATE(5755), + [sym_case_statement] = STATE(5755), + [sym_while_statement] = STATE(5755), + [sym_do_statement] = STATE(5755), + [sym_for_statement] = STATE(5755), + [sym_return_statement] = STATE(5755), + [sym_break_statement] = STATE(5755), + [sym_continue_statement] = STATE(5755), + [sym_goto_statement] = STATE(5755), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5755), + [sym_co_return_statement] = STATE(5755), + [sym_co_yield_statement] = STATE(5755), + [sym_throw_statement] = STATE(5755), + [sym_try_statement] = STATE(5755), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [378] = { + [sym_compound_statement] = STATE(925), + [sym_labeled_statement] = STATE(925), + [sym_expression_statement] = STATE(925), + [sym_if_statement] = STATE(925), + [sym_switch_statement] = STATE(925), + [sym_case_statement] = STATE(925), + [sym_while_statement] = STATE(925), + [sym_do_statement] = STATE(925), + [sym_for_statement] = STATE(925), + [sym_return_statement] = STATE(925), + [sym_break_statement] = STATE(925), + [sym_continue_statement] = STATE(925), + [sym_goto_statement] = STATE(925), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(925), + [sym_co_return_statement] = STATE(925), + [sym_co_yield_statement] = STATE(925), + [sym_throw_statement] = STATE(925), + [sym_try_statement] = STATE(925), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [379] = { + [sym_compound_statement] = STATE(937), + [sym_labeled_statement] = STATE(937), + [sym_expression_statement] = STATE(937), + [sym_if_statement] = STATE(937), + [sym_switch_statement] = STATE(937), + [sym_case_statement] = STATE(937), + [sym_while_statement] = STATE(937), + [sym_do_statement] = STATE(937), + [sym_for_statement] = STATE(937), + [sym_return_statement] = STATE(937), + [sym_break_statement] = STATE(937), + [sym_continue_statement] = STATE(937), + [sym_goto_statement] = STATE(937), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(937), + [sym_co_return_statement] = STATE(937), + [sym_co_yield_statement] = STATE(937), + [sym_throw_statement] = STATE(937), + [sym_try_statement] = STATE(937), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [380] = { + [sym_identifier] = ACTIONS(2115), + [aux_sym_preproc_include_token1] = ACTIONS(2115), + [aux_sym_preproc_def_token1] = ACTIONS(2115), + [aux_sym_preproc_if_token1] = ACTIONS(2115), + [aux_sym_preproc_if_token2] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2115), + [aux_sym_preproc_else_token1] = ACTIONS(2115), + [aux_sym_preproc_elif_token1] = ACTIONS(2115), + [sym_preproc_directive] = ACTIONS(2115), + [anon_sym_LPAREN2] = ACTIONS(2117), + [anon_sym_BANG] = ACTIONS(2117), + [anon_sym_TILDE] = ACTIONS(2117), + [anon_sym_DASH] = ACTIONS(2115), + [anon_sym_PLUS] = ACTIONS(2115), + [anon_sym_STAR] = ACTIONS(2117), + [anon_sym_AMP_AMP] = ACTIONS(2117), + [anon_sym_AMP] = ACTIONS(2115), + [anon_sym_SEMI] = ACTIONS(2117), + [anon_sym_typedef] = ACTIONS(2115), + [anon_sym_extern] = ACTIONS(2115), + [anon_sym___attribute__] = ACTIONS(2115), + [anon_sym_COLON_COLON] = ACTIONS(2117), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2117), + [anon_sym___declspec] = ACTIONS(2115), + [anon_sym___based] = ACTIONS(2115), + [anon_sym___cdecl] = ACTIONS(2115), + [anon_sym___clrcall] = ACTIONS(2115), + [anon_sym___stdcall] = ACTIONS(2115), + [anon_sym___fastcall] = ACTIONS(2115), + [anon_sym___thiscall] = ACTIONS(2115), + [anon_sym___vectorcall] = ACTIONS(2115), + [anon_sym_LBRACE] = ACTIONS(2117), + [anon_sym_LBRACK] = ACTIONS(2115), + [anon_sym_static] = ACTIONS(2115), + [anon_sym_register] = ACTIONS(2115), + [anon_sym_inline] = ACTIONS(2115), + [anon_sym_thread_local] = ACTIONS(2115), + [anon_sym_const] = ACTIONS(2115), + [anon_sym_volatile] = ACTIONS(2115), + [anon_sym_restrict] = ACTIONS(2115), + [anon_sym__Atomic] = ACTIONS(2115), + [anon_sym_mutable] = ACTIONS(2115), + [anon_sym_constexpr] = ACTIONS(2115), + [anon_sym_constinit] = ACTIONS(2115), + [anon_sym_consteval] = ACTIONS(2115), + [anon_sym_signed] = ACTIONS(2115), + [anon_sym_unsigned] = ACTIONS(2115), + [anon_sym_long] = ACTIONS(2115), + [anon_sym_short] = ACTIONS(2115), + [sym_primitive_type] = ACTIONS(2115), + [anon_sym_enum] = ACTIONS(2115), + [anon_sym_class] = ACTIONS(2115), + [anon_sym_struct] = ACTIONS(2115), + [anon_sym_union] = ACTIONS(2115), + [anon_sym_if] = ACTIONS(2115), + [anon_sym_else] = ACTIONS(2115), + [anon_sym_switch] = ACTIONS(2115), + [anon_sym_case] = ACTIONS(2115), + [anon_sym_default] = ACTIONS(2115), + [anon_sym_while] = ACTIONS(2115), + [anon_sym_do] = ACTIONS(2115), + [anon_sym_for] = ACTIONS(2115), + [anon_sym_return] = ACTIONS(2115), + [anon_sym_break] = ACTIONS(2115), + [anon_sym_continue] = ACTIONS(2115), + [anon_sym_goto] = ACTIONS(2115), + [anon_sym_DASH_DASH] = ACTIONS(2117), + [anon_sym_PLUS_PLUS] = ACTIONS(2117), + [anon_sym_sizeof] = ACTIONS(2115), + [sym_number_literal] = ACTIONS(2117), + [anon_sym_L_SQUOTE] = ACTIONS(2117), + [anon_sym_u_SQUOTE] = ACTIONS(2117), + [anon_sym_U_SQUOTE] = ACTIONS(2117), + [anon_sym_u8_SQUOTE] = ACTIONS(2117), + [anon_sym_SQUOTE] = ACTIONS(2117), + [anon_sym_L_DQUOTE] = ACTIONS(2117), + [anon_sym_u_DQUOTE] = ACTIONS(2117), + [anon_sym_U_DQUOTE] = ACTIONS(2117), + [anon_sym_u8_DQUOTE] = ACTIONS(2117), + [anon_sym_DQUOTE] = ACTIONS(2117), + [sym_true] = ACTIONS(2115), + [sym_false] = ACTIONS(2115), + [sym_null] = ACTIONS(2115), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2115), + [anon_sym_decltype] = ACTIONS(2115), + [anon_sym_virtual] = ACTIONS(2115), + [anon_sym_explicit] = ACTIONS(2115), + [anon_sym_typename] = ACTIONS(2115), + [anon_sym_template] = ACTIONS(2115), + [anon_sym_operator] = ACTIONS(2115), + [anon_sym_delete] = ACTIONS(2115), + [anon_sym_throw] = ACTIONS(2115), + [anon_sym_namespace] = ACTIONS(2115), + [anon_sym_using] = ACTIONS(2115), + [anon_sym_static_assert] = ACTIONS(2115), + [anon_sym_concept] = ACTIONS(2115), + [anon_sym_co_return] = ACTIONS(2115), + [anon_sym_co_yield] = ACTIONS(2115), + [anon_sym_try] = ACTIONS(2115), + [anon_sym_co_await] = ACTIONS(2115), + [anon_sym_new] = ACTIONS(2115), + [anon_sym_requires] = ACTIONS(2115), + [sym_this] = ACTIONS(2115), + [sym_nullptr] = ACTIONS(2115), + [sym_raw_string_literal] = ACTIONS(2117), + }, + [381] = { + [sym_identifier] = ACTIONS(2119), + [aux_sym_preproc_include_token1] = ACTIONS(2119), + [aux_sym_preproc_def_token1] = ACTIONS(2119), + [aux_sym_preproc_if_token1] = ACTIONS(2119), + [aux_sym_preproc_if_token2] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2119), + [aux_sym_preproc_else_token1] = ACTIONS(2119), + [aux_sym_preproc_elif_token1] = ACTIONS(2119), + [sym_preproc_directive] = ACTIONS(2119), + [anon_sym_LPAREN2] = ACTIONS(2121), + [anon_sym_BANG] = ACTIONS(2121), + [anon_sym_TILDE] = ACTIONS(2121), + [anon_sym_DASH] = ACTIONS(2119), + [anon_sym_PLUS] = ACTIONS(2119), + [anon_sym_STAR] = ACTIONS(2121), + [anon_sym_AMP_AMP] = ACTIONS(2121), + [anon_sym_AMP] = ACTIONS(2119), + [anon_sym_SEMI] = ACTIONS(2121), + [anon_sym_typedef] = ACTIONS(2119), + [anon_sym_extern] = ACTIONS(2119), + [anon_sym___attribute__] = ACTIONS(2119), + [anon_sym_COLON_COLON] = ACTIONS(2121), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2121), + [anon_sym___declspec] = ACTIONS(2119), + [anon_sym___based] = ACTIONS(2119), + [anon_sym___cdecl] = ACTIONS(2119), + [anon_sym___clrcall] = ACTIONS(2119), + [anon_sym___stdcall] = ACTIONS(2119), + [anon_sym___fastcall] = ACTIONS(2119), + [anon_sym___thiscall] = ACTIONS(2119), + [anon_sym___vectorcall] = ACTIONS(2119), + [anon_sym_LBRACE] = ACTIONS(2121), + [anon_sym_LBRACK] = ACTIONS(2119), + [anon_sym_static] = ACTIONS(2119), + [anon_sym_register] = ACTIONS(2119), + [anon_sym_inline] = ACTIONS(2119), + [anon_sym_thread_local] = ACTIONS(2119), + [anon_sym_const] = ACTIONS(2119), + [anon_sym_volatile] = ACTIONS(2119), + [anon_sym_restrict] = ACTIONS(2119), + [anon_sym__Atomic] = ACTIONS(2119), + [anon_sym_mutable] = ACTIONS(2119), + [anon_sym_constexpr] = ACTIONS(2119), + [anon_sym_constinit] = ACTIONS(2119), + [anon_sym_consteval] = ACTIONS(2119), + [anon_sym_signed] = ACTIONS(2119), + [anon_sym_unsigned] = ACTIONS(2119), + [anon_sym_long] = ACTIONS(2119), + [anon_sym_short] = ACTIONS(2119), + [sym_primitive_type] = ACTIONS(2119), + [anon_sym_enum] = ACTIONS(2119), + [anon_sym_class] = ACTIONS(2119), + [anon_sym_struct] = ACTIONS(2119), + [anon_sym_union] = ACTIONS(2119), + [anon_sym_if] = ACTIONS(2119), + [anon_sym_else] = ACTIONS(2119), + [anon_sym_switch] = ACTIONS(2119), + [anon_sym_case] = ACTIONS(2119), + [anon_sym_default] = ACTIONS(2119), + [anon_sym_while] = ACTIONS(2119), + [anon_sym_do] = ACTIONS(2119), + [anon_sym_for] = ACTIONS(2119), + [anon_sym_return] = ACTIONS(2119), + [anon_sym_break] = ACTIONS(2119), + [anon_sym_continue] = ACTIONS(2119), + [anon_sym_goto] = ACTIONS(2119), + [anon_sym_DASH_DASH] = ACTIONS(2121), + [anon_sym_PLUS_PLUS] = ACTIONS(2121), + [anon_sym_sizeof] = ACTIONS(2119), + [sym_number_literal] = ACTIONS(2121), + [anon_sym_L_SQUOTE] = ACTIONS(2121), + [anon_sym_u_SQUOTE] = ACTIONS(2121), + [anon_sym_U_SQUOTE] = ACTIONS(2121), + [anon_sym_u8_SQUOTE] = ACTIONS(2121), + [anon_sym_SQUOTE] = ACTIONS(2121), + [anon_sym_L_DQUOTE] = ACTIONS(2121), + [anon_sym_u_DQUOTE] = ACTIONS(2121), + [anon_sym_U_DQUOTE] = ACTIONS(2121), + [anon_sym_u8_DQUOTE] = ACTIONS(2121), + [anon_sym_DQUOTE] = ACTIONS(2121), + [sym_true] = ACTIONS(2119), + [sym_false] = ACTIONS(2119), + [sym_null] = ACTIONS(2119), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2119), + [anon_sym_decltype] = ACTIONS(2119), + [anon_sym_virtual] = ACTIONS(2119), + [anon_sym_explicit] = ACTIONS(2119), + [anon_sym_typename] = ACTIONS(2119), + [anon_sym_template] = ACTIONS(2119), + [anon_sym_operator] = ACTIONS(2119), + [anon_sym_delete] = ACTIONS(2119), + [anon_sym_throw] = ACTIONS(2119), + [anon_sym_namespace] = ACTIONS(2119), + [anon_sym_using] = ACTIONS(2119), + [anon_sym_static_assert] = ACTIONS(2119), + [anon_sym_concept] = ACTIONS(2119), + [anon_sym_co_return] = ACTIONS(2119), + [anon_sym_co_yield] = ACTIONS(2119), + [anon_sym_try] = ACTIONS(2119), + [anon_sym_co_await] = ACTIONS(2119), + [anon_sym_new] = ACTIONS(2119), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2119), + [sym_nullptr] = ACTIONS(2119), + [sym_raw_string_literal] = ACTIONS(2121), + }, + [382] = { + [sym_compound_statement] = STATE(294), + [sym_labeled_statement] = STATE(294), + [sym_expression_statement] = STATE(294), + [sym_if_statement] = STATE(294), + [sym_switch_statement] = STATE(294), + [sym_case_statement] = STATE(294), + [sym_while_statement] = STATE(294), + [sym_do_statement] = STATE(294), + [sym_for_statement] = STATE(294), + [sym_return_statement] = STATE(294), + [sym_break_statement] = STATE(294), + [sym_continue_statement] = STATE(294), + [sym_goto_statement] = STATE(294), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(294), + [sym_co_return_statement] = STATE(294), + [sym_co_yield_statement] = STATE(294), + [sym_throw_statement] = STATE(294), + [sym_try_statement] = STATE(294), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [383] = { + [sym_compound_statement] = STATE(340), + [sym_labeled_statement] = STATE(340), + [sym_expression_statement] = STATE(340), + [sym_if_statement] = STATE(340), + [sym_switch_statement] = STATE(340), + [sym_case_statement] = STATE(340), + [sym_while_statement] = STATE(340), + [sym_do_statement] = STATE(340), + [sym_for_statement] = STATE(340), + [sym_return_statement] = STATE(340), + [sym_break_statement] = STATE(340), + [sym_continue_statement] = STATE(340), + [sym_goto_statement] = STATE(340), + [sym__expression] = STATE(3434), + [sym_comma_expression] = STATE(6177), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(340), + [sym_co_return_statement] = STATE(340), + [sym_co_yield_statement] = STATE(340), + [sym_throw_statement] = STATE(340), + [sym_try_statement] = STATE(340), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1846), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(245), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(251), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(253), + [anon_sym_switch] = ACTIONS(255), + [anon_sym_case] = ACTIONS(257), + [anon_sym_default] = ACTIONS(259), + [anon_sym_while] = ACTIONS(261), + [anon_sym_do] = ACTIONS(263), + [anon_sym_for] = ACTIONS(265), + [anon_sym_return] = ACTIONS(267), + [anon_sym_break] = ACTIONS(269), + [anon_sym_continue] = ACTIONS(271), + [anon_sym_goto] = ACTIONS(273), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(277), + [anon_sym_co_return] = ACTIONS(287), + [anon_sym_co_yield] = ACTIONS(289), + [anon_sym_try] = ACTIONS(291), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [384] = { + [sym_compound_statement] = STATE(6337), + [sym_labeled_statement] = STATE(6337), + [sym_expression_statement] = STATE(6337), + [sym_if_statement] = STATE(6337), + [sym_switch_statement] = STATE(6337), + [sym_case_statement] = STATE(6337), + [sym_while_statement] = STATE(6337), + [sym_do_statement] = STATE(6337), + [sym_for_statement] = STATE(6337), + [sym_return_statement] = STATE(6337), + [sym_break_statement] = STATE(6337), + [sym_continue_statement] = STATE(6337), + [sym_goto_statement] = STATE(6337), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(6337), + [sym_co_return_statement] = STATE(6337), + [sym_co_yield_statement] = STATE(6337), + [sym_throw_statement] = STATE(6337), + [sym_try_statement] = STATE(6337), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [385] = { + [sym_compound_statement] = STATE(655), + [sym_labeled_statement] = STATE(655), + [sym_expression_statement] = STATE(655), + [sym_if_statement] = STATE(655), + [sym_switch_statement] = STATE(655), + [sym_case_statement] = STATE(655), + [sym_while_statement] = STATE(655), + [sym_do_statement] = STATE(655), + [sym_for_statement] = STATE(655), + [sym_return_statement] = STATE(655), + [sym_break_statement] = STATE(655), + [sym_continue_statement] = STATE(655), + [sym_goto_statement] = STATE(655), + [sym__expression] = STATE(3480), + [sym_comma_expression] = STATE(5978), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(655), + [sym_co_return_statement] = STATE(655), + [sym_co_yield_statement] = STATE(655), + [sym_throw_statement] = STATE(655), + [sym_try_statement] = STATE(655), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1840), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(159), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(536), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(171), + [anon_sym_switch] = ACTIONS(173), + [anon_sym_case] = ACTIONS(175), + [anon_sym_default] = ACTIONS(177), + [anon_sym_while] = ACTIONS(179), + [anon_sym_do] = ACTIONS(181), + [anon_sym_for] = ACTIONS(183), + [anon_sym_return] = ACTIONS(185), + [anon_sym_break] = ACTIONS(187), + [anon_sym_continue] = ACTIONS(189), + [anon_sym_goto] = ACTIONS(191), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(197), + [anon_sym_co_return] = ACTIONS(207), + [anon_sym_co_yield] = ACTIONS(209), + [anon_sym_try] = ACTIONS(211), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [386] = { + [sym_compound_statement] = STATE(950), + [sym_labeled_statement] = STATE(950), + [sym_expression_statement] = STATE(950), + [sym_if_statement] = STATE(950), + [sym_switch_statement] = STATE(950), + [sym_case_statement] = STATE(950), + [sym_while_statement] = STATE(950), + [sym_do_statement] = STATE(950), + [sym_for_statement] = STATE(950), + [sym_return_statement] = STATE(950), + [sym_break_statement] = STATE(950), + [sym_continue_statement] = STATE(950), + [sym_goto_statement] = STATE(950), + [sym__expression] = STATE(3465), + [sym_comma_expression] = STATE(6356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(950), + [sym_co_return_statement] = STATE(950), + [sym_co_yield_statement] = STATE(950), + [sym_throw_statement] = STATE(950), + [sym_try_statement] = STATE(950), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2017), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1304), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1308), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1310), + [anon_sym_switch] = ACTIONS(1312), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1314), + [anon_sym_do] = ACTIONS(1316), + [anon_sym_for] = ACTIONS(1318), + [anon_sym_return] = ACTIONS(1320), + [anon_sym_break] = ACTIONS(1322), + [anon_sym_continue] = ACTIONS(1324), + [anon_sym_goto] = ACTIONS(1326), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(1328), + [anon_sym_co_return] = ACTIONS(1330), + [anon_sym_co_yield] = ACTIONS(1332), + [anon_sym_try] = ACTIONS(1334), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [387] = { + [sym_compound_statement] = STATE(5737), + [sym_labeled_statement] = STATE(5737), + [sym_expression_statement] = STATE(5737), + [sym_if_statement] = STATE(5737), + [sym_switch_statement] = STATE(5737), + [sym_case_statement] = STATE(5737), + [sym_while_statement] = STATE(5737), + [sym_do_statement] = STATE(5737), + [sym_for_statement] = STATE(5737), + [sym_return_statement] = STATE(5737), + [sym_break_statement] = STATE(5737), + [sym_continue_statement] = STATE(5737), + [sym_goto_statement] = STATE(5737), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5737), + [sym_co_return_statement] = STATE(5737), + [sym_co_yield_statement] = STATE(5737), + [sym_throw_statement] = STATE(5737), + [sym_try_statement] = STATE(5737), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [388] = { + [sym_identifier] = ACTIONS(2123), + [aux_sym_preproc_include_token1] = ACTIONS(2123), + [aux_sym_preproc_def_token1] = ACTIONS(2123), + [aux_sym_preproc_if_token1] = ACTIONS(2123), + [aux_sym_preproc_if_token2] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2123), + [aux_sym_preproc_else_token1] = ACTIONS(2123), + [aux_sym_preproc_elif_token1] = ACTIONS(2123), + [sym_preproc_directive] = ACTIONS(2123), + [anon_sym_LPAREN2] = ACTIONS(2125), + [anon_sym_BANG] = ACTIONS(2125), + [anon_sym_TILDE] = ACTIONS(2125), + [anon_sym_DASH] = ACTIONS(2123), + [anon_sym_PLUS] = ACTIONS(2123), + [anon_sym_STAR] = ACTIONS(2125), + [anon_sym_AMP_AMP] = ACTIONS(2125), + [anon_sym_AMP] = ACTIONS(2123), + [anon_sym_SEMI] = ACTIONS(2125), + [anon_sym_typedef] = ACTIONS(2123), + [anon_sym_extern] = ACTIONS(2123), + [anon_sym___attribute__] = ACTIONS(2123), + [anon_sym_COLON_COLON] = ACTIONS(2125), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2125), + [anon_sym___declspec] = ACTIONS(2123), + [anon_sym___based] = ACTIONS(2123), + [anon_sym___cdecl] = ACTIONS(2123), + [anon_sym___clrcall] = ACTIONS(2123), + [anon_sym___stdcall] = ACTIONS(2123), + [anon_sym___fastcall] = ACTIONS(2123), + [anon_sym___thiscall] = ACTIONS(2123), + [anon_sym___vectorcall] = ACTIONS(2123), + [anon_sym_LBRACE] = ACTIONS(2125), + [anon_sym_LBRACK] = ACTIONS(2123), + [anon_sym_static] = ACTIONS(2123), + [anon_sym_register] = ACTIONS(2123), + [anon_sym_inline] = ACTIONS(2123), + [anon_sym_thread_local] = ACTIONS(2123), + [anon_sym_const] = ACTIONS(2123), + [anon_sym_volatile] = ACTIONS(2123), + [anon_sym_restrict] = ACTIONS(2123), + [anon_sym__Atomic] = ACTIONS(2123), + [anon_sym_mutable] = ACTIONS(2123), + [anon_sym_constexpr] = ACTIONS(2123), + [anon_sym_constinit] = ACTIONS(2123), + [anon_sym_consteval] = ACTIONS(2123), + [anon_sym_signed] = ACTIONS(2123), + [anon_sym_unsigned] = ACTIONS(2123), + [anon_sym_long] = ACTIONS(2123), + [anon_sym_short] = ACTIONS(2123), + [sym_primitive_type] = ACTIONS(2123), + [anon_sym_enum] = ACTIONS(2123), + [anon_sym_class] = ACTIONS(2123), + [anon_sym_struct] = ACTIONS(2123), + [anon_sym_union] = ACTIONS(2123), + [anon_sym_if] = ACTIONS(2123), + [anon_sym_else] = ACTIONS(2123), + [anon_sym_switch] = ACTIONS(2123), + [anon_sym_case] = ACTIONS(2123), + [anon_sym_default] = ACTIONS(2123), + [anon_sym_while] = ACTIONS(2123), + [anon_sym_do] = ACTIONS(2123), + [anon_sym_for] = ACTIONS(2123), + [anon_sym_return] = ACTIONS(2123), + [anon_sym_break] = ACTIONS(2123), + [anon_sym_continue] = ACTIONS(2123), + [anon_sym_goto] = ACTIONS(2123), + [anon_sym_DASH_DASH] = ACTIONS(2125), + [anon_sym_PLUS_PLUS] = ACTIONS(2125), + [anon_sym_sizeof] = ACTIONS(2123), + [sym_number_literal] = ACTIONS(2125), + [anon_sym_L_SQUOTE] = ACTIONS(2125), + [anon_sym_u_SQUOTE] = ACTIONS(2125), + [anon_sym_U_SQUOTE] = ACTIONS(2125), + [anon_sym_u8_SQUOTE] = ACTIONS(2125), + [anon_sym_SQUOTE] = ACTIONS(2125), + [anon_sym_L_DQUOTE] = ACTIONS(2125), + [anon_sym_u_DQUOTE] = ACTIONS(2125), + [anon_sym_U_DQUOTE] = ACTIONS(2125), + [anon_sym_u8_DQUOTE] = ACTIONS(2125), + [anon_sym_DQUOTE] = ACTIONS(2125), + [sym_true] = ACTIONS(2123), + [sym_false] = ACTIONS(2123), + [sym_null] = ACTIONS(2123), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2123), + [anon_sym_decltype] = ACTIONS(2123), + [anon_sym_virtual] = ACTIONS(2123), + [anon_sym_explicit] = ACTIONS(2123), + [anon_sym_typename] = ACTIONS(2123), + [anon_sym_template] = ACTIONS(2123), + [anon_sym_operator] = ACTIONS(2123), + [anon_sym_delete] = ACTIONS(2123), + [anon_sym_throw] = ACTIONS(2123), + [anon_sym_namespace] = ACTIONS(2123), + [anon_sym_using] = ACTIONS(2123), + [anon_sym_static_assert] = ACTIONS(2123), + [anon_sym_concept] = ACTIONS(2123), + [anon_sym_co_return] = ACTIONS(2123), + [anon_sym_co_yield] = ACTIONS(2123), + [anon_sym_try] = ACTIONS(2123), + [anon_sym_co_await] = ACTIONS(2123), + [anon_sym_new] = ACTIONS(2123), + [anon_sym_requires] = ACTIONS(2123), + [sym_this] = ACTIONS(2123), + [sym_nullptr] = ACTIONS(2123), + [sym_raw_string_literal] = ACTIONS(2125), + }, + [389] = { + [sym_compound_statement] = STATE(5746), + [sym_labeled_statement] = STATE(5746), + [sym_expression_statement] = STATE(5746), + [sym_if_statement] = STATE(5746), + [sym_switch_statement] = STATE(5746), + [sym_case_statement] = STATE(5746), + [sym_while_statement] = STATE(5746), + [sym_do_statement] = STATE(5746), + [sym_for_statement] = STATE(5746), + [sym_return_statement] = STATE(5746), + [sym_break_statement] = STATE(5746), + [sym_continue_statement] = STATE(5746), + [sym_goto_statement] = STATE(5746), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5746), + [sym_co_return_statement] = STATE(5746), + [sym_co_yield_statement] = STATE(5746), + [sym_throw_statement] = STATE(5746), + [sym_try_statement] = STATE(5746), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [390] = { + [sym_identifier] = ACTIONS(2127), + [aux_sym_preproc_include_token1] = ACTIONS(2127), + [aux_sym_preproc_def_token1] = ACTIONS(2127), + [aux_sym_preproc_if_token1] = ACTIONS(2127), + [aux_sym_preproc_if_token2] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2127), + [aux_sym_preproc_else_token1] = ACTIONS(2127), + [aux_sym_preproc_elif_token1] = ACTIONS(2127), + [sym_preproc_directive] = ACTIONS(2127), + [anon_sym_LPAREN2] = ACTIONS(2129), + [anon_sym_BANG] = ACTIONS(2129), + [anon_sym_TILDE] = ACTIONS(2129), + [anon_sym_DASH] = ACTIONS(2127), + [anon_sym_PLUS] = ACTIONS(2127), + [anon_sym_STAR] = ACTIONS(2129), + [anon_sym_AMP_AMP] = ACTIONS(2129), + [anon_sym_AMP] = ACTIONS(2127), + [anon_sym_SEMI] = ACTIONS(2129), + [anon_sym_typedef] = ACTIONS(2127), + [anon_sym_extern] = ACTIONS(2127), + [anon_sym___attribute__] = ACTIONS(2127), + [anon_sym_COLON_COLON] = ACTIONS(2129), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2129), + [anon_sym___declspec] = ACTIONS(2127), + [anon_sym___based] = ACTIONS(2127), + [anon_sym___cdecl] = ACTIONS(2127), + [anon_sym___clrcall] = ACTIONS(2127), + [anon_sym___stdcall] = ACTIONS(2127), + [anon_sym___fastcall] = ACTIONS(2127), + [anon_sym___thiscall] = ACTIONS(2127), + [anon_sym___vectorcall] = ACTIONS(2127), + [anon_sym_LBRACE] = ACTIONS(2129), + [anon_sym_LBRACK] = ACTIONS(2127), + [anon_sym_static] = ACTIONS(2127), + [anon_sym_register] = ACTIONS(2127), + [anon_sym_inline] = ACTIONS(2127), + [anon_sym_thread_local] = ACTIONS(2127), + [anon_sym_const] = ACTIONS(2127), + [anon_sym_volatile] = ACTIONS(2127), + [anon_sym_restrict] = ACTIONS(2127), + [anon_sym__Atomic] = ACTIONS(2127), + [anon_sym_mutable] = ACTIONS(2127), + [anon_sym_constexpr] = ACTIONS(2127), + [anon_sym_constinit] = ACTIONS(2127), + [anon_sym_consteval] = ACTIONS(2127), + [anon_sym_signed] = ACTIONS(2127), + [anon_sym_unsigned] = ACTIONS(2127), + [anon_sym_long] = ACTIONS(2127), + [anon_sym_short] = ACTIONS(2127), + [sym_primitive_type] = ACTIONS(2127), + [anon_sym_enum] = ACTIONS(2127), + [anon_sym_class] = ACTIONS(2127), + [anon_sym_struct] = ACTIONS(2127), + [anon_sym_union] = ACTIONS(2127), + [anon_sym_if] = ACTIONS(2127), + [anon_sym_else] = ACTIONS(2127), + [anon_sym_switch] = ACTIONS(2127), + [anon_sym_case] = ACTIONS(2127), + [anon_sym_default] = ACTIONS(2127), + [anon_sym_while] = ACTIONS(2127), + [anon_sym_do] = ACTIONS(2127), + [anon_sym_for] = ACTIONS(2127), + [anon_sym_return] = ACTIONS(2127), + [anon_sym_break] = ACTIONS(2127), + [anon_sym_continue] = ACTIONS(2127), + [anon_sym_goto] = ACTIONS(2127), + [anon_sym_DASH_DASH] = ACTIONS(2129), + [anon_sym_PLUS_PLUS] = ACTIONS(2129), + [anon_sym_sizeof] = ACTIONS(2127), + [sym_number_literal] = ACTIONS(2129), + [anon_sym_L_SQUOTE] = ACTIONS(2129), + [anon_sym_u_SQUOTE] = ACTIONS(2129), + [anon_sym_U_SQUOTE] = ACTIONS(2129), + [anon_sym_u8_SQUOTE] = ACTIONS(2129), + [anon_sym_SQUOTE] = ACTIONS(2129), + [anon_sym_L_DQUOTE] = ACTIONS(2129), + [anon_sym_u_DQUOTE] = ACTIONS(2129), + [anon_sym_U_DQUOTE] = ACTIONS(2129), + [anon_sym_u8_DQUOTE] = ACTIONS(2129), + [anon_sym_DQUOTE] = ACTIONS(2129), + [sym_true] = ACTIONS(2127), + [sym_false] = ACTIONS(2127), + [sym_null] = ACTIONS(2127), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2127), + [anon_sym_decltype] = ACTIONS(2127), + [anon_sym_virtual] = ACTIONS(2127), + [anon_sym_explicit] = ACTIONS(2127), + [anon_sym_typename] = ACTIONS(2127), + [anon_sym_template] = ACTIONS(2127), + [anon_sym_operator] = ACTIONS(2127), + [anon_sym_delete] = ACTIONS(2127), + [anon_sym_throw] = ACTIONS(2127), + [anon_sym_namespace] = ACTIONS(2127), + [anon_sym_using] = ACTIONS(2127), + [anon_sym_static_assert] = ACTIONS(2127), + [anon_sym_concept] = ACTIONS(2127), + [anon_sym_co_return] = ACTIONS(2127), + [anon_sym_co_yield] = ACTIONS(2127), + [anon_sym_try] = ACTIONS(2127), + [anon_sym_co_await] = ACTIONS(2127), + [anon_sym_new] = ACTIONS(2127), + [anon_sym_requires] = ACTIONS(2127), + [sym_this] = ACTIONS(2127), + [sym_nullptr] = ACTIONS(2127), + [sym_raw_string_literal] = ACTIONS(2129), + }, + [391] = { + [sym_compound_statement] = STATE(5747), + [sym_labeled_statement] = STATE(5747), + [sym_expression_statement] = STATE(5747), + [sym_if_statement] = STATE(5747), + [sym_switch_statement] = STATE(5747), + [sym_case_statement] = STATE(5747), + [sym_while_statement] = STATE(5747), + [sym_do_statement] = STATE(5747), + [sym_for_statement] = STATE(5747), + [sym_return_statement] = STATE(5747), + [sym_break_statement] = STATE(5747), + [sym_continue_statement] = STATE(5747), + [sym_goto_statement] = STATE(5747), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5747), + [sym_co_return_statement] = STATE(5747), + [sym_co_yield_statement] = STATE(5747), + [sym_throw_statement] = STATE(5747), + [sym_try_statement] = STATE(5747), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [392] = { + [sym_compound_statement] = STATE(5748), + [sym_labeled_statement] = STATE(5748), + [sym_expression_statement] = STATE(5748), + [sym_if_statement] = STATE(5748), + [sym_switch_statement] = STATE(5748), + [sym_case_statement] = STATE(5748), + [sym_while_statement] = STATE(5748), + [sym_do_statement] = STATE(5748), + [sym_for_statement] = STATE(5748), + [sym_return_statement] = STATE(5748), + [sym_break_statement] = STATE(5748), + [sym_continue_statement] = STATE(5748), + [sym_goto_statement] = STATE(5748), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5748), + [sym_co_return_statement] = STATE(5748), + [sym_co_yield_statement] = STATE(5748), + [sym_throw_statement] = STATE(5748), + [sym_try_statement] = STATE(5748), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [393] = { + [sym_compound_statement] = STATE(5749), + [sym_labeled_statement] = STATE(5749), + [sym_expression_statement] = STATE(5749), + [sym_if_statement] = STATE(5749), + [sym_switch_statement] = STATE(5749), + [sym_case_statement] = STATE(5749), + [sym_while_statement] = STATE(5749), + [sym_do_statement] = STATE(5749), + [sym_for_statement] = STATE(5749), + [sym_return_statement] = STATE(5749), + [sym_break_statement] = STATE(5749), + [sym_continue_statement] = STATE(5749), + [sym_goto_statement] = STATE(5749), + [sym__expression] = STATE(3422), + [sym_comma_expression] = STATE(6439), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_for_range_loop] = STATE(5749), + [sym_co_return_statement] = STATE(5749), + [sym_co_yield_statement] = STATE(5749), + [sym_throw_statement] = STATE(5749), + [sym_try_statement] = STATE(5749), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(1973), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1975), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1977), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_if] = ACTIONS(1979), + [anon_sym_switch] = ACTIONS(1981), + [anon_sym_case] = ACTIONS(1983), + [anon_sym_default] = ACTIONS(1985), + [anon_sym_while] = ACTIONS(1987), + [anon_sym_do] = ACTIONS(1989), + [anon_sym_for] = ACTIONS(1991), + [anon_sym_return] = ACTIONS(1993), + [anon_sym_break] = ACTIONS(1995), + [anon_sym_continue] = ACTIONS(1997), + [anon_sym_goto] = ACTIONS(1999), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_throw] = ACTIONS(2001), + [anon_sym_co_return] = ACTIONS(2003), + [anon_sym_co_yield] = ACTIONS(2005), + [anon_sym_try] = ACTIONS(2007), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [394] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3251), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5159), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5213), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2173), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [395] = { + [sym_identifier] = ACTIONS(2185), + [aux_sym_preproc_include_token1] = ACTIONS(2185), + [aux_sym_preproc_def_token1] = ACTIONS(2185), + [aux_sym_preproc_if_token1] = ACTIONS(2185), + [aux_sym_preproc_if_token2] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2185), + [aux_sym_preproc_else_token1] = ACTIONS(2185), + [aux_sym_preproc_elif_token1] = ACTIONS(2185), + [sym_preproc_directive] = ACTIONS(2185), + [anon_sym_LPAREN2] = ACTIONS(2187), + [anon_sym_BANG] = ACTIONS(2187), + [anon_sym_TILDE] = ACTIONS(2187), + [anon_sym_DASH] = ACTIONS(2185), + [anon_sym_PLUS] = ACTIONS(2185), + [anon_sym_STAR] = ACTIONS(2187), + [anon_sym_AMP_AMP] = ACTIONS(2187), + [anon_sym_AMP] = ACTIONS(2185), + [anon_sym_SEMI] = ACTIONS(2187), + [anon_sym_typedef] = ACTIONS(2185), + [anon_sym_extern] = ACTIONS(2185), + [anon_sym___attribute__] = ACTIONS(2185), + [anon_sym_COLON_COLON] = ACTIONS(2187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2187), + [anon_sym___declspec] = ACTIONS(2185), + [anon_sym___based] = ACTIONS(2185), + [anon_sym___cdecl] = ACTIONS(2185), + [anon_sym___clrcall] = ACTIONS(2185), + [anon_sym___stdcall] = ACTIONS(2185), + [anon_sym___fastcall] = ACTIONS(2185), + [anon_sym___thiscall] = ACTIONS(2185), + [anon_sym___vectorcall] = ACTIONS(2185), + [anon_sym_LBRACE] = ACTIONS(2187), + [anon_sym_LBRACK] = ACTIONS(2185), + [anon_sym_static] = ACTIONS(2185), + [anon_sym_register] = ACTIONS(2185), + [anon_sym_inline] = ACTIONS(2185), + [anon_sym_thread_local] = ACTIONS(2185), + [anon_sym_const] = ACTIONS(2185), + [anon_sym_volatile] = ACTIONS(2185), + [anon_sym_restrict] = ACTIONS(2185), + [anon_sym__Atomic] = ACTIONS(2185), + [anon_sym_mutable] = ACTIONS(2185), + [anon_sym_constexpr] = ACTIONS(2185), + [anon_sym_constinit] = ACTIONS(2185), + [anon_sym_consteval] = ACTIONS(2185), + [anon_sym_signed] = ACTIONS(2185), + [anon_sym_unsigned] = ACTIONS(2185), + [anon_sym_long] = ACTIONS(2185), + [anon_sym_short] = ACTIONS(2185), + [sym_primitive_type] = ACTIONS(2185), + [anon_sym_enum] = ACTIONS(2185), + [anon_sym_class] = ACTIONS(2185), + [anon_sym_struct] = ACTIONS(2185), + [anon_sym_union] = ACTIONS(2185), + [anon_sym_if] = ACTIONS(2185), + [anon_sym_switch] = ACTIONS(2185), + [anon_sym_case] = ACTIONS(2185), + [anon_sym_default] = ACTIONS(2185), + [anon_sym_while] = ACTIONS(2185), + [anon_sym_do] = ACTIONS(2185), + [anon_sym_for] = ACTIONS(2185), + [anon_sym_return] = ACTIONS(2185), + [anon_sym_break] = ACTIONS(2185), + [anon_sym_continue] = ACTIONS(2185), + [anon_sym_goto] = ACTIONS(2185), + [anon_sym_DASH_DASH] = ACTIONS(2187), + [anon_sym_PLUS_PLUS] = ACTIONS(2187), + [anon_sym_sizeof] = ACTIONS(2185), + [sym_number_literal] = ACTIONS(2187), + [anon_sym_L_SQUOTE] = ACTIONS(2187), + [anon_sym_u_SQUOTE] = ACTIONS(2187), + [anon_sym_U_SQUOTE] = ACTIONS(2187), + [anon_sym_u8_SQUOTE] = ACTIONS(2187), + [anon_sym_SQUOTE] = ACTIONS(2187), + [anon_sym_L_DQUOTE] = ACTIONS(2187), + [anon_sym_u_DQUOTE] = ACTIONS(2187), + [anon_sym_U_DQUOTE] = ACTIONS(2187), + [anon_sym_u8_DQUOTE] = ACTIONS(2187), + [anon_sym_DQUOTE] = ACTIONS(2187), + [sym_true] = ACTIONS(2185), + [sym_false] = ACTIONS(2185), + [sym_null] = ACTIONS(2185), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2185), + [anon_sym_decltype] = ACTIONS(2185), + [anon_sym_virtual] = ACTIONS(2185), + [anon_sym_explicit] = ACTIONS(2185), + [anon_sym_typename] = ACTIONS(2185), + [anon_sym_template] = ACTIONS(2185), + [anon_sym_operator] = ACTIONS(2185), + [anon_sym_delete] = ACTIONS(2185), + [anon_sym_throw] = ACTIONS(2185), + [anon_sym_namespace] = ACTIONS(2185), + [anon_sym_using] = ACTIONS(2185), + [anon_sym_static_assert] = ACTIONS(2185), + [anon_sym_concept] = ACTIONS(2185), + [anon_sym_co_return] = ACTIONS(2185), + [anon_sym_co_yield] = ACTIONS(2185), + [anon_sym_try] = ACTIONS(2185), + [anon_sym_co_await] = ACTIONS(2185), + [anon_sym_new] = ACTIONS(2185), + [anon_sym_requires] = ACTIONS(2185), + [sym_this] = ACTIONS(2185), + [sym_nullptr] = ACTIONS(2185), + [sym_raw_string_literal] = ACTIONS(2187), + }, + [396] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3262), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(4904), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5279), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2189), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [397] = { + [sym_identifier] = ACTIONS(2191), + [aux_sym_preproc_include_token1] = ACTIONS(2191), + [aux_sym_preproc_def_token1] = ACTIONS(2191), + [aux_sym_preproc_if_token1] = ACTIONS(2191), + [aux_sym_preproc_if_token2] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2191), + [aux_sym_preproc_else_token1] = ACTIONS(2191), + [aux_sym_preproc_elif_token1] = ACTIONS(2191), + [sym_preproc_directive] = ACTIONS(2191), + [anon_sym_LPAREN2] = ACTIONS(2193), + [anon_sym_BANG] = ACTIONS(2193), + [anon_sym_TILDE] = ACTIONS(2193), + [anon_sym_DASH] = ACTIONS(2191), + [anon_sym_PLUS] = ACTIONS(2191), + [anon_sym_STAR] = ACTIONS(2193), + [anon_sym_AMP_AMP] = ACTIONS(2193), + [anon_sym_AMP] = ACTIONS(2191), + [anon_sym_SEMI] = ACTIONS(2193), + [anon_sym_typedef] = ACTIONS(2191), + [anon_sym_extern] = ACTIONS(2191), + [anon_sym___attribute__] = ACTIONS(2191), + [anon_sym_COLON_COLON] = ACTIONS(2193), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2193), + [anon_sym___declspec] = ACTIONS(2191), + [anon_sym___based] = ACTIONS(2191), + [anon_sym___cdecl] = ACTIONS(2191), + [anon_sym___clrcall] = ACTIONS(2191), + [anon_sym___stdcall] = ACTIONS(2191), + [anon_sym___fastcall] = ACTIONS(2191), + [anon_sym___thiscall] = ACTIONS(2191), + [anon_sym___vectorcall] = ACTIONS(2191), + [anon_sym_LBRACE] = ACTIONS(2193), + [anon_sym_LBRACK] = ACTIONS(2191), + [anon_sym_static] = ACTIONS(2191), + [anon_sym_register] = ACTIONS(2191), + [anon_sym_inline] = ACTIONS(2191), + [anon_sym_thread_local] = ACTIONS(2191), + [anon_sym_const] = ACTIONS(2191), + [anon_sym_volatile] = ACTIONS(2191), + [anon_sym_restrict] = ACTIONS(2191), + [anon_sym__Atomic] = ACTIONS(2191), + [anon_sym_mutable] = ACTIONS(2191), + [anon_sym_constexpr] = ACTIONS(2191), + [anon_sym_constinit] = ACTIONS(2191), + [anon_sym_consteval] = ACTIONS(2191), + [anon_sym_signed] = ACTIONS(2191), + [anon_sym_unsigned] = ACTIONS(2191), + [anon_sym_long] = ACTIONS(2191), + [anon_sym_short] = ACTIONS(2191), + [sym_primitive_type] = ACTIONS(2191), + [anon_sym_enum] = ACTIONS(2191), + [anon_sym_class] = ACTIONS(2191), + [anon_sym_struct] = ACTIONS(2191), + [anon_sym_union] = ACTIONS(2191), + [anon_sym_if] = ACTIONS(2191), + [anon_sym_switch] = ACTIONS(2191), + [anon_sym_case] = ACTIONS(2191), + [anon_sym_default] = ACTIONS(2191), + [anon_sym_while] = ACTIONS(2191), + [anon_sym_do] = ACTIONS(2191), + [anon_sym_for] = ACTIONS(2191), + [anon_sym_return] = ACTIONS(2191), + [anon_sym_break] = ACTIONS(2191), + [anon_sym_continue] = ACTIONS(2191), + [anon_sym_goto] = ACTIONS(2191), + [anon_sym_DASH_DASH] = ACTIONS(2193), + [anon_sym_PLUS_PLUS] = ACTIONS(2193), + [anon_sym_sizeof] = ACTIONS(2191), + [sym_number_literal] = ACTIONS(2193), + [anon_sym_L_SQUOTE] = ACTIONS(2193), + [anon_sym_u_SQUOTE] = ACTIONS(2193), + [anon_sym_U_SQUOTE] = ACTIONS(2193), + [anon_sym_u8_SQUOTE] = ACTIONS(2193), + [anon_sym_SQUOTE] = ACTIONS(2193), + [anon_sym_L_DQUOTE] = ACTIONS(2193), + [anon_sym_u_DQUOTE] = ACTIONS(2193), + [anon_sym_U_DQUOTE] = ACTIONS(2193), + [anon_sym_u8_DQUOTE] = ACTIONS(2193), + [anon_sym_DQUOTE] = ACTIONS(2193), + [sym_true] = ACTIONS(2191), + [sym_false] = ACTIONS(2191), + [sym_null] = ACTIONS(2191), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2191), + [anon_sym_decltype] = ACTIONS(2191), + [anon_sym_virtual] = ACTIONS(2191), + [anon_sym_explicit] = ACTIONS(2191), + [anon_sym_typename] = ACTIONS(2191), + [anon_sym_template] = ACTIONS(2191), + [anon_sym_operator] = ACTIONS(2191), + [anon_sym_delete] = ACTIONS(2191), + [anon_sym_throw] = ACTIONS(2191), + [anon_sym_namespace] = ACTIONS(2191), + [anon_sym_using] = ACTIONS(2191), + [anon_sym_static_assert] = ACTIONS(2191), + [anon_sym_concept] = ACTIONS(2191), + [anon_sym_co_return] = ACTIONS(2191), + [anon_sym_co_yield] = ACTIONS(2191), + [anon_sym_try] = ACTIONS(2191), + [anon_sym_co_await] = ACTIONS(2191), + [anon_sym_new] = ACTIONS(2191), + [anon_sym_requires] = ACTIONS(2191), + [sym_this] = ACTIONS(2191), + [sym_nullptr] = ACTIONS(2191), + [sym_raw_string_literal] = ACTIONS(2193), + }, + [398] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3261), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5088), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5292), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2195), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [399] = { + [sym_identifier] = ACTIONS(2197), + [aux_sym_preproc_include_token1] = ACTIONS(2197), + [aux_sym_preproc_def_token1] = ACTIONS(2197), + [aux_sym_preproc_if_token1] = ACTIONS(2197), + [aux_sym_preproc_if_token2] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2197), + [aux_sym_preproc_else_token1] = ACTIONS(2197), + [aux_sym_preproc_elif_token1] = ACTIONS(2197), + [sym_preproc_directive] = ACTIONS(2197), + [anon_sym_LPAREN2] = ACTIONS(2199), + [anon_sym_BANG] = ACTIONS(2199), + [anon_sym_TILDE] = ACTIONS(2199), + [anon_sym_DASH] = ACTIONS(2197), + [anon_sym_PLUS] = ACTIONS(2197), + [anon_sym_STAR] = ACTIONS(2199), + [anon_sym_AMP_AMP] = ACTIONS(2199), + [anon_sym_AMP] = ACTIONS(2197), + [anon_sym_SEMI] = ACTIONS(2199), + [anon_sym_typedef] = ACTIONS(2197), + [anon_sym_extern] = ACTIONS(2197), + [anon_sym___attribute__] = ACTIONS(2197), + [anon_sym_COLON_COLON] = ACTIONS(2199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2199), + [anon_sym___declspec] = ACTIONS(2197), + [anon_sym___based] = ACTIONS(2197), + [anon_sym___cdecl] = ACTIONS(2197), + [anon_sym___clrcall] = ACTIONS(2197), + [anon_sym___stdcall] = ACTIONS(2197), + [anon_sym___fastcall] = ACTIONS(2197), + [anon_sym___thiscall] = ACTIONS(2197), + [anon_sym___vectorcall] = ACTIONS(2197), + [anon_sym_LBRACE] = ACTIONS(2199), + [anon_sym_LBRACK] = ACTIONS(2197), + [anon_sym_static] = ACTIONS(2197), + [anon_sym_register] = ACTIONS(2197), + [anon_sym_inline] = ACTIONS(2197), + [anon_sym_thread_local] = ACTIONS(2197), + [anon_sym_const] = ACTIONS(2197), + [anon_sym_volatile] = ACTIONS(2197), + [anon_sym_restrict] = ACTIONS(2197), + [anon_sym__Atomic] = ACTIONS(2197), + [anon_sym_mutable] = ACTIONS(2197), + [anon_sym_constexpr] = ACTIONS(2197), + [anon_sym_constinit] = ACTIONS(2197), + [anon_sym_consteval] = ACTIONS(2197), + [anon_sym_signed] = ACTIONS(2197), + [anon_sym_unsigned] = ACTIONS(2197), + [anon_sym_long] = ACTIONS(2197), + [anon_sym_short] = ACTIONS(2197), + [sym_primitive_type] = ACTIONS(2197), + [anon_sym_enum] = ACTIONS(2197), + [anon_sym_class] = ACTIONS(2197), + [anon_sym_struct] = ACTIONS(2197), + [anon_sym_union] = ACTIONS(2197), + [anon_sym_if] = ACTIONS(2197), + [anon_sym_switch] = ACTIONS(2197), + [anon_sym_case] = ACTIONS(2197), + [anon_sym_default] = ACTIONS(2197), + [anon_sym_while] = ACTIONS(2197), + [anon_sym_do] = ACTIONS(2197), + [anon_sym_for] = ACTIONS(2197), + [anon_sym_return] = ACTIONS(2197), + [anon_sym_break] = ACTIONS(2197), + [anon_sym_continue] = ACTIONS(2197), + [anon_sym_goto] = ACTIONS(2197), + [anon_sym_DASH_DASH] = ACTIONS(2199), + [anon_sym_PLUS_PLUS] = ACTIONS(2199), + [anon_sym_sizeof] = ACTIONS(2197), + [sym_number_literal] = ACTIONS(2199), + [anon_sym_L_SQUOTE] = ACTIONS(2199), + [anon_sym_u_SQUOTE] = ACTIONS(2199), + [anon_sym_U_SQUOTE] = ACTIONS(2199), + [anon_sym_u8_SQUOTE] = ACTIONS(2199), + [anon_sym_SQUOTE] = ACTIONS(2199), + [anon_sym_L_DQUOTE] = ACTIONS(2199), + [anon_sym_u_DQUOTE] = ACTIONS(2199), + [anon_sym_U_DQUOTE] = ACTIONS(2199), + [anon_sym_u8_DQUOTE] = ACTIONS(2199), + [anon_sym_DQUOTE] = ACTIONS(2199), + [sym_true] = ACTIONS(2197), + [sym_false] = ACTIONS(2197), + [sym_null] = ACTIONS(2197), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2197), + [anon_sym_decltype] = ACTIONS(2197), + [anon_sym_virtual] = ACTIONS(2197), + [anon_sym_explicit] = ACTIONS(2197), + [anon_sym_typename] = ACTIONS(2197), + [anon_sym_template] = ACTIONS(2197), + [anon_sym_operator] = ACTIONS(2197), + [anon_sym_delete] = ACTIONS(2197), + [anon_sym_throw] = ACTIONS(2197), + [anon_sym_namespace] = ACTIONS(2197), + [anon_sym_using] = ACTIONS(2197), + [anon_sym_static_assert] = ACTIONS(2197), + [anon_sym_concept] = ACTIONS(2197), + [anon_sym_co_return] = ACTIONS(2197), + [anon_sym_co_yield] = ACTIONS(2197), + [anon_sym_try] = ACTIONS(2197), + [anon_sym_co_await] = ACTIONS(2197), + [anon_sym_new] = ACTIONS(2197), + [anon_sym_requires] = ACTIONS(2197), + [sym_this] = ACTIONS(2197), + [sym_nullptr] = ACTIONS(2197), + [sym_raw_string_literal] = ACTIONS(2199), + }, + [400] = { + [sym_identifier] = ACTIONS(2201), + [aux_sym_preproc_include_token1] = ACTIONS(2201), + [aux_sym_preproc_def_token1] = ACTIONS(2201), + [aux_sym_preproc_if_token1] = ACTIONS(2201), + [aux_sym_preproc_if_token2] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2201), + [aux_sym_preproc_else_token1] = ACTIONS(2201), + [aux_sym_preproc_elif_token1] = ACTIONS(2201), + [sym_preproc_directive] = ACTIONS(2201), + [anon_sym_LPAREN2] = ACTIONS(2203), + [anon_sym_BANG] = ACTIONS(2203), + [anon_sym_TILDE] = ACTIONS(2203), + [anon_sym_DASH] = ACTIONS(2201), + [anon_sym_PLUS] = ACTIONS(2201), + [anon_sym_STAR] = ACTIONS(2203), + [anon_sym_AMP_AMP] = ACTIONS(2203), + [anon_sym_AMP] = ACTIONS(2201), + [anon_sym_SEMI] = ACTIONS(2203), + [anon_sym_typedef] = ACTIONS(2201), + [anon_sym_extern] = ACTIONS(2201), + [anon_sym___attribute__] = ACTIONS(2201), + [anon_sym_COLON_COLON] = ACTIONS(2203), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2203), + [anon_sym___declspec] = ACTIONS(2201), + [anon_sym___based] = ACTIONS(2201), + [anon_sym___cdecl] = ACTIONS(2201), + [anon_sym___clrcall] = ACTIONS(2201), + [anon_sym___stdcall] = ACTIONS(2201), + [anon_sym___fastcall] = ACTIONS(2201), + [anon_sym___thiscall] = ACTIONS(2201), + [anon_sym___vectorcall] = ACTIONS(2201), + [anon_sym_LBRACE] = ACTIONS(2203), + [anon_sym_LBRACK] = ACTIONS(2201), + [anon_sym_static] = ACTIONS(2201), + [anon_sym_register] = ACTIONS(2201), + [anon_sym_inline] = ACTIONS(2201), + [anon_sym_thread_local] = ACTIONS(2201), + [anon_sym_const] = ACTIONS(2201), + [anon_sym_volatile] = ACTIONS(2201), + [anon_sym_restrict] = ACTIONS(2201), + [anon_sym__Atomic] = ACTIONS(2201), + [anon_sym_mutable] = ACTIONS(2201), + [anon_sym_constexpr] = ACTIONS(2201), + [anon_sym_constinit] = ACTIONS(2201), + [anon_sym_consteval] = ACTIONS(2201), + [anon_sym_signed] = ACTIONS(2201), + [anon_sym_unsigned] = ACTIONS(2201), + [anon_sym_long] = ACTIONS(2201), + [anon_sym_short] = ACTIONS(2201), + [sym_primitive_type] = ACTIONS(2201), + [anon_sym_enum] = ACTIONS(2201), + [anon_sym_class] = ACTIONS(2201), + [anon_sym_struct] = ACTIONS(2201), + [anon_sym_union] = ACTIONS(2201), + [anon_sym_if] = ACTIONS(2201), + [anon_sym_switch] = ACTIONS(2201), + [anon_sym_case] = ACTIONS(2201), + [anon_sym_default] = ACTIONS(2201), + [anon_sym_while] = ACTIONS(2201), + [anon_sym_do] = ACTIONS(2201), + [anon_sym_for] = ACTIONS(2201), + [anon_sym_return] = ACTIONS(2201), + [anon_sym_break] = ACTIONS(2201), + [anon_sym_continue] = ACTIONS(2201), + [anon_sym_goto] = ACTIONS(2201), + [anon_sym_DASH_DASH] = ACTIONS(2203), + [anon_sym_PLUS_PLUS] = ACTIONS(2203), + [anon_sym_sizeof] = ACTIONS(2201), + [sym_number_literal] = ACTIONS(2203), + [anon_sym_L_SQUOTE] = ACTIONS(2203), + [anon_sym_u_SQUOTE] = ACTIONS(2203), + [anon_sym_U_SQUOTE] = ACTIONS(2203), + [anon_sym_u8_SQUOTE] = ACTIONS(2203), + [anon_sym_SQUOTE] = ACTIONS(2203), + [anon_sym_L_DQUOTE] = ACTIONS(2203), + [anon_sym_u_DQUOTE] = ACTIONS(2203), + [anon_sym_U_DQUOTE] = ACTIONS(2203), + [anon_sym_u8_DQUOTE] = ACTIONS(2203), + [anon_sym_DQUOTE] = ACTIONS(2203), + [sym_true] = ACTIONS(2201), + [sym_false] = ACTIONS(2201), + [sym_null] = ACTIONS(2201), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2201), + [anon_sym_decltype] = ACTIONS(2201), + [anon_sym_virtual] = ACTIONS(2201), + [anon_sym_explicit] = ACTIONS(2201), + [anon_sym_typename] = ACTIONS(2201), + [anon_sym_template] = ACTIONS(2201), + [anon_sym_operator] = ACTIONS(2201), + [anon_sym_delete] = ACTIONS(2201), + [anon_sym_throw] = ACTIONS(2201), + [anon_sym_namespace] = ACTIONS(2201), + [anon_sym_using] = ACTIONS(2201), + [anon_sym_static_assert] = ACTIONS(2201), + [anon_sym_concept] = ACTIONS(2201), + [anon_sym_co_return] = ACTIONS(2201), + [anon_sym_co_yield] = ACTIONS(2201), + [anon_sym_try] = ACTIONS(2201), + [anon_sym_co_await] = ACTIONS(2201), + [anon_sym_new] = ACTIONS(2201), + [anon_sym_requires] = ACTIONS(2201), + [sym_this] = ACTIONS(2201), + [sym_nullptr] = ACTIONS(2201), + [sym_raw_string_literal] = ACTIONS(2203), + }, + [401] = { + [sym_identifier] = ACTIONS(2205), + [aux_sym_preproc_include_token1] = ACTIONS(2205), + [aux_sym_preproc_def_token1] = ACTIONS(2205), + [aux_sym_preproc_if_token1] = ACTIONS(2205), + [aux_sym_preproc_if_token2] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2205), + [aux_sym_preproc_else_token1] = ACTIONS(2205), + [aux_sym_preproc_elif_token1] = ACTIONS(2205), + [sym_preproc_directive] = ACTIONS(2205), + [anon_sym_LPAREN2] = ACTIONS(2207), + [anon_sym_BANG] = ACTIONS(2207), + [anon_sym_TILDE] = ACTIONS(2207), + [anon_sym_DASH] = ACTIONS(2205), + [anon_sym_PLUS] = ACTIONS(2205), + [anon_sym_STAR] = ACTIONS(2207), + [anon_sym_AMP_AMP] = ACTIONS(2207), + [anon_sym_AMP] = ACTIONS(2205), + [anon_sym_SEMI] = ACTIONS(2207), + [anon_sym_typedef] = ACTIONS(2205), + [anon_sym_extern] = ACTIONS(2205), + [anon_sym___attribute__] = ACTIONS(2205), + [anon_sym_COLON_COLON] = ACTIONS(2207), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2207), + [anon_sym___declspec] = ACTIONS(2205), + [anon_sym___based] = ACTIONS(2205), + [anon_sym___cdecl] = ACTIONS(2205), + [anon_sym___clrcall] = ACTIONS(2205), + [anon_sym___stdcall] = ACTIONS(2205), + [anon_sym___fastcall] = ACTIONS(2205), + [anon_sym___thiscall] = ACTIONS(2205), + [anon_sym___vectorcall] = ACTIONS(2205), + [anon_sym_LBRACE] = ACTIONS(2207), + [anon_sym_LBRACK] = ACTIONS(2205), + [anon_sym_static] = ACTIONS(2205), + [anon_sym_register] = ACTIONS(2205), + [anon_sym_inline] = ACTIONS(2205), + [anon_sym_thread_local] = ACTIONS(2205), + [anon_sym_const] = ACTIONS(2205), + [anon_sym_volatile] = ACTIONS(2205), + [anon_sym_restrict] = ACTIONS(2205), + [anon_sym__Atomic] = ACTIONS(2205), + [anon_sym_mutable] = ACTIONS(2205), + [anon_sym_constexpr] = ACTIONS(2205), + [anon_sym_constinit] = ACTIONS(2205), + [anon_sym_consteval] = ACTIONS(2205), + [anon_sym_signed] = ACTIONS(2205), + [anon_sym_unsigned] = ACTIONS(2205), + [anon_sym_long] = ACTIONS(2205), + [anon_sym_short] = ACTIONS(2205), + [sym_primitive_type] = ACTIONS(2205), + [anon_sym_enum] = ACTIONS(2205), + [anon_sym_class] = ACTIONS(2205), + [anon_sym_struct] = ACTIONS(2205), + [anon_sym_union] = ACTIONS(2205), + [anon_sym_if] = ACTIONS(2205), + [anon_sym_switch] = ACTIONS(2205), + [anon_sym_case] = ACTIONS(2205), + [anon_sym_default] = ACTIONS(2205), + [anon_sym_while] = ACTIONS(2205), + [anon_sym_do] = ACTIONS(2205), + [anon_sym_for] = ACTIONS(2205), + [anon_sym_return] = ACTIONS(2205), + [anon_sym_break] = ACTIONS(2205), + [anon_sym_continue] = ACTIONS(2205), + [anon_sym_goto] = ACTIONS(2205), + [anon_sym_DASH_DASH] = ACTIONS(2207), + [anon_sym_PLUS_PLUS] = ACTIONS(2207), + [anon_sym_sizeof] = ACTIONS(2205), + [sym_number_literal] = ACTIONS(2207), + [anon_sym_L_SQUOTE] = ACTIONS(2207), + [anon_sym_u_SQUOTE] = ACTIONS(2207), + [anon_sym_U_SQUOTE] = ACTIONS(2207), + [anon_sym_u8_SQUOTE] = ACTIONS(2207), + [anon_sym_SQUOTE] = ACTIONS(2207), + [anon_sym_L_DQUOTE] = ACTIONS(2207), + [anon_sym_u_DQUOTE] = ACTIONS(2207), + [anon_sym_U_DQUOTE] = ACTIONS(2207), + [anon_sym_u8_DQUOTE] = ACTIONS(2207), + [anon_sym_DQUOTE] = ACTIONS(2207), + [sym_true] = ACTIONS(2205), + [sym_false] = ACTIONS(2205), + [sym_null] = ACTIONS(2205), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2205), + [anon_sym_decltype] = ACTIONS(2205), + [anon_sym_virtual] = ACTIONS(2205), + [anon_sym_explicit] = ACTIONS(2205), + [anon_sym_typename] = ACTIONS(2205), + [anon_sym_template] = ACTIONS(2205), + [anon_sym_operator] = ACTIONS(2205), + [anon_sym_delete] = ACTIONS(2205), + [anon_sym_throw] = ACTIONS(2205), + [anon_sym_namespace] = ACTIONS(2205), + [anon_sym_using] = ACTIONS(2205), + [anon_sym_static_assert] = ACTIONS(2205), + [anon_sym_concept] = ACTIONS(2205), + [anon_sym_co_return] = ACTIONS(2205), + [anon_sym_co_yield] = ACTIONS(2205), + [anon_sym_try] = ACTIONS(2205), + [anon_sym_co_await] = ACTIONS(2205), + [anon_sym_new] = ACTIONS(2205), + [anon_sym_requires] = ACTIONS(2205), + [sym_this] = ACTIONS(2205), + [sym_nullptr] = ACTIONS(2205), + [sym_raw_string_literal] = ACTIONS(2207), + }, + [402] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3287), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5092), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5327), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2209), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [403] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3260), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5076), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5308), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2211), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [404] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3258), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5051), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5336), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2213), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [405] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3257), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(4974), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5419), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2215), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [406] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3253), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5012), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5386), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2217), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [407] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3269), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(4905), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5326), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2219), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [408] = { + [ts_builtin_sym_end] = ACTIONS(1863), + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1863), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_else] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_catch] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [409] = { + [sym_identifier] = ACTIONS(2221), + [aux_sym_preproc_include_token1] = ACTIONS(2221), + [aux_sym_preproc_def_token1] = ACTIONS(2221), + [aux_sym_preproc_if_token1] = ACTIONS(2221), + [aux_sym_preproc_if_token2] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2221), + [aux_sym_preproc_else_token1] = ACTIONS(2221), + [aux_sym_preproc_elif_token1] = ACTIONS(2221), + [sym_preproc_directive] = ACTIONS(2221), + [anon_sym_LPAREN2] = ACTIONS(2223), + [anon_sym_BANG] = ACTIONS(2223), + [anon_sym_TILDE] = ACTIONS(2223), + [anon_sym_DASH] = ACTIONS(2221), + [anon_sym_PLUS] = ACTIONS(2221), + [anon_sym_STAR] = ACTIONS(2223), + [anon_sym_AMP_AMP] = ACTIONS(2223), + [anon_sym_AMP] = ACTIONS(2221), + [anon_sym_SEMI] = ACTIONS(2223), + [anon_sym_typedef] = ACTIONS(2221), + [anon_sym_extern] = ACTIONS(2221), + [anon_sym___attribute__] = ACTIONS(2221), + [anon_sym_COLON_COLON] = ACTIONS(2223), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2223), + [anon_sym___declspec] = ACTIONS(2221), + [anon_sym___based] = ACTIONS(2221), + [anon_sym___cdecl] = ACTIONS(2221), + [anon_sym___clrcall] = ACTIONS(2221), + [anon_sym___stdcall] = ACTIONS(2221), + [anon_sym___fastcall] = ACTIONS(2221), + [anon_sym___thiscall] = ACTIONS(2221), + [anon_sym___vectorcall] = ACTIONS(2221), + [anon_sym_LBRACE] = ACTIONS(2223), + [anon_sym_LBRACK] = ACTIONS(2221), + [anon_sym_static] = ACTIONS(2221), + [anon_sym_register] = ACTIONS(2221), + [anon_sym_inline] = ACTIONS(2221), + [anon_sym_thread_local] = ACTIONS(2221), + [anon_sym_const] = ACTIONS(2221), + [anon_sym_volatile] = ACTIONS(2221), + [anon_sym_restrict] = ACTIONS(2221), + [anon_sym__Atomic] = ACTIONS(2221), + [anon_sym_mutable] = ACTIONS(2221), + [anon_sym_constexpr] = ACTIONS(2221), + [anon_sym_constinit] = ACTIONS(2221), + [anon_sym_consteval] = ACTIONS(2221), + [anon_sym_signed] = ACTIONS(2221), + [anon_sym_unsigned] = ACTIONS(2221), + [anon_sym_long] = ACTIONS(2221), + [anon_sym_short] = ACTIONS(2221), + [sym_primitive_type] = ACTIONS(2221), + [anon_sym_enum] = ACTIONS(2221), + [anon_sym_class] = ACTIONS(2221), + [anon_sym_struct] = ACTIONS(2221), + [anon_sym_union] = ACTIONS(2221), + [anon_sym_if] = ACTIONS(2221), + [anon_sym_switch] = ACTIONS(2221), + [anon_sym_case] = ACTIONS(2221), + [anon_sym_default] = ACTIONS(2221), + [anon_sym_while] = ACTIONS(2221), + [anon_sym_do] = ACTIONS(2221), + [anon_sym_for] = ACTIONS(2221), + [anon_sym_return] = ACTIONS(2221), + [anon_sym_break] = ACTIONS(2221), + [anon_sym_continue] = ACTIONS(2221), + [anon_sym_goto] = ACTIONS(2221), + [anon_sym_DASH_DASH] = ACTIONS(2223), + [anon_sym_PLUS_PLUS] = ACTIONS(2223), + [anon_sym_sizeof] = ACTIONS(2221), + [sym_number_literal] = ACTIONS(2223), + [anon_sym_L_SQUOTE] = ACTIONS(2223), + [anon_sym_u_SQUOTE] = ACTIONS(2223), + [anon_sym_U_SQUOTE] = ACTIONS(2223), + [anon_sym_u8_SQUOTE] = ACTIONS(2223), + [anon_sym_SQUOTE] = ACTIONS(2223), + [anon_sym_L_DQUOTE] = ACTIONS(2223), + [anon_sym_u_DQUOTE] = ACTIONS(2223), + [anon_sym_U_DQUOTE] = ACTIONS(2223), + [anon_sym_u8_DQUOTE] = ACTIONS(2223), + [anon_sym_DQUOTE] = ACTIONS(2223), + [sym_true] = ACTIONS(2221), + [sym_false] = ACTIONS(2221), + [sym_null] = ACTIONS(2221), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2221), + [anon_sym_decltype] = ACTIONS(2221), + [anon_sym_virtual] = ACTIONS(2221), + [anon_sym_explicit] = ACTIONS(2221), + [anon_sym_typename] = ACTIONS(2221), + [anon_sym_template] = ACTIONS(2221), + [anon_sym_operator] = ACTIONS(2221), + [anon_sym_delete] = ACTIONS(2221), + [anon_sym_throw] = ACTIONS(2221), + [anon_sym_namespace] = ACTIONS(2221), + [anon_sym_using] = ACTIONS(2221), + [anon_sym_static_assert] = ACTIONS(2221), + [anon_sym_concept] = ACTIONS(2221), + [anon_sym_co_return] = ACTIONS(2221), + [anon_sym_co_yield] = ACTIONS(2221), + [anon_sym_try] = ACTIONS(2221), + [anon_sym_co_await] = ACTIONS(2221), + [anon_sym_new] = ACTIONS(2221), + [anon_sym_requires] = ACTIONS(2221), + [sym_this] = ACTIONS(2221), + [sym_nullptr] = ACTIONS(2221), + [sym_raw_string_literal] = ACTIONS(2223), + }, + [410] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3285), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5145), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5229), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2225), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [411] = { + [ts_builtin_sym_end] = ACTIONS(1875), + [sym_identifier] = ACTIONS(1873), + [aux_sym_preproc_include_token1] = ACTIONS(1873), + [aux_sym_preproc_def_token1] = ACTIONS(1873), + [aux_sym_preproc_if_token1] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1873), + [sym_preproc_directive] = ACTIONS(1873), + [anon_sym_LPAREN2] = ACTIONS(1875), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(1875), + [anon_sym_AMP_AMP] = ACTIONS(1875), + [anon_sym_AMP] = ACTIONS(1873), + [anon_sym_SEMI] = ACTIONS(1875), + [anon_sym_typedef] = ACTIONS(1873), + [anon_sym_extern] = ACTIONS(1873), + [anon_sym___attribute__] = ACTIONS(1873), + [anon_sym_COLON_COLON] = ACTIONS(1875), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1875), + [anon_sym___declspec] = ACTIONS(1873), + [anon_sym___based] = ACTIONS(1873), + [anon_sym___cdecl] = ACTIONS(1873), + [anon_sym___clrcall] = ACTIONS(1873), + [anon_sym___stdcall] = ACTIONS(1873), + [anon_sym___fastcall] = ACTIONS(1873), + [anon_sym___thiscall] = ACTIONS(1873), + [anon_sym___vectorcall] = ACTIONS(1873), + [anon_sym_LBRACE] = ACTIONS(1875), + [anon_sym_LBRACK] = ACTIONS(1873), + [anon_sym_static] = ACTIONS(1873), + [anon_sym_register] = ACTIONS(1873), + [anon_sym_inline] = ACTIONS(1873), + [anon_sym_thread_local] = ACTIONS(1873), + [anon_sym_const] = ACTIONS(1873), + [anon_sym_volatile] = ACTIONS(1873), + [anon_sym_restrict] = ACTIONS(1873), + [anon_sym__Atomic] = ACTIONS(1873), + [anon_sym_mutable] = ACTIONS(1873), + [anon_sym_constexpr] = ACTIONS(1873), + [anon_sym_constinit] = ACTIONS(1873), + [anon_sym_consteval] = ACTIONS(1873), + [anon_sym_signed] = ACTIONS(1873), + [anon_sym_unsigned] = ACTIONS(1873), + [anon_sym_long] = ACTIONS(1873), + [anon_sym_short] = ACTIONS(1873), + [sym_primitive_type] = ACTIONS(1873), + [anon_sym_enum] = ACTIONS(1873), + [anon_sym_class] = ACTIONS(1873), + [anon_sym_struct] = ACTIONS(1873), + [anon_sym_union] = ACTIONS(1873), + [anon_sym_if] = ACTIONS(1873), + [anon_sym_else] = ACTIONS(1873), + [anon_sym_switch] = ACTIONS(1873), + [anon_sym_case] = ACTIONS(1873), + [anon_sym_default] = ACTIONS(1873), + [anon_sym_while] = ACTIONS(1873), + [anon_sym_do] = ACTIONS(1873), + [anon_sym_for] = ACTIONS(1873), + [anon_sym_return] = ACTIONS(1873), + [anon_sym_break] = ACTIONS(1873), + [anon_sym_continue] = ACTIONS(1873), + [anon_sym_goto] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(1875), + [anon_sym_PLUS_PLUS] = ACTIONS(1875), + [anon_sym_sizeof] = ACTIONS(1873), + [sym_number_literal] = ACTIONS(1875), + [anon_sym_L_SQUOTE] = ACTIONS(1875), + [anon_sym_u_SQUOTE] = ACTIONS(1875), + [anon_sym_U_SQUOTE] = ACTIONS(1875), + [anon_sym_u8_SQUOTE] = ACTIONS(1875), + [anon_sym_SQUOTE] = ACTIONS(1875), + [anon_sym_L_DQUOTE] = ACTIONS(1875), + [anon_sym_u_DQUOTE] = ACTIONS(1875), + [anon_sym_U_DQUOTE] = ACTIONS(1875), + [anon_sym_u8_DQUOTE] = ACTIONS(1875), + [anon_sym_DQUOTE] = ACTIONS(1875), + [sym_true] = ACTIONS(1873), + [sym_false] = ACTIONS(1873), + [sym_null] = ACTIONS(1873), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1873), + [anon_sym_decltype] = ACTIONS(1873), + [anon_sym_virtual] = ACTIONS(1873), + [anon_sym_explicit] = ACTIONS(1873), + [anon_sym_typename] = ACTIONS(1873), + [anon_sym_template] = ACTIONS(1873), + [anon_sym_operator] = ACTIONS(1873), + [anon_sym_delete] = ACTIONS(1873), + [anon_sym_throw] = ACTIONS(1873), + [anon_sym_namespace] = ACTIONS(1873), + [anon_sym_using] = ACTIONS(1873), + [anon_sym_static_assert] = ACTIONS(1873), + [anon_sym_concept] = ACTIONS(1873), + [anon_sym_co_return] = ACTIONS(1873), + [anon_sym_co_yield] = ACTIONS(1873), + [anon_sym_try] = ACTIONS(1873), + [anon_sym_catch] = ACTIONS(1873), + [anon_sym_co_await] = ACTIONS(1873), + [anon_sym_new] = ACTIONS(1873), + [anon_sym_requires] = ACTIONS(1873), + [sym_this] = ACTIONS(1873), + [sym_nullptr] = ACTIONS(1873), + [sym_raw_string_literal] = ACTIONS(1875), + }, + [412] = { + [sym_identifier] = ACTIONS(2227), + [aux_sym_preproc_include_token1] = ACTIONS(2227), + [aux_sym_preproc_def_token1] = ACTIONS(2227), + [aux_sym_preproc_if_token1] = ACTIONS(2227), + [aux_sym_preproc_if_token2] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2227), + [aux_sym_preproc_else_token1] = ACTIONS(2227), + [aux_sym_preproc_elif_token1] = ACTIONS(2227), + [sym_preproc_directive] = ACTIONS(2227), + [anon_sym_LPAREN2] = ACTIONS(2229), + [anon_sym_BANG] = ACTIONS(2229), + [anon_sym_TILDE] = ACTIONS(2229), + [anon_sym_DASH] = ACTIONS(2227), + [anon_sym_PLUS] = ACTIONS(2227), + [anon_sym_STAR] = ACTIONS(2229), + [anon_sym_AMP_AMP] = ACTIONS(2229), + [anon_sym_AMP] = ACTIONS(2227), + [anon_sym_SEMI] = ACTIONS(2229), + [anon_sym_typedef] = ACTIONS(2227), + [anon_sym_extern] = ACTIONS(2227), + [anon_sym___attribute__] = ACTIONS(2227), + [anon_sym_COLON_COLON] = ACTIONS(2229), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2229), + [anon_sym___declspec] = ACTIONS(2227), + [anon_sym___based] = ACTIONS(2227), + [anon_sym___cdecl] = ACTIONS(2227), + [anon_sym___clrcall] = ACTIONS(2227), + [anon_sym___stdcall] = ACTIONS(2227), + [anon_sym___fastcall] = ACTIONS(2227), + [anon_sym___thiscall] = ACTIONS(2227), + [anon_sym___vectorcall] = ACTIONS(2227), + [anon_sym_LBRACE] = ACTIONS(2229), + [anon_sym_LBRACK] = ACTIONS(2227), + [anon_sym_static] = ACTIONS(2227), + [anon_sym_register] = ACTIONS(2227), + [anon_sym_inline] = ACTIONS(2227), + [anon_sym_thread_local] = ACTIONS(2227), + [anon_sym_const] = ACTIONS(2227), + [anon_sym_volatile] = ACTIONS(2227), + [anon_sym_restrict] = ACTIONS(2227), + [anon_sym__Atomic] = ACTIONS(2227), + [anon_sym_mutable] = ACTIONS(2227), + [anon_sym_constexpr] = ACTIONS(2227), + [anon_sym_constinit] = ACTIONS(2227), + [anon_sym_consteval] = ACTIONS(2227), + [anon_sym_signed] = ACTIONS(2227), + [anon_sym_unsigned] = ACTIONS(2227), + [anon_sym_long] = ACTIONS(2227), + [anon_sym_short] = ACTIONS(2227), + [sym_primitive_type] = ACTIONS(2227), + [anon_sym_enum] = ACTIONS(2227), + [anon_sym_class] = ACTIONS(2227), + [anon_sym_struct] = ACTIONS(2227), + [anon_sym_union] = ACTIONS(2227), + [anon_sym_if] = ACTIONS(2227), + [anon_sym_switch] = ACTIONS(2227), + [anon_sym_case] = ACTIONS(2227), + [anon_sym_default] = ACTIONS(2227), + [anon_sym_while] = ACTIONS(2227), + [anon_sym_do] = ACTIONS(2227), + [anon_sym_for] = ACTIONS(2227), + [anon_sym_return] = ACTIONS(2227), + [anon_sym_break] = ACTIONS(2227), + [anon_sym_continue] = ACTIONS(2227), + [anon_sym_goto] = ACTIONS(2227), + [anon_sym_DASH_DASH] = ACTIONS(2229), + [anon_sym_PLUS_PLUS] = ACTIONS(2229), + [anon_sym_sizeof] = ACTIONS(2227), + [sym_number_literal] = ACTIONS(2229), + [anon_sym_L_SQUOTE] = ACTIONS(2229), + [anon_sym_u_SQUOTE] = ACTIONS(2229), + [anon_sym_U_SQUOTE] = ACTIONS(2229), + [anon_sym_u8_SQUOTE] = ACTIONS(2229), + [anon_sym_SQUOTE] = ACTIONS(2229), + [anon_sym_L_DQUOTE] = ACTIONS(2229), + [anon_sym_u_DQUOTE] = ACTIONS(2229), + [anon_sym_U_DQUOTE] = ACTIONS(2229), + [anon_sym_u8_DQUOTE] = ACTIONS(2229), + [anon_sym_DQUOTE] = ACTIONS(2229), + [sym_true] = ACTIONS(2227), + [sym_false] = ACTIONS(2227), + [sym_null] = ACTIONS(2227), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2227), + [anon_sym_decltype] = ACTIONS(2227), + [anon_sym_virtual] = ACTIONS(2227), + [anon_sym_explicit] = ACTIONS(2227), + [anon_sym_typename] = ACTIONS(2227), + [anon_sym_template] = ACTIONS(2227), + [anon_sym_operator] = ACTIONS(2227), + [anon_sym_delete] = ACTIONS(2227), + [anon_sym_throw] = ACTIONS(2227), + [anon_sym_namespace] = ACTIONS(2227), + [anon_sym_using] = ACTIONS(2227), + [anon_sym_static_assert] = ACTIONS(2227), + [anon_sym_concept] = ACTIONS(2227), + [anon_sym_co_return] = ACTIONS(2227), + [anon_sym_co_yield] = ACTIONS(2227), + [anon_sym_try] = ACTIONS(2227), + [anon_sym_co_await] = ACTIONS(2227), + [anon_sym_new] = ACTIONS(2227), + [anon_sym_requires] = ACTIONS(2227), + [sym_this] = ACTIONS(2227), + [sym_nullptr] = ACTIONS(2227), + [sym_raw_string_literal] = ACTIONS(2229), + }, + [413] = { + [sym_identifier] = ACTIONS(2231), + [aux_sym_preproc_include_token1] = ACTIONS(2231), + [aux_sym_preproc_def_token1] = ACTIONS(2231), + [aux_sym_preproc_if_token1] = ACTIONS(2231), + [aux_sym_preproc_if_token2] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2231), + [aux_sym_preproc_else_token1] = ACTIONS(2231), + [aux_sym_preproc_elif_token1] = ACTIONS(2231), + [sym_preproc_directive] = ACTIONS(2231), + [anon_sym_LPAREN2] = ACTIONS(2233), + [anon_sym_BANG] = ACTIONS(2233), + [anon_sym_TILDE] = ACTIONS(2233), + [anon_sym_DASH] = ACTIONS(2231), + [anon_sym_PLUS] = ACTIONS(2231), + [anon_sym_STAR] = ACTIONS(2233), + [anon_sym_AMP_AMP] = ACTIONS(2233), + [anon_sym_AMP] = ACTIONS(2231), + [anon_sym_SEMI] = ACTIONS(2233), + [anon_sym_typedef] = ACTIONS(2231), + [anon_sym_extern] = ACTIONS(2231), + [anon_sym___attribute__] = ACTIONS(2231), + [anon_sym_COLON_COLON] = ACTIONS(2233), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2233), + [anon_sym___declspec] = ACTIONS(2231), + [anon_sym___based] = ACTIONS(2231), + [anon_sym___cdecl] = ACTIONS(2231), + [anon_sym___clrcall] = ACTIONS(2231), + [anon_sym___stdcall] = ACTIONS(2231), + [anon_sym___fastcall] = ACTIONS(2231), + [anon_sym___thiscall] = ACTIONS(2231), + [anon_sym___vectorcall] = ACTIONS(2231), + [anon_sym_LBRACE] = ACTIONS(2233), + [anon_sym_LBRACK] = ACTIONS(2231), + [anon_sym_static] = ACTIONS(2231), + [anon_sym_register] = ACTIONS(2231), + [anon_sym_inline] = ACTIONS(2231), + [anon_sym_thread_local] = ACTIONS(2231), + [anon_sym_const] = ACTIONS(2231), + [anon_sym_volatile] = ACTIONS(2231), + [anon_sym_restrict] = ACTIONS(2231), + [anon_sym__Atomic] = ACTIONS(2231), + [anon_sym_mutable] = ACTIONS(2231), + [anon_sym_constexpr] = ACTIONS(2231), + [anon_sym_constinit] = ACTIONS(2231), + [anon_sym_consteval] = ACTIONS(2231), + [anon_sym_signed] = ACTIONS(2231), + [anon_sym_unsigned] = ACTIONS(2231), + [anon_sym_long] = ACTIONS(2231), + [anon_sym_short] = ACTIONS(2231), + [sym_primitive_type] = ACTIONS(2231), + [anon_sym_enum] = ACTIONS(2231), + [anon_sym_class] = ACTIONS(2231), + [anon_sym_struct] = ACTIONS(2231), + [anon_sym_union] = ACTIONS(2231), + [anon_sym_if] = ACTIONS(2231), + [anon_sym_switch] = ACTIONS(2231), + [anon_sym_case] = ACTIONS(2231), + [anon_sym_default] = ACTIONS(2231), + [anon_sym_while] = ACTIONS(2231), + [anon_sym_do] = ACTIONS(2231), + [anon_sym_for] = ACTIONS(2231), + [anon_sym_return] = ACTIONS(2231), + [anon_sym_break] = ACTIONS(2231), + [anon_sym_continue] = ACTIONS(2231), + [anon_sym_goto] = ACTIONS(2231), + [anon_sym_DASH_DASH] = ACTIONS(2233), + [anon_sym_PLUS_PLUS] = ACTIONS(2233), + [anon_sym_sizeof] = ACTIONS(2231), + [sym_number_literal] = ACTIONS(2233), + [anon_sym_L_SQUOTE] = ACTIONS(2233), + [anon_sym_u_SQUOTE] = ACTIONS(2233), + [anon_sym_U_SQUOTE] = ACTIONS(2233), + [anon_sym_u8_SQUOTE] = ACTIONS(2233), + [anon_sym_SQUOTE] = ACTIONS(2233), + [anon_sym_L_DQUOTE] = ACTIONS(2233), + [anon_sym_u_DQUOTE] = ACTIONS(2233), + [anon_sym_U_DQUOTE] = ACTIONS(2233), + [anon_sym_u8_DQUOTE] = ACTIONS(2233), + [anon_sym_DQUOTE] = ACTIONS(2233), + [sym_true] = ACTIONS(2231), + [sym_false] = ACTIONS(2231), + [sym_null] = ACTIONS(2231), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2231), + [anon_sym_decltype] = ACTIONS(2231), + [anon_sym_virtual] = ACTIONS(2231), + [anon_sym_explicit] = ACTIONS(2231), + [anon_sym_typename] = ACTIONS(2231), + [anon_sym_template] = ACTIONS(2231), + [anon_sym_operator] = ACTIONS(2231), + [anon_sym_delete] = ACTIONS(2231), + [anon_sym_throw] = ACTIONS(2231), + [anon_sym_namespace] = ACTIONS(2231), + [anon_sym_using] = ACTIONS(2231), + [anon_sym_static_assert] = ACTIONS(2231), + [anon_sym_concept] = ACTIONS(2231), + [anon_sym_co_return] = ACTIONS(2231), + [anon_sym_co_yield] = ACTIONS(2231), + [anon_sym_try] = ACTIONS(2231), + [anon_sym_co_await] = ACTIONS(2231), + [anon_sym_new] = ACTIONS(2231), + [anon_sym_requires] = ACTIONS(2231), + [sym_this] = ACTIONS(2231), + [sym_nullptr] = ACTIONS(2231), + [sym_raw_string_literal] = ACTIONS(2233), + }, + [414] = { + [sym_identifier] = ACTIONS(2235), + [aux_sym_preproc_include_token1] = ACTIONS(2235), + [aux_sym_preproc_def_token1] = ACTIONS(2235), + [aux_sym_preproc_if_token1] = ACTIONS(2235), + [aux_sym_preproc_if_token2] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2235), + [aux_sym_preproc_else_token1] = ACTIONS(2235), + [aux_sym_preproc_elif_token1] = ACTIONS(2235), + [sym_preproc_directive] = ACTIONS(2235), + [anon_sym_LPAREN2] = ACTIONS(2237), + [anon_sym_BANG] = ACTIONS(2237), + [anon_sym_TILDE] = ACTIONS(2237), + [anon_sym_DASH] = ACTIONS(2235), + [anon_sym_PLUS] = ACTIONS(2235), + [anon_sym_STAR] = ACTIONS(2237), + [anon_sym_AMP_AMP] = ACTIONS(2237), + [anon_sym_AMP] = ACTIONS(2235), + [anon_sym_SEMI] = ACTIONS(2237), + [anon_sym_typedef] = ACTIONS(2235), + [anon_sym_extern] = ACTIONS(2235), + [anon_sym___attribute__] = ACTIONS(2235), + [anon_sym_COLON_COLON] = ACTIONS(2237), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2237), + [anon_sym___declspec] = ACTIONS(2235), + [anon_sym___based] = ACTIONS(2235), + [anon_sym___cdecl] = ACTIONS(2235), + [anon_sym___clrcall] = ACTIONS(2235), + [anon_sym___stdcall] = ACTIONS(2235), + [anon_sym___fastcall] = ACTIONS(2235), + [anon_sym___thiscall] = ACTIONS(2235), + [anon_sym___vectorcall] = ACTIONS(2235), + [anon_sym_LBRACE] = ACTIONS(2237), + [anon_sym_LBRACK] = ACTIONS(2235), + [anon_sym_static] = ACTIONS(2235), + [anon_sym_register] = ACTIONS(2235), + [anon_sym_inline] = ACTIONS(2235), + [anon_sym_thread_local] = ACTIONS(2235), + [anon_sym_const] = ACTIONS(2235), + [anon_sym_volatile] = ACTIONS(2235), + [anon_sym_restrict] = ACTIONS(2235), + [anon_sym__Atomic] = ACTIONS(2235), + [anon_sym_mutable] = ACTIONS(2235), + [anon_sym_constexpr] = ACTIONS(2235), + [anon_sym_constinit] = ACTIONS(2235), + [anon_sym_consteval] = ACTIONS(2235), + [anon_sym_signed] = ACTIONS(2235), + [anon_sym_unsigned] = ACTIONS(2235), + [anon_sym_long] = ACTIONS(2235), + [anon_sym_short] = ACTIONS(2235), + [sym_primitive_type] = ACTIONS(2235), + [anon_sym_enum] = ACTIONS(2235), + [anon_sym_class] = ACTIONS(2235), + [anon_sym_struct] = ACTIONS(2235), + [anon_sym_union] = ACTIONS(2235), + [anon_sym_if] = ACTIONS(2235), + [anon_sym_switch] = ACTIONS(2235), + [anon_sym_case] = ACTIONS(2235), + [anon_sym_default] = ACTIONS(2235), + [anon_sym_while] = ACTIONS(2235), + [anon_sym_do] = ACTIONS(2235), + [anon_sym_for] = ACTIONS(2235), + [anon_sym_return] = ACTIONS(2235), + [anon_sym_break] = ACTIONS(2235), + [anon_sym_continue] = ACTIONS(2235), + [anon_sym_goto] = ACTIONS(2235), + [anon_sym_DASH_DASH] = ACTIONS(2237), + [anon_sym_PLUS_PLUS] = ACTIONS(2237), + [anon_sym_sizeof] = ACTIONS(2235), + [sym_number_literal] = ACTIONS(2237), + [anon_sym_L_SQUOTE] = ACTIONS(2237), + [anon_sym_u_SQUOTE] = ACTIONS(2237), + [anon_sym_U_SQUOTE] = ACTIONS(2237), + [anon_sym_u8_SQUOTE] = ACTIONS(2237), + [anon_sym_SQUOTE] = ACTIONS(2237), + [anon_sym_L_DQUOTE] = ACTIONS(2237), + [anon_sym_u_DQUOTE] = ACTIONS(2237), + [anon_sym_U_DQUOTE] = ACTIONS(2237), + [anon_sym_u8_DQUOTE] = ACTIONS(2237), + [anon_sym_DQUOTE] = ACTIONS(2237), + [sym_true] = ACTIONS(2235), + [sym_false] = ACTIONS(2235), + [sym_null] = ACTIONS(2235), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2235), + [anon_sym_decltype] = ACTIONS(2235), + [anon_sym_virtual] = ACTIONS(2235), + [anon_sym_explicit] = ACTIONS(2235), + [anon_sym_typename] = ACTIONS(2235), + [anon_sym_template] = ACTIONS(2235), + [anon_sym_operator] = ACTIONS(2235), + [anon_sym_delete] = ACTIONS(2235), + [anon_sym_throw] = ACTIONS(2235), + [anon_sym_namespace] = ACTIONS(2235), + [anon_sym_using] = ACTIONS(2235), + [anon_sym_static_assert] = ACTIONS(2235), + [anon_sym_concept] = ACTIONS(2235), + [anon_sym_co_return] = ACTIONS(2235), + [anon_sym_co_yield] = ACTIONS(2235), + [anon_sym_try] = ACTIONS(2235), + [anon_sym_co_await] = ACTIONS(2235), + [anon_sym_new] = ACTIONS(2235), + [anon_sym_requires] = ACTIONS(2235), + [sym_this] = ACTIONS(2235), + [sym_nullptr] = ACTIONS(2235), + [sym_raw_string_literal] = ACTIONS(2237), + }, + [415] = { + [sym_identifier] = ACTIONS(2239), + [aux_sym_preproc_include_token1] = ACTIONS(2239), + [aux_sym_preproc_def_token1] = ACTIONS(2239), + [aux_sym_preproc_if_token1] = ACTIONS(2239), + [aux_sym_preproc_if_token2] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2239), + [aux_sym_preproc_else_token1] = ACTIONS(2239), + [aux_sym_preproc_elif_token1] = ACTIONS(2239), + [sym_preproc_directive] = ACTIONS(2239), + [anon_sym_LPAREN2] = ACTIONS(2241), + [anon_sym_BANG] = ACTIONS(2241), + [anon_sym_TILDE] = ACTIONS(2241), + [anon_sym_DASH] = ACTIONS(2239), + [anon_sym_PLUS] = ACTIONS(2239), + [anon_sym_STAR] = ACTIONS(2241), + [anon_sym_AMP_AMP] = ACTIONS(2241), + [anon_sym_AMP] = ACTIONS(2239), + [anon_sym_SEMI] = ACTIONS(2241), + [anon_sym_typedef] = ACTIONS(2239), + [anon_sym_extern] = ACTIONS(2239), + [anon_sym___attribute__] = ACTIONS(2239), + [anon_sym_COLON_COLON] = ACTIONS(2241), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2241), + [anon_sym___declspec] = ACTIONS(2239), + [anon_sym___based] = ACTIONS(2239), + [anon_sym___cdecl] = ACTIONS(2239), + [anon_sym___clrcall] = ACTIONS(2239), + [anon_sym___stdcall] = ACTIONS(2239), + [anon_sym___fastcall] = ACTIONS(2239), + [anon_sym___thiscall] = ACTIONS(2239), + [anon_sym___vectorcall] = ACTIONS(2239), + [anon_sym_LBRACE] = ACTIONS(2241), + [anon_sym_LBRACK] = ACTIONS(2239), + [anon_sym_static] = ACTIONS(2239), + [anon_sym_register] = ACTIONS(2239), + [anon_sym_inline] = ACTIONS(2239), + [anon_sym_thread_local] = ACTIONS(2239), + [anon_sym_const] = ACTIONS(2239), + [anon_sym_volatile] = ACTIONS(2239), + [anon_sym_restrict] = ACTIONS(2239), + [anon_sym__Atomic] = ACTIONS(2239), + [anon_sym_mutable] = ACTIONS(2239), + [anon_sym_constexpr] = ACTIONS(2239), + [anon_sym_constinit] = ACTIONS(2239), + [anon_sym_consteval] = ACTIONS(2239), + [anon_sym_signed] = ACTIONS(2239), + [anon_sym_unsigned] = ACTIONS(2239), + [anon_sym_long] = ACTIONS(2239), + [anon_sym_short] = ACTIONS(2239), + [sym_primitive_type] = ACTIONS(2239), + [anon_sym_enum] = ACTIONS(2239), + [anon_sym_class] = ACTIONS(2239), + [anon_sym_struct] = ACTIONS(2239), + [anon_sym_union] = ACTIONS(2239), + [anon_sym_if] = ACTIONS(2239), + [anon_sym_switch] = ACTIONS(2239), + [anon_sym_case] = ACTIONS(2239), + [anon_sym_default] = ACTIONS(2239), + [anon_sym_while] = ACTIONS(2239), + [anon_sym_do] = ACTIONS(2239), + [anon_sym_for] = ACTIONS(2239), + [anon_sym_return] = ACTIONS(2239), + [anon_sym_break] = ACTIONS(2239), + [anon_sym_continue] = ACTIONS(2239), + [anon_sym_goto] = ACTIONS(2239), + [anon_sym_DASH_DASH] = ACTIONS(2241), + [anon_sym_PLUS_PLUS] = ACTIONS(2241), + [anon_sym_sizeof] = ACTIONS(2239), + [sym_number_literal] = ACTIONS(2241), + [anon_sym_L_SQUOTE] = ACTIONS(2241), + [anon_sym_u_SQUOTE] = ACTIONS(2241), + [anon_sym_U_SQUOTE] = ACTIONS(2241), + [anon_sym_u8_SQUOTE] = ACTIONS(2241), + [anon_sym_SQUOTE] = ACTIONS(2241), + [anon_sym_L_DQUOTE] = ACTIONS(2241), + [anon_sym_u_DQUOTE] = ACTIONS(2241), + [anon_sym_U_DQUOTE] = ACTIONS(2241), + [anon_sym_u8_DQUOTE] = ACTIONS(2241), + [anon_sym_DQUOTE] = ACTIONS(2241), + [sym_true] = ACTIONS(2239), + [sym_false] = ACTIONS(2239), + [sym_null] = ACTIONS(2239), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2239), + [anon_sym_decltype] = ACTIONS(2239), + [anon_sym_virtual] = ACTIONS(2239), + [anon_sym_explicit] = ACTIONS(2239), + [anon_sym_typename] = ACTIONS(2239), + [anon_sym_template] = ACTIONS(2239), + [anon_sym_operator] = ACTIONS(2239), + [anon_sym_delete] = ACTIONS(2239), + [anon_sym_throw] = ACTIONS(2239), + [anon_sym_namespace] = ACTIONS(2239), + [anon_sym_using] = ACTIONS(2239), + [anon_sym_static_assert] = ACTIONS(2239), + [anon_sym_concept] = ACTIONS(2239), + [anon_sym_co_return] = ACTIONS(2239), + [anon_sym_co_yield] = ACTIONS(2239), + [anon_sym_try] = ACTIONS(2239), + [anon_sym_co_await] = ACTIONS(2239), + [anon_sym_new] = ACTIONS(2239), + [anon_sym_requires] = ACTIONS(2239), + [sym_this] = ACTIONS(2239), + [sym_nullptr] = ACTIONS(2239), + [sym_raw_string_literal] = ACTIONS(2241), + }, + [416] = { + [sym_identifier] = ACTIONS(2243), + [aux_sym_preproc_include_token1] = ACTIONS(2243), + [aux_sym_preproc_def_token1] = ACTIONS(2243), + [aux_sym_preproc_if_token1] = ACTIONS(2243), + [aux_sym_preproc_if_token2] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2243), + [aux_sym_preproc_else_token1] = ACTIONS(2243), + [aux_sym_preproc_elif_token1] = ACTIONS(2243), + [sym_preproc_directive] = ACTIONS(2243), + [anon_sym_LPAREN2] = ACTIONS(2245), + [anon_sym_BANG] = ACTIONS(2245), + [anon_sym_TILDE] = ACTIONS(2245), + [anon_sym_DASH] = ACTIONS(2243), + [anon_sym_PLUS] = ACTIONS(2243), + [anon_sym_STAR] = ACTIONS(2245), + [anon_sym_AMP_AMP] = ACTIONS(2245), + [anon_sym_AMP] = ACTIONS(2243), + [anon_sym_SEMI] = ACTIONS(2245), + [anon_sym_typedef] = ACTIONS(2243), + [anon_sym_extern] = ACTIONS(2243), + [anon_sym___attribute__] = ACTIONS(2243), + [anon_sym_COLON_COLON] = ACTIONS(2245), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2245), + [anon_sym___declspec] = ACTIONS(2243), + [anon_sym___based] = ACTIONS(2243), + [anon_sym___cdecl] = ACTIONS(2243), + [anon_sym___clrcall] = ACTIONS(2243), + [anon_sym___stdcall] = ACTIONS(2243), + [anon_sym___fastcall] = ACTIONS(2243), + [anon_sym___thiscall] = ACTIONS(2243), + [anon_sym___vectorcall] = ACTIONS(2243), + [anon_sym_LBRACE] = ACTIONS(2245), + [anon_sym_LBRACK] = ACTIONS(2243), + [anon_sym_static] = ACTIONS(2243), + [anon_sym_register] = ACTIONS(2243), + [anon_sym_inline] = ACTIONS(2243), + [anon_sym_thread_local] = ACTIONS(2243), + [anon_sym_const] = ACTIONS(2243), + [anon_sym_volatile] = ACTIONS(2243), + [anon_sym_restrict] = ACTIONS(2243), + [anon_sym__Atomic] = ACTIONS(2243), + [anon_sym_mutable] = ACTIONS(2243), + [anon_sym_constexpr] = ACTIONS(2243), + [anon_sym_constinit] = ACTIONS(2243), + [anon_sym_consteval] = ACTIONS(2243), + [anon_sym_signed] = ACTIONS(2243), + [anon_sym_unsigned] = ACTIONS(2243), + [anon_sym_long] = ACTIONS(2243), + [anon_sym_short] = ACTIONS(2243), + [sym_primitive_type] = ACTIONS(2243), + [anon_sym_enum] = ACTIONS(2243), + [anon_sym_class] = ACTIONS(2243), + [anon_sym_struct] = ACTIONS(2243), + [anon_sym_union] = ACTIONS(2243), + [anon_sym_if] = ACTIONS(2243), + [anon_sym_switch] = ACTIONS(2243), + [anon_sym_case] = ACTIONS(2243), + [anon_sym_default] = ACTIONS(2243), + [anon_sym_while] = ACTIONS(2243), + [anon_sym_do] = ACTIONS(2243), + [anon_sym_for] = ACTIONS(2243), + [anon_sym_return] = ACTIONS(2243), + [anon_sym_break] = ACTIONS(2243), + [anon_sym_continue] = ACTIONS(2243), + [anon_sym_goto] = ACTIONS(2243), + [anon_sym_DASH_DASH] = ACTIONS(2245), + [anon_sym_PLUS_PLUS] = ACTIONS(2245), + [anon_sym_sizeof] = ACTIONS(2243), + [sym_number_literal] = ACTIONS(2245), + [anon_sym_L_SQUOTE] = ACTIONS(2245), + [anon_sym_u_SQUOTE] = ACTIONS(2245), + [anon_sym_U_SQUOTE] = ACTIONS(2245), + [anon_sym_u8_SQUOTE] = ACTIONS(2245), + [anon_sym_SQUOTE] = ACTIONS(2245), + [anon_sym_L_DQUOTE] = ACTIONS(2245), + [anon_sym_u_DQUOTE] = ACTIONS(2245), + [anon_sym_U_DQUOTE] = ACTIONS(2245), + [anon_sym_u8_DQUOTE] = ACTIONS(2245), + [anon_sym_DQUOTE] = ACTIONS(2245), + [sym_true] = ACTIONS(2243), + [sym_false] = ACTIONS(2243), + [sym_null] = ACTIONS(2243), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2243), + [anon_sym_decltype] = ACTIONS(2243), + [anon_sym_virtual] = ACTIONS(2243), + [anon_sym_explicit] = ACTIONS(2243), + [anon_sym_typename] = ACTIONS(2243), + [anon_sym_template] = ACTIONS(2243), + [anon_sym_operator] = ACTIONS(2243), + [anon_sym_delete] = ACTIONS(2243), + [anon_sym_throw] = ACTIONS(2243), + [anon_sym_namespace] = ACTIONS(2243), + [anon_sym_using] = ACTIONS(2243), + [anon_sym_static_assert] = ACTIONS(2243), + [anon_sym_concept] = ACTIONS(2243), + [anon_sym_co_return] = ACTIONS(2243), + [anon_sym_co_yield] = ACTIONS(2243), + [anon_sym_try] = ACTIONS(2243), + [anon_sym_co_await] = ACTIONS(2243), + [anon_sym_new] = ACTIONS(2243), + [anon_sym_requires] = ACTIONS(2243), + [sym_this] = ACTIONS(2243), + [sym_nullptr] = ACTIONS(2243), + [sym_raw_string_literal] = ACTIONS(2245), + }, + [417] = { + [sym_identifier] = ACTIONS(2247), + [aux_sym_preproc_include_token1] = ACTIONS(2247), + [aux_sym_preproc_def_token1] = ACTIONS(2247), + [aux_sym_preproc_if_token1] = ACTIONS(2247), + [aux_sym_preproc_if_token2] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2247), + [aux_sym_preproc_else_token1] = ACTIONS(2247), + [aux_sym_preproc_elif_token1] = ACTIONS(2247), + [sym_preproc_directive] = ACTIONS(2247), + [anon_sym_LPAREN2] = ACTIONS(2249), + [anon_sym_BANG] = ACTIONS(2249), + [anon_sym_TILDE] = ACTIONS(2249), + [anon_sym_DASH] = ACTIONS(2247), + [anon_sym_PLUS] = ACTIONS(2247), + [anon_sym_STAR] = ACTIONS(2249), + [anon_sym_AMP_AMP] = ACTIONS(2249), + [anon_sym_AMP] = ACTIONS(2247), + [anon_sym_SEMI] = ACTIONS(2249), + [anon_sym_typedef] = ACTIONS(2247), + [anon_sym_extern] = ACTIONS(2247), + [anon_sym___attribute__] = ACTIONS(2247), + [anon_sym_COLON_COLON] = ACTIONS(2249), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2249), + [anon_sym___declspec] = ACTIONS(2247), + [anon_sym___based] = ACTIONS(2247), + [anon_sym___cdecl] = ACTIONS(2247), + [anon_sym___clrcall] = ACTIONS(2247), + [anon_sym___stdcall] = ACTIONS(2247), + [anon_sym___fastcall] = ACTIONS(2247), + [anon_sym___thiscall] = ACTIONS(2247), + [anon_sym___vectorcall] = ACTIONS(2247), + [anon_sym_LBRACE] = ACTIONS(2249), + [anon_sym_LBRACK] = ACTIONS(2247), + [anon_sym_static] = ACTIONS(2247), + [anon_sym_register] = ACTIONS(2247), + [anon_sym_inline] = ACTIONS(2247), + [anon_sym_thread_local] = ACTIONS(2247), + [anon_sym_const] = ACTIONS(2247), + [anon_sym_volatile] = ACTIONS(2247), + [anon_sym_restrict] = ACTIONS(2247), + [anon_sym__Atomic] = ACTIONS(2247), + [anon_sym_mutable] = ACTIONS(2247), + [anon_sym_constexpr] = ACTIONS(2247), + [anon_sym_constinit] = ACTIONS(2247), + [anon_sym_consteval] = ACTIONS(2247), + [anon_sym_signed] = ACTIONS(2247), + [anon_sym_unsigned] = ACTIONS(2247), + [anon_sym_long] = ACTIONS(2247), + [anon_sym_short] = ACTIONS(2247), + [sym_primitive_type] = ACTIONS(2247), + [anon_sym_enum] = ACTIONS(2247), + [anon_sym_class] = ACTIONS(2247), + [anon_sym_struct] = ACTIONS(2247), + [anon_sym_union] = ACTIONS(2247), + [anon_sym_if] = ACTIONS(2247), + [anon_sym_switch] = ACTIONS(2247), + [anon_sym_case] = ACTIONS(2247), + [anon_sym_default] = ACTIONS(2247), + [anon_sym_while] = ACTIONS(2247), + [anon_sym_do] = ACTIONS(2247), + [anon_sym_for] = ACTIONS(2247), + [anon_sym_return] = ACTIONS(2247), + [anon_sym_break] = ACTIONS(2247), + [anon_sym_continue] = ACTIONS(2247), + [anon_sym_goto] = ACTIONS(2247), + [anon_sym_DASH_DASH] = ACTIONS(2249), + [anon_sym_PLUS_PLUS] = ACTIONS(2249), + [anon_sym_sizeof] = ACTIONS(2247), + [sym_number_literal] = ACTIONS(2249), + [anon_sym_L_SQUOTE] = ACTIONS(2249), + [anon_sym_u_SQUOTE] = ACTIONS(2249), + [anon_sym_U_SQUOTE] = ACTIONS(2249), + [anon_sym_u8_SQUOTE] = ACTIONS(2249), + [anon_sym_SQUOTE] = ACTIONS(2249), + [anon_sym_L_DQUOTE] = ACTIONS(2249), + [anon_sym_u_DQUOTE] = ACTIONS(2249), + [anon_sym_U_DQUOTE] = ACTIONS(2249), + [anon_sym_u8_DQUOTE] = ACTIONS(2249), + [anon_sym_DQUOTE] = ACTIONS(2249), + [sym_true] = ACTIONS(2247), + [sym_false] = ACTIONS(2247), + [sym_null] = ACTIONS(2247), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2247), + [anon_sym_decltype] = ACTIONS(2247), + [anon_sym_virtual] = ACTIONS(2247), + [anon_sym_explicit] = ACTIONS(2247), + [anon_sym_typename] = ACTIONS(2247), + [anon_sym_template] = ACTIONS(2247), + [anon_sym_operator] = ACTIONS(2247), + [anon_sym_delete] = ACTIONS(2247), + [anon_sym_throw] = ACTIONS(2247), + [anon_sym_namespace] = ACTIONS(2247), + [anon_sym_using] = ACTIONS(2247), + [anon_sym_static_assert] = ACTIONS(2247), + [anon_sym_concept] = ACTIONS(2247), + [anon_sym_co_return] = ACTIONS(2247), + [anon_sym_co_yield] = ACTIONS(2247), + [anon_sym_try] = ACTIONS(2247), + [anon_sym_co_await] = ACTIONS(2247), + [anon_sym_new] = ACTIONS(2247), + [anon_sym_requires] = ACTIONS(2247), + [sym_this] = ACTIONS(2247), + [sym_nullptr] = ACTIONS(2247), + [sym_raw_string_literal] = ACTIONS(2249), + }, + [418] = { + [sym_identifier] = ACTIONS(2251), + [aux_sym_preproc_include_token1] = ACTIONS(2251), + [aux_sym_preproc_def_token1] = ACTIONS(2251), + [aux_sym_preproc_if_token1] = ACTIONS(2251), + [aux_sym_preproc_if_token2] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2251), + [aux_sym_preproc_else_token1] = ACTIONS(2251), + [aux_sym_preproc_elif_token1] = ACTIONS(2251), + [sym_preproc_directive] = ACTIONS(2251), + [anon_sym_LPAREN2] = ACTIONS(2253), + [anon_sym_BANG] = ACTIONS(2253), + [anon_sym_TILDE] = ACTIONS(2253), + [anon_sym_DASH] = ACTIONS(2251), + [anon_sym_PLUS] = ACTIONS(2251), + [anon_sym_STAR] = ACTIONS(2253), + [anon_sym_AMP_AMP] = ACTIONS(2253), + [anon_sym_AMP] = ACTIONS(2251), + [anon_sym_SEMI] = ACTIONS(2253), + [anon_sym_typedef] = ACTIONS(2251), + [anon_sym_extern] = ACTIONS(2251), + [anon_sym___attribute__] = ACTIONS(2251), + [anon_sym_COLON_COLON] = ACTIONS(2253), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2253), + [anon_sym___declspec] = ACTIONS(2251), + [anon_sym___based] = ACTIONS(2251), + [anon_sym___cdecl] = ACTIONS(2251), + [anon_sym___clrcall] = ACTIONS(2251), + [anon_sym___stdcall] = ACTIONS(2251), + [anon_sym___fastcall] = ACTIONS(2251), + [anon_sym___thiscall] = ACTIONS(2251), + [anon_sym___vectorcall] = ACTIONS(2251), + [anon_sym_LBRACE] = ACTIONS(2253), + [anon_sym_LBRACK] = ACTIONS(2251), + [anon_sym_static] = ACTIONS(2251), + [anon_sym_register] = ACTIONS(2251), + [anon_sym_inline] = ACTIONS(2251), + [anon_sym_thread_local] = ACTIONS(2251), + [anon_sym_const] = ACTIONS(2251), + [anon_sym_volatile] = ACTIONS(2251), + [anon_sym_restrict] = ACTIONS(2251), + [anon_sym__Atomic] = ACTIONS(2251), + [anon_sym_mutable] = ACTIONS(2251), + [anon_sym_constexpr] = ACTIONS(2251), + [anon_sym_constinit] = ACTIONS(2251), + [anon_sym_consteval] = ACTIONS(2251), + [anon_sym_signed] = ACTIONS(2251), + [anon_sym_unsigned] = ACTIONS(2251), + [anon_sym_long] = ACTIONS(2251), + [anon_sym_short] = ACTIONS(2251), + [sym_primitive_type] = ACTIONS(2251), + [anon_sym_enum] = ACTIONS(2251), + [anon_sym_class] = ACTIONS(2251), + [anon_sym_struct] = ACTIONS(2251), + [anon_sym_union] = ACTIONS(2251), + [anon_sym_if] = ACTIONS(2251), + [anon_sym_switch] = ACTIONS(2251), + [anon_sym_case] = ACTIONS(2251), + [anon_sym_default] = ACTIONS(2251), + [anon_sym_while] = ACTIONS(2251), + [anon_sym_do] = ACTIONS(2251), + [anon_sym_for] = ACTIONS(2251), + [anon_sym_return] = ACTIONS(2251), + [anon_sym_break] = ACTIONS(2251), + [anon_sym_continue] = ACTIONS(2251), + [anon_sym_goto] = ACTIONS(2251), + [anon_sym_DASH_DASH] = ACTIONS(2253), + [anon_sym_PLUS_PLUS] = ACTIONS(2253), + [anon_sym_sizeof] = ACTIONS(2251), + [sym_number_literal] = ACTIONS(2253), + [anon_sym_L_SQUOTE] = ACTIONS(2253), + [anon_sym_u_SQUOTE] = ACTIONS(2253), + [anon_sym_U_SQUOTE] = ACTIONS(2253), + [anon_sym_u8_SQUOTE] = ACTIONS(2253), + [anon_sym_SQUOTE] = ACTIONS(2253), + [anon_sym_L_DQUOTE] = ACTIONS(2253), + [anon_sym_u_DQUOTE] = ACTIONS(2253), + [anon_sym_U_DQUOTE] = ACTIONS(2253), + [anon_sym_u8_DQUOTE] = ACTIONS(2253), + [anon_sym_DQUOTE] = ACTIONS(2253), + [sym_true] = ACTIONS(2251), + [sym_false] = ACTIONS(2251), + [sym_null] = ACTIONS(2251), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2251), + [anon_sym_decltype] = ACTIONS(2251), + [anon_sym_virtual] = ACTIONS(2251), + [anon_sym_explicit] = ACTIONS(2251), + [anon_sym_typename] = ACTIONS(2251), + [anon_sym_template] = ACTIONS(2251), + [anon_sym_operator] = ACTIONS(2251), + [anon_sym_delete] = ACTIONS(2251), + [anon_sym_throw] = ACTIONS(2251), + [anon_sym_namespace] = ACTIONS(2251), + [anon_sym_using] = ACTIONS(2251), + [anon_sym_static_assert] = ACTIONS(2251), + [anon_sym_concept] = ACTIONS(2251), + [anon_sym_co_return] = ACTIONS(2251), + [anon_sym_co_yield] = ACTIONS(2251), + [anon_sym_try] = ACTIONS(2251), + [anon_sym_co_await] = ACTIONS(2251), + [anon_sym_new] = ACTIONS(2251), + [anon_sym_requires] = ACTIONS(2251), + [sym_this] = ACTIONS(2251), + [sym_nullptr] = ACTIONS(2251), + [sym_raw_string_literal] = ACTIONS(2253), + }, + [419] = { + [sym_identifier] = ACTIONS(1877), + [aux_sym_preproc_include_token1] = ACTIONS(1877), + [aux_sym_preproc_def_token1] = ACTIONS(1877), + [aux_sym_preproc_if_token1] = ACTIONS(1877), + [aux_sym_preproc_if_token2] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1877), + [sym_preproc_directive] = ACTIONS(1877), + [anon_sym_LPAREN2] = ACTIONS(1879), + [anon_sym_BANG] = ACTIONS(1879), + [anon_sym_TILDE] = ACTIONS(1879), + [anon_sym_DASH] = ACTIONS(1877), + [anon_sym_PLUS] = ACTIONS(1877), + [anon_sym_STAR] = ACTIONS(1879), + [anon_sym_AMP_AMP] = ACTIONS(1879), + [anon_sym_AMP] = ACTIONS(1877), + [anon_sym_SEMI] = ACTIONS(1879), + [anon_sym_typedef] = ACTIONS(1877), + [anon_sym_extern] = ACTIONS(1877), + [anon_sym___attribute__] = ACTIONS(1877), + [anon_sym_COLON_COLON] = ACTIONS(1879), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1879), + [anon_sym___declspec] = ACTIONS(1877), + [anon_sym___based] = ACTIONS(1877), + [anon_sym___cdecl] = ACTIONS(1877), + [anon_sym___clrcall] = ACTIONS(1877), + [anon_sym___stdcall] = ACTIONS(1877), + [anon_sym___fastcall] = ACTIONS(1877), + [anon_sym___thiscall] = ACTIONS(1877), + [anon_sym___vectorcall] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1877), + [anon_sym_static] = ACTIONS(1877), + [anon_sym_register] = ACTIONS(1877), + [anon_sym_inline] = ACTIONS(1877), + [anon_sym_thread_local] = ACTIONS(1877), + [anon_sym_const] = ACTIONS(1877), + [anon_sym_volatile] = ACTIONS(1877), + [anon_sym_restrict] = ACTIONS(1877), + [anon_sym__Atomic] = ACTIONS(1877), + [anon_sym_mutable] = ACTIONS(1877), + [anon_sym_constexpr] = ACTIONS(1877), + [anon_sym_constinit] = ACTIONS(1877), + [anon_sym_consteval] = ACTIONS(1877), + [anon_sym_signed] = ACTIONS(1877), + [anon_sym_unsigned] = ACTIONS(1877), + [anon_sym_long] = ACTIONS(1877), + [anon_sym_short] = ACTIONS(1877), + [sym_primitive_type] = ACTIONS(1877), + [anon_sym_enum] = ACTIONS(1877), + [anon_sym_class] = ACTIONS(1877), + [anon_sym_struct] = ACTIONS(1877), + [anon_sym_union] = ACTIONS(1877), + [anon_sym_if] = ACTIONS(1877), + [anon_sym_else] = ACTIONS(1877), + [anon_sym_switch] = ACTIONS(1877), + [anon_sym_case] = ACTIONS(1877), + [anon_sym_default] = ACTIONS(1877), + [anon_sym_while] = ACTIONS(1877), + [anon_sym_do] = ACTIONS(1877), + [anon_sym_for] = ACTIONS(1877), + [anon_sym_return] = ACTIONS(1877), + [anon_sym_break] = ACTIONS(1877), + [anon_sym_continue] = ACTIONS(1877), + [anon_sym_goto] = ACTIONS(1877), + [anon_sym_DASH_DASH] = ACTIONS(1879), + [anon_sym_PLUS_PLUS] = ACTIONS(1879), + [anon_sym_sizeof] = ACTIONS(1877), + [sym_number_literal] = ACTIONS(1879), + [anon_sym_L_SQUOTE] = ACTIONS(1879), + [anon_sym_u_SQUOTE] = ACTIONS(1879), + [anon_sym_U_SQUOTE] = ACTIONS(1879), + [anon_sym_u8_SQUOTE] = ACTIONS(1879), + [anon_sym_SQUOTE] = ACTIONS(1879), + [anon_sym_L_DQUOTE] = ACTIONS(1879), + [anon_sym_u_DQUOTE] = ACTIONS(1879), + [anon_sym_U_DQUOTE] = ACTIONS(1879), + [anon_sym_u8_DQUOTE] = ACTIONS(1879), + [anon_sym_DQUOTE] = ACTIONS(1879), + [sym_true] = ACTIONS(1877), + [sym_false] = ACTIONS(1877), + [sym_null] = ACTIONS(1877), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1877), + [anon_sym_decltype] = ACTIONS(1877), + [anon_sym_virtual] = ACTIONS(1877), + [anon_sym_explicit] = ACTIONS(1877), + [anon_sym_typename] = ACTIONS(1877), + [anon_sym_template] = ACTIONS(1877), + [anon_sym_operator] = ACTIONS(1877), + [anon_sym_delete] = ACTIONS(1877), + [anon_sym_throw] = ACTIONS(1877), + [anon_sym_namespace] = ACTIONS(1877), + [anon_sym_using] = ACTIONS(1877), + [anon_sym_static_assert] = ACTIONS(1877), + [anon_sym_concept] = ACTIONS(1877), + [anon_sym_co_return] = ACTIONS(1877), + [anon_sym_co_yield] = ACTIONS(1877), + [anon_sym_try] = ACTIONS(1877), + [anon_sym_catch] = ACTIONS(1877), + [anon_sym_co_await] = ACTIONS(1877), + [anon_sym_new] = ACTIONS(1877), + [anon_sym_requires] = ACTIONS(1877), + [sym_this] = ACTIONS(1877), + [sym_nullptr] = ACTIONS(1877), + [sym_raw_string_literal] = ACTIONS(1879), + }, + [420] = { + [sym_identifier] = ACTIONS(2255), + [aux_sym_preproc_include_token1] = ACTIONS(2255), + [aux_sym_preproc_def_token1] = ACTIONS(2255), + [aux_sym_preproc_if_token1] = ACTIONS(2255), + [aux_sym_preproc_if_token2] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2255), + [aux_sym_preproc_else_token1] = ACTIONS(2255), + [aux_sym_preproc_elif_token1] = ACTIONS(2255), + [sym_preproc_directive] = ACTIONS(2255), + [anon_sym_LPAREN2] = ACTIONS(2257), + [anon_sym_BANG] = ACTIONS(2257), + [anon_sym_TILDE] = ACTIONS(2257), + [anon_sym_DASH] = ACTIONS(2255), + [anon_sym_PLUS] = ACTIONS(2255), + [anon_sym_STAR] = ACTIONS(2257), + [anon_sym_AMP_AMP] = ACTIONS(2257), + [anon_sym_AMP] = ACTIONS(2255), + [anon_sym_SEMI] = ACTIONS(2257), + [anon_sym_typedef] = ACTIONS(2255), + [anon_sym_extern] = ACTIONS(2255), + [anon_sym___attribute__] = ACTIONS(2255), + [anon_sym_COLON_COLON] = ACTIONS(2257), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2257), + [anon_sym___declspec] = ACTIONS(2255), + [anon_sym___based] = ACTIONS(2255), + [anon_sym___cdecl] = ACTIONS(2255), + [anon_sym___clrcall] = ACTIONS(2255), + [anon_sym___stdcall] = ACTIONS(2255), + [anon_sym___fastcall] = ACTIONS(2255), + [anon_sym___thiscall] = ACTIONS(2255), + [anon_sym___vectorcall] = ACTIONS(2255), + [anon_sym_LBRACE] = ACTIONS(2257), + [anon_sym_LBRACK] = ACTIONS(2255), + [anon_sym_static] = ACTIONS(2255), + [anon_sym_register] = ACTIONS(2255), + [anon_sym_inline] = ACTIONS(2255), + [anon_sym_thread_local] = ACTIONS(2255), + [anon_sym_const] = ACTIONS(2255), + [anon_sym_volatile] = ACTIONS(2255), + [anon_sym_restrict] = ACTIONS(2255), + [anon_sym__Atomic] = ACTIONS(2255), + [anon_sym_mutable] = ACTIONS(2255), + [anon_sym_constexpr] = ACTIONS(2255), + [anon_sym_constinit] = ACTIONS(2255), + [anon_sym_consteval] = ACTIONS(2255), + [anon_sym_signed] = ACTIONS(2255), + [anon_sym_unsigned] = ACTIONS(2255), + [anon_sym_long] = ACTIONS(2255), + [anon_sym_short] = ACTIONS(2255), + [sym_primitive_type] = ACTIONS(2255), + [anon_sym_enum] = ACTIONS(2255), + [anon_sym_class] = ACTIONS(2255), + [anon_sym_struct] = ACTIONS(2255), + [anon_sym_union] = ACTIONS(2255), + [anon_sym_if] = ACTIONS(2255), + [anon_sym_switch] = ACTIONS(2255), + [anon_sym_case] = ACTIONS(2255), + [anon_sym_default] = ACTIONS(2255), + [anon_sym_while] = ACTIONS(2255), + [anon_sym_do] = ACTIONS(2255), + [anon_sym_for] = ACTIONS(2255), + [anon_sym_return] = ACTIONS(2255), + [anon_sym_break] = ACTIONS(2255), + [anon_sym_continue] = ACTIONS(2255), + [anon_sym_goto] = ACTIONS(2255), + [anon_sym_DASH_DASH] = ACTIONS(2257), + [anon_sym_PLUS_PLUS] = ACTIONS(2257), + [anon_sym_sizeof] = ACTIONS(2255), + [sym_number_literal] = ACTIONS(2257), + [anon_sym_L_SQUOTE] = ACTIONS(2257), + [anon_sym_u_SQUOTE] = ACTIONS(2257), + [anon_sym_U_SQUOTE] = ACTIONS(2257), + [anon_sym_u8_SQUOTE] = ACTIONS(2257), + [anon_sym_SQUOTE] = ACTIONS(2257), + [anon_sym_L_DQUOTE] = ACTIONS(2257), + [anon_sym_u_DQUOTE] = ACTIONS(2257), + [anon_sym_U_DQUOTE] = ACTIONS(2257), + [anon_sym_u8_DQUOTE] = ACTIONS(2257), + [anon_sym_DQUOTE] = ACTIONS(2257), + [sym_true] = ACTIONS(2255), + [sym_false] = ACTIONS(2255), + [sym_null] = ACTIONS(2255), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2255), + [anon_sym_decltype] = ACTIONS(2255), + [anon_sym_virtual] = ACTIONS(2255), + [anon_sym_explicit] = ACTIONS(2255), + [anon_sym_typename] = ACTIONS(2255), + [anon_sym_template] = ACTIONS(2255), + [anon_sym_operator] = ACTIONS(2255), + [anon_sym_delete] = ACTIONS(2255), + [anon_sym_throw] = ACTIONS(2255), + [anon_sym_namespace] = ACTIONS(2255), + [anon_sym_using] = ACTIONS(2255), + [anon_sym_static_assert] = ACTIONS(2255), + [anon_sym_concept] = ACTIONS(2255), + [anon_sym_co_return] = ACTIONS(2255), + [anon_sym_co_yield] = ACTIONS(2255), + [anon_sym_try] = ACTIONS(2255), + [anon_sym_co_await] = ACTIONS(2255), + [anon_sym_new] = ACTIONS(2255), + [anon_sym_requires] = ACTIONS(2255), + [sym_this] = ACTIONS(2255), + [sym_nullptr] = ACTIONS(2255), + [sym_raw_string_literal] = ACTIONS(2257), + }, + [421] = { + [sym_identifier] = ACTIONS(2259), + [aux_sym_preproc_include_token1] = ACTIONS(2259), + [aux_sym_preproc_def_token1] = ACTIONS(2259), + [aux_sym_preproc_if_token1] = ACTIONS(2259), + [aux_sym_preproc_if_token2] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2259), + [aux_sym_preproc_else_token1] = ACTIONS(2259), + [aux_sym_preproc_elif_token1] = ACTIONS(2259), + [sym_preproc_directive] = ACTIONS(2259), + [anon_sym_LPAREN2] = ACTIONS(2261), + [anon_sym_BANG] = ACTIONS(2261), + [anon_sym_TILDE] = ACTIONS(2261), + [anon_sym_DASH] = ACTIONS(2259), + [anon_sym_PLUS] = ACTIONS(2259), + [anon_sym_STAR] = ACTIONS(2261), + [anon_sym_AMP_AMP] = ACTIONS(2261), + [anon_sym_AMP] = ACTIONS(2259), + [anon_sym_SEMI] = ACTIONS(2261), + [anon_sym_typedef] = ACTIONS(2259), + [anon_sym_extern] = ACTIONS(2259), + [anon_sym___attribute__] = ACTIONS(2259), + [anon_sym_COLON_COLON] = ACTIONS(2261), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2261), + [anon_sym___declspec] = ACTIONS(2259), + [anon_sym___based] = ACTIONS(2259), + [anon_sym___cdecl] = ACTIONS(2259), + [anon_sym___clrcall] = ACTIONS(2259), + [anon_sym___stdcall] = ACTIONS(2259), + [anon_sym___fastcall] = ACTIONS(2259), + [anon_sym___thiscall] = ACTIONS(2259), + [anon_sym___vectorcall] = ACTIONS(2259), + [anon_sym_LBRACE] = ACTIONS(2261), + [anon_sym_LBRACK] = ACTIONS(2259), + [anon_sym_static] = ACTIONS(2259), + [anon_sym_register] = ACTIONS(2259), + [anon_sym_inline] = ACTIONS(2259), + [anon_sym_thread_local] = ACTIONS(2259), + [anon_sym_const] = ACTIONS(2259), + [anon_sym_volatile] = ACTIONS(2259), + [anon_sym_restrict] = ACTIONS(2259), + [anon_sym__Atomic] = ACTIONS(2259), + [anon_sym_mutable] = ACTIONS(2259), + [anon_sym_constexpr] = ACTIONS(2259), + [anon_sym_constinit] = ACTIONS(2259), + [anon_sym_consteval] = ACTIONS(2259), + [anon_sym_signed] = ACTIONS(2259), + [anon_sym_unsigned] = ACTIONS(2259), + [anon_sym_long] = ACTIONS(2259), + [anon_sym_short] = ACTIONS(2259), + [sym_primitive_type] = ACTIONS(2259), + [anon_sym_enum] = ACTIONS(2259), + [anon_sym_class] = ACTIONS(2259), + [anon_sym_struct] = ACTIONS(2259), + [anon_sym_union] = ACTIONS(2259), + [anon_sym_if] = ACTIONS(2259), + [anon_sym_switch] = ACTIONS(2259), + [anon_sym_case] = ACTIONS(2259), + [anon_sym_default] = ACTIONS(2259), + [anon_sym_while] = ACTIONS(2259), + [anon_sym_do] = ACTIONS(2259), + [anon_sym_for] = ACTIONS(2259), + [anon_sym_return] = ACTIONS(2259), + [anon_sym_break] = ACTIONS(2259), + [anon_sym_continue] = ACTIONS(2259), + [anon_sym_goto] = ACTIONS(2259), + [anon_sym_DASH_DASH] = ACTIONS(2261), + [anon_sym_PLUS_PLUS] = ACTIONS(2261), + [anon_sym_sizeof] = ACTIONS(2259), + [sym_number_literal] = ACTIONS(2261), + [anon_sym_L_SQUOTE] = ACTIONS(2261), + [anon_sym_u_SQUOTE] = ACTIONS(2261), + [anon_sym_U_SQUOTE] = ACTIONS(2261), + [anon_sym_u8_SQUOTE] = ACTIONS(2261), + [anon_sym_SQUOTE] = ACTIONS(2261), + [anon_sym_L_DQUOTE] = ACTIONS(2261), + [anon_sym_u_DQUOTE] = ACTIONS(2261), + [anon_sym_U_DQUOTE] = ACTIONS(2261), + [anon_sym_u8_DQUOTE] = ACTIONS(2261), + [anon_sym_DQUOTE] = ACTIONS(2261), + [sym_true] = ACTIONS(2259), + [sym_false] = ACTIONS(2259), + [sym_null] = ACTIONS(2259), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2259), + [anon_sym_decltype] = ACTIONS(2259), + [anon_sym_virtual] = ACTIONS(2259), + [anon_sym_explicit] = ACTIONS(2259), + [anon_sym_typename] = ACTIONS(2259), + [anon_sym_template] = ACTIONS(2259), + [anon_sym_operator] = ACTIONS(2259), + [anon_sym_delete] = ACTIONS(2259), + [anon_sym_throw] = ACTIONS(2259), + [anon_sym_namespace] = ACTIONS(2259), + [anon_sym_using] = ACTIONS(2259), + [anon_sym_static_assert] = ACTIONS(2259), + [anon_sym_concept] = ACTIONS(2259), + [anon_sym_co_return] = ACTIONS(2259), + [anon_sym_co_yield] = ACTIONS(2259), + [anon_sym_try] = ACTIONS(2259), + [anon_sym_co_await] = ACTIONS(2259), + [anon_sym_new] = ACTIONS(2259), + [anon_sym_requires] = ACTIONS(2259), + [sym_this] = ACTIONS(2259), + [sym_nullptr] = ACTIONS(2259), + [sym_raw_string_literal] = ACTIONS(2261), + }, + [422] = { + [sym_identifier] = ACTIONS(2263), + [aux_sym_preproc_include_token1] = ACTIONS(2263), + [aux_sym_preproc_def_token1] = ACTIONS(2263), + [aux_sym_preproc_if_token1] = ACTIONS(2263), + [aux_sym_preproc_if_token2] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2263), + [aux_sym_preproc_else_token1] = ACTIONS(2263), + [aux_sym_preproc_elif_token1] = ACTIONS(2263), + [sym_preproc_directive] = ACTIONS(2263), + [anon_sym_LPAREN2] = ACTIONS(2265), + [anon_sym_BANG] = ACTIONS(2265), + [anon_sym_TILDE] = ACTIONS(2265), + [anon_sym_DASH] = ACTIONS(2263), + [anon_sym_PLUS] = ACTIONS(2263), + [anon_sym_STAR] = ACTIONS(2265), + [anon_sym_AMP_AMP] = ACTIONS(2265), + [anon_sym_AMP] = ACTIONS(2263), + [anon_sym_SEMI] = ACTIONS(2265), + [anon_sym_typedef] = ACTIONS(2263), + [anon_sym_extern] = ACTIONS(2263), + [anon_sym___attribute__] = ACTIONS(2263), + [anon_sym_COLON_COLON] = ACTIONS(2265), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2265), + [anon_sym___declspec] = ACTIONS(2263), + [anon_sym___based] = ACTIONS(2263), + [anon_sym___cdecl] = ACTIONS(2263), + [anon_sym___clrcall] = ACTIONS(2263), + [anon_sym___stdcall] = ACTIONS(2263), + [anon_sym___fastcall] = ACTIONS(2263), + [anon_sym___thiscall] = ACTIONS(2263), + [anon_sym___vectorcall] = ACTIONS(2263), + [anon_sym_LBRACE] = ACTIONS(2265), + [anon_sym_LBRACK] = ACTIONS(2263), + [anon_sym_static] = ACTIONS(2263), + [anon_sym_register] = ACTIONS(2263), + [anon_sym_inline] = ACTIONS(2263), + [anon_sym_thread_local] = ACTIONS(2263), + [anon_sym_const] = ACTIONS(2263), + [anon_sym_volatile] = ACTIONS(2263), + [anon_sym_restrict] = ACTIONS(2263), + [anon_sym__Atomic] = ACTIONS(2263), + [anon_sym_mutable] = ACTIONS(2263), + [anon_sym_constexpr] = ACTIONS(2263), + [anon_sym_constinit] = ACTIONS(2263), + [anon_sym_consteval] = ACTIONS(2263), + [anon_sym_signed] = ACTIONS(2263), + [anon_sym_unsigned] = ACTIONS(2263), + [anon_sym_long] = ACTIONS(2263), + [anon_sym_short] = ACTIONS(2263), + [sym_primitive_type] = ACTIONS(2263), + [anon_sym_enum] = ACTIONS(2263), + [anon_sym_class] = ACTIONS(2263), + [anon_sym_struct] = ACTIONS(2263), + [anon_sym_union] = ACTIONS(2263), + [anon_sym_if] = ACTIONS(2263), + [anon_sym_switch] = ACTIONS(2263), + [anon_sym_case] = ACTIONS(2263), + [anon_sym_default] = ACTIONS(2263), + [anon_sym_while] = ACTIONS(2263), + [anon_sym_do] = ACTIONS(2263), + [anon_sym_for] = ACTIONS(2263), + [anon_sym_return] = ACTIONS(2263), + [anon_sym_break] = ACTIONS(2263), + [anon_sym_continue] = ACTIONS(2263), + [anon_sym_goto] = ACTIONS(2263), + [anon_sym_DASH_DASH] = ACTIONS(2265), + [anon_sym_PLUS_PLUS] = ACTIONS(2265), + [anon_sym_sizeof] = ACTIONS(2263), + [sym_number_literal] = ACTIONS(2265), + [anon_sym_L_SQUOTE] = ACTIONS(2265), + [anon_sym_u_SQUOTE] = ACTIONS(2265), + [anon_sym_U_SQUOTE] = ACTIONS(2265), + [anon_sym_u8_SQUOTE] = ACTIONS(2265), + [anon_sym_SQUOTE] = ACTIONS(2265), + [anon_sym_L_DQUOTE] = ACTIONS(2265), + [anon_sym_u_DQUOTE] = ACTIONS(2265), + [anon_sym_U_DQUOTE] = ACTIONS(2265), + [anon_sym_u8_DQUOTE] = ACTIONS(2265), + [anon_sym_DQUOTE] = ACTIONS(2265), + [sym_true] = ACTIONS(2263), + [sym_false] = ACTIONS(2263), + [sym_null] = ACTIONS(2263), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2263), + [anon_sym_decltype] = ACTIONS(2263), + [anon_sym_virtual] = ACTIONS(2263), + [anon_sym_explicit] = ACTIONS(2263), + [anon_sym_typename] = ACTIONS(2263), + [anon_sym_template] = ACTIONS(2263), + [anon_sym_operator] = ACTIONS(2263), + [anon_sym_delete] = ACTIONS(2263), + [anon_sym_throw] = ACTIONS(2263), + [anon_sym_namespace] = ACTIONS(2263), + [anon_sym_using] = ACTIONS(2263), + [anon_sym_static_assert] = ACTIONS(2263), + [anon_sym_concept] = ACTIONS(2263), + [anon_sym_co_return] = ACTIONS(2263), + [anon_sym_co_yield] = ACTIONS(2263), + [anon_sym_try] = ACTIONS(2263), + [anon_sym_co_await] = ACTIONS(2263), + [anon_sym_new] = ACTIONS(2263), + [anon_sym_requires] = ACTIONS(2263), + [sym_this] = ACTIONS(2263), + [sym_nullptr] = ACTIONS(2263), + [sym_raw_string_literal] = ACTIONS(2265), + }, + [423] = { + [sym_identifier] = ACTIONS(2267), + [aux_sym_preproc_include_token1] = ACTIONS(2267), + [aux_sym_preproc_def_token1] = ACTIONS(2267), + [aux_sym_preproc_if_token1] = ACTIONS(2267), + [aux_sym_preproc_if_token2] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2267), + [aux_sym_preproc_else_token1] = ACTIONS(2267), + [aux_sym_preproc_elif_token1] = ACTIONS(2267), + [sym_preproc_directive] = ACTIONS(2267), + [anon_sym_LPAREN2] = ACTIONS(2269), + [anon_sym_BANG] = ACTIONS(2269), + [anon_sym_TILDE] = ACTIONS(2269), + [anon_sym_DASH] = ACTIONS(2267), + [anon_sym_PLUS] = ACTIONS(2267), + [anon_sym_STAR] = ACTIONS(2269), + [anon_sym_AMP_AMP] = ACTIONS(2269), + [anon_sym_AMP] = ACTIONS(2267), + [anon_sym_SEMI] = ACTIONS(2269), + [anon_sym_typedef] = ACTIONS(2267), + [anon_sym_extern] = ACTIONS(2267), + [anon_sym___attribute__] = ACTIONS(2267), + [anon_sym_COLON_COLON] = ACTIONS(2269), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2269), + [anon_sym___declspec] = ACTIONS(2267), + [anon_sym___based] = ACTIONS(2267), + [anon_sym___cdecl] = ACTIONS(2267), + [anon_sym___clrcall] = ACTIONS(2267), + [anon_sym___stdcall] = ACTIONS(2267), + [anon_sym___fastcall] = ACTIONS(2267), + [anon_sym___thiscall] = ACTIONS(2267), + [anon_sym___vectorcall] = ACTIONS(2267), + [anon_sym_LBRACE] = ACTIONS(2269), + [anon_sym_LBRACK] = ACTIONS(2267), + [anon_sym_static] = ACTIONS(2267), + [anon_sym_register] = ACTIONS(2267), + [anon_sym_inline] = ACTIONS(2267), + [anon_sym_thread_local] = ACTIONS(2267), + [anon_sym_const] = ACTIONS(2267), + [anon_sym_volatile] = ACTIONS(2267), + [anon_sym_restrict] = ACTIONS(2267), + [anon_sym__Atomic] = ACTIONS(2267), + [anon_sym_mutable] = ACTIONS(2267), + [anon_sym_constexpr] = ACTIONS(2267), + [anon_sym_constinit] = ACTIONS(2267), + [anon_sym_consteval] = ACTIONS(2267), + [anon_sym_signed] = ACTIONS(2267), + [anon_sym_unsigned] = ACTIONS(2267), + [anon_sym_long] = ACTIONS(2267), + [anon_sym_short] = ACTIONS(2267), + [sym_primitive_type] = ACTIONS(2267), + [anon_sym_enum] = ACTIONS(2267), + [anon_sym_class] = ACTIONS(2267), + [anon_sym_struct] = ACTIONS(2267), + [anon_sym_union] = ACTIONS(2267), + [anon_sym_if] = ACTIONS(2267), + [anon_sym_switch] = ACTIONS(2267), + [anon_sym_case] = ACTIONS(2267), + [anon_sym_default] = ACTIONS(2267), + [anon_sym_while] = ACTIONS(2267), + [anon_sym_do] = ACTIONS(2267), + [anon_sym_for] = ACTIONS(2267), + [anon_sym_return] = ACTIONS(2267), + [anon_sym_break] = ACTIONS(2267), + [anon_sym_continue] = ACTIONS(2267), + [anon_sym_goto] = ACTIONS(2267), + [anon_sym_DASH_DASH] = ACTIONS(2269), + [anon_sym_PLUS_PLUS] = ACTIONS(2269), + [anon_sym_sizeof] = ACTIONS(2267), + [sym_number_literal] = ACTIONS(2269), + [anon_sym_L_SQUOTE] = ACTIONS(2269), + [anon_sym_u_SQUOTE] = ACTIONS(2269), + [anon_sym_U_SQUOTE] = ACTIONS(2269), + [anon_sym_u8_SQUOTE] = ACTIONS(2269), + [anon_sym_SQUOTE] = ACTIONS(2269), + [anon_sym_L_DQUOTE] = ACTIONS(2269), + [anon_sym_u_DQUOTE] = ACTIONS(2269), + [anon_sym_U_DQUOTE] = ACTIONS(2269), + [anon_sym_u8_DQUOTE] = ACTIONS(2269), + [anon_sym_DQUOTE] = ACTIONS(2269), + [sym_true] = ACTIONS(2267), + [sym_false] = ACTIONS(2267), + [sym_null] = ACTIONS(2267), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2267), + [anon_sym_decltype] = ACTIONS(2267), + [anon_sym_virtual] = ACTIONS(2267), + [anon_sym_explicit] = ACTIONS(2267), + [anon_sym_typename] = ACTIONS(2267), + [anon_sym_template] = ACTIONS(2267), + [anon_sym_operator] = ACTIONS(2267), + [anon_sym_delete] = ACTIONS(2267), + [anon_sym_throw] = ACTIONS(2267), + [anon_sym_namespace] = ACTIONS(2267), + [anon_sym_using] = ACTIONS(2267), + [anon_sym_static_assert] = ACTIONS(2267), + [anon_sym_concept] = ACTIONS(2267), + [anon_sym_co_return] = ACTIONS(2267), + [anon_sym_co_yield] = ACTIONS(2267), + [anon_sym_try] = ACTIONS(2267), + [anon_sym_co_await] = ACTIONS(2267), + [anon_sym_new] = ACTIONS(2267), + [anon_sym_requires] = ACTIONS(2267), + [sym_this] = ACTIONS(2267), + [sym_nullptr] = ACTIONS(2267), + [sym_raw_string_literal] = ACTIONS(2269), + }, + [424] = { + [sym_identifier] = ACTIONS(2271), + [aux_sym_preproc_include_token1] = ACTIONS(2271), + [aux_sym_preproc_def_token1] = ACTIONS(2271), + [aux_sym_preproc_if_token1] = ACTIONS(2271), + [aux_sym_preproc_if_token2] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2271), + [aux_sym_preproc_else_token1] = ACTIONS(2271), + [aux_sym_preproc_elif_token1] = ACTIONS(2271), + [sym_preproc_directive] = ACTIONS(2271), + [anon_sym_LPAREN2] = ACTIONS(2273), + [anon_sym_BANG] = ACTIONS(2273), + [anon_sym_TILDE] = ACTIONS(2273), + [anon_sym_DASH] = ACTIONS(2271), + [anon_sym_PLUS] = ACTIONS(2271), + [anon_sym_STAR] = ACTIONS(2273), + [anon_sym_AMP_AMP] = ACTIONS(2273), + [anon_sym_AMP] = ACTIONS(2271), + [anon_sym_SEMI] = ACTIONS(2273), + [anon_sym_typedef] = ACTIONS(2271), + [anon_sym_extern] = ACTIONS(2271), + [anon_sym___attribute__] = ACTIONS(2271), + [anon_sym_COLON_COLON] = ACTIONS(2273), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2273), + [anon_sym___declspec] = ACTIONS(2271), + [anon_sym___based] = ACTIONS(2271), + [anon_sym___cdecl] = ACTIONS(2271), + [anon_sym___clrcall] = ACTIONS(2271), + [anon_sym___stdcall] = ACTIONS(2271), + [anon_sym___fastcall] = ACTIONS(2271), + [anon_sym___thiscall] = ACTIONS(2271), + [anon_sym___vectorcall] = ACTIONS(2271), + [anon_sym_LBRACE] = ACTIONS(2273), + [anon_sym_LBRACK] = ACTIONS(2271), + [anon_sym_static] = ACTIONS(2271), + [anon_sym_register] = ACTIONS(2271), + [anon_sym_inline] = ACTIONS(2271), + [anon_sym_thread_local] = ACTIONS(2271), + [anon_sym_const] = ACTIONS(2271), + [anon_sym_volatile] = ACTIONS(2271), + [anon_sym_restrict] = ACTIONS(2271), + [anon_sym__Atomic] = ACTIONS(2271), + [anon_sym_mutable] = ACTIONS(2271), + [anon_sym_constexpr] = ACTIONS(2271), + [anon_sym_constinit] = ACTIONS(2271), + [anon_sym_consteval] = ACTIONS(2271), + [anon_sym_signed] = ACTIONS(2271), + [anon_sym_unsigned] = ACTIONS(2271), + [anon_sym_long] = ACTIONS(2271), + [anon_sym_short] = ACTIONS(2271), + [sym_primitive_type] = ACTIONS(2271), + [anon_sym_enum] = ACTIONS(2271), + [anon_sym_class] = ACTIONS(2271), + [anon_sym_struct] = ACTIONS(2271), + [anon_sym_union] = ACTIONS(2271), + [anon_sym_if] = ACTIONS(2271), + [anon_sym_switch] = ACTIONS(2271), + [anon_sym_case] = ACTIONS(2271), + [anon_sym_default] = ACTIONS(2271), + [anon_sym_while] = ACTIONS(2271), + [anon_sym_do] = ACTIONS(2271), + [anon_sym_for] = ACTIONS(2271), + [anon_sym_return] = ACTIONS(2271), + [anon_sym_break] = ACTIONS(2271), + [anon_sym_continue] = ACTIONS(2271), + [anon_sym_goto] = ACTIONS(2271), + [anon_sym_DASH_DASH] = ACTIONS(2273), + [anon_sym_PLUS_PLUS] = ACTIONS(2273), + [anon_sym_sizeof] = ACTIONS(2271), + [sym_number_literal] = ACTIONS(2273), + [anon_sym_L_SQUOTE] = ACTIONS(2273), + [anon_sym_u_SQUOTE] = ACTIONS(2273), + [anon_sym_U_SQUOTE] = ACTIONS(2273), + [anon_sym_u8_SQUOTE] = ACTIONS(2273), + [anon_sym_SQUOTE] = ACTIONS(2273), + [anon_sym_L_DQUOTE] = ACTIONS(2273), + [anon_sym_u_DQUOTE] = ACTIONS(2273), + [anon_sym_U_DQUOTE] = ACTIONS(2273), + [anon_sym_u8_DQUOTE] = ACTIONS(2273), + [anon_sym_DQUOTE] = ACTIONS(2273), + [sym_true] = ACTIONS(2271), + [sym_false] = ACTIONS(2271), + [sym_null] = ACTIONS(2271), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2271), + [anon_sym_decltype] = ACTIONS(2271), + [anon_sym_virtual] = ACTIONS(2271), + [anon_sym_explicit] = ACTIONS(2271), + [anon_sym_typename] = ACTIONS(2271), + [anon_sym_template] = ACTIONS(2271), + [anon_sym_operator] = ACTIONS(2271), + [anon_sym_delete] = ACTIONS(2271), + [anon_sym_throw] = ACTIONS(2271), + [anon_sym_namespace] = ACTIONS(2271), + [anon_sym_using] = ACTIONS(2271), + [anon_sym_static_assert] = ACTIONS(2271), + [anon_sym_concept] = ACTIONS(2271), + [anon_sym_co_return] = ACTIONS(2271), + [anon_sym_co_yield] = ACTIONS(2271), + [anon_sym_try] = ACTIONS(2271), + [anon_sym_co_await] = ACTIONS(2271), + [anon_sym_new] = ACTIONS(2271), + [anon_sym_requires] = ACTIONS(2271), + [sym_this] = ACTIONS(2271), + [sym_nullptr] = ACTIONS(2271), + [sym_raw_string_literal] = ACTIONS(2273), + }, + [425] = { + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1863), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_RBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_else] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_catch] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [426] = { + [sym_identifier] = ACTIONS(2275), + [aux_sym_preproc_include_token1] = ACTIONS(2275), + [aux_sym_preproc_def_token1] = ACTIONS(2275), + [aux_sym_preproc_if_token1] = ACTIONS(2275), + [aux_sym_preproc_if_token2] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2275), + [aux_sym_preproc_else_token1] = ACTIONS(2275), + [aux_sym_preproc_elif_token1] = ACTIONS(2275), + [sym_preproc_directive] = ACTIONS(2275), + [anon_sym_LPAREN2] = ACTIONS(2277), + [anon_sym_BANG] = ACTIONS(2277), + [anon_sym_TILDE] = ACTIONS(2277), + [anon_sym_DASH] = ACTIONS(2275), + [anon_sym_PLUS] = ACTIONS(2275), + [anon_sym_STAR] = ACTIONS(2277), + [anon_sym_AMP_AMP] = ACTIONS(2277), + [anon_sym_AMP] = ACTIONS(2275), + [anon_sym_SEMI] = ACTIONS(2277), + [anon_sym_typedef] = ACTIONS(2275), + [anon_sym_extern] = ACTIONS(2275), + [anon_sym___attribute__] = ACTIONS(2275), + [anon_sym_COLON_COLON] = ACTIONS(2277), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2277), + [anon_sym___declspec] = ACTIONS(2275), + [anon_sym___based] = ACTIONS(2275), + [anon_sym___cdecl] = ACTIONS(2275), + [anon_sym___clrcall] = ACTIONS(2275), + [anon_sym___stdcall] = ACTIONS(2275), + [anon_sym___fastcall] = ACTIONS(2275), + [anon_sym___thiscall] = ACTIONS(2275), + [anon_sym___vectorcall] = ACTIONS(2275), + [anon_sym_LBRACE] = ACTIONS(2277), + [anon_sym_LBRACK] = ACTIONS(2275), + [anon_sym_static] = ACTIONS(2275), + [anon_sym_register] = ACTIONS(2275), + [anon_sym_inline] = ACTIONS(2275), + [anon_sym_thread_local] = ACTIONS(2275), + [anon_sym_const] = ACTIONS(2275), + [anon_sym_volatile] = ACTIONS(2275), + [anon_sym_restrict] = ACTIONS(2275), + [anon_sym__Atomic] = ACTIONS(2275), + [anon_sym_mutable] = ACTIONS(2275), + [anon_sym_constexpr] = ACTIONS(2275), + [anon_sym_constinit] = ACTIONS(2275), + [anon_sym_consteval] = ACTIONS(2275), + [anon_sym_signed] = ACTIONS(2275), + [anon_sym_unsigned] = ACTIONS(2275), + [anon_sym_long] = ACTIONS(2275), + [anon_sym_short] = ACTIONS(2275), + [sym_primitive_type] = ACTIONS(2275), + [anon_sym_enum] = ACTIONS(2275), + [anon_sym_class] = ACTIONS(2275), + [anon_sym_struct] = ACTIONS(2275), + [anon_sym_union] = ACTIONS(2275), + [anon_sym_if] = ACTIONS(2275), + [anon_sym_switch] = ACTIONS(2275), + [anon_sym_case] = ACTIONS(2275), + [anon_sym_default] = ACTIONS(2275), + [anon_sym_while] = ACTIONS(2275), + [anon_sym_do] = ACTIONS(2275), + [anon_sym_for] = ACTIONS(2275), + [anon_sym_return] = ACTIONS(2275), + [anon_sym_break] = ACTIONS(2275), + [anon_sym_continue] = ACTIONS(2275), + [anon_sym_goto] = ACTIONS(2275), + [anon_sym_DASH_DASH] = ACTIONS(2277), + [anon_sym_PLUS_PLUS] = ACTIONS(2277), + [anon_sym_sizeof] = ACTIONS(2275), + [sym_number_literal] = ACTIONS(2277), + [anon_sym_L_SQUOTE] = ACTIONS(2277), + [anon_sym_u_SQUOTE] = ACTIONS(2277), + [anon_sym_U_SQUOTE] = ACTIONS(2277), + [anon_sym_u8_SQUOTE] = ACTIONS(2277), + [anon_sym_SQUOTE] = ACTIONS(2277), + [anon_sym_L_DQUOTE] = ACTIONS(2277), + [anon_sym_u_DQUOTE] = ACTIONS(2277), + [anon_sym_U_DQUOTE] = ACTIONS(2277), + [anon_sym_u8_DQUOTE] = ACTIONS(2277), + [anon_sym_DQUOTE] = ACTIONS(2277), + [sym_true] = ACTIONS(2275), + [sym_false] = ACTIONS(2275), + [sym_null] = ACTIONS(2275), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2275), + [anon_sym_decltype] = ACTIONS(2275), + [anon_sym_virtual] = ACTIONS(2275), + [anon_sym_explicit] = ACTIONS(2275), + [anon_sym_typename] = ACTIONS(2275), + [anon_sym_template] = ACTIONS(2275), + [anon_sym_operator] = ACTIONS(2275), + [anon_sym_delete] = ACTIONS(2275), + [anon_sym_throw] = ACTIONS(2275), + [anon_sym_namespace] = ACTIONS(2275), + [anon_sym_using] = ACTIONS(2275), + [anon_sym_static_assert] = ACTIONS(2275), + [anon_sym_concept] = ACTIONS(2275), + [anon_sym_co_return] = ACTIONS(2275), + [anon_sym_co_yield] = ACTIONS(2275), + [anon_sym_try] = ACTIONS(2275), + [anon_sym_co_await] = ACTIONS(2275), + [anon_sym_new] = ACTIONS(2275), + [anon_sym_requires] = ACTIONS(2275), + [sym_this] = ACTIONS(2275), + [sym_nullptr] = ACTIONS(2275), + [sym_raw_string_literal] = ACTIONS(2277), + }, + [427] = { + [sym_identifier] = ACTIONS(2279), + [aux_sym_preproc_include_token1] = ACTIONS(2279), + [aux_sym_preproc_def_token1] = ACTIONS(2279), + [aux_sym_preproc_if_token1] = ACTIONS(2279), + [aux_sym_preproc_if_token2] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2279), + [aux_sym_preproc_else_token1] = ACTIONS(2279), + [aux_sym_preproc_elif_token1] = ACTIONS(2279), + [sym_preproc_directive] = ACTIONS(2279), + [anon_sym_LPAREN2] = ACTIONS(2281), + [anon_sym_BANG] = ACTIONS(2281), + [anon_sym_TILDE] = ACTIONS(2281), + [anon_sym_DASH] = ACTIONS(2279), + [anon_sym_PLUS] = ACTIONS(2279), + [anon_sym_STAR] = ACTIONS(2281), + [anon_sym_AMP_AMP] = ACTIONS(2281), + [anon_sym_AMP] = ACTIONS(2279), + [anon_sym_SEMI] = ACTIONS(2281), + [anon_sym_typedef] = ACTIONS(2279), + [anon_sym_extern] = ACTIONS(2279), + [anon_sym___attribute__] = ACTIONS(2279), + [anon_sym_COLON_COLON] = ACTIONS(2281), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2281), + [anon_sym___declspec] = ACTIONS(2279), + [anon_sym___based] = ACTIONS(2279), + [anon_sym___cdecl] = ACTIONS(2279), + [anon_sym___clrcall] = ACTIONS(2279), + [anon_sym___stdcall] = ACTIONS(2279), + [anon_sym___fastcall] = ACTIONS(2279), + [anon_sym___thiscall] = ACTIONS(2279), + [anon_sym___vectorcall] = ACTIONS(2279), + [anon_sym_LBRACE] = ACTIONS(2281), + [anon_sym_LBRACK] = ACTIONS(2279), + [anon_sym_static] = ACTIONS(2279), + [anon_sym_register] = ACTIONS(2279), + [anon_sym_inline] = ACTIONS(2279), + [anon_sym_thread_local] = ACTIONS(2279), + [anon_sym_const] = ACTIONS(2279), + [anon_sym_volatile] = ACTIONS(2279), + [anon_sym_restrict] = ACTIONS(2279), + [anon_sym__Atomic] = ACTIONS(2279), + [anon_sym_mutable] = ACTIONS(2279), + [anon_sym_constexpr] = ACTIONS(2279), + [anon_sym_constinit] = ACTIONS(2279), + [anon_sym_consteval] = ACTIONS(2279), + [anon_sym_signed] = ACTIONS(2279), + [anon_sym_unsigned] = ACTIONS(2279), + [anon_sym_long] = ACTIONS(2279), + [anon_sym_short] = ACTIONS(2279), + [sym_primitive_type] = ACTIONS(2279), + [anon_sym_enum] = ACTIONS(2279), + [anon_sym_class] = ACTIONS(2279), + [anon_sym_struct] = ACTIONS(2279), + [anon_sym_union] = ACTIONS(2279), + [anon_sym_if] = ACTIONS(2279), + [anon_sym_switch] = ACTIONS(2279), + [anon_sym_case] = ACTIONS(2279), + [anon_sym_default] = ACTIONS(2279), + [anon_sym_while] = ACTIONS(2279), + [anon_sym_do] = ACTIONS(2279), + [anon_sym_for] = ACTIONS(2279), + [anon_sym_return] = ACTIONS(2279), + [anon_sym_break] = ACTIONS(2279), + [anon_sym_continue] = ACTIONS(2279), + [anon_sym_goto] = ACTIONS(2279), + [anon_sym_DASH_DASH] = ACTIONS(2281), + [anon_sym_PLUS_PLUS] = ACTIONS(2281), + [anon_sym_sizeof] = ACTIONS(2279), + [sym_number_literal] = ACTIONS(2281), + [anon_sym_L_SQUOTE] = ACTIONS(2281), + [anon_sym_u_SQUOTE] = ACTIONS(2281), + [anon_sym_U_SQUOTE] = ACTIONS(2281), + [anon_sym_u8_SQUOTE] = ACTIONS(2281), + [anon_sym_SQUOTE] = ACTIONS(2281), + [anon_sym_L_DQUOTE] = ACTIONS(2281), + [anon_sym_u_DQUOTE] = ACTIONS(2281), + [anon_sym_U_DQUOTE] = ACTIONS(2281), + [anon_sym_u8_DQUOTE] = ACTIONS(2281), + [anon_sym_DQUOTE] = ACTIONS(2281), + [sym_true] = ACTIONS(2279), + [sym_false] = ACTIONS(2279), + [sym_null] = ACTIONS(2279), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2279), + [anon_sym_decltype] = ACTIONS(2279), + [anon_sym_virtual] = ACTIONS(2279), + [anon_sym_explicit] = ACTIONS(2279), + [anon_sym_typename] = ACTIONS(2279), + [anon_sym_template] = ACTIONS(2279), + [anon_sym_operator] = ACTIONS(2279), + [anon_sym_delete] = ACTIONS(2279), + [anon_sym_throw] = ACTIONS(2279), + [anon_sym_namespace] = ACTIONS(2279), + [anon_sym_using] = ACTIONS(2279), + [anon_sym_static_assert] = ACTIONS(2279), + [anon_sym_concept] = ACTIONS(2279), + [anon_sym_co_return] = ACTIONS(2279), + [anon_sym_co_yield] = ACTIONS(2279), + [anon_sym_try] = ACTIONS(2279), + [anon_sym_co_await] = ACTIONS(2279), + [anon_sym_new] = ACTIONS(2279), + [anon_sym_requires] = ACTIONS(2279), + [sym_this] = ACTIONS(2279), + [sym_nullptr] = ACTIONS(2279), + [sym_raw_string_literal] = ACTIONS(2281), + }, + [428] = { + [sym_identifier] = ACTIONS(2283), + [aux_sym_preproc_include_token1] = ACTIONS(2283), + [aux_sym_preproc_def_token1] = ACTIONS(2283), + [aux_sym_preproc_if_token1] = ACTIONS(2283), + [aux_sym_preproc_if_token2] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2283), + [aux_sym_preproc_else_token1] = ACTIONS(2283), + [aux_sym_preproc_elif_token1] = ACTIONS(2283), + [sym_preproc_directive] = ACTIONS(2283), + [anon_sym_LPAREN2] = ACTIONS(2285), + [anon_sym_BANG] = ACTIONS(2285), + [anon_sym_TILDE] = ACTIONS(2285), + [anon_sym_DASH] = ACTIONS(2283), + [anon_sym_PLUS] = ACTIONS(2283), + [anon_sym_STAR] = ACTIONS(2285), + [anon_sym_AMP_AMP] = ACTIONS(2285), + [anon_sym_AMP] = ACTIONS(2283), + [anon_sym_SEMI] = ACTIONS(2285), + [anon_sym_typedef] = ACTIONS(2283), + [anon_sym_extern] = ACTIONS(2283), + [anon_sym___attribute__] = ACTIONS(2283), + [anon_sym_COLON_COLON] = ACTIONS(2285), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2285), + [anon_sym___declspec] = ACTIONS(2283), + [anon_sym___based] = ACTIONS(2283), + [anon_sym___cdecl] = ACTIONS(2283), + [anon_sym___clrcall] = ACTIONS(2283), + [anon_sym___stdcall] = ACTIONS(2283), + [anon_sym___fastcall] = ACTIONS(2283), + [anon_sym___thiscall] = ACTIONS(2283), + [anon_sym___vectorcall] = ACTIONS(2283), + [anon_sym_LBRACE] = ACTIONS(2285), + [anon_sym_LBRACK] = ACTIONS(2283), + [anon_sym_static] = ACTIONS(2283), + [anon_sym_register] = ACTIONS(2283), + [anon_sym_inline] = ACTIONS(2283), + [anon_sym_thread_local] = ACTIONS(2283), + [anon_sym_const] = ACTIONS(2283), + [anon_sym_volatile] = ACTIONS(2283), + [anon_sym_restrict] = ACTIONS(2283), + [anon_sym__Atomic] = ACTIONS(2283), + [anon_sym_mutable] = ACTIONS(2283), + [anon_sym_constexpr] = ACTIONS(2283), + [anon_sym_constinit] = ACTIONS(2283), + [anon_sym_consteval] = ACTIONS(2283), + [anon_sym_signed] = ACTIONS(2283), + [anon_sym_unsigned] = ACTIONS(2283), + [anon_sym_long] = ACTIONS(2283), + [anon_sym_short] = ACTIONS(2283), + [sym_primitive_type] = ACTIONS(2283), + [anon_sym_enum] = ACTIONS(2283), + [anon_sym_class] = ACTIONS(2283), + [anon_sym_struct] = ACTIONS(2283), + [anon_sym_union] = ACTIONS(2283), + [anon_sym_if] = ACTIONS(2283), + [anon_sym_switch] = ACTIONS(2283), + [anon_sym_case] = ACTIONS(2283), + [anon_sym_default] = ACTIONS(2283), + [anon_sym_while] = ACTIONS(2283), + [anon_sym_do] = ACTIONS(2283), + [anon_sym_for] = ACTIONS(2283), + [anon_sym_return] = ACTIONS(2283), + [anon_sym_break] = ACTIONS(2283), + [anon_sym_continue] = ACTIONS(2283), + [anon_sym_goto] = ACTIONS(2283), + [anon_sym_DASH_DASH] = ACTIONS(2285), + [anon_sym_PLUS_PLUS] = ACTIONS(2285), + [anon_sym_sizeof] = ACTIONS(2283), + [sym_number_literal] = ACTIONS(2285), + [anon_sym_L_SQUOTE] = ACTIONS(2285), + [anon_sym_u_SQUOTE] = ACTIONS(2285), + [anon_sym_U_SQUOTE] = ACTIONS(2285), + [anon_sym_u8_SQUOTE] = ACTIONS(2285), + [anon_sym_SQUOTE] = ACTIONS(2285), + [anon_sym_L_DQUOTE] = ACTIONS(2285), + [anon_sym_u_DQUOTE] = ACTIONS(2285), + [anon_sym_U_DQUOTE] = ACTIONS(2285), + [anon_sym_u8_DQUOTE] = ACTIONS(2285), + [anon_sym_DQUOTE] = ACTIONS(2285), + [sym_true] = ACTIONS(2283), + [sym_false] = ACTIONS(2283), + [sym_null] = ACTIONS(2283), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2283), + [anon_sym_decltype] = ACTIONS(2283), + [anon_sym_virtual] = ACTIONS(2283), + [anon_sym_explicit] = ACTIONS(2283), + [anon_sym_typename] = ACTIONS(2283), + [anon_sym_template] = ACTIONS(2283), + [anon_sym_operator] = ACTIONS(2283), + [anon_sym_delete] = ACTIONS(2283), + [anon_sym_throw] = ACTIONS(2283), + [anon_sym_namespace] = ACTIONS(2283), + [anon_sym_using] = ACTIONS(2283), + [anon_sym_static_assert] = ACTIONS(2283), + [anon_sym_concept] = ACTIONS(2283), + [anon_sym_co_return] = ACTIONS(2283), + [anon_sym_co_yield] = ACTIONS(2283), + [anon_sym_try] = ACTIONS(2283), + [anon_sym_co_await] = ACTIONS(2283), + [anon_sym_new] = ACTIONS(2283), + [anon_sym_requires] = ACTIONS(2283), + [sym_this] = ACTIONS(2283), + [sym_nullptr] = ACTIONS(2283), + [sym_raw_string_literal] = ACTIONS(2285), + }, + [429] = { + [sym_identifier] = ACTIONS(1873), + [aux_sym_preproc_include_token1] = ACTIONS(1873), + [aux_sym_preproc_def_token1] = ACTIONS(1873), + [aux_sym_preproc_if_token1] = ACTIONS(1873), + [aux_sym_preproc_if_token2] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1873), + [sym_preproc_directive] = ACTIONS(1873), + [anon_sym_LPAREN2] = ACTIONS(1875), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(1875), + [anon_sym_AMP_AMP] = ACTIONS(1875), + [anon_sym_AMP] = ACTIONS(1873), + [anon_sym_SEMI] = ACTIONS(1875), + [anon_sym_typedef] = ACTIONS(1873), + [anon_sym_extern] = ACTIONS(1873), + [anon_sym___attribute__] = ACTIONS(1873), + [anon_sym_COLON_COLON] = ACTIONS(1875), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1875), + [anon_sym___declspec] = ACTIONS(1873), + [anon_sym___based] = ACTIONS(1873), + [anon_sym___cdecl] = ACTIONS(1873), + [anon_sym___clrcall] = ACTIONS(1873), + [anon_sym___stdcall] = ACTIONS(1873), + [anon_sym___fastcall] = ACTIONS(1873), + [anon_sym___thiscall] = ACTIONS(1873), + [anon_sym___vectorcall] = ACTIONS(1873), + [anon_sym_LBRACE] = ACTIONS(1875), + [anon_sym_LBRACK] = ACTIONS(1873), + [anon_sym_static] = ACTIONS(1873), + [anon_sym_register] = ACTIONS(1873), + [anon_sym_inline] = ACTIONS(1873), + [anon_sym_thread_local] = ACTIONS(1873), + [anon_sym_const] = ACTIONS(1873), + [anon_sym_volatile] = ACTIONS(1873), + [anon_sym_restrict] = ACTIONS(1873), + [anon_sym__Atomic] = ACTIONS(1873), + [anon_sym_mutable] = ACTIONS(1873), + [anon_sym_constexpr] = ACTIONS(1873), + [anon_sym_constinit] = ACTIONS(1873), + [anon_sym_consteval] = ACTIONS(1873), + [anon_sym_signed] = ACTIONS(1873), + [anon_sym_unsigned] = ACTIONS(1873), + [anon_sym_long] = ACTIONS(1873), + [anon_sym_short] = ACTIONS(1873), + [sym_primitive_type] = ACTIONS(1873), + [anon_sym_enum] = ACTIONS(1873), + [anon_sym_class] = ACTIONS(1873), + [anon_sym_struct] = ACTIONS(1873), + [anon_sym_union] = ACTIONS(1873), + [anon_sym_if] = ACTIONS(1873), + [anon_sym_else] = ACTIONS(1873), + [anon_sym_switch] = ACTIONS(1873), + [anon_sym_case] = ACTIONS(1873), + [anon_sym_default] = ACTIONS(1873), + [anon_sym_while] = ACTIONS(1873), + [anon_sym_do] = ACTIONS(1873), + [anon_sym_for] = ACTIONS(1873), + [anon_sym_return] = ACTIONS(1873), + [anon_sym_break] = ACTIONS(1873), + [anon_sym_continue] = ACTIONS(1873), + [anon_sym_goto] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(1875), + [anon_sym_PLUS_PLUS] = ACTIONS(1875), + [anon_sym_sizeof] = ACTIONS(1873), + [sym_number_literal] = ACTIONS(1875), + [anon_sym_L_SQUOTE] = ACTIONS(1875), + [anon_sym_u_SQUOTE] = ACTIONS(1875), + [anon_sym_U_SQUOTE] = ACTIONS(1875), + [anon_sym_u8_SQUOTE] = ACTIONS(1875), + [anon_sym_SQUOTE] = ACTIONS(1875), + [anon_sym_L_DQUOTE] = ACTIONS(1875), + [anon_sym_u_DQUOTE] = ACTIONS(1875), + [anon_sym_U_DQUOTE] = ACTIONS(1875), + [anon_sym_u8_DQUOTE] = ACTIONS(1875), + [anon_sym_DQUOTE] = ACTIONS(1875), + [sym_true] = ACTIONS(1873), + [sym_false] = ACTIONS(1873), + [sym_null] = ACTIONS(1873), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1873), + [anon_sym_decltype] = ACTIONS(1873), + [anon_sym_virtual] = ACTIONS(1873), + [anon_sym_explicit] = ACTIONS(1873), + [anon_sym_typename] = ACTIONS(1873), + [anon_sym_template] = ACTIONS(1873), + [anon_sym_operator] = ACTIONS(1873), + [anon_sym_delete] = ACTIONS(1873), + [anon_sym_throw] = ACTIONS(1873), + [anon_sym_namespace] = ACTIONS(1873), + [anon_sym_using] = ACTIONS(1873), + [anon_sym_static_assert] = ACTIONS(1873), + [anon_sym_concept] = ACTIONS(1873), + [anon_sym_co_return] = ACTIONS(1873), + [anon_sym_co_yield] = ACTIONS(1873), + [anon_sym_try] = ACTIONS(1873), + [anon_sym_catch] = ACTIONS(1873), + [anon_sym_co_await] = ACTIONS(1873), + [anon_sym_new] = ACTIONS(1873), + [anon_sym_requires] = ACTIONS(1873), + [sym_this] = ACTIONS(1873), + [sym_nullptr] = ACTIONS(1873), + [sym_raw_string_literal] = ACTIONS(1875), + }, + [430] = { + [sym_identifier] = ACTIONS(1873), + [aux_sym_preproc_include_token1] = ACTIONS(1873), + [aux_sym_preproc_def_token1] = ACTIONS(1873), + [aux_sym_preproc_if_token1] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1873), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1873), + [sym_preproc_directive] = ACTIONS(1873), + [anon_sym_LPAREN2] = ACTIONS(1875), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(1875), + [anon_sym_AMP_AMP] = ACTIONS(1875), + [anon_sym_AMP] = ACTIONS(1873), + [anon_sym_SEMI] = ACTIONS(1875), + [anon_sym_typedef] = ACTIONS(1873), + [anon_sym_extern] = ACTIONS(1873), + [anon_sym___attribute__] = ACTIONS(1873), + [anon_sym_COLON_COLON] = ACTIONS(1875), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1875), + [anon_sym___declspec] = ACTIONS(1873), + [anon_sym___based] = ACTIONS(1873), + [anon_sym___cdecl] = ACTIONS(1873), + [anon_sym___clrcall] = ACTIONS(1873), + [anon_sym___stdcall] = ACTIONS(1873), + [anon_sym___fastcall] = ACTIONS(1873), + [anon_sym___thiscall] = ACTIONS(1873), + [anon_sym___vectorcall] = ACTIONS(1873), + [anon_sym_LBRACE] = ACTIONS(1875), + [anon_sym_RBRACE] = ACTIONS(1875), + [anon_sym_LBRACK] = ACTIONS(1873), + [anon_sym_static] = ACTIONS(1873), + [anon_sym_register] = ACTIONS(1873), + [anon_sym_inline] = ACTIONS(1873), + [anon_sym_thread_local] = ACTIONS(1873), + [anon_sym_const] = ACTIONS(1873), + [anon_sym_volatile] = ACTIONS(1873), + [anon_sym_restrict] = ACTIONS(1873), + [anon_sym__Atomic] = ACTIONS(1873), + [anon_sym_mutable] = ACTIONS(1873), + [anon_sym_constexpr] = ACTIONS(1873), + [anon_sym_constinit] = ACTIONS(1873), + [anon_sym_consteval] = ACTIONS(1873), + [anon_sym_signed] = ACTIONS(1873), + [anon_sym_unsigned] = ACTIONS(1873), + [anon_sym_long] = ACTIONS(1873), + [anon_sym_short] = ACTIONS(1873), + [sym_primitive_type] = ACTIONS(1873), + [anon_sym_enum] = ACTIONS(1873), + [anon_sym_class] = ACTIONS(1873), + [anon_sym_struct] = ACTIONS(1873), + [anon_sym_union] = ACTIONS(1873), + [anon_sym_if] = ACTIONS(1873), + [anon_sym_else] = ACTIONS(1873), + [anon_sym_switch] = ACTIONS(1873), + [anon_sym_case] = ACTIONS(1873), + [anon_sym_default] = ACTIONS(1873), + [anon_sym_while] = ACTIONS(1873), + [anon_sym_do] = ACTIONS(1873), + [anon_sym_for] = ACTIONS(1873), + [anon_sym_return] = ACTIONS(1873), + [anon_sym_break] = ACTIONS(1873), + [anon_sym_continue] = ACTIONS(1873), + [anon_sym_goto] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(1875), + [anon_sym_PLUS_PLUS] = ACTIONS(1875), + [anon_sym_sizeof] = ACTIONS(1873), + [sym_number_literal] = ACTIONS(1875), + [anon_sym_L_SQUOTE] = ACTIONS(1875), + [anon_sym_u_SQUOTE] = ACTIONS(1875), + [anon_sym_U_SQUOTE] = ACTIONS(1875), + [anon_sym_u8_SQUOTE] = ACTIONS(1875), + [anon_sym_SQUOTE] = ACTIONS(1875), + [anon_sym_L_DQUOTE] = ACTIONS(1875), + [anon_sym_u_DQUOTE] = ACTIONS(1875), + [anon_sym_U_DQUOTE] = ACTIONS(1875), + [anon_sym_u8_DQUOTE] = ACTIONS(1875), + [anon_sym_DQUOTE] = ACTIONS(1875), + [sym_true] = ACTIONS(1873), + [sym_false] = ACTIONS(1873), + [sym_null] = ACTIONS(1873), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1873), + [anon_sym_decltype] = ACTIONS(1873), + [anon_sym_virtual] = ACTIONS(1873), + [anon_sym_explicit] = ACTIONS(1873), + [anon_sym_typename] = ACTIONS(1873), + [anon_sym_template] = ACTIONS(1873), + [anon_sym_operator] = ACTIONS(1873), + [anon_sym_delete] = ACTIONS(1873), + [anon_sym_throw] = ACTIONS(1873), + [anon_sym_namespace] = ACTIONS(1873), + [anon_sym_using] = ACTIONS(1873), + [anon_sym_static_assert] = ACTIONS(1873), + [anon_sym_concept] = ACTIONS(1873), + [anon_sym_co_return] = ACTIONS(1873), + [anon_sym_co_yield] = ACTIONS(1873), + [anon_sym_try] = ACTIONS(1873), + [anon_sym_catch] = ACTIONS(1873), + [anon_sym_co_await] = ACTIONS(1873), + [anon_sym_new] = ACTIONS(1873), + [anon_sym_requires] = ACTIONS(1873), + [sym_this] = ACTIONS(1873), + [sym_nullptr] = ACTIONS(1873), + [sym_raw_string_literal] = ACTIONS(1875), + }, + [431] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3263), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5106), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5265), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2287), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [432] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3255), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5010), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5387), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2289), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [433] = { + [sym_identifier] = ACTIONS(2291), + [aux_sym_preproc_include_token1] = ACTIONS(2291), + [aux_sym_preproc_def_token1] = ACTIONS(2291), + [aux_sym_preproc_if_token1] = ACTIONS(2291), + [aux_sym_preproc_if_token2] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2291), + [aux_sym_preproc_else_token1] = ACTIONS(2291), + [aux_sym_preproc_elif_token1] = ACTIONS(2291), + [sym_preproc_directive] = ACTIONS(2291), + [anon_sym_LPAREN2] = ACTIONS(2293), + [anon_sym_BANG] = ACTIONS(2293), + [anon_sym_TILDE] = ACTIONS(2293), + [anon_sym_DASH] = ACTIONS(2291), + [anon_sym_PLUS] = ACTIONS(2291), + [anon_sym_STAR] = ACTIONS(2293), + [anon_sym_AMP_AMP] = ACTIONS(2293), + [anon_sym_AMP] = ACTIONS(2291), + [anon_sym_SEMI] = ACTIONS(2293), + [anon_sym_typedef] = ACTIONS(2291), + [anon_sym_extern] = ACTIONS(2291), + [anon_sym___attribute__] = ACTIONS(2291), + [anon_sym_COLON_COLON] = ACTIONS(2293), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2293), + [anon_sym___declspec] = ACTIONS(2291), + [anon_sym___based] = ACTIONS(2291), + [anon_sym___cdecl] = ACTIONS(2291), + [anon_sym___clrcall] = ACTIONS(2291), + [anon_sym___stdcall] = ACTIONS(2291), + [anon_sym___fastcall] = ACTIONS(2291), + [anon_sym___thiscall] = ACTIONS(2291), + [anon_sym___vectorcall] = ACTIONS(2291), + [anon_sym_LBRACE] = ACTIONS(2293), + [anon_sym_LBRACK] = ACTIONS(2291), + [anon_sym_static] = ACTIONS(2291), + [anon_sym_register] = ACTIONS(2291), + [anon_sym_inline] = ACTIONS(2291), + [anon_sym_thread_local] = ACTIONS(2291), + [anon_sym_const] = ACTIONS(2291), + [anon_sym_volatile] = ACTIONS(2291), + [anon_sym_restrict] = ACTIONS(2291), + [anon_sym__Atomic] = ACTIONS(2291), + [anon_sym_mutable] = ACTIONS(2291), + [anon_sym_constexpr] = ACTIONS(2291), + [anon_sym_constinit] = ACTIONS(2291), + [anon_sym_consteval] = ACTIONS(2291), + [anon_sym_signed] = ACTIONS(2291), + [anon_sym_unsigned] = ACTIONS(2291), + [anon_sym_long] = ACTIONS(2291), + [anon_sym_short] = ACTIONS(2291), + [sym_primitive_type] = ACTIONS(2291), + [anon_sym_enum] = ACTIONS(2291), + [anon_sym_class] = ACTIONS(2291), + [anon_sym_struct] = ACTIONS(2291), + [anon_sym_union] = ACTIONS(2291), + [anon_sym_if] = ACTIONS(2291), + [anon_sym_switch] = ACTIONS(2291), + [anon_sym_case] = ACTIONS(2291), + [anon_sym_default] = ACTIONS(2291), + [anon_sym_while] = ACTIONS(2291), + [anon_sym_do] = ACTIONS(2291), + [anon_sym_for] = ACTIONS(2291), + [anon_sym_return] = ACTIONS(2291), + [anon_sym_break] = ACTIONS(2291), + [anon_sym_continue] = ACTIONS(2291), + [anon_sym_goto] = ACTIONS(2291), + [anon_sym_DASH_DASH] = ACTIONS(2293), + [anon_sym_PLUS_PLUS] = ACTIONS(2293), + [anon_sym_sizeof] = ACTIONS(2291), + [sym_number_literal] = ACTIONS(2293), + [anon_sym_L_SQUOTE] = ACTIONS(2293), + [anon_sym_u_SQUOTE] = ACTIONS(2293), + [anon_sym_U_SQUOTE] = ACTIONS(2293), + [anon_sym_u8_SQUOTE] = ACTIONS(2293), + [anon_sym_SQUOTE] = ACTIONS(2293), + [anon_sym_L_DQUOTE] = ACTIONS(2293), + [anon_sym_u_DQUOTE] = ACTIONS(2293), + [anon_sym_U_DQUOTE] = ACTIONS(2293), + [anon_sym_u8_DQUOTE] = ACTIONS(2293), + [anon_sym_DQUOTE] = ACTIONS(2293), + [sym_true] = ACTIONS(2291), + [sym_false] = ACTIONS(2291), + [sym_null] = ACTIONS(2291), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2291), + [anon_sym_decltype] = ACTIONS(2291), + [anon_sym_virtual] = ACTIONS(2291), + [anon_sym_explicit] = ACTIONS(2291), + [anon_sym_typename] = ACTIONS(2291), + [anon_sym_template] = ACTIONS(2291), + [anon_sym_operator] = ACTIONS(2291), + [anon_sym_delete] = ACTIONS(2291), + [anon_sym_throw] = ACTIONS(2291), + [anon_sym_namespace] = ACTIONS(2291), + [anon_sym_using] = ACTIONS(2291), + [anon_sym_static_assert] = ACTIONS(2291), + [anon_sym_concept] = ACTIONS(2291), + [anon_sym_co_return] = ACTIONS(2291), + [anon_sym_co_yield] = ACTIONS(2291), + [anon_sym_try] = ACTIONS(2291), + [anon_sym_co_await] = ACTIONS(2291), + [anon_sym_new] = ACTIONS(2291), + [anon_sym_requires] = ACTIONS(2291), + [sym_this] = ACTIONS(2291), + [sym_nullptr] = ACTIONS(2291), + [sym_raw_string_literal] = ACTIONS(2293), + }, + [434] = { + [sym_identifier] = ACTIONS(2295), + [aux_sym_preproc_include_token1] = ACTIONS(2295), + [aux_sym_preproc_def_token1] = ACTIONS(2295), + [aux_sym_preproc_if_token1] = ACTIONS(2295), + [aux_sym_preproc_if_token2] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2295), + [aux_sym_preproc_else_token1] = ACTIONS(2295), + [aux_sym_preproc_elif_token1] = ACTIONS(2295), + [sym_preproc_directive] = ACTIONS(2295), + [anon_sym_LPAREN2] = ACTIONS(2297), + [anon_sym_BANG] = ACTIONS(2297), + [anon_sym_TILDE] = ACTIONS(2297), + [anon_sym_DASH] = ACTIONS(2295), + [anon_sym_PLUS] = ACTIONS(2295), + [anon_sym_STAR] = ACTIONS(2297), + [anon_sym_AMP_AMP] = ACTIONS(2297), + [anon_sym_AMP] = ACTIONS(2295), + [anon_sym_SEMI] = ACTIONS(2297), + [anon_sym_typedef] = ACTIONS(2295), + [anon_sym_extern] = ACTIONS(2295), + [anon_sym___attribute__] = ACTIONS(2295), + [anon_sym_COLON_COLON] = ACTIONS(2297), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2297), + [anon_sym___declspec] = ACTIONS(2295), + [anon_sym___based] = ACTIONS(2295), + [anon_sym___cdecl] = ACTIONS(2295), + [anon_sym___clrcall] = ACTIONS(2295), + [anon_sym___stdcall] = ACTIONS(2295), + [anon_sym___fastcall] = ACTIONS(2295), + [anon_sym___thiscall] = ACTIONS(2295), + [anon_sym___vectorcall] = ACTIONS(2295), + [anon_sym_LBRACE] = ACTIONS(2297), + [anon_sym_LBRACK] = ACTIONS(2295), + [anon_sym_static] = ACTIONS(2295), + [anon_sym_register] = ACTIONS(2295), + [anon_sym_inline] = ACTIONS(2295), + [anon_sym_thread_local] = ACTIONS(2295), + [anon_sym_const] = ACTIONS(2295), + [anon_sym_volatile] = ACTIONS(2295), + [anon_sym_restrict] = ACTIONS(2295), + [anon_sym__Atomic] = ACTIONS(2295), + [anon_sym_mutable] = ACTIONS(2295), + [anon_sym_constexpr] = ACTIONS(2295), + [anon_sym_constinit] = ACTIONS(2295), + [anon_sym_consteval] = ACTIONS(2295), + [anon_sym_signed] = ACTIONS(2295), + [anon_sym_unsigned] = ACTIONS(2295), + [anon_sym_long] = ACTIONS(2295), + [anon_sym_short] = ACTIONS(2295), + [sym_primitive_type] = ACTIONS(2295), + [anon_sym_enum] = ACTIONS(2295), + [anon_sym_class] = ACTIONS(2295), + [anon_sym_struct] = ACTIONS(2295), + [anon_sym_union] = ACTIONS(2295), + [anon_sym_if] = ACTIONS(2295), + [anon_sym_switch] = ACTIONS(2295), + [anon_sym_case] = ACTIONS(2295), + [anon_sym_default] = ACTIONS(2295), + [anon_sym_while] = ACTIONS(2295), + [anon_sym_do] = ACTIONS(2295), + [anon_sym_for] = ACTIONS(2295), + [anon_sym_return] = ACTIONS(2295), + [anon_sym_break] = ACTIONS(2295), + [anon_sym_continue] = ACTIONS(2295), + [anon_sym_goto] = ACTIONS(2295), + [anon_sym_DASH_DASH] = ACTIONS(2297), + [anon_sym_PLUS_PLUS] = ACTIONS(2297), + [anon_sym_sizeof] = ACTIONS(2295), + [sym_number_literal] = ACTIONS(2297), + [anon_sym_L_SQUOTE] = ACTIONS(2297), + [anon_sym_u_SQUOTE] = ACTIONS(2297), + [anon_sym_U_SQUOTE] = ACTIONS(2297), + [anon_sym_u8_SQUOTE] = ACTIONS(2297), + [anon_sym_SQUOTE] = ACTIONS(2297), + [anon_sym_L_DQUOTE] = ACTIONS(2297), + [anon_sym_u_DQUOTE] = ACTIONS(2297), + [anon_sym_U_DQUOTE] = ACTIONS(2297), + [anon_sym_u8_DQUOTE] = ACTIONS(2297), + [anon_sym_DQUOTE] = ACTIONS(2297), + [sym_true] = ACTIONS(2295), + [sym_false] = ACTIONS(2295), + [sym_null] = ACTIONS(2295), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2295), + [anon_sym_decltype] = ACTIONS(2295), + [anon_sym_virtual] = ACTIONS(2295), + [anon_sym_explicit] = ACTIONS(2295), + [anon_sym_typename] = ACTIONS(2295), + [anon_sym_template] = ACTIONS(2295), + [anon_sym_operator] = ACTIONS(2295), + [anon_sym_delete] = ACTIONS(2295), + [anon_sym_throw] = ACTIONS(2295), + [anon_sym_namespace] = ACTIONS(2295), + [anon_sym_using] = ACTIONS(2295), + [anon_sym_static_assert] = ACTIONS(2295), + [anon_sym_concept] = ACTIONS(2295), + [anon_sym_co_return] = ACTIONS(2295), + [anon_sym_co_yield] = ACTIONS(2295), + [anon_sym_try] = ACTIONS(2295), + [anon_sym_co_await] = ACTIONS(2295), + [anon_sym_new] = ACTIONS(2295), + [anon_sym_requires] = ACTIONS(2295), + [sym_this] = ACTIONS(2295), + [sym_nullptr] = ACTIONS(2295), + [sym_raw_string_literal] = ACTIONS(2297), + }, + [435] = { + [sym_identifier] = ACTIONS(2299), + [aux_sym_preproc_include_token1] = ACTIONS(2299), + [aux_sym_preproc_def_token1] = ACTIONS(2299), + [aux_sym_preproc_if_token1] = ACTIONS(2299), + [aux_sym_preproc_if_token2] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2299), + [aux_sym_preproc_else_token1] = ACTIONS(2299), + [aux_sym_preproc_elif_token1] = ACTIONS(2299), + [sym_preproc_directive] = ACTIONS(2299), + [anon_sym_LPAREN2] = ACTIONS(2301), + [anon_sym_BANG] = ACTIONS(2301), + [anon_sym_TILDE] = ACTIONS(2301), + [anon_sym_DASH] = ACTIONS(2299), + [anon_sym_PLUS] = ACTIONS(2299), + [anon_sym_STAR] = ACTIONS(2301), + [anon_sym_AMP_AMP] = ACTIONS(2301), + [anon_sym_AMP] = ACTIONS(2299), + [anon_sym_SEMI] = ACTIONS(2301), + [anon_sym_typedef] = ACTIONS(2299), + [anon_sym_extern] = ACTIONS(2299), + [anon_sym___attribute__] = ACTIONS(2299), + [anon_sym_COLON_COLON] = ACTIONS(2301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2301), + [anon_sym___declspec] = ACTIONS(2299), + [anon_sym___based] = ACTIONS(2299), + [anon_sym___cdecl] = ACTIONS(2299), + [anon_sym___clrcall] = ACTIONS(2299), + [anon_sym___stdcall] = ACTIONS(2299), + [anon_sym___fastcall] = ACTIONS(2299), + [anon_sym___thiscall] = ACTIONS(2299), + [anon_sym___vectorcall] = ACTIONS(2299), + [anon_sym_LBRACE] = ACTIONS(2301), + [anon_sym_LBRACK] = ACTIONS(2299), + [anon_sym_static] = ACTIONS(2299), + [anon_sym_register] = ACTIONS(2299), + [anon_sym_inline] = ACTIONS(2299), + [anon_sym_thread_local] = ACTIONS(2299), + [anon_sym_const] = ACTIONS(2299), + [anon_sym_volatile] = ACTIONS(2299), + [anon_sym_restrict] = ACTIONS(2299), + [anon_sym__Atomic] = ACTIONS(2299), + [anon_sym_mutable] = ACTIONS(2299), + [anon_sym_constexpr] = ACTIONS(2299), + [anon_sym_constinit] = ACTIONS(2299), + [anon_sym_consteval] = ACTIONS(2299), + [anon_sym_signed] = ACTIONS(2299), + [anon_sym_unsigned] = ACTIONS(2299), + [anon_sym_long] = ACTIONS(2299), + [anon_sym_short] = ACTIONS(2299), + [sym_primitive_type] = ACTIONS(2299), + [anon_sym_enum] = ACTIONS(2299), + [anon_sym_class] = ACTIONS(2299), + [anon_sym_struct] = ACTIONS(2299), + [anon_sym_union] = ACTIONS(2299), + [anon_sym_if] = ACTIONS(2299), + [anon_sym_switch] = ACTIONS(2299), + [anon_sym_case] = ACTIONS(2299), + [anon_sym_default] = ACTIONS(2299), + [anon_sym_while] = ACTIONS(2299), + [anon_sym_do] = ACTIONS(2299), + [anon_sym_for] = ACTIONS(2299), + [anon_sym_return] = ACTIONS(2299), + [anon_sym_break] = ACTIONS(2299), + [anon_sym_continue] = ACTIONS(2299), + [anon_sym_goto] = ACTIONS(2299), + [anon_sym_DASH_DASH] = ACTIONS(2301), + [anon_sym_PLUS_PLUS] = ACTIONS(2301), + [anon_sym_sizeof] = ACTIONS(2299), + [sym_number_literal] = ACTIONS(2301), + [anon_sym_L_SQUOTE] = ACTIONS(2301), + [anon_sym_u_SQUOTE] = ACTIONS(2301), + [anon_sym_U_SQUOTE] = ACTIONS(2301), + [anon_sym_u8_SQUOTE] = ACTIONS(2301), + [anon_sym_SQUOTE] = ACTIONS(2301), + [anon_sym_L_DQUOTE] = ACTIONS(2301), + [anon_sym_u_DQUOTE] = ACTIONS(2301), + [anon_sym_U_DQUOTE] = ACTIONS(2301), + [anon_sym_u8_DQUOTE] = ACTIONS(2301), + [anon_sym_DQUOTE] = ACTIONS(2301), + [sym_true] = ACTIONS(2299), + [sym_false] = ACTIONS(2299), + [sym_null] = ACTIONS(2299), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2299), + [anon_sym_decltype] = ACTIONS(2299), + [anon_sym_virtual] = ACTIONS(2299), + [anon_sym_explicit] = ACTIONS(2299), + [anon_sym_typename] = ACTIONS(2299), + [anon_sym_template] = ACTIONS(2299), + [anon_sym_operator] = ACTIONS(2299), + [anon_sym_delete] = ACTIONS(2299), + [anon_sym_throw] = ACTIONS(2299), + [anon_sym_namespace] = ACTIONS(2299), + [anon_sym_using] = ACTIONS(2299), + [anon_sym_static_assert] = ACTIONS(2299), + [anon_sym_concept] = ACTIONS(2299), + [anon_sym_co_return] = ACTIONS(2299), + [anon_sym_co_yield] = ACTIONS(2299), + [anon_sym_try] = ACTIONS(2299), + [anon_sym_co_await] = ACTIONS(2299), + [anon_sym_new] = ACTIONS(2299), + [anon_sym_requires] = ACTIONS(2299), + [sym_this] = ACTIONS(2299), + [sym_nullptr] = ACTIONS(2299), + [sym_raw_string_literal] = ACTIONS(2301), + }, + [436] = { + [sym_identifier] = ACTIONS(2303), + [aux_sym_preproc_include_token1] = ACTIONS(2303), + [aux_sym_preproc_def_token1] = ACTIONS(2303), + [aux_sym_preproc_if_token1] = ACTIONS(2303), + [aux_sym_preproc_if_token2] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2303), + [aux_sym_preproc_else_token1] = ACTIONS(2303), + [aux_sym_preproc_elif_token1] = ACTIONS(2303), + [sym_preproc_directive] = ACTIONS(2303), + [anon_sym_LPAREN2] = ACTIONS(2305), + [anon_sym_BANG] = ACTIONS(2305), + [anon_sym_TILDE] = ACTIONS(2305), + [anon_sym_DASH] = ACTIONS(2303), + [anon_sym_PLUS] = ACTIONS(2303), + [anon_sym_STAR] = ACTIONS(2305), + [anon_sym_AMP_AMP] = ACTIONS(2305), + [anon_sym_AMP] = ACTIONS(2303), + [anon_sym_SEMI] = ACTIONS(2305), + [anon_sym_typedef] = ACTIONS(2303), + [anon_sym_extern] = ACTIONS(2303), + [anon_sym___attribute__] = ACTIONS(2303), + [anon_sym_COLON_COLON] = ACTIONS(2305), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2305), + [anon_sym___declspec] = ACTIONS(2303), + [anon_sym___based] = ACTIONS(2303), + [anon_sym___cdecl] = ACTIONS(2303), + [anon_sym___clrcall] = ACTIONS(2303), + [anon_sym___stdcall] = ACTIONS(2303), + [anon_sym___fastcall] = ACTIONS(2303), + [anon_sym___thiscall] = ACTIONS(2303), + [anon_sym___vectorcall] = ACTIONS(2303), + [anon_sym_LBRACE] = ACTIONS(2305), + [anon_sym_LBRACK] = ACTIONS(2303), + [anon_sym_static] = ACTIONS(2303), + [anon_sym_register] = ACTIONS(2303), + [anon_sym_inline] = ACTIONS(2303), + [anon_sym_thread_local] = ACTIONS(2303), + [anon_sym_const] = ACTIONS(2303), + [anon_sym_volatile] = ACTIONS(2303), + [anon_sym_restrict] = ACTIONS(2303), + [anon_sym__Atomic] = ACTIONS(2303), + [anon_sym_mutable] = ACTIONS(2303), + [anon_sym_constexpr] = ACTIONS(2303), + [anon_sym_constinit] = ACTIONS(2303), + [anon_sym_consteval] = ACTIONS(2303), + [anon_sym_signed] = ACTIONS(2303), + [anon_sym_unsigned] = ACTIONS(2303), + [anon_sym_long] = ACTIONS(2303), + [anon_sym_short] = ACTIONS(2303), + [sym_primitive_type] = ACTIONS(2303), + [anon_sym_enum] = ACTIONS(2303), + [anon_sym_class] = ACTIONS(2303), + [anon_sym_struct] = ACTIONS(2303), + [anon_sym_union] = ACTIONS(2303), + [anon_sym_if] = ACTIONS(2303), + [anon_sym_switch] = ACTIONS(2303), + [anon_sym_case] = ACTIONS(2303), + [anon_sym_default] = ACTIONS(2303), + [anon_sym_while] = ACTIONS(2303), + [anon_sym_do] = ACTIONS(2303), + [anon_sym_for] = ACTIONS(2303), + [anon_sym_return] = ACTIONS(2303), + [anon_sym_break] = ACTIONS(2303), + [anon_sym_continue] = ACTIONS(2303), + [anon_sym_goto] = ACTIONS(2303), + [anon_sym_DASH_DASH] = ACTIONS(2305), + [anon_sym_PLUS_PLUS] = ACTIONS(2305), + [anon_sym_sizeof] = ACTIONS(2303), + [sym_number_literal] = ACTIONS(2305), + [anon_sym_L_SQUOTE] = ACTIONS(2305), + [anon_sym_u_SQUOTE] = ACTIONS(2305), + [anon_sym_U_SQUOTE] = ACTIONS(2305), + [anon_sym_u8_SQUOTE] = ACTIONS(2305), + [anon_sym_SQUOTE] = ACTIONS(2305), + [anon_sym_L_DQUOTE] = ACTIONS(2305), + [anon_sym_u_DQUOTE] = ACTIONS(2305), + [anon_sym_U_DQUOTE] = ACTIONS(2305), + [anon_sym_u8_DQUOTE] = ACTIONS(2305), + [anon_sym_DQUOTE] = ACTIONS(2305), + [sym_true] = ACTIONS(2303), + [sym_false] = ACTIONS(2303), + [sym_null] = ACTIONS(2303), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2303), + [anon_sym_decltype] = ACTIONS(2303), + [anon_sym_virtual] = ACTIONS(2303), + [anon_sym_explicit] = ACTIONS(2303), + [anon_sym_typename] = ACTIONS(2303), + [anon_sym_template] = ACTIONS(2303), + [anon_sym_operator] = ACTIONS(2303), + [anon_sym_delete] = ACTIONS(2303), + [anon_sym_throw] = ACTIONS(2303), + [anon_sym_namespace] = ACTIONS(2303), + [anon_sym_using] = ACTIONS(2303), + [anon_sym_static_assert] = ACTIONS(2303), + [anon_sym_concept] = ACTIONS(2303), + [anon_sym_co_return] = ACTIONS(2303), + [anon_sym_co_yield] = ACTIONS(2303), + [anon_sym_try] = ACTIONS(2303), + [anon_sym_co_await] = ACTIONS(2303), + [anon_sym_new] = ACTIONS(2303), + [anon_sym_requires] = ACTIONS(2303), + [sym_this] = ACTIONS(2303), + [sym_nullptr] = ACTIONS(2303), + [sym_raw_string_literal] = ACTIONS(2305), + }, + [437] = { + [sym_identifier] = ACTIONS(2307), + [aux_sym_preproc_include_token1] = ACTIONS(2307), + [aux_sym_preproc_def_token1] = ACTIONS(2307), + [aux_sym_preproc_if_token1] = ACTIONS(2307), + [aux_sym_preproc_if_token2] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2307), + [aux_sym_preproc_else_token1] = ACTIONS(2307), + [aux_sym_preproc_elif_token1] = ACTIONS(2307), + [sym_preproc_directive] = ACTIONS(2307), + [anon_sym_LPAREN2] = ACTIONS(2309), + [anon_sym_BANG] = ACTIONS(2309), + [anon_sym_TILDE] = ACTIONS(2309), + [anon_sym_DASH] = ACTIONS(2307), + [anon_sym_PLUS] = ACTIONS(2307), + [anon_sym_STAR] = ACTIONS(2309), + [anon_sym_AMP_AMP] = ACTIONS(2309), + [anon_sym_AMP] = ACTIONS(2307), + [anon_sym_SEMI] = ACTIONS(2309), + [anon_sym_typedef] = ACTIONS(2307), + [anon_sym_extern] = ACTIONS(2307), + [anon_sym___attribute__] = ACTIONS(2307), + [anon_sym_COLON_COLON] = ACTIONS(2309), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2309), + [anon_sym___declspec] = ACTIONS(2307), + [anon_sym___based] = ACTIONS(2307), + [anon_sym___cdecl] = ACTIONS(2307), + [anon_sym___clrcall] = ACTIONS(2307), + [anon_sym___stdcall] = ACTIONS(2307), + [anon_sym___fastcall] = ACTIONS(2307), + [anon_sym___thiscall] = ACTIONS(2307), + [anon_sym___vectorcall] = ACTIONS(2307), + [anon_sym_LBRACE] = ACTIONS(2309), + [anon_sym_LBRACK] = ACTIONS(2307), + [anon_sym_static] = ACTIONS(2307), + [anon_sym_register] = ACTIONS(2307), + [anon_sym_inline] = ACTIONS(2307), + [anon_sym_thread_local] = ACTIONS(2307), + [anon_sym_const] = ACTIONS(2307), + [anon_sym_volatile] = ACTIONS(2307), + [anon_sym_restrict] = ACTIONS(2307), + [anon_sym__Atomic] = ACTIONS(2307), + [anon_sym_mutable] = ACTIONS(2307), + [anon_sym_constexpr] = ACTIONS(2307), + [anon_sym_constinit] = ACTIONS(2307), + [anon_sym_consteval] = ACTIONS(2307), + [anon_sym_signed] = ACTIONS(2307), + [anon_sym_unsigned] = ACTIONS(2307), + [anon_sym_long] = ACTIONS(2307), + [anon_sym_short] = ACTIONS(2307), + [sym_primitive_type] = ACTIONS(2307), + [anon_sym_enum] = ACTIONS(2307), + [anon_sym_class] = ACTIONS(2307), + [anon_sym_struct] = ACTIONS(2307), + [anon_sym_union] = ACTIONS(2307), + [anon_sym_if] = ACTIONS(2307), + [anon_sym_switch] = ACTIONS(2307), + [anon_sym_case] = ACTIONS(2307), + [anon_sym_default] = ACTIONS(2307), + [anon_sym_while] = ACTIONS(2307), + [anon_sym_do] = ACTIONS(2307), + [anon_sym_for] = ACTIONS(2307), + [anon_sym_return] = ACTIONS(2307), + [anon_sym_break] = ACTIONS(2307), + [anon_sym_continue] = ACTIONS(2307), + [anon_sym_goto] = ACTIONS(2307), + [anon_sym_DASH_DASH] = ACTIONS(2309), + [anon_sym_PLUS_PLUS] = ACTIONS(2309), + [anon_sym_sizeof] = ACTIONS(2307), + [sym_number_literal] = ACTIONS(2309), + [anon_sym_L_SQUOTE] = ACTIONS(2309), + [anon_sym_u_SQUOTE] = ACTIONS(2309), + [anon_sym_U_SQUOTE] = ACTIONS(2309), + [anon_sym_u8_SQUOTE] = ACTIONS(2309), + [anon_sym_SQUOTE] = ACTIONS(2309), + [anon_sym_L_DQUOTE] = ACTIONS(2309), + [anon_sym_u_DQUOTE] = ACTIONS(2309), + [anon_sym_U_DQUOTE] = ACTIONS(2309), + [anon_sym_u8_DQUOTE] = ACTIONS(2309), + [anon_sym_DQUOTE] = ACTIONS(2309), + [sym_true] = ACTIONS(2307), + [sym_false] = ACTIONS(2307), + [sym_null] = ACTIONS(2307), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2307), + [anon_sym_decltype] = ACTIONS(2307), + [anon_sym_virtual] = ACTIONS(2307), + [anon_sym_explicit] = ACTIONS(2307), + [anon_sym_typename] = ACTIONS(2307), + [anon_sym_template] = ACTIONS(2307), + [anon_sym_operator] = ACTIONS(2307), + [anon_sym_delete] = ACTIONS(2307), + [anon_sym_throw] = ACTIONS(2307), + [anon_sym_namespace] = ACTIONS(2307), + [anon_sym_using] = ACTIONS(2307), + [anon_sym_static_assert] = ACTIONS(2307), + [anon_sym_concept] = ACTIONS(2307), + [anon_sym_co_return] = ACTIONS(2307), + [anon_sym_co_yield] = ACTIONS(2307), + [anon_sym_try] = ACTIONS(2307), + [anon_sym_co_await] = ACTIONS(2307), + [anon_sym_new] = ACTIONS(2307), + [anon_sym_requires] = ACTIONS(2307), + [sym_this] = ACTIONS(2307), + [sym_nullptr] = ACTIONS(2307), + [sym_raw_string_literal] = ACTIONS(2309), + }, + [438] = { + [sym_identifier] = ACTIONS(2311), + [aux_sym_preproc_include_token1] = ACTIONS(2311), + [aux_sym_preproc_def_token1] = ACTIONS(2311), + [aux_sym_preproc_if_token1] = ACTIONS(2311), + [aux_sym_preproc_if_token2] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2311), + [aux_sym_preproc_else_token1] = ACTIONS(2311), + [aux_sym_preproc_elif_token1] = ACTIONS(2311), + [sym_preproc_directive] = ACTIONS(2311), + [anon_sym_LPAREN2] = ACTIONS(2313), + [anon_sym_BANG] = ACTIONS(2313), + [anon_sym_TILDE] = ACTIONS(2313), + [anon_sym_DASH] = ACTIONS(2311), + [anon_sym_PLUS] = ACTIONS(2311), + [anon_sym_STAR] = ACTIONS(2313), + [anon_sym_AMP_AMP] = ACTIONS(2313), + [anon_sym_AMP] = ACTIONS(2311), + [anon_sym_SEMI] = ACTIONS(2313), + [anon_sym_typedef] = ACTIONS(2311), + [anon_sym_extern] = ACTIONS(2311), + [anon_sym___attribute__] = ACTIONS(2311), + [anon_sym_COLON_COLON] = ACTIONS(2313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2313), + [anon_sym___declspec] = ACTIONS(2311), + [anon_sym___based] = ACTIONS(2311), + [anon_sym___cdecl] = ACTIONS(2311), + [anon_sym___clrcall] = ACTIONS(2311), + [anon_sym___stdcall] = ACTIONS(2311), + [anon_sym___fastcall] = ACTIONS(2311), + [anon_sym___thiscall] = ACTIONS(2311), + [anon_sym___vectorcall] = ACTIONS(2311), + [anon_sym_LBRACE] = ACTIONS(2313), + [anon_sym_LBRACK] = ACTIONS(2311), + [anon_sym_static] = ACTIONS(2311), + [anon_sym_register] = ACTIONS(2311), + [anon_sym_inline] = ACTIONS(2311), + [anon_sym_thread_local] = ACTIONS(2311), + [anon_sym_const] = ACTIONS(2311), + [anon_sym_volatile] = ACTIONS(2311), + [anon_sym_restrict] = ACTIONS(2311), + [anon_sym__Atomic] = ACTIONS(2311), + [anon_sym_mutable] = ACTIONS(2311), + [anon_sym_constexpr] = ACTIONS(2311), + [anon_sym_constinit] = ACTIONS(2311), + [anon_sym_consteval] = ACTIONS(2311), + [anon_sym_signed] = ACTIONS(2311), + [anon_sym_unsigned] = ACTIONS(2311), + [anon_sym_long] = ACTIONS(2311), + [anon_sym_short] = ACTIONS(2311), + [sym_primitive_type] = ACTIONS(2311), + [anon_sym_enum] = ACTIONS(2311), + [anon_sym_class] = ACTIONS(2311), + [anon_sym_struct] = ACTIONS(2311), + [anon_sym_union] = ACTIONS(2311), + [anon_sym_if] = ACTIONS(2311), + [anon_sym_switch] = ACTIONS(2311), + [anon_sym_case] = ACTIONS(2311), + [anon_sym_default] = ACTIONS(2311), + [anon_sym_while] = ACTIONS(2311), + [anon_sym_do] = ACTIONS(2311), + [anon_sym_for] = ACTIONS(2311), + [anon_sym_return] = ACTIONS(2311), + [anon_sym_break] = ACTIONS(2311), + [anon_sym_continue] = ACTIONS(2311), + [anon_sym_goto] = ACTIONS(2311), + [anon_sym_DASH_DASH] = ACTIONS(2313), + [anon_sym_PLUS_PLUS] = ACTIONS(2313), + [anon_sym_sizeof] = ACTIONS(2311), + [sym_number_literal] = ACTIONS(2313), + [anon_sym_L_SQUOTE] = ACTIONS(2313), + [anon_sym_u_SQUOTE] = ACTIONS(2313), + [anon_sym_U_SQUOTE] = ACTIONS(2313), + [anon_sym_u8_SQUOTE] = ACTIONS(2313), + [anon_sym_SQUOTE] = ACTIONS(2313), + [anon_sym_L_DQUOTE] = ACTIONS(2313), + [anon_sym_u_DQUOTE] = ACTIONS(2313), + [anon_sym_U_DQUOTE] = ACTIONS(2313), + [anon_sym_u8_DQUOTE] = ACTIONS(2313), + [anon_sym_DQUOTE] = ACTIONS(2313), + [sym_true] = ACTIONS(2311), + [sym_false] = ACTIONS(2311), + [sym_null] = ACTIONS(2311), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2311), + [anon_sym_decltype] = ACTIONS(2311), + [anon_sym_virtual] = ACTIONS(2311), + [anon_sym_explicit] = ACTIONS(2311), + [anon_sym_typename] = ACTIONS(2311), + [anon_sym_template] = ACTIONS(2311), + [anon_sym_operator] = ACTIONS(2311), + [anon_sym_delete] = ACTIONS(2311), + [anon_sym_throw] = ACTIONS(2311), + [anon_sym_namespace] = ACTIONS(2311), + [anon_sym_using] = ACTIONS(2311), + [anon_sym_static_assert] = ACTIONS(2311), + [anon_sym_concept] = ACTIONS(2311), + [anon_sym_co_return] = ACTIONS(2311), + [anon_sym_co_yield] = ACTIONS(2311), + [anon_sym_try] = ACTIONS(2311), + [anon_sym_co_await] = ACTIONS(2311), + [anon_sym_new] = ACTIONS(2311), + [anon_sym_requires] = ACTIONS(2311), + [sym_this] = ACTIONS(2311), + [sym_nullptr] = ACTIONS(2311), + [sym_raw_string_literal] = ACTIONS(2313), + }, + [439] = { + [sym_identifier] = ACTIONS(2315), + [aux_sym_preproc_include_token1] = ACTIONS(2315), + [aux_sym_preproc_def_token1] = ACTIONS(2315), + [aux_sym_preproc_if_token1] = ACTIONS(2315), + [aux_sym_preproc_if_token2] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2315), + [aux_sym_preproc_else_token1] = ACTIONS(2315), + [aux_sym_preproc_elif_token1] = ACTIONS(2315), + [sym_preproc_directive] = ACTIONS(2315), + [anon_sym_LPAREN2] = ACTIONS(2317), + [anon_sym_BANG] = ACTIONS(2317), + [anon_sym_TILDE] = ACTIONS(2317), + [anon_sym_DASH] = ACTIONS(2315), + [anon_sym_PLUS] = ACTIONS(2315), + [anon_sym_STAR] = ACTIONS(2317), + [anon_sym_AMP_AMP] = ACTIONS(2317), + [anon_sym_AMP] = ACTIONS(2315), + [anon_sym_SEMI] = ACTIONS(2317), + [anon_sym_typedef] = ACTIONS(2315), + [anon_sym_extern] = ACTIONS(2315), + [anon_sym___attribute__] = ACTIONS(2315), + [anon_sym_COLON_COLON] = ACTIONS(2317), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2317), + [anon_sym___declspec] = ACTIONS(2315), + [anon_sym___based] = ACTIONS(2315), + [anon_sym___cdecl] = ACTIONS(2315), + [anon_sym___clrcall] = ACTIONS(2315), + [anon_sym___stdcall] = ACTIONS(2315), + [anon_sym___fastcall] = ACTIONS(2315), + [anon_sym___thiscall] = ACTIONS(2315), + [anon_sym___vectorcall] = ACTIONS(2315), + [anon_sym_LBRACE] = ACTIONS(2317), + [anon_sym_LBRACK] = ACTIONS(2315), + [anon_sym_static] = ACTIONS(2315), + [anon_sym_register] = ACTIONS(2315), + [anon_sym_inline] = ACTIONS(2315), + [anon_sym_thread_local] = ACTIONS(2315), + [anon_sym_const] = ACTIONS(2315), + [anon_sym_volatile] = ACTIONS(2315), + [anon_sym_restrict] = ACTIONS(2315), + [anon_sym__Atomic] = ACTIONS(2315), + [anon_sym_mutable] = ACTIONS(2315), + [anon_sym_constexpr] = ACTIONS(2315), + [anon_sym_constinit] = ACTIONS(2315), + [anon_sym_consteval] = ACTIONS(2315), + [anon_sym_signed] = ACTIONS(2315), + [anon_sym_unsigned] = ACTIONS(2315), + [anon_sym_long] = ACTIONS(2315), + [anon_sym_short] = ACTIONS(2315), + [sym_primitive_type] = ACTIONS(2315), + [anon_sym_enum] = ACTIONS(2315), + [anon_sym_class] = ACTIONS(2315), + [anon_sym_struct] = ACTIONS(2315), + [anon_sym_union] = ACTIONS(2315), + [anon_sym_if] = ACTIONS(2315), + [anon_sym_switch] = ACTIONS(2315), + [anon_sym_case] = ACTIONS(2315), + [anon_sym_default] = ACTIONS(2315), + [anon_sym_while] = ACTIONS(2315), + [anon_sym_do] = ACTIONS(2315), + [anon_sym_for] = ACTIONS(2315), + [anon_sym_return] = ACTIONS(2315), + [anon_sym_break] = ACTIONS(2315), + [anon_sym_continue] = ACTIONS(2315), + [anon_sym_goto] = ACTIONS(2315), + [anon_sym_DASH_DASH] = ACTIONS(2317), + [anon_sym_PLUS_PLUS] = ACTIONS(2317), + [anon_sym_sizeof] = ACTIONS(2315), + [sym_number_literal] = ACTIONS(2317), + [anon_sym_L_SQUOTE] = ACTIONS(2317), + [anon_sym_u_SQUOTE] = ACTIONS(2317), + [anon_sym_U_SQUOTE] = ACTIONS(2317), + [anon_sym_u8_SQUOTE] = ACTIONS(2317), + [anon_sym_SQUOTE] = ACTIONS(2317), + [anon_sym_L_DQUOTE] = ACTIONS(2317), + [anon_sym_u_DQUOTE] = ACTIONS(2317), + [anon_sym_U_DQUOTE] = ACTIONS(2317), + [anon_sym_u8_DQUOTE] = ACTIONS(2317), + [anon_sym_DQUOTE] = ACTIONS(2317), + [sym_true] = ACTIONS(2315), + [sym_false] = ACTIONS(2315), + [sym_null] = ACTIONS(2315), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2315), + [anon_sym_decltype] = ACTIONS(2315), + [anon_sym_virtual] = ACTIONS(2315), + [anon_sym_explicit] = ACTIONS(2315), + [anon_sym_typename] = ACTIONS(2315), + [anon_sym_template] = ACTIONS(2315), + [anon_sym_operator] = ACTIONS(2315), + [anon_sym_delete] = ACTIONS(2315), + [anon_sym_throw] = ACTIONS(2315), + [anon_sym_namespace] = ACTIONS(2315), + [anon_sym_using] = ACTIONS(2315), + [anon_sym_static_assert] = ACTIONS(2315), + [anon_sym_concept] = ACTIONS(2315), + [anon_sym_co_return] = ACTIONS(2315), + [anon_sym_co_yield] = ACTIONS(2315), + [anon_sym_try] = ACTIONS(2315), + [anon_sym_co_await] = ACTIONS(2315), + [anon_sym_new] = ACTIONS(2315), + [anon_sym_requires] = ACTIONS(2315), + [sym_this] = ACTIONS(2315), + [sym_nullptr] = ACTIONS(2315), + [sym_raw_string_literal] = ACTIONS(2317), + }, + [440] = { + [sym_identifier] = ACTIONS(2319), + [aux_sym_preproc_include_token1] = ACTIONS(2319), + [aux_sym_preproc_def_token1] = ACTIONS(2319), + [aux_sym_preproc_if_token1] = ACTIONS(2319), + [aux_sym_preproc_if_token2] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2319), + [aux_sym_preproc_else_token1] = ACTIONS(2319), + [aux_sym_preproc_elif_token1] = ACTIONS(2319), + [sym_preproc_directive] = ACTIONS(2319), + [anon_sym_LPAREN2] = ACTIONS(2321), + [anon_sym_BANG] = ACTIONS(2321), + [anon_sym_TILDE] = ACTIONS(2321), + [anon_sym_DASH] = ACTIONS(2319), + [anon_sym_PLUS] = ACTIONS(2319), + [anon_sym_STAR] = ACTIONS(2321), + [anon_sym_AMP_AMP] = ACTIONS(2321), + [anon_sym_AMP] = ACTIONS(2319), + [anon_sym_SEMI] = ACTIONS(2321), + [anon_sym_typedef] = ACTIONS(2319), + [anon_sym_extern] = ACTIONS(2319), + [anon_sym___attribute__] = ACTIONS(2319), + [anon_sym_COLON_COLON] = ACTIONS(2321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2321), + [anon_sym___declspec] = ACTIONS(2319), + [anon_sym___based] = ACTIONS(2319), + [anon_sym___cdecl] = ACTIONS(2319), + [anon_sym___clrcall] = ACTIONS(2319), + [anon_sym___stdcall] = ACTIONS(2319), + [anon_sym___fastcall] = ACTIONS(2319), + [anon_sym___thiscall] = ACTIONS(2319), + [anon_sym___vectorcall] = ACTIONS(2319), + [anon_sym_LBRACE] = ACTIONS(2321), + [anon_sym_LBRACK] = ACTIONS(2319), + [anon_sym_static] = ACTIONS(2319), + [anon_sym_register] = ACTIONS(2319), + [anon_sym_inline] = ACTIONS(2319), + [anon_sym_thread_local] = ACTIONS(2319), + [anon_sym_const] = ACTIONS(2319), + [anon_sym_volatile] = ACTIONS(2319), + [anon_sym_restrict] = ACTIONS(2319), + [anon_sym__Atomic] = ACTIONS(2319), + [anon_sym_mutable] = ACTIONS(2319), + [anon_sym_constexpr] = ACTIONS(2319), + [anon_sym_constinit] = ACTIONS(2319), + [anon_sym_consteval] = ACTIONS(2319), + [anon_sym_signed] = ACTIONS(2319), + [anon_sym_unsigned] = ACTIONS(2319), + [anon_sym_long] = ACTIONS(2319), + [anon_sym_short] = ACTIONS(2319), + [sym_primitive_type] = ACTIONS(2319), + [anon_sym_enum] = ACTIONS(2319), + [anon_sym_class] = ACTIONS(2319), + [anon_sym_struct] = ACTIONS(2319), + [anon_sym_union] = ACTIONS(2319), + [anon_sym_if] = ACTIONS(2319), + [anon_sym_switch] = ACTIONS(2319), + [anon_sym_case] = ACTIONS(2319), + [anon_sym_default] = ACTIONS(2319), + [anon_sym_while] = ACTIONS(2319), + [anon_sym_do] = ACTIONS(2319), + [anon_sym_for] = ACTIONS(2319), + [anon_sym_return] = ACTIONS(2319), + [anon_sym_break] = ACTIONS(2319), + [anon_sym_continue] = ACTIONS(2319), + [anon_sym_goto] = ACTIONS(2319), + [anon_sym_DASH_DASH] = ACTIONS(2321), + [anon_sym_PLUS_PLUS] = ACTIONS(2321), + [anon_sym_sizeof] = ACTIONS(2319), + [sym_number_literal] = ACTIONS(2321), + [anon_sym_L_SQUOTE] = ACTIONS(2321), + [anon_sym_u_SQUOTE] = ACTIONS(2321), + [anon_sym_U_SQUOTE] = ACTIONS(2321), + [anon_sym_u8_SQUOTE] = ACTIONS(2321), + [anon_sym_SQUOTE] = ACTIONS(2321), + [anon_sym_L_DQUOTE] = ACTIONS(2321), + [anon_sym_u_DQUOTE] = ACTIONS(2321), + [anon_sym_U_DQUOTE] = ACTIONS(2321), + [anon_sym_u8_DQUOTE] = ACTIONS(2321), + [anon_sym_DQUOTE] = ACTIONS(2321), + [sym_true] = ACTIONS(2319), + [sym_false] = ACTIONS(2319), + [sym_null] = ACTIONS(2319), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2319), + [anon_sym_decltype] = ACTIONS(2319), + [anon_sym_virtual] = ACTIONS(2319), + [anon_sym_explicit] = ACTIONS(2319), + [anon_sym_typename] = ACTIONS(2319), + [anon_sym_template] = ACTIONS(2319), + [anon_sym_operator] = ACTIONS(2319), + [anon_sym_delete] = ACTIONS(2319), + [anon_sym_throw] = ACTIONS(2319), + [anon_sym_namespace] = ACTIONS(2319), + [anon_sym_using] = ACTIONS(2319), + [anon_sym_static_assert] = ACTIONS(2319), + [anon_sym_concept] = ACTIONS(2319), + [anon_sym_co_return] = ACTIONS(2319), + [anon_sym_co_yield] = ACTIONS(2319), + [anon_sym_try] = ACTIONS(2319), + [anon_sym_co_await] = ACTIONS(2319), + [anon_sym_new] = ACTIONS(2319), + [anon_sym_requires] = ACTIONS(2319), + [sym_this] = ACTIONS(2319), + [sym_nullptr] = ACTIONS(2319), + [sym_raw_string_literal] = ACTIONS(2321), + }, + [441] = { + [sym_identifier] = ACTIONS(2323), + [aux_sym_preproc_include_token1] = ACTIONS(2323), + [aux_sym_preproc_def_token1] = ACTIONS(2323), + [aux_sym_preproc_if_token1] = ACTIONS(2323), + [aux_sym_preproc_if_token2] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2323), + [aux_sym_preproc_else_token1] = ACTIONS(2323), + [aux_sym_preproc_elif_token1] = ACTIONS(2323), + [sym_preproc_directive] = ACTIONS(2323), + [anon_sym_LPAREN2] = ACTIONS(2325), + [anon_sym_BANG] = ACTIONS(2325), + [anon_sym_TILDE] = ACTIONS(2325), + [anon_sym_DASH] = ACTIONS(2323), + [anon_sym_PLUS] = ACTIONS(2323), + [anon_sym_STAR] = ACTIONS(2325), + [anon_sym_AMP_AMP] = ACTIONS(2325), + [anon_sym_AMP] = ACTIONS(2323), + [anon_sym_SEMI] = ACTIONS(2325), + [anon_sym_typedef] = ACTIONS(2323), + [anon_sym_extern] = ACTIONS(2323), + [anon_sym___attribute__] = ACTIONS(2323), + [anon_sym_COLON_COLON] = ACTIONS(2325), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2325), + [anon_sym___declspec] = ACTIONS(2323), + [anon_sym___based] = ACTIONS(2323), + [anon_sym___cdecl] = ACTIONS(2323), + [anon_sym___clrcall] = ACTIONS(2323), + [anon_sym___stdcall] = ACTIONS(2323), + [anon_sym___fastcall] = ACTIONS(2323), + [anon_sym___thiscall] = ACTIONS(2323), + [anon_sym___vectorcall] = ACTIONS(2323), + [anon_sym_LBRACE] = ACTIONS(2325), + [anon_sym_LBRACK] = ACTIONS(2323), + [anon_sym_static] = ACTIONS(2323), + [anon_sym_register] = ACTIONS(2323), + [anon_sym_inline] = ACTIONS(2323), + [anon_sym_thread_local] = ACTIONS(2323), + [anon_sym_const] = ACTIONS(2323), + [anon_sym_volatile] = ACTIONS(2323), + [anon_sym_restrict] = ACTIONS(2323), + [anon_sym__Atomic] = ACTIONS(2323), + [anon_sym_mutable] = ACTIONS(2323), + [anon_sym_constexpr] = ACTIONS(2323), + [anon_sym_constinit] = ACTIONS(2323), + [anon_sym_consteval] = ACTIONS(2323), + [anon_sym_signed] = ACTIONS(2323), + [anon_sym_unsigned] = ACTIONS(2323), + [anon_sym_long] = ACTIONS(2323), + [anon_sym_short] = ACTIONS(2323), + [sym_primitive_type] = ACTIONS(2323), + [anon_sym_enum] = ACTIONS(2323), + [anon_sym_class] = ACTIONS(2323), + [anon_sym_struct] = ACTIONS(2323), + [anon_sym_union] = ACTIONS(2323), + [anon_sym_if] = ACTIONS(2323), + [anon_sym_switch] = ACTIONS(2323), + [anon_sym_case] = ACTIONS(2323), + [anon_sym_default] = ACTIONS(2323), + [anon_sym_while] = ACTIONS(2323), + [anon_sym_do] = ACTIONS(2323), + [anon_sym_for] = ACTIONS(2323), + [anon_sym_return] = ACTIONS(2323), + [anon_sym_break] = ACTIONS(2323), + [anon_sym_continue] = ACTIONS(2323), + [anon_sym_goto] = ACTIONS(2323), + [anon_sym_DASH_DASH] = ACTIONS(2325), + [anon_sym_PLUS_PLUS] = ACTIONS(2325), + [anon_sym_sizeof] = ACTIONS(2323), + [sym_number_literal] = ACTIONS(2325), + [anon_sym_L_SQUOTE] = ACTIONS(2325), + [anon_sym_u_SQUOTE] = ACTIONS(2325), + [anon_sym_U_SQUOTE] = ACTIONS(2325), + [anon_sym_u8_SQUOTE] = ACTIONS(2325), + [anon_sym_SQUOTE] = ACTIONS(2325), + [anon_sym_L_DQUOTE] = ACTIONS(2325), + [anon_sym_u_DQUOTE] = ACTIONS(2325), + [anon_sym_U_DQUOTE] = ACTIONS(2325), + [anon_sym_u8_DQUOTE] = ACTIONS(2325), + [anon_sym_DQUOTE] = ACTIONS(2325), + [sym_true] = ACTIONS(2323), + [sym_false] = ACTIONS(2323), + [sym_null] = ACTIONS(2323), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2323), + [anon_sym_decltype] = ACTIONS(2323), + [anon_sym_virtual] = ACTIONS(2323), + [anon_sym_explicit] = ACTIONS(2323), + [anon_sym_typename] = ACTIONS(2323), + [anon_sym_template] = ACTIONS(2323), + [anon_sym_operator] = ACTIONS(2323), + [anon_sym_delete] = ACTIONS(2323), + [anon_sym_throw] = ACTIONS(2323), + [anon_sym_namespace] = ACTIONS(2323), + [anon_sym_using] = ACTIONS(2323), + [anon_sym_static_assert] = ACTIONS(2323), + [anon_sym_concept] = ACTIONS(2323), + [anon_sym_co_return] = ACTIONS(2323), + [anon_sym_co_yield] = ACTIONS(2323), + [anon_sym_try] = ACTIONS(2323), + [anon_sym_co_await] = ACTIONS(2323), + [anon_sym_new] = ACTIONS(2323), + [anon_sym_requires] = ACTIONS(2323), + [sym_this] = ACTIONS(2323), + [sym_nullptr] = ACTIONS(2323), + [sym_raw_string_literal] = ACTIONS(2325), + }, + [442] = { + [sym_identifier] = ACTIONS(1877), + [aux_sym_preproc_include_token1] = ACTIONS(1877), + [aux_sym_preproc_def_token1] = ACTIONS(1877), + [aux_sym_preproc_if_token1] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1877), + [sym_preproc_directive] = ACTIONS(1877), + [anon_sym_LPAREN2] = ACTIONS(1879), + [anon_sym_BANG] = ACTIONS(1879), + [anon_sym_TILDE] = ACTIONS(1879), + [anon_sym_DASH] = ACTIONS(1877), + [anon_sym_PLUS] = ACTIONS(1877), + [anon_sym_STAR] = ACTIONS(1879), + [anon_sym_AMP_AMP] = ACTIONS(1879), + [anon_sym_AMP] = ACTIONS(1877), + [anon_sym_SEMI] = ACTIONS(1879), + [anon_sym_typedef] = ACTIONS(1877), + [anon_sym_extern] = ACTIONS(1877), + [anon_sym___attribute__] = ACTIONS(1877), + [anon_sym_COLON_COLON] = ACTIONS(1879), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1879), + [anon_sym___declspec] = ACTIONS(1877), + [anon_sym___based] = ACTIONS(1877), + [anon_sym___cdecl] = ACTIONS(1877), + [anon_sym___clrcall] = ACTIONS(1877), + [anon_sym___stdcall] = ACTIONS(1877), + [anon_sym___fastcall] = ACTIONS(1877), + [anon_sym___thiscall] = ACTIONS(1877), + [anon_sym___vectorcall] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_RBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1877), + [anon_sym_static] = ACTIONS(1877), + [anon_sym_register] = ACTIONS(1877), + [anon_sym_inline] = ACTIONS(1877), + [anon_sym_thread_local] = ACTIONS(1877), + [anon_sym_const] = ACTIONS(1877), + [anon_sym_volatile] = ACTIONS(1877), + [anon_sym_restrict] = ACTIONS(1877), + [anon_sym__Atomic] = ACTIONS(1877), + [anon_sym_mutable] = ACTIONS(1877), + [anon_sym_constexpr] = ACTIONS(1877), + [anon_sym_constinit] = ACTIONS(1877), + [anon_sym_consteval] = ACTIONS(1877), + [anon_sym_signed] = ACTIONS(1877), + [anon_sym_unsigned] = ACTIONS(1877), + [anon_sym_long] = ACTIONS(1877), + [anon_sym_short] = ACTIONS(1877), + [sym_primitive_type] = ACTIONS(1877), + [anon_sym_enum] = ACTIONS(1877), + [anon_sym_class] = ACTIONS(1877), + [anon_sym_struct] = ACTIONS(1877), + [anon_sym_union] = ACTIONS(1877), + [anon_sym_if] = ACTIONS(1877), + [anon_sym_else] = ACTIONS(1877), + [anon_sym_switch] = ACTIONS(1877), + [anon_sym_case] = ACTIONS(1877), + [anon_sym_default] = ACTIONS(1877), + [anon_sym_while] = ACTIONS(1877), + [anon_sym_do] = ACTIONS(1877), + [anon_sym_for] = ACTIONS(1877), + [anon_sym_return] = ACTIONS(1877), + [anon_sym_break] = ACTIONS(1877), + [anon_sym_continue] = ACTIONS(1877), + [anon_sym_goto] = ACTIONS(1877), + [anon_sym_DASH_DASH] = ACTIONS(1879), + [anon_sym_PLUS_PLUS] = ACTIONS(1879), + [anon_sym_sizeof] = ACTIONS(1877), + [sym_number_literal] = ACTIONS(1879), + [anon_sym_L_SQUOTE] = ACTIONS(1879), + [anon_sym_u_SQUOTE] = ACTIONS(1879), + [anon_sym_U_SQUOTE] = ACTIONS(1879), + [anon_sym_u8_SQUOTE] = ACTIONS(1879), + [anon_sym_SQUOTE] = ACTIONS(1879), + [anon_sym_L_DQUOTE] = ACTIONS(1879), + [anon_sym_u_DQUOTE] = ACTIONS(1879), + [anon_sym_U_DQUOTE] = ACTIONS(1879), + [anon_sym_u8_DQUOTE] = ACTIONS(1879), + [anon_sym_DQUOTE] = ACTIONS(1879), + [sym_true] = ACTIONS(1877), + [sym_false] = ACTIONS(1877), + [sym_null] = ACTIONS(1877), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1877), + [anon_sym_decltype] = ACTIONS(1877), + [anon_sym_virtual] = ACTIONS(1877), + [anon_sym_explicit] = ACTIONS(1877), + [anon_sym_typename] = ACTIONS(1877), + [anon_sym_template] = ACTIONS(1877), + [anon_sym_operator] = ACTIONS(1877), + [anon_sym_delete] = ACTIONS(1877), + [anon_sym_throw] = ACTIONS(1877), + [anon_sym_namespace] = ACTIONS(1877), + [anon_sym_using] = ACTIONS(1877), + [anon_sym_static_assert] = ACTIONS(1877), + [anon_sym_concept] = ACTIONS(1877), + [anon_sym_co_return] = ACTIONS(1877), + [anon_sym_co_yield] = ACTIONS(1877), + [anon_sym_try] = ACTIONS(1877), + [anon_sym_catch] = ACTIONS(1877), + [anon_sym_co_await] = ACTIONS(1877), + [anon_sym_new] = ACTIONS(1877), + [anon_sym_requires] = ACTIONS(1877), + [sym_this] = ACTIONS(1877), + [sym_nullptr] = ACTIONS(1877), + [sym_raw_string_literal] = ACTIONS(1879), + }, + [443] = { + [sym_identifier] = ACTIONS(2327), + [aux_sym_preproc_include_token1] = ACTIONS(2327), + [aux_sym_preproc_def_token1] = ACTIONS(2327), + [aux_sym_preproc_if_token1] = ACTIONS(2327), + [aux_sym_preproc_if_token2] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2327), + [aux_sym_preproc_else_token1] = ACTIONS(2327), + [aux_sym_preproc_elif_token1] = ACTIONS(2327), + [sym_preproc_directive] = ACTIONS(2327), + [anon_sym_LPAREN2] = ACTIONS(2329), + [anon_sym_BANG] = ACTIONS(2329), + [anon_sym_TILDE] = ACTIONS(2329), + [anon_sym_DASH] = ACTIONS(2327), + [anon_sym_PLUS] = ACTIONS(2327), + [anon_sym_STAR] = ACTIONS(2329), + [anon_sym_AMP_AMP] = ACTIONS(2329), + [anon_sym_AMP] = ACTIONS(2327), + [anon_sym_SEMI] = ACTIONS(2329), + [anon_sym_typedef] = ACTIONS(2327), + [anon_sym_extern] = ACTIONS(2327), + [anon_sym___attribute__] = ACTIONS(2327), + [anon_sym_COLON_COLON] = ACTIONS(2329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2329), + [anon_sym___declspec] = ACTIONS(2327), + [anon_sym___based] = ACTIONS(2327), + [anon_sym___cdecl] = ACTIONS(2327), + [anon_sym___clrcall] = ACTIONS(2327), + [anon_sym___stdcall] = ACTIONS(2327), + [anon_sym___fastcall] = ACTIONS(2327), + [anon_sym___thiscall] = ACTIONS(2327), + [anon_sym___vectorcall] = ACTIONS(2327), + [anon_sym_LBRACE] = ACTIONS(2329), + [anon_sym_LBRACK] = ACTIONS(2327), + [anon_sym_static] = ACTIONS(2327), + [anon_sym_register] = ACTIONS(2327), + [anon_sym_inline] = ACTIONS(2327), + [anon_sym_thread_local] = ACTIONS(2327), + [anon_sym_const] = ACTIONS(2327), + [anon_sym_volatile] = ACTIONS(2327), + [anon_sym_restrict] = ACTIONS(2327), + [anon_sym__Atomic] = ACTIONS(2327), + [anon_sym_mutable] = ACTIONS(2327), + [anon_sym_constexpr] = ACTIONS(2327), + [anon_sym_constinit] = ACTIONS(2327), + [anon_sym_consteval] = ACTIONS(2327), + [anon_sym_signed] = ACTIONS(2327), + [anon_sym_unsigned] = ACTIONS(2327), + [anon_sym_long] = ACTIONS(2327), + [anon_sym_short] = ACTIONS(2327), + [sym_primitive_type] = ACTIONS(2327), + [anon_sym_enum] = ACTIONS(2327), + [anon_sym_class] = ACTIONS(2327), + [anon_sym_struct] = ACTIONS(2327), + [anon_sym_union] = ACTIONS(2327), + [anon_sym_if] = ACTIONS(2327), + [anon_sym_switch] = ACTIONS(2327), + [anon_sym_case] = ACTIONS(2327), + [anon_sym_default] = ACTIONS(2327), + [anon_sym_while] = ACTIONS(2327), + [anon_sym_do] = ACTIONS(2327), + [anon_sym_for] = ACTIONS(2327), + [anon_sym_return] = ACTIONS(2327), + [anon_sym_break] = ACTIONS(2327), + [anon_sym_continue] = ACTIONS(2327), + [anon_sym_goto] = ACTIONS(2327), + [anon_sym_DASH_DASH] = ACTIONS(2329), + [anon_sym_PLUS_PLUS] = ACTIONS(2329), + [anon_sym_sizeof] = ACTIONS(2327), + [sym_number_literal] = ACTIONS(2329), + [anon_sym_L_SQUOTE] = ACTIONS(2329), + [anon_sym_u_SQUOTE] = ACTIONS(2329), + [anon_sym_U_SQUOTE] = ACTIONS(2329), + [anon_sym_u8_SQUOTE] = ACTIONS(2329), + [anon_sym_SQUOTE] = ACTIONS(2329), + [anon_sym_L_DQUOTE] = ACTIONS(2329), + [anon_sym_u_DQUOTE] = ACTIONS(2329), + [anon_sym_U_DQUOTE] = ACTIONS(2329), + [anon_sym_u8_DQUOTE] = ACTIONS(2329), + [anon_sym_DQUOTE] = ACTIONS(2329), + [sym_true] = ACTIONS(2327), + [sym_false] = ACTIONS(2327), + [sym_null] = ACTIONS(2327), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2327), + [anon_sym_decltype] = ACTIONS(2327), + [anon_sym_virtual] = ACTIONS(2327), + [anon_sym_explicit] = ACTIONS(2327), + [anon_sym_typename] = ACTIONS(2327), + [anon_sym_template] = ACTIONS(2327), + [anon_sym_operator] = ACTIONS(2327), + [anon_sym_delete] = ACTIONS(2327), + [anon_sym_throw] = ACTIONS(2327), + [anon_sym_namespace] = ACTIONS(2327), + [anon_sym_using] = ACTIONS(2327), + [anon_sym_static_assert] = ACTIONS(2327), + [anon_sym_concept] = ACTIONS(2327), + [anon_sym_co_return] = ACTIONS(2327), + [anon_sym_co_yield] = ACTIONS(2327), + [anon_sym_try] = ACTIONS(2327), + [anon_sym_co_await] = ACTIONS(2327), + [anon_sym_new] = ACTIONS(2327), + [anon_sym_requires] = ACTIONS(2327), + [sym_this] = ACTIONS(2327), + [sym_nullptr] = ACTIONS(2327), + [sym_raw_string_literal] = ACTIONS(2329), + }, + [444] = { + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token2] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1863), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_else] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_catch] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [445] = { + [sym_identifier] = ACTIONS(2331), + [aux_sym_preproc_include_token1] = ACTIONS(2331), + [aux_sym_preproc_def_token1] = ACTIONS(2331), + [aux_sym_preproc_if_token1] = ACTIONS(2331), + [aux_sym_preproc_if_token2] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2331), + [aux_sym_preproc_else_token1] = ACTIONS(2331), + [aux_sym_preproc_elif_token1] = ACTIONS(2331), + [sym_preproc_directive] = ACTIONS(2331), + [anon_sym_LPAREN2] = ACTIONS(2333), + [anon_sym_BANG] = ACTIONS(2333), + [anon_sym_TILDE] = ACTIONS(2333), + [anon_sym_DASH] = ACTIONS(2331), + [anon_sym_PLUS] = ACTIONS(2331), + [anon_sym_STAR] = ACTIONS(2333), + [anon_sym_AMP_AMP] = ACTIONS(2333), + [anon_sym_AMP] = ACTIONS(2331), + [anon_sym_SEMI] = ACTIONS(2333), + [anon_sym_typedef] = ACTIONS(2331), + [anon_sym_extern] = ACTIONS(2331), + [anon_sym___attribute__] = ACTIONS(2331), + [anon_sym_COLON_COLON] = ACTIONS(2333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2333), + [anon_sym___declspec] = ACTIONS(2331), + [anon_sym___based] = ACTIONS(2331), + [anon_sym___cdecl] = ACTIONS(2331), + [anon_sym___clrcall] = ACTIONS(2331), + [anon_sym___stdcall] = ACTIONS(2331), + [anon_sym___fastcall] = ACTIONS(2331), + [anon_sym___thiscall] = ACTIONS(2331), + [anon_sym___vectorcall] = ACTIONS(2331), + [anon_sym_LBRACE] = ACTIONS(2333), + [anon_sym_LBRACK] = ACTIONS(2331), + [anon_sym_static] = ACTIONS(2331), + [anon_sym_register] = ACTIONS(2331), + [anon_sym_inline] = ACTIONS(2331), + [anon_sym_thread_local] = ACTIONS(2331), + [anon_sym_const] = ACTIONS(2331), + [anon_sym_volatile] = ACTIONS(2331), + [anon_sym_restrict] = ACTIONS(2331), + [anon_sym__Atomic] = ACTIONS(2331), + [anon_sym_mutable] = ACTIONS(2331), + [anon_sym_constexpr] = ACTIONS(2331), + [anon_sym_constinit] = ACTIONS(2331), + [anon_sym_consteval] = ACTIONS(2331), + [anon_sym_signed] = ACTIONS(2331), + [anon_sym_unsigned] = ACTIONS(2331), + [anon_sym_long] = ACTIONS(2331), + [anon_sym_short] = ACTIONS(2331), + [sym_primitive_type] = ACTIONS(2331), + [anon_sym_enum] = ACTIONS(2331), + [anon_sym_class] = ACTIONS(2331), + [anon_sym_struct] = ACTIONS(2331), + [anon_sym_union] = ACTIONS(2331), + [anon_sym_if] = ACTIONS(2331), + [anon_sym_switch] = ACTIONS(2331), + [anon_sym_case] = ACTIONS(2331), + [anon_sym_default] = ACTIONS(2331), + [anon_sym_while] = ACTIONS(2331), + [anon_sym_do] = ACTIONS(2331), + [anon_sym_for] = ACTIONS(2331), + [anon_sym_return] = ACTIONS(2331), + [anon_sym_break] = ACTIONS(2331), + [anon_sym_continue] = ACTIONS(2331), + [anon_sym_goto] = ACTIONS(2331), + [anon_sym_DASH_DASH] = ACTIONS(2333), + [anon_sym_PLUS_PLUS] = ACTIONS(2333), + [anon_sym_sizeof] = ACTIONS(2331), + [sym_number_literal] = ACTIONS(2333), + [anon_sym_L_SQUOTE] = ACTIONS(2333), + [anon_sym_u_SQUOTE] = ACTIONS(2333), + [anon_sym_U_SQUOTE] = ACTIONS(2333), + [anon_sym_u8_SQUOTE] = ACTIONS(2333), + [anon_sym_SQUOTE] = ACTIONS(2333), + [anon_sym_L_DQUOTE] = ACTIONS(2333), + [anon_sym_u_DQUOTE] = ACTIONS(2333), + [anon_sym_U_DQUOTE] = ACTIONS(2333), + [anon_sym_u8_DQUOTE] = ACTIONS(2333), + [anon_sym_DQUOTE] = ACTIONS(2333), + [sym_true] = ACTIONS(2331), + [sym_false] = ACTIONS(2331), + [sym_null] = ACTIONS(2331), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2331), + [anon_sym_decltype] = ACTIONS(2331), + [anon_sym_virtual] = ACTIONS(2331), + [anon_sym_explicit] = ACTIONS(2331), + [anon_sym_typename] = ACTIONS(2331), + [anon_sym_template] = ACTIONS(2331), + [anon_sym_operator] = ACTIONS(2331), + [anon_sym_delete] = ACTIONS(2331), + [anon_sym_throw] = ACTIONS(2331), + [anon_sym_namespace] = ACTIONS(2331), + [anon_sym_using] = ACTIONS(2331), + [anon_sym_static_assert] = ACTIONS(2331), + [anon_sym_concept] = ACTIONS(2331), + [anon_sym_co_return] = ACTIONS(2331), + [anon_sym_co_yield] = ACTIONS(2331), + [anon_sym_try] = ACTIONS(2331), + [anon_sym_co_await] = ACTIONS(2331), + [anon_sym_new] = ACTIONS(2331), + [anon_sym_requires] = ACTIONS(2331), + [sym_this] = ACTIONS(2331), + [sym_nullptr] = ACTIONS(2331), + [sym_raw_string_literal] = ACTIONS(2333), + }, + [446] = { + [sym_identifier] = ACTIONS(2335), + [aux_sym_preproc_include_token1] = ACTIONS(2335), + [aux_sym_preproc_def_token1] = ACTIONS(2335), + [aux_sym_preproc_if_token1] = ACTIONS(2335), + [aux_sym_preproc_if_token2] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2335), + [aux_sym_preproc_else_token1] = ACTIONS(2335), + [aux_sym_preproc_elif_token1] = ACTIONS(2335), + [sym_preproc_directive] = ACTIONS(2335), + [anon_sym_LPAREN2] = ACTIONS(2337), + [anon_sym_BANG] = ACTIONS(2337), + [anon_sym_TILDE] = ACTIONS(2337), + [anon_sym_DASH] = ACTIONS(2335), + [anon_sym_PLUS] = ACTIONS(2335), + [anon_sym_STAR] = ACTIONS(2337), + [anon_sym_AMP_AMP] = ACTIONS(2337), + [anon_sym_AMP] = ACTIONS(2335), + [anon_sym_SEMI] = ACTIONS(2337), + [anon_sym_typedef] = ACTIONS(2335), + [anon_sym_extern] = ACTIONS(2335), + [anon_sym___attribute__] = ACTIONS(2335), + [anon_sym_COLON_COLON] = ACTIONS(2337), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2337), + [anon_sym___declspec] = ACTIONS(2335), + [anon_sym___based] = ACTIONS(2335), + [anon_sym___cdecl] = ACTIONS(2335), + [anon_sym___clrcall] = ACTIONS(2335), + [anon_sym___stdcall] = ACTIONS(2335), + [anon_sym___fastcall] = ACTIONS(2335), + [anon_sym___thiscall] = ACTIONS(2335), + [anon_sym___vectorcall] = ACTIONS(2335), + [anon_sym_LBRACE] = ACTIONS(2337), + [anon_sym_LBRACK] = ACTIONS(2335), + [anon_sym_static] = ACTIONS(2335), + [anon_sym_register] = ACTIONS(2335), + [anon_sym_inline] = ACTIONS(2335), + [anon_sym_thread_local] = ACTIONS(2335), + [anon_sym_const] = ACTIONS(2335), + [anon_sym_volatile] = ACTIONS(2335), + [anon_sym_restrict] = ACTIONS(2335), + [anon_sym__Atomic] = ACTIONS(2335), + [anon_sym_mutable] = ACTIONS(2335), + [anon_sym_constexpr] = ACTIONS(2335), + [anon_sym_constinit] = ACTIONS(2335), + [anon_sym_consteval] = ACTIONS(2335), + [anon_sym_signed] = ACTIONS(2335), + [anon_sym_unsigned] = ACTIONS(2335), + [anon_sym_long] = ACTIONS(2335), + [anon_sym_short] = ACTIONS(2335), + [sym_primitive_type] = ACTIONS(2335), + [anon_sym_enum] = ACTIONS(2335), + [anon_sym_class] = ACTIONS(2335), + [anon_sym_struct] = ACTIONS(2335), + [anon_sym_union] = ACTIONS(2335), + [anon_sym_if] = ACTIONS(2335), + [anon_sym_switch] = ACTIONS(2335), + [anon_sym_case] = ACTIONS(2335), + [anon_sym_default] = ACTIONS(2335), + [anon_sym_while] = ACTIONS(2335), + [anon_sym_do] = ACTIONS(2335), + [anon_sym_for] = ACTIONS(2335), + [anon_sym_return] = ACTIONS(2335), + [anon_sym_break] = ACTIONS(2335), + [anon_sym_continue] = ACTIONS(2335), + [anon_sym_goto] = ACTIONS(2335), + [anon_sym_DASH_DASH] = ACTIONS(2337), + [anon_sym_PLUS_PLUS] = ACTIONS(2337), + [anon_sym_sizeof] = ACTIONS(2335), + [sym_number_literal] = ACTIONS(2337), + [anon_sym_L_SQUOTE] = ACTIONS(2337), + [anon_sym_u_SQUOTE] = ACTIONS(2337), + [anon_sym_U_SQUOTE] = ACTIONS(2337), + [anon_sym_u8_SQUOTE] = ACTIONS(2337), + [anon_sym_SQUOTE] = ACTIONS(2337), + [anon_sym_L_DQUOTE] = ACTIONS(2337), + [anon_sym_u_DQUOTE] = ACTIONS(2337), + [anon_sym_U_DQUOTE] = ACTIONS(2337), + [anon_sym_u8_DQUOTE] = ACTIONS(2337), + [anon_sym_DQUOTE] = ACTIONS(2337), + [sym_true] = ACTIONS(2335), + [sym_false] = ACTIONS(2335), + [sym_null] = ACTIONS(2335), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2335), + [anon_sym_decltype] = ACTIONS(2335), + [anon_sym_virtual] = ACTIONS(2335), + [anon_sym_explicit] = ACTIONS(2335), + [anon_sym_typename] = ACTIONS(2335), + [anon_sym_template] = ACTIONS(2335), + [anon_sym_operator] = ACTIONS(2335), + [anon_sym_delete] = ACTIONS(2335), + [anon_sym_throw] = ACTIONS(2335), + [anon_sym_namespace] = ACTIONS(2335), + [anon_sym_using] = ACTIONS(2335), + [anon_sym_static_assert] = ACTIONS(2335), + [anon_sym_concept] = ACTIONS(2335), + [anon_sym_co_return] = ACTIONS(2335), + [anon_sym_co_yield] = ACTIONS(2335), + [anon_sym_try] = ACTIONS(2335), + [anon_sym_co_await] = ACTIONS(2335), + [anon_sym_new] = ACTIONS(2335), + [anon_sym_requires] = ACTIONS(2335), + [sym_this] = ACTIONS(2335), + [sym_nullptr] = ACTIONS(2335), + [sym_raw_string_literal] = ACTIONS(2337), + }, + [447] = { + [ts_builtin_sym_end] = ACTIONS(1879), + [sym_identifier] = ACTIONS(1877), + [aux_sym_preproc_include_token1] = ACTIONS(1877), + [aux_sym_preproc_def_token1] = ACTIONS(1877), + [aux_sym_preproc_if_token1] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1877), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1877), + [sym_preproc_directive] = ACTIONS(1877), + [anon_sym_LPAREN2] = ACTIONS(1879), + [anon_sym_BANG] = ACTIONS(1879), + [anon_sym_TILDE] = ACTIONS(1879), + [anon_sym_DASH] = ACTIONS(1877), + [anon_sym_PLUS] = ACTIONS(1877), + [anon_sym_STAR] = ACTIONS(1879), + [anon_sym_AMP_AMP] = ACTIONS(1879), + [anon_sym_AMP] = ACTIONS(1877), + [anon_sym_SEMI] = ACTIONS(1879), + [anon_sym_typedef] = ACTIONS(1877), + [anon_sym_extern] = ACTIONS(1877), + [anon_sym___attribute__] = ACTIONS(1877), + [anon_sym_COLON_COLON] = ACTIONS(1879), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1879), + [anon_sym___declspec] = ACTIONS(1877), + [anon_sym___based] = ACTIONS(1877), + [anon_sym___cdecl] = ACTIONS(1877), + [anon_sym___clrcall] = ACTIONS(1877), + [anon_sym___stdcall] = ACTIONS(1877), + [anon_sym___fastcall] = ACTIONS(1877), + [anon_sym___thiscall] = ACTIONS(1877), + [anon_sym___vectorcall] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1877), + [anon_sym_static] = ACTIONS(1877), + [anon_sym_register] = ACTIONS(1877), + [anon_sym_inline] = ACTIONS(1877), + [anon_sym_thread_local] = ACTIONS(1877), + [anon_sym_const] = ACTIONS(1877), + [anon_sym_volatile] = ACTIONS(1877), + [anon_sym_restrict] = ACTIONS(1877), + [anon_sym__Atomic] = ACTIONS(1877), + [anon_sym_mutable] = ACTIONS(1877), + [anon_sym_constexpr] = ACTIONS(1877), + [anon_sym_constinit] = ACTIONS(1877), + [anon_sym_consteval] = ACTIONS(1877), + [anon_sym_signed] = ACTIONS(1877), + [anon_sym_unsigned] = ACTIONS(1877), + [anon_sym_long] = ACTIONS(1877), + [anon_sym_short] = ACTIONS(1877), + [sym_primitive_type] = ACTIONS(1877), + [anon_sym_enum] = ACTIONS(1877), + [anon_sym_class] = ACTIONS(1877), + [anon_sym_struct] = ACTIONS(1877), + [anon_sym_union] = ACTIONS(1877), + [anon_sym_if] = ACTIONS(1877), + [anon_sym_else] = ACTIONS(1877), + [anon_sym_switch] = ACTIONS(1877), + [anon_sym_case] = ACTIONS(1877), + [anon_sym_default] = ACTIONS(1877), + [anon_sym_while] = ACTIONS(1877), + [anon_sym_do] = ACTIONS(1877), + [anon_sym_for] = ACTIONS(1877), + [anon_sym_return] = ACTIONS(1877), + [anon_sym_break] = ACTIONS(1877), + [anon_sym_continue] = ACTIONS(1877), + [anon_sym_goto] = ACTIONS(1877), + [anon_sym_DASH_DASH] = ACTIONS(1879), + [anon_sym_PLUS_PLUS] = ACTIONS(1879), + [anon_sym_sizeof] = ACTIONS(1877), + [sym_number_literal] = ACTIONS(1879), + [anon_sym_L_SQUOTE] = ACTIONS(1879), + [anon_sym_u_SQUOTE] = ACTIONS(1879), + [anon_sym_U_SQUOTE] = ACTIONS(1879), + [anon_sym_u8_SQUOTE] = ACTIONS(1879), + [anon_sym_SQUOTE] = ACTIONS(1879), + [anon_sym_L_DQUOTE] = ACTIONS(1879), + [anon_sym_u_DQUOTE] = ACTIONS(1879), + [anon_sym_U_DQUOTE] = ACTIONS(1879), + [anon_sym_u8_DQUOTE] = ACTIONS(1879), + [anon_sym_DQUOTE] = ACTIONS(1879), + [sym_true] = ACTIONS(1877), + [sym_false] = ACTIONS(1877), + [sym_null] = ACTIONS(1877), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1877), + [anon_sym_decltype] = ACTIONS(1877), + [anon_sym_virtual] = ACTIONS(1877), + [anon_sym_explicit] = ACTIONS(1877), + [anon_sym_typename] = ACTIONS(1877), + [anon_sym_template] = ACTIONS(1877), + [anon_sym_operator] = ACTIONS(1877), + [anon_sym_delete] = ACTIONS(1877), + [anon_sym_throw] = ACTIONS(1877), + [anon_sym_namespace] = ACTIONS(1877), + [anon_sym_using] = ACTIONS(1877), + [anon_sym_static_assert] = ACTIONS(1877), + [anon_sym_concept] = ACTIONS(1877), + [anon_sym_co_return] = ACTIONS(1877), + [anon_sym_co_yield] = ACTIONS(1877), + [anon_sym_try] = ACTIONS(1877), + [anon_sym_catch] = ACTIONS(1877), + [anon_sym_co_await] = ACTIONS(1877), + [anon_sym_new] = ACTIONS(1877), + [anon_sym_requires] = ACTIONS(1877), + [sym_this] = ACTIONS(1877), + [sym_nullptr] = ACTIONS(1877), + [sym_raw_string_literal] = ACTIONS(1879), + }, + [448] = { + [sym_identifier] = ACTIONS(2339), + [aux_sym_preproc_include_token1] = ACTIONS(2339), + [aux_sym_preproc_def_token1] = ACTIONS(2339), + [aux_sym_preproc_if_token1] = ACTIONS(2339), + [aux_sym_preproc_if_token2] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2339), + [aux_sym_preproc_else_token1] = ACTIONS(2339), + [aux_sym_preproc_elif_token1] = ACTIONS(2339), + [sym_preproc_directive] = ACTIONS(2339), + [anon_sym_LPAREN2] = ACTIONS(2341), + [anon_sym_BANG] = ACTIONS(2341), + [anon_sym_TILDE] = ACTIONS(2341), + [anon_sym_DASH] = ACTIONS(2339), + [anon_sym_PLUS] = ACTIONS(2339), + [anon_sym_STAR] = ACTIONS(2341), + [anon_sym_AMP_AMP] = ACTIONS(2341), + [anon_sym_AMP] = ACTIONS(2339), + [anon_sym_SEMI] = ACTIONS(2341), + [anon_sym_typedef] = ACTIONS(2339), + [anon_sym_extern] = ACTIONS(2339), + [anon_sym___attribute__] = ACTIONS(2339), + [anon_sym_COLON_COLON] = ACTIONS(2341), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2341), + [anon_sym___declspec] = ACTIONS(2339), + [anon_sym___based] = ACTIONS(2339), + [anon_sym___cdecl] = ACTIONS(2339), + [anon_sym___clrcall] = ACTIONS(2339), + [anon_sym___stdcall] = ACTIONS(2339), + [anon_sym___fastcall] = ACTIONS(2339), + [anon_sym___thiscall] = ACTIONS(2339), + [anon_sym___vectorcall] = ACTIONS(2339), + [anon_sym_LBRACE] = ACTIONS(2341), + [anon_sym_LBRACK] = ACTIONS(2339), + [anon_sym_static] = ACTIONS(2339), + [anon_sym_register] = ACTIONS(2339), + [anon_sym_inline] = ACTIONS(2339), + [anon_sym_thread_local] = ACTIONS(2339), + [anon_sym_const] = ACTIONS(2339), + [anon_sym_volatile] = ACTIONS(2339), + [anon_sym_restrict] = ACTIONS(2339), + [anon_sym__Atomic] = ACTIONS(2339), + [anon_sym_mutable] = ACTIONS(2339), + [anon_sym_constexpr] = ACTIONS(2339), + [anon_sym_constinit] = ACTIONS(2339), + [anon_sym_consteval] = ACTIONS(2339), + [anon_sym_signed] = ACTIONS(2339), + [anon_sym_unsigned] = ACTIONS(2339), + [anon_sym_long] = ACTIONS(2339), + [anon_sym_short] = ACTIONS(2339), + [sym_primitive_type] = ACTIONS(2339), + [anon_sym_enum] = ACTIONS(2339), + [anon_sym_class] = ACTIONS(2339), + [anon_sym_struct] = ACTIONS(2339), + [anon_sym_union] = ACTIONS(2339), + [anon_sym_if] = ACTIONS(2339), + [anon_sym_switch] = ACTIONS(2339), + [anon_sym_case] = ACTIONS(2339), + [anon_sym_default] = ACTIONS(2339), + [anon_sym_while] = ACTIONS(2339), + [anon_sym_do] = ACTIONS(2339), + [anon_sym_for] = ACTIONS(2339), + [anon_sym_return] = ACTIONS(2339), + [anon_sym_break] = ACTIONS(2339), + [anon_sym_continue] = ACTIONS(2339), + [anon_sym_goto] = ACTIONS(2339), + [anon_sym_DASH_DASH] = ACTIONS(2341), + [anon_sym_PLUS_PLUS] = ACTIONS(2341), + [anon_sym_sizeof] = ACTIONS(2339), + [sym_number_literal] = ACTIONS(2341), + [anon_sym_L_SQUOTE] = ACTIONS(2341), + [anon_sym_u_SQUOTE] = ACTIONS(2341), + [anon_sym_U_SQUOTE] = ACTIONS(2341), + [anon_sym_u8_SQUOTE] = ACTIONS(2341), + [anon_sym_SQUOTE] = ACTIONS(2341), + [anon_sym_L_DQUOTE] = ACTIONS(2341), + [anon_sym_u_DQUOTE] = ACTIONS(2341), + [anon_sym_U_DQUOTE] = ACTIONS(2341), + [anon_sym_u8_DQUOTE] = ACTIONS(2341), + [anon_sym_DQUOTE] = ACTIONS(2341), + [sym_true] = ACTIONS(2339), + [sym_false] = ACTIONS(2339), + [sym_null] = ACTIONS(2339), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2339), + [anon_sym_decltype] = ACTIONS(2339), + [anon_sym_virtual] = ACTIONS(2339), + [anon_sym_explicit] = ACTIONS(2339), + [anon_sym_typename] = ACTIONS(2339), + [anon_sym_template] = ACTIONS(2339), + [anon_sym_operator] = ACTIONS(2339), + [anon_sym_delete] = ACTIONS(2339), + [anon_sym_throw] = ACTIONS(2339), + [anon_sym_namespace] = ACTIONS(2339), + [anon_sym_using] = ACTIONS(2339), + [anon_sym_static_assert] = ACTIONS(2339), + [anon_sym_concept] = ACTIONS(2339), + [anon_sym_co_return] = ACTIONS(2339), + [anon_sym_co_yield] = ACTIONS(2339), + [anon_sym_try] = ACTIONS(2339), + [anon_sym_co_await] = ACTIONS(2339), + [anon_sym_new] = ACTIONS(2339), + [anon_sym_requires] = ACTIONS(2339), + [sym_this] = ACTIONS(2339), + [sym_nullptr] = ACTIONS(2339), + [sym_raw_string_literal] = ACTIONS(2341), + }, + [449] = { + [sym_identifier] = ACTIONS(2343), + [aux_sym_preproc_include_token1] = ACTIONS(2343), + [aux_sym_preproc_def_token1] = ACTIONS(2343), + [aux_sym_preproc_if_token1] = ACTIONS(2343), + [aux_sym_preproc_if_token2] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2343), + [aux_sym_preproc_else_token1] = ACTIONS(2343), + [aux_sym_preproc_elif_token1] = ACTIONS(2343), + [sym_preproc_directive] = ACTIONS(2343), + [anon_sym_LPAREN2] = ACTIONS(2345), + [anon_sym_BANG] = ACTIONS(2345), + [anon_sym_TILDE] = ACTIONS(2345), + [anon_sym_DASH] = ACTIONS(2343), + [anon_sym_PLUS] = ACTIONS(2343), + [anon_sym_STAR] = ACTIONS(2345), + [anon_sym_AMP_AMP] = ACTIONS(2345), + [anon_sym_AMP] = ACTIONS(2343), + [anon_sym_SEMI] = ACTIONS(2345), + [anon_sym_typedef] = ACTIONS(2343), + [anon_sym_extern] = ACTIONS(2343), + [anon_sym___attribute__] = ACTIONS(2343), + [anon_sym_COLON_COLON] = ACTIONS(2345), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2345), + [anon_sym___declspec] = ACTIONS(2343), + [anon_sym___based] = ACTIONS(2343), + [anon_sym___cdecl] = ACTIONS(2343), + [anon_sym___clrcall] = ACTIONS(2343), + [anon_sym___stdcall] = ACTIONS(2343), + [anon_sym___fastcall] = ACTIONS(2343), + [anon_sym___thiscall] = ACTIONS(2343), + [anon_sym___vectorcall] = ACTIONS(2343), + [anon_sym_LBRACE] = ACTIONS(2345), + [anon_sym_LBRACK] = ACTIONS(2343), + [anon_sym_static] = ACTIONS(2343), + [anon_sym_register] = ACTIONS(2343), + [anon_sym_inline] = ACTIONS(2343), + [anon_sym_thread_local] = ACTIONS(2343), + [anon_sym_const] = ACTIONS(2343), + [anon_sym_volatile] = ACTIONS(2343), + [anon_sym_restrict] = ACTIONS(2343), + [anon_sym__Atomic] = ACTIONS(2343), + [anon_sym_mutable] = ACTIONS(2343), + [anon_sym_constexpr] = ACTIONS(2343), + [anon_sym_constinit] = ACTIONS(2343), + [anon_sym_consteval] = ACTIONS(2343), + [anon_sym_signed] = ACTIONS(2343), + [anon_sym_unsigned] = ACTIONS(2343), + [anon_sym_long] = ACTIONS(2343), + [anon_sym_short] = ACTIONS(2343), + [sym_primitive_type] = ACTIONS(2343), + [anon_sym_enum] = ACTIONS(2343), + [anon_sym_class] = ACTIONS(2343), + [anon_sym_struct] = ACTIONS(2343), + [anon_sym_union] = ACTIONS(2343), + [anon_sym_if] = ACTIONS(2343), + [anon_sym_switch] = ACTIONS(2343), + [anon_sym_case] = ACTIONS(2343), + [anon_sym_default] = ACTIONS(2343), + [anon_sym_while] = ACTIONS(2343), + [anon_sym_do] = ACTIONS(2343), + [anon_sym_for] = ACTIONS(2343), + [anon_sym_return] = ACTIONS(2343), + [anon_sym_break] = ACTIONS(2343), + [anon_sym_continue] = ACTIONS(2343), + [anon_sym_goto] = ACTIONS(2343), + [anon_sym_DASH_DASH] = ACTIONS(2345), + [anon_sym_PLUS_PLUS] = ACTIONS(2345), + [anon_sym_sizeof] = ACTIONS(2343), + [sym_number_literal] = ACTIONS(2345), + [anon_sym_L_SQUOTE] = ACTIONS(2345), + [anon_sym_u_SQUOTE] = ACTIONS(2345), + [anon_sym_U_SQUOTE] = ACTIONS(2345), + [anon_sym_u8_SQUOTE] = ACTIONS(2345), + [anon_sym_SQUOTE] = ACTIONS(2345), + [anon_sym_L_DQUOTE] = ACTIONS(2345), + [anon_sym_u_DQUOTE] = ACTIONS(2345), + [anon_sym_U_DQUOTE] = ACTIONS(2345), + [anon_sym_u8_DQUOTE] = ACTIONS(2345), + [anon_sym_DQUOTE] = ACTIONS(2345), + [sym_true] = ACTIONS(2343), + [sym_false] = ACTIONS(2343), + [sym_null] = ACTIONS(2343), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2343), + [anon_sym_decltype] = ACTIONS(2343), + [anon_sym_virtual] = ACTIONS(2343), + [anon_sym_explicit] = ACTIONS(2343), + [anon_sym_typename] = ACTIONS(2343), + [anon_sym_template] = ACTIONS(2343), + [anon_sym_operator] = ACTIONS(2343), + [anon_sym_delete] = ACTIONS(2343), + [anon_sym_throw] = ACTIONS(2343), + [anon_sym_namespace] = ACTIONS(2343), + [anon_sym_using] = ACTIONS(2343), + [anon_sym_static_assert] = ACTIONS(2343), + [anon_sym_concept] = ACTIONS(2343), + [anon_sym_co_return] = ACTIONS(2343), + [anon_sym_co_yield] = ACTIONS(2343), + [anon_sym_try] = ACTIONS(2343), + [anon_sym_co_await] = ACTIONS(2343), + [anon_sym_new] = ACTIONS(2343), + [anon_sym_requires] = ACTIONS(2343), + [sym_this] = ACTIONS(2343), + [sym_nullptr] = ACTIONS(2343), + [sym_raw_string_literal] = ACTIONS(2345), + }, + [450] = { + [sym_identifier] = ACTIONS(2347), + [aux_sym_preproc_include_token1] = ACTIONS(2347), + [aux_sym_preproc_def_token1] = ACTIONS(2347), + [aux_sym_preproc_if_token1] = ACTIONS(2347), + [aux_sym_preproc_if_token2] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2347), + [aux_sym_preproc_else_token1] = ACTIONS(2347), + [aux_sym_preproc_elif_token1] = ACTIONS(2347), + [sym_preproc_directive] = ACTIONS(2347), + [anon_sym_LPAREN2] = ACTIONS(2349), + [anon_sym_BANG] = ACTIONS(2349), + [anon_sym_TILDE] = ACTIONS(2349), + [anon_sym_DASH] = ACTIONS(2347), + [anon_sym_PLUS] = ACTIONS(2347), + [anon_sym_STAR] = ACTIONS(2349), + [anon_sym_AMP_AMP] = ACTIONS(2349), + [anon_sym_AMP] = ACTIONS(2347), + [anon_sym_SEMI] = ACTIONS(2349), + [anon_sym_typedef] = ACTIONS(2347), + [anon_sym_extern] = ACTIONS(2347), + [anon_sym___attribute__] = ACTIONS(2347), + [anon_sym_COLON_COLON] = ACTIONS(2349), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2349), + [anon_sym___declspec] = ACTIONS(2347), + [anon_sym___based] = ACTIONS(2347), + [anon_sym___cdecl] = ACTIONS(2347), + [anon_sym___clrcall] = ACTIONS(2347), + [anon_sym___stdcall] = ACTIONS(2347), + [anon_sym___fastcall] = ACTIONS(2347), + [anon_sym___thiscall] = ACTIONS(2347), + [anon_sym___vectorcall] = ACTIONS(2347), + [anon_sym_LBRACE] = ACTIONS(2349), + [anon_sym_LBRACK] = ACTIONS(2347), + [anon_sym_static] = ACTIONS(2347), + [anon_sym_register] = ACTIONS(2347), + [anon_sym_inline] = ACTIONS(2347), + [anon_sym_thread_local] = ACTIONS(2347), + [anon_sym_const] = ACTIONS(2347), + [anon_sym_volatile] = ACTIONS(2347), + [anon_sym_restrict] = ACTIONS(2347), + [anon_sym__Atomic] = ACTIONS(2347), + [anon_sym_mutable] = ACTIONS(2347), + [anon_sym_constexpr] = ACTIONS(2347), + [anon_sym_constinit] = ACTIONS(2347), + [anon_sym_consteval] = ACTIONS(2347), + [anon_sym_signed] = ACTIONS(2347), + [anon_sym_unsigned] = ACTIONS(2347), + [anon_sym_long] = ACTIONS(2347), + [anon_sym_short] = ACTIONS(2347), + [sym_primitive_type] = ACTIONS(2347), + [anon_sym_enum] = ACTIONS(2347), + [anon_sym_class] = ACTIONS(2347), + [anon_sym_struct] = ACTIONS(2347), + [anon_sym_union] = ACTIONS(2347), + [anon_sym_if] = ACTIONS(2347), + [anon_sym_switch] = ACTIONS(2347), + [anon_sym_case] = ACTIONS(2347), + [anon_sym_default] = ACTIONS(2347), + [anon_sym_while] = ACTIONS(2347), + [anon_sym_do] = ACTIONS(2347), + [anon_sym_for] = ACTIONS(2347), + [anon_sym_return] = ACTIONS(2347), + [anon_sym_break] = ACTIONS(2347), + [anon_sym_continue] = ACTIONS(2347), + [anon_sym_goto] = ACTIONS(2347), + [anon_sym_DASH_DASH] = ACTIONS(2349), + [anon_sym_PLUS_PLUS] = ACTIONS(2349), + [anon_sym_sizeof] = ACTIONS(2347), + [sym_number_literal] = ACTIONS(2349), + [anon_sym_L_SQUOTE] = ACTIONS(2349), + [anon_sym_u_SQUOTE] = ACTIONS(2349), + [anon_sym_U_SQUOTE] = ACTIONS(2349), + [anon_sym_u8_SQUOTE] = ACTIONS(2349), + [anon_sym_SQUOTE] = ACTIONS(2349), + [anon_sym_L_DQUOTE] = ACTIONS(2349), + [anon_sym_u_DQUOTE] = ACTIONS(2349), + [anon_sym_U_DQUOTE] = ACTIONS(2349), + [anon_sym_u8_DQUOTE] = ACTIONS(2349), + [anon_sym_DQUOTE] = ACTIONS(2349), + [sym_true] = ACTIONS(2347), + [sym_false] = ACTIONS(2347), + [sym_null] = ACTIONS(2347), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2347), + [anon_sym_decltype] = ACTIONS(2347), + [anon_sym_virtual] = ACTIONS(2347), + [anon_sym_explicit] = ACTIONS(2347), + [anon_sym_typename] = ACTIONS(2347), + [anon_sym_template] = ACTIONS(2347), + [anon_sym_operator] = ACTIONS(2347), + [anon_sym_delete] = ACTIONS(2347), + [anon_sym_throw] = ACTIONS(2347), + [anon_sym_namespace] = ACTIONS(2347), + [anon_sym_using] = ACTIONS(2347), + [anon_sym_static_assert] = ACTIONS(2347), + [anon_sym_concept] = ACTIONS(2347), + [anon_sym_co_return] = ACTIONS(2347), + [anon_sym_co_yield] = ACTIONS(2347), + [anon_sym_try] = ACTIONS(2347), + [anon_sym_co_await] = ACTIONS(2347), + [anon_sym_new] = ACTIONS(2347), + [anon_sym_requires] = ACTIONS(2347), + [sym_this] = ACTIONS(2347), + [sym_nullptr] = ACTIONS(2347), + [sym_raw_string_literal] = ACTIONS(2349), + }, + [451] = { + [sym_identifier] = ACTIONS(2351), + [aux_sym_preproc_include_token1] = ACTIONS(2351), + [aux_sym_preproc_def_token1] = ACTIONS(2351), + [aux_sym_preproc_if_token1] = ACTIONS(2351), + [aux_sym_preproc_if_token2] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2351), + [aux_sym_preproc_else_token1] = ACTIONS(2351), + [aux_sym_preproc_elif_token1] = ACTIONS(2351), + [sym_preproc_directive] = ACTIONS(2351), + [anon_sym_LPAREN2] = ACTIONS(2353), + [anon_sym_BANG] = ACTIONS(2353), + [anon_sym_TILDE] = ACTIONS(2353), + [anon_sym_DASH] = ACTIONS(2351), + [anon_sym_PLUS] = ACTIONS(2351), + [anon_sym_STAR] = ACTIONS(2353), + [anon_sym_AMP_AMP] = ACTIONS(2353), + [anon_sym_AMP] = ACTIONS(2351), + [anon_sym_SEMI] = ACTIONS(2353), + [anon_sym_typedef] = ACTIONS(2351), + [anon_sym_extern] = ACTIONS(2351), + [anon_sym___attribute__] = ACTIONS(2351), + [anon_sym_COLON_COLON] = ACTIONS(2353), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2353), + [anon_sym___declspec] = ACTIONS(2351), + [anon_sym___based] = ACTIONS(2351), + [anon_sym___cdecl] = ACTIONS(2351), + [anon_sym___clrcall] = ACTIONS(2351), + [anon_sym___stdcall] = ACTIONS(2351), + [anon_sym___fastcall] = ACTIONS(2351), + [anon_sym___thiscall] = ACTIONS(2351), + [anon_sym___vectorcall] = ACTIONS(2351), + [anon_sym_LBRACE] = ACTIONS(2353), + [anon_sym_LBRACK] = ACTIONS(2351), + [anon_sym_static] = ACTIONS(2351), + [anon_sym_register] = ACTIONS(2351), + [anon_sym_inline] = ACTIONS(2351), + [anon_sym_thread_local] = ACTIONS(2351), + [anon_sym_const] = ACTIONS(2351), + [anon_sym_volatile] = ACTIONS(2351), + [anon_sym_restrict] = ACTIONS(2351), + [anon_sym__Atomic] = ACTIONS(2351), + [anon_sym_mutable] = ACTIONS(2351), + [anon_sym_constexpr] = ACTIONS(2351), + [anon_sym_constinit] = ACTIONS(2351), + [anon_sym_consteval] = ACTIONS(2351), + [anon_sym_signed] = ACTIONS(2351), + [anon_sym_unsigned] = ACTIONS(2351), + [anon_sym_long] = ACTIONS(2351), + [anon_sym_short] = ACTIONS(2351), + [sym_primitive_type] = ACTIONS(2351), + [anon_sym_enum] = ACTIONS(2351), + [anon_sym_class] = ACTIONS(2351), + [anon_sym_struct] = ACTIONS(2351), + [anon_sym_union] = ACTIONS(2351), + [anon_sym_if] = ACTIONS(2351), + [anon_sym_switch] = ACTIONS(2351), + [anon_sym_case] = ACTIONS(2351), + [anon_sym_default] = ACTIONS(2351), + [anon_sym_while] = ACTIONS(2351), + [anon_sym_do] = ACTIONS(2351), + [anon_sym_for] = ACTIONS(2351), + [anon_sym_return] = ACTIONS(2351), + [anon_sym_break] = ACTIONS(2351), + [anon_sym_continue] = ACTIONS(2351), + [anon_sym_goto] = ACTIONS(2351), + [anon_sym_DASH_DASH] = ACTIONS(2353), + [anon_sym_PLUS_PLUS] = ACTIONS(2353), + [anon_sym_sizeof] = ACTIONS(2351), + [sym_number_literal] = ACTIONS(2353), + [anon_sym_L_SQUOTE] = ACTIONS(2353), + [anon_sym_u_SQUOTE] = ACTIONS(2353), + [anon_sym_U_SQUOTE] = ACTIONS(2353), + [anon_sym_u8_SQUOTE] = ACTIONS(2353), + [anon_sym_SQUOTE] = ACTIONS(2353), + [anon_sym_L_DQUOTE] = ACTIONS(2353), + [anon_sym_u_DQUOTE] = ACTIONS(2353), + [anon_sym_U_DQUOTE] = ACTIONS(2353), + [anon_sym_u8_DQUOTE] = ACTIONS(2353), + [anon_sym_DQUOTE] = ACTIONS(2353), + [sym_true] = ACTIONS(2351), + [sym_false] = ACTIONS(2351), + [sym_null] = ACTIONS(2351), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2351), + [anon_sym_decltype] = ACTIONS(2351), + [anon_sym_virtual] = ACTIONS(2351), + [anon_sym_explicit] = ACTIONS(2351), + [anon_sym_typename] = ACTIONS(2351), + [anon_sym_template] = ACTIONS(2351), + [anon_sym_operator] = ACTIONS(2351), + [anon_sym_delete] = ACTIONS(2351), + [anon_sym_throw] = ACTIONS(2351), + [anon_sym_namespace] = ACTIONS(2351), + [anon_sym_using] = ACTIONS(2351), + [anon_sym_static_assert] = ACTIONS(2351), + [anon_sym_concept] = ACTIONS(2351), + [anon_sym_co_return] = ACTIONS(2351), + [anon_sym_co_yield] = ACTIONS(2351), + [anon_sym_try] = ACTIONS(2351), + [anon_sym_co_await] = ACTIONS(2351), + [anon_sym_new] = ACTIONS(2351), + [anon_sym_requires] = ACTIONS(2351), + [sym_this] = ACTIONS(2351), + [sym_nullptr] = ACTIONS(2351), + [sym_raw_string_literal] = ACTIONS(2353), + }, + [452] = { + [sym_identifier] = ACTIONS(2355), + [aux_sym_preproc_include_token1] = ACTIONS(2355), + [aux_sym_preproc_def_token1] = ACTIONS(2355), + [aux_sym_preproc_if_token1] = ACTIONS(2355), + [aux_sym_preproc_if_token2] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2355), + [aux_sym_preproc_else_token1] = ACTIONS(2355), + [aux_sym_preproc_elif_token1] = ACTIONS(2355), + [sym_preproc_directive] = ACTIONS(2355), + [anon_sym_LPAREN2] = ACTIONS(2357), + [anon_sym_BANG] = ACTIONS(2357), + [anon_sym_TILDE] = ACTIONS(2357), + [anon_sym_DASH] = ACTIONS(2355), + [anon_sym_PLUS] = ACTIONS(2355), + [anon_sym_STAR] = ACTIONS(2357), + [anon_sym_AMP_AMP] = ACTIONS(2357), + [anon_sym_AMP] = ACTIONS(2355), + [anon_sym_SEMI] = ACTIONS(2357), + [anon_sym_typedef] = ACTIONS(2355), + [anon_sym_extern] = ACTIONS(2355), + [anon_sym___attribute__] = ACTIONS(2355), + [anon_sym_COLON_COLON] = ACTIONS(2357), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2357), + [anon_sym___declspec] = ACTIONS(2355), + [anon_sym___based] = ACTIONS(2355), + [anon_sym___cdecl] = ACTIONS(2355), + [anon_sym___clrcall] = ACTIONS(2355), + [anon_sym___stdcall] = ACTIONS(2355), + [anon_sym___fastcall] = ACTIONS(2355), + [anon_sym___thiscall] = ACTIONS(2355), + [anon_sym___vectorcall] = ACTIONS(2355), + [anon_sym_LBRACE] = ACTIONS(2357), + [anon_sym_LBRACK] = ACTIONS(2355), + [anon_sym_static] = ACTIONS(2355), + [anon_sym_register] = ACTIONS(2355), + [anon_sym_inline] = ACTIONS(2355), + [anon_sym_thread_local] = ACTIONS(2355), + [anon_sym_const] = ACTIONS(2355), + [anon_sym_volatile] = ACTIONS(2355), + [anon_sym_restrict] = ACTIONS(2355), + [anon_sym__Atomic] = ACTIONS(2355), + [anon_sym_mutable] = ACTIONS(2355), + [anon_sym_constexpr] = ACTIONS(2355), + [anon_sym_constinit] = ACTIONS(2355), + [anon_sym_consteval] = ACTIONS(2355), + [anon_sym_signed] = ACTIONS(2355), + [anon_sym_unsigned] = ACTIONS(2355), + [anon_sym_long] = ACTIONS(2355), + [anon_sym_short] = ACTIONS(2355), + [sym_primitive_type] = ACTIONS(2355), + [anon_sym_enum] = ACTIONS(2355), + [anon_sym_class] = ACTIONS(2355), + [anon_sym_struct] = ACTIONS(2355), + [anon_sym_union] = ACTIONS(2355), + [anon_sym_if] = ACTIONS(2355), + [anon_sym_switch] = ACTIONS(2355), + [anon_sym_case] = ACTIONS(2355), + [anon_sym_default] = ACTIONS(2355), + [anon_sym_while] = ACTIONS(2355), + [anon_sym_do] = ACTIONS(2355), + [anon_sym_for] = ACTIONS(2355), + [anon_sym_return] = ACTIONS(2355), + [anon_sym_break] = ACTIONS(2355), + [anon_sym_continue] = ACTIONS(2355), + [anon_sym_goto] = ACTIONS(2355), + [anon_sym_DASH_DASH] = ACTIONS(2357), + [anon_sym_PLUS_PLUS] = ACTIONS(2357), + [anon_sym_sizeof] = ACTIONS(2355), + [sym_number_literal] = ACTIONS(2357), + [anon_sym_L_SQUOTE] = ACTIONS(2357), + [anon_sym_u_SQUOTE] = ACTIONS(2357), + [anon_sym_U_SQUOTE] = ACTIONS(2357), + [anon_sym_u8_SQUOTE] = ACTIONS(2357), + [anon_sym_SQUOTE] = ACTIONS(2357), + [anon_sym_L_DQUOTE] = ACTIONS(2357), + [anon_sym_u_DQUOTE] = ACTIONS(2357), + [anon_sym_U_DQUOTE] = ACTIONS(2357), + [anon_sym_u8_DQUOTE] = ACTIONS(2357), + [anon_sym_DQUOTE] = ACTIONS(2357), + [sym_true] = ACTIONS(2355), + [sym_false] = ACTIONS(2355), + [sym_null] = ACTIONS(2355), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2355), + [anon_sym_decltype] = ACTIONS(2355), + [anon_sym_virtual] = ACTIONS(2355), + [anon_sym_explicit] = ACTIONS(2355), + [anon_sym_typename] = ACTIONS(2355), + [anon_sym_template] = ACTIONS(2355), + [anon_sym_operator] = ACTIONS(2355), + [anon_sym_delete] = ACTIONS(2355), + [anon_sym_throw] = ACTIONS(2355), + [anon_sym_namespace] = ACTIONS(2355), + [anon_sym_using] = ACTIONS(2355), + [anon_sym_static_assert] = ACTIONS(2355), + [anon_sym_concept] = ACTIONS(2355), + [anon_sym_co_return] = ACTIONS(2355), + [anon_sym_co_yield] = ACTIONS(2355), + [anon_sym_try] = ACTIONS(2355), + [anon_sym_co_await] = ACTIONS(2355), + [anon_sym_new] = ACTIONS(2355), + [anon_sym_requires] = ACTIONS(2355), + [sym_this] = ACTIONS(2355), + [sym_nullptr] = ACTIONS(2355), + [sym_raw_string_literal] = ACTIONS(2357), + }, + [453] = { + [sym_identifier] = ACTIONS(2359), + [aux_sym_preproc_include_token1] = ACTIONS(2359), + [aux_sym_preproc_def_token1] = ACTIONS(2359), + [aux_sym_preproc_if_token1] = ACTIONS(2359), + [aux_sym_preproc_if_token2] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2359), + [aux_sym_preproc_else_token1] = ACTIONS(2359), + [aux_sym_preproc_elif_token1] = ACTIONS(2359), + [sym_preproc_directive] = ACTIONS(2359), + [anon_sym_LPAREN2] = ACTIONS(2361), + [anon_sym_BANG] = ACTIONS(2361), + [anon_sym_TILDE] = ACTIONS(2361), + [anon_sym_DASH] = ACTIONS(2359), + [anon_sym_PLUS] = ACTIONS(2359), + [anon_sym_STAR] = ACTIONS(2361), + [anon_sym_AMP_AMP] = ACTIONS(2361), + [anon_sym_AMP] = ACTIONS(2359), + [anon_sym_SEMI] = ACTIONS(2361), + [anon_sym_typedef] = ACTIONS(2359), + [anon_sym_extern] = ACTIONS(2359), + [anon_sym___attribute__] = ACTIONS(2359), + [anon_sym_COLON_COLON] = ACTIONS(2361), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2361), + [anon_sym___declspec] = ACTIONS(2359), + [anon_sym___based] = ACTIONS(2359), + [anon_sym___cdecl] = ACTIONS(2359), + [anon_sym___clrcall] = ACTIONS(2359), + [anon_sym___stdcall] = ACTIONS(2359), + [anon_sym___fastcall] = ACTIONS(2359), + [anon_sym___thiscall] = ACTIONS(2359), + [anon_sym___vectorcall] = ACTIONS(2359), + [anon_sym_LBRACE] = ACTIONS(2361), + [anon_sym_LBRACK] = ACTIONS(2359), + [anon_sym_static] = ACTIONS(2359), + [anon_sym_register] = ACTIONS(2359), + [anon_sym_inline] = ACTIONS(2359), + [anon_sym_thread_local] = ACTIONS(2359), + [anon_sym_const] = ACTIONS(2359), + [anon_sym_volatile] = ACTIONS(2359), + [anon_sym_restrict] = ACTIONS(2359), + [anon_sym__Atomic] = ACTIONS(2359), + [anon_sym_mutable] = ACTIONS(2359), + [anon_sym_constexpr] = ACTIONS(2359), + [anon_sym_constinit] = ACTIONS(2359), + [anon_sym_consteval] = ACTIONS(2359), + [anon_sym_signed] = ACTIONS(2359), + [anon_sym_unsigned] = ACTIONS(2359), + [anon_sym_long] = ACTIONS(2359), + [anon_sym_short] = ACTIONS(2359), + [sym_primitive_type] = ACTIONS(2359), + [anon_sym_enum] = ACTIONS(2359), + [anon_sym_class] = ACTIONS(2359), + [anon_sym_struct] = ACTIONS(2359), + [anon_sym_union] = ACTIONS(2359), + [anon_sym_if] = ACTIONS(2359), + [anon_sym_switch] = ACTIONS(2359), + [anon_sym_case] = ACTIONS(2359), + [anon_sym_default] = ACTIONS(2359), + [anon_sym_while] = ACTIONS(2359), + [anon_sym_do] = ACTIONS(2359), + [anon_sym_for] = ACTIONS(2359), + [anon_sym_return] = ACTIONS(2359), + [anon_sym_break] = ACTIONS(2359), + [anon_sym_continue] = ACTIONS(2359), + [anon_sym_goto] = ACTIONS(2359), + [anon_sym_DASH_DASH] = ACTIONS(2361), + [anon_sym_PLUS_PLUS] = ACTIONS(2361), + [anon_sym_sizeof] = ACTIONS(2359), + [sym_number_literal] = ACTIONS(2361), + [anon_sym_L_SQUOTE] = ACTIONS(2361), + [anon_sym_u_SQUOTE] = ACTIONS(2361), + [anon_sym_U_SQUOTE] = ACTIONS(2361), + [anon_sym_u8_SQUOTE] = ACTIONS(2361), + [anon_sym_SQUOTE] = ACTIONS(2361), + [anon_sym_L_DQUOTE] = ACTIONS(2361), + [anon_sym_u_DQUOTE] = ACTIONS(2361), + [anon_sym_U_DQUOTE] = ACTIONS(2361), + [anon_sym_u8_DQUOTE] = ACTIONS(2361), + [anon_sym_DQUOTE] = ACTIONS(2361), + [sym_true] = ACTIONS(2359), + [sym_false] = ACTIONS(2359), + [sym_null] = ACTIONS(2359), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2359), + [anon_sym_decltype] = ACTIONS(2359), + [anon_sym_virtual] = ACTIONS(2359), + [anon_sym_explicit] = ACTIONS(2359), + [anon_sym_typename] = ACTIONS(2359), + [anon_sym_template] = ACTIONS(2359), + [anon_sym_operator] = ACTIONS(2359), + [anon_sym_delete] = ACTIONS(2359), + [anon_sym_throw] = ACTIONS(2359), + [anon_sym_namespace] = ACTIONS(2359), + [anon_sym_using] = ACTIONS(2359), + [anon_sym_static_assert] = ACTIONS(2359), + [anon_sym_concept] = ACTIONS(2359), + [anon_sym_co_return] = ACTIONS(2359), + [anon_sym_co_yield] = ACTIONS(2359), + [anon_sym_try] = ACTIONS(2359), + [anon_sym_co_await] = ACTIONS(2359), + [anon_sym_new] = ACTIONS(2359), + [anon_sym_requires] = ACTIONS(2359), + [sym_this] = ACTIONS(2359), + [sym_nullptr] = ACTIONS(2359), + [sym_raw_string_literal] = ACTIONS(2361), + }, + [454] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3264), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5121), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5249), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2363), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [455] = { + [sym_identifier] = ACTIONS(2365), + [aux_sym_preproc_include_token1] = ACTIONS(2365), + [aux_sym_preproc_def_token1] = ACTIONS(2365), + [aux_sym_preproc_if_token1] = ACTIONS(2365), + [aux_sym_preproc_if_token2] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2365), + [aux_sym_preproc_else_token1] = ACTIONS(2365), + [aux_sym_preproc_elif_token1] = ACTIONS(2365), + [sym_preproc_directive] = ACTIONS(2365), + [anon_sym_LPAREN2] = ACTIONS(2367), + [anon_sym_BANG] = ACTIONS(2367), + [anon_sym_TILDE] = ACTIONS(2367), + [anon_sym_DASH] = ACTIONS(2365), + [anon_sym_PLUS] = ACTIONS(2365), + [anon_sym_STAR] = ACTIONS(2367), + [anon_sym_AMP_AMP] = ACTIONS(2367), + [anon_sym_AMP] = ACTIONS(2365), + [anon_sym_SEMI] = ACTIONS(2367), + [anon_sym_typedef] = ACTIONS(2365), + [anon_sym_extern] = ACTIONS(2365), + [anon_sym___attribute__] = ACTIONS(2365), + [anon_sym_COLON_COLON] = ACTIONS(2367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2367), + [anon_sym___declspec] = ACTIONS(2365), + [anon_sym___based] = ACTIONS(2365), + [anon_sym___cdecl] = ACTIONS(2365), + [anon_sym___clrcall] = ACTIONS(2365), + [anon_sym___stdcall] = ACTIONS(2365), + [anon_sym___fastcall] = ACTIONS(2365), + [anon_sym___thiscall] = ACTIONS(2365), + [anon_sym___vectorcall] = ACTIONS(2365), + [anon_sym_LBRACE] = ACTIONS(2367), + [anon_sym_LBRACK] = ACTIONS(2365), + [anon_sym_static] = ACTIONS(2365), + [anon_sym_register] = ACTIONS(2365), + [anon_sym_inline] = ACTIONS(2365), + [anon_sym_thread_local] = ACTIONS(2365), + [anon_sym_const] = ACTIONS(2365), + [anon_sym_volatile] = ACTIONS(2365), + [anon_sym_restrict] = ACTIONS(2365), + [anon_sym__Atomic] = ACTIONS(2365), + [anon_sym_mutable] = ACTIONS(2365), + [anon_sym_constexpr] = ACTIONS(2365), + [anon_sym_constinit] = ACTIONS(2365), + [anon_sym_consteval] = ACTIONS(2365), + [anon_sym_signed] = ACTIONS(2365), + [anon_sym_unsigned] = ACTIONS(2365), + [anon_sym_long] = ACTIONS(2365), + [anon_sym_short] = ACTIONS(2365), + [sym_primitive_type] = ACTIONS(2365), + [anon_sym_enum] = ACTIONS(2365), + [anon_sym_class] = ACTIONS(2365), + [anon_sym_struct] = ACTIONS(2365), + [anon_sym_union] = ACTIONS(2365), + [anon_sym_if] = ACTIONS(2365), + [anon_sym_switch] = ACTIONS(2365), + [anon_sym_case] = ACTIONS(2365), + [anon_sym_default] = ACTIONS(2365), + [anon_sym_while] = ACTIONS(2365), + [anon_sym_do] = ACTIONS(2365), + [anon_sym_for] = ACTIONS(2365), + [anon_sym_return] = ACTIONS(2365), + [anon_sym_break] = ACTIONS(2365), + [anon_sym_continue] = ACTIONS(2365), + [anon_sym_goto] = ACTIONS(2365), + [anon_sym_DASH_DASH] = ACTIONS(2367), + [anon_sym_PLUS_PLUS] = ACTIONS(2367), + [anon_sym_sizeof] = ACTIONS(2365), + [sym_number_literal] = ACTIONS(2367), + [anon_sym_L_SQUOTE] = ACTIONS(2367), + [anon_sym_u_SQUOTE] = ACTIONS(2367), + [anon_sym_U_SQUOTE] = ACTIONS(2367), + [anon_sym_u8_SQUOTE] = ACTIONS(2367), + [anon_sym_SQUOTE] = ACTIONS(2367), + [anon_sym_L_DQUOTE] = ACTIONS(2367), + [anon_sym_u_DQUOTE] = ACTIONS(2367), + [anon_sym_U_DQUOTE] = ACTIONS(2367), + [anon_sym_u8_DQUOTE] = ACTIONS(2367), + [anon_sym_DQUOTE] = ACTIONS(2367), + [sym_true] = ACTIONS(2365), + [sym_false] = ACTIONS(2365), + [sym_null] = ACTIONS(2365), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2365), + [anon_sym_decltype] = ACTIONS(2365), + [anon_sym_virtual] = ACTIONS(2365), + [anon_sym_explicit] = ACTIONS(2365), + [anon_sym_typename] = ACTIONS(2365), + [anon_sym_template] = ACTIONS(2365), + [anon_sym_operator] = ACTIONS(2365), + [anon_sym_delete] = ACTIONS(2365), + [anon_sym_throw] = ACTIONS(2365), + [anon_sym_namespace] = ACTIONS(2365), + [anon_sym_using] = ACTIONS(2365), + [anon_sym_static_assert] = ACTIONS(2365), + [anon_sym_concept] = ACTIONS(2365), + [anon_sym_co_return] = ACTIONS(2365), + [anon_sym_co_yield] = ACTIONS(2365), + [anon_sym_try] = ACTIONS(2365), + [anon_sym_co_await] = ACTIONS(2365), + [anon_sym_new] = ACTIONS(2365), + [anon_sym_requires] = ACTIONS(2365), + [sym_this] = ACTIONS(2365), + [sym_nullptr] = ACTIONS(2365), + [sym_raw_string_literal] = ACTIONS(2367), + }, + [456] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3296), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(4948), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5432), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(2369), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [457] = { + [sym_identifier] = ACTIONS(2371), + [aux_sym_preproc_include_token1] = ACTIONS(2371), + [aux_sym_preproc_def_token1] = ACTIONS(2371), + [aux_sym_preproc_if_token1] = ACTIONS(2371), + [aux_sym_preproc_if_token2] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2371), + [aux_sym_preproc_else_token1] = ACTIONS(2371), + [aux_sym_preproc_elif_token1] = ACTIONS(2371), + [sym_preproc_directive] = ACTIONS(2371), + [anon_sym_LPAREN2] = ACTIONS(2373), + [anon_sym_BANG] = ACTIONS(2373), + [anon_sym_TILDE] = ACTIONS(2373), + [anon_sym_DASH] = ACTIONS(2371), + [anon_sym_PLUS] = ACTIONS(2371), + [anon_sym_STAR] = ACTIONS(2373), + [anon_sym_AMP_AMP] = ACTIONS(2373), + [anon_sym_AMP] = ACTIONS(2371), + [anon_sym_SEMI] = ACTIONS(2373), + [anon_sym_typedef] = ACTIONS(2371), + [anon_sym_extern] = ACTIONS(2371), + [anon_sym___attribute__] = ACTIONS(2371), + [anon_sym_COLON_COLON] = ACTIONS(2373), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2373), + [anon_sym___declspec] = ACTIONS(2371), + [anon_sym___based] = ACTIONS(2371), + [anon_sym___cdecl] = ACTIONS(2371), + [anon_sym___clrcall] = ACTIONS(2371), + [anon_sym___stdcall] = ACTIONS(2371), + [anon_sym___fastcall] = ACTIONS(2371), + [anon_sym___thiscall] = ACTIONS(2371), + [anon_sym___vectorcall] = ACTIONS(2371), + [anon_sym_LBRACE] = ACTIONS(2373), + [anon_sym_LBRACK] = ACTIONS(2371), + [anon_sym_static] = ACTIONS(2371), + [anon_sym_register] = ACTIONS(2371), + [anon_sym_inline] = ACTIONS(2371), + [anon_sym_thread_local] = ACTIONS(2371), + [anon_sym_const] = ACTIONS(2371), + [anon_sym_volatile] = ACTIONS(2371), + [anon_sym_restrict] = ACTIONS(2371), + [anon_sym__Atomic] = ACTIONS(2371), + [anon_sym_mutable] = ACTIONS(2371), + [anon_sym_constexpr] = ACTIONS(2371), + [anon_sym_constinit] = ACTIONS(2371), + [anon_sym_consteval] = ACTIONS(2371), + [anon_sym_signed] = ACTIONS(2371), + [anon_sym_unsigned] = ACTIONS(2371), + [anon_sym_long] = ACTIONS(2371), + [anon_sym_short] = ACTIONS(2371), + [sym_primitive_type] = ACTIONS(2371), + [anon_sym_enum] = ACTIONS(2371), + [anon_sym_class] = ACTIONS(2371), + [anon_sym_struct] = ACTIONS(2371), + [anon_sym_union] = ACTIONS(2371), + [anon_sym_if] = ACTIONS(2371), + [anon_sym_switch] = ACTIONS(2371), + [anon_sym_case] = ACTIONS(2371), + [anon_sym_default] = ACTIONS(2371), + [anon_sym_while] = ACTIONS(2371), + [anon_sym_do] = ACTIONS(2371), + [anon_sym_for] = ACTIONS(2371), + [anon_sym_return] = ACTIONS(2371), + [anon_sym_break] = ACTIONS(2371), + [anon_sym_continue] = ACTIONS(2371), + [anon_sym_goto] = ACTIONS(2371), + [anon_sym_DASH_DASH] = ACTIONS(2373), + [anon_sym_PLUS_PLUS] = ACTIONS(2373), + [anon_sym_sizeof] = ACTIONS(2371), + [sym_number_literal] = ACTIONS(2373), + [anon_sym_L_SQUOTE] = ACTIONS(2373), + [anon_sym_u_SQUOTE] = ACTIONS(2373), + [anon_sym_U_SQUOTE] = ACTIONS(2373), + [anon_sym_u8_SQUOTE] = ACTIONS(2373), + [anon_sym_SQUOTE] = ACTIONS(2373), + [anon_sym_L_DQUOTE] = ACTIONS(2373), + [anon_sym_u_DQUOTE] = ACTIONS(2373), + [anon_sym_U_DQUOTE] = ACTIONS(2373), + [anon_sym_u8_DQUOTE] = ACTIONS(2373), + [anon_sym_DQUOTE] = ACTIONS(2373), + [sym_true] = ACTIONS(2371), + [sym_false] = ACTIONS(2371), + [sym_null] = ACTIONS(2371), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2371), + [anon_sym_decltype] = ACTIONS(2371), + [anon_sym_virtual] = ACTIONS(2371), + [anon_sym_explicit] = ACTIONS(2371), + [anon_sym_typename] = ACTIONS(2371), + [anon_sym_template] = ACTIONS(2371), + [anon_sym_operator] = ACTIONS(2371), + [anon_sym_delete] = ACTIONS(2371), + [anon_sym_throw] = ACTIONS(2371), + [anon_sym_namespace] = ACTIONS(2371), + [anon_sym_using] = ACTIONS(2371), + [anon_sym_static_assert] = ACTIONS(2371), + [anon_sym_concept] = ACTIONS(2371), + [anon_sym_co_return] = ACTIONS(2371), + [anon_sym_co_yield] = ACTIONS(2371), + [anon_sym_try] = ACTIONS(2371), + [anon_sym_co_await] = ACTIONS(2371), + [anon_sym_new] = ACTIONS(2371), + [anon_sym_requires] = ACTIONS(2371), + [sym_this] = ACTIONS(2371), + [sym_nullptr] = ACTIONS(2371), + [sym_raw_string_literal] = ACTIONS(2373), + }, + [458] = { + [sym_identifier] = ACTIONS(2375), + [aux_sym_preproc_include_token1] = ACTIONS(2375), + [aux_sym_preproc_def_token1] = ACTIONS(2375), + [aux_sym_preproc_if_token1] = ACTIONS(2375), + [aux_sym_preproc_if_token2] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2375), + [aux_sym_preproc_else_token1] = ACTIONS(2375), + [aux_sym_preproc_elif_token1] = ACTIONS(2375), + [sym_preproc_directive] = ACTIONS(2375), + [anon_sym_LPAREN2] = ACTIONS(2377), + [anon_sym_BANG] = ACTIONS(2377), + [anon_sym_TILDE] = ACTIONS(2377), + [anon_sym_DASH] = ACTIONS(2375), + [anon_sym_PLUS] = ACTIONS(2375), + [anon_sym_STAR] = ACTIONS(2377), + [anon_sym_AMP_AMP] = ACTIONS(2377), + [anon_sym_AMP] = ACTIONS(2375), + [anon_sym_SEMI] = ACTIONS(2377), + [anon_sym_typedef] = ACTIONS(2375), + [anon_sym_extern] = ACTIONS(2375), + [anon_sym___attribute__] = ACTIONS(2375), + [anon_sym_COLON_COLON] = ACTIONS(2377), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2377), + [anon_sym___declspec] = ACTIONS(2375), + [anon_sym___based] = ACTIONS(2375), + [anon_sym___cdecl] = ACTIONS(2375), + [anon_sym___clrcall] = ACTIONS(2375), + [anon_sym___stdcall] = ACTIONS(2375), + [anon_sym___fastcall] = ACTIONS(2375), + [anon_sym___thiscall] = ACTIONS(2375), + [anon_sym___vectorcall] = ACTIONS(2375), + [anon_sym_LBRACE] = ACTIONS(2377), + [anon_sym_LBRACK] = ACTIONS(2375), + [anon_sym_static] = ACTIONS(2375), + [anon_sym_register] = ACTIONS(2375), + [anon_sym_inline] = ACTIONS(2375), + [anon_sym_thread_local] = ACTIONS(2375), + [anon_sym_const] = ACTIONS(2375), + [anon_sym_volatile] = ACTIONS(2375), + [anon_sym_restrict] = ACTIONS(2375), + [anon_sym__Atomic] = ACTIONS(2375), + [anon_sym_mutable] = ACTIONS(2375), + [anon_sym_constexpr] = ACTIONS(2375), + [anon_sym_constinit] = ACTIONS(2375), + [anon_sym_consteval] = ACTIONS(2375), + [anon_sym_signed] = ACTIONS(2375), + [anon_sym_unsigned] = ACTIONS(2375), + [anon_sym_long] = ACTIONS(2375), + [anon_sym_short] = ACTIONS(2375), + [sym_primitive_type] = ACTIONS(2375), + [anon_sym_enum] = ACTIONS(2375), + [anon_sym_class] = ACTIONS(2375), + [anon_sym_struct] = ACTIONS(2375), + [anon_sym_union] = ACTIONS(2375), + [anon_sym_if] = ACTIONS(2375), + [anon_sym_switch] = ACTIONS(2375), + [anon_sym_case] = ACTIONS(2375), + [anon_sym_default] = ACTIONS(2375), + [anon_sym_while] = ACTIONS(2375), + [anon_sym_do] = ACTIONS(2375), + [anon_sym_for] = ACTIONS(2375), + [anon_sym_return] = ACTIONS(2375), + [anon_sym_break] = ACTIONS(2375), + [anon_sym_continue] = ACTIONS(2375), + [anon_sym_goto] = ACTIONS(2375), + [anon_sym_DASH_DASH] = ACTIONS(2377), + [anon_sym_PLUS_PLUS] = ACTIONS(2377), + [anon_sym_sizeof] = ACTIONS(2375), + [sym_number_literal] = ACTIONS(2377), + [anon_sym_L_SQUOTE] = ACTIONS(2377), + [anon_sym_u_SQUOTE] = ACTIONS(2377), + [anon_sym_U_SQUOTE] = ACTIONS(2377), + [anon_sym_u8_SQUOTE] = ACTIONS(2377), + [anon_sym_SQUOTE] = ACTIONS(2377), + [anon_sym_L_DQUOTE] = ACTIONS(2377), + [anon_sym_u_DQUOTE] = ACTIONS(2377), + [anon_sym_U_DQUOTE] = ACTIONS(2377), + [anon_sym_u8_DQUOTE] = ACTIONS(2377), + [anon_sym_DQUOTE] = ACTIONS(2377), + [sym_true] = ACTIONS(2375), + [sym_false] = ACTIONS(2375), + [sym_null] = ACTIONS(2375), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2375), + [anon_sym_decltype] = ACTIONS(2375), + [anon_sym_virtual] = ACTIONS(2375), + [anon_sym_explicit] = ACTIONS(2375), + [anon_sym_typename] = ACTIONS(2375), + [anon_sym_template] = ACTIONS(2375), + [anon_sym_operator] = ACTIONS(2375), + [anon_sym_delete] = ACTIONS(2375), + [anon_sym_throw] = ACTIONS(2375), + [anon_sym_namespace] = ACTIONS(2375), + [anon_sym_using] = ACTIONS(2375), + [anon_sym_static_assert] = ACTIONS(2375), + [anon_sym_concept] = ACTIONS(2375), + [anon_sym_co_return] = ACTIONS(2375), + [anon_sym_co_yield] = ACTIONS(2375), + [anon_sym_try] = ACTIONS(2375), + [anon_sym_co_await] = ACTIONS(2375), + [anon_sym_new] = ACTIONS(2375), + [anon_sym_requires] = ACTIONS(2375), + [sym_this] = ACTIONS(2375), + [sym_nullptr] = ACTIONS(2375), + [sym_raw_string_literal] = ACTIONS(2377), + }, + [459] = { + [sym_identifier] = ACTIONS(2379), + [aux_sym_preproc_include_token1] = ACTIONS(2379), + [aux_sym_preproc_def_token1] = ACTIONS(2379), + [aux_sym_preproc_if_token1] = ACTIONS(2379), + [aux_sym_preproc_if_token2] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2379), + [aux_sym_preproc_else_token1] = ACTIONS(2379), + [aux_sym_preproc_elif_token1] = ACTIONS(2379), + [sym_preproc_directive] = ACTIONS(2379), + [anon_sym_LPAREN2] = ACTIONS(2381), + [anon_sym_BANG] = ACTIONS(2381), + [anon_sym_TILDE] = ACTIONS(2381), + [anon_sym_DASH] = ACTIONS(2379), + [anon_sym_PLUS] = ACTIONS(2379), + [anon_sym_STAR] = ACTIONS(2381), + [anon_sym_AMP_AMP] = ACTIONS(2381), + [anon_sym_AMP] = ACTIONS(2379), + [anon_sym_SEMI] = ACTIONS(2381), + [anon_sym_typedef] = ACTIONS(2379), + [anon_sym_extern] = ACTIONS(2379), + [anon_sym___attribute__] = ACTIONS(2379), + [anon_sym_COLON_COLON] = ACTIONS(2381), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2381), + [anon_sym___declspec] = ACTIONS(2379), + [anon_sym___based] = ACTIONS(2379), + [anon_sym___cdecl] = ACTIONS(2379), + [anon_sym___clrcall] = ACTIONS(2379), + [anon_sym___stdcall] = ACTIONS(2379), + [anon_sym___fastcall] = ACTIONS(2379), + [anon_sym___thiscall] = ACTIONS(2379), + [anon_sym___vectorcall] = ACTIONS(2379), + [anon_sym_LBRACE] = ACTIONS(2381), + [anon_sym_LBRACK] = ACTIONS(2379), + [anon_sym_static] = ACTIONS(2379), + [anon_sym_register] = ACTIONS(2379), + [anon_sym_inline] = ACTIONS(2379), + [anon_sym_thread_local] = ACTIONS(2379), + [anon_sym_const] = ACTIONS(2379), + [anon_sym_volatile] = ACTIONS(2379), + [anon_sym_restrict] = ACTIONS(2379), + [anon_sym__Atomic] = ACTIONS(2379), + [anon_sym_mutable] = ACTIONS(2379), + [anon_sym_constexpr] = ACTIONS(2379), + [anon_sym_constinit] = ACTIONS(2379), + [anon_sym_consteval] = ACTIONS(2379), + [anon_sym_signed] = ACTIONS(2379), + [anon_sym_unsigned] = ACTIONS(2379), + [anon_sym_long] = ACTIONS(2379), + [anon_sym_short] = ACTIONS(2379), + [sym_primitive_type] = ACTIONS(2379), + [anon_sym_enum] = ACTIONS(2379), + [anon_sym_class] = ACTIONS(2379), + [anon_sym_struct] = ACTIONS(2379), + [anon_sym_union] = ACTIONS(2379), + [anon_sym_if] = ACTIONS(2379), + [anon_sym_switch] = ACTIONS(2379), + [anon_sym_case] = ACTIONS(2379), + [anon_sym_default] = ACTIONS(2379), + [anon_sym_while] = ACTIONS(2379), + [anon_sym_do] = ACTIONS(2379), + [anon_sym_for] = ACTIONS(2379), + [anon_sym_return] = ACTIONS(2379), + [anon_sym_break] = ACTIONS(2379), + [anon_sym_continue] = ACTIONS(2379), + [anon_sym_goto] = ACTIONS(2379), + [anon_sym_DASH_DASH] = ACTIONS(2381), + [anon_sym_PLUS_PLUS] = ACTIONS(2381), + [anon_sym_sizeof] = ACTIONS(2379), + [sym_number_literal] = ACTIONS(2381), + [anon_sym_L_SQUOTE] = ACTIONS(2381), + [anon_sym_u_SQUOTE] = ACTIONS(2381), + [anon_sym_U_SQUOTE] = ACTIONS(2381), + [anon_sym_u8_SQUOTE] = ACTIONS(2381), + [anon_sym_SQUOTE] = ACTIONS(2381), + [anon_sym_L_DQUOTE] = ACTIONS(2381), + [anon_sym_u_DQUOTE] = ACTIONS(2381), + [anon_sym_U_DQUOTE] = ACTIONS(2381), + [anon_sym_u8_DQUOTE] = ACTIONS(2381), + [anon_sym_DQUOTE] = ACTIONS(2381), + [sym_true] = ACTIONS(2379), + [sym_false] = ACTIONS(2379), + [sym_null] = ACTIONS(2379), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2379), + [anon_sym_decltype] = ACTIONS(2379), + [anon_sym_virtual] = ACTIONS(2379), + [anon_sym_explicit] = ACTIONS(2379), + [anon_sym_typename] = ACTIONS(2379), + [anon_sym_template] = ACTIONS(2379), + [anon_sym_operator] = ACTIONS(2379), + [anon_sym_delete] = ACTIONS(2379), + [anon_sym_throw] = ACTIONS(2379), + [anon_sym_namespace] = ACTIONS(2379), + [anon_sym_using] = ACTIONS(2379), + [anon_sym_static_assert] = ACTIONS(2379), + [anon_sym_concept] = ACTIONS(2379), + [anon_sym_co_return] = ACTIONS(2379), + [anon_sym_co_yield] = ACTIONS(2379), + [anon_sym_try] = ACTIONS(2379), + [anon_sym_co_await] = ACTIONS(2379), + [anon_sym_new] = ACTIONS(2379), + [anon_sym_requires] = ACTIONS(2379), + [sym_this] = ACTIONS(2379), + [sym_nullptr] = ACTIONS(2379), + [sym_raw_string_literal] = ACTIONS(2381), + }, + [460] = { + [sym_identifier] = ACTIONS(2383), + [aux_sym_preproc_include_token1] = ACTIONS(2383), + [aux_sym_preproc_def_token1] = ACTIONS(2383), + [aux_sym_preproc_if_token1] = ACTIONS(2383), + [aux_sym_preproc_if_token2] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2383), + [aux_sym_preproc_else_token1] = ACTIONS(2383), + [aux_sym_preproc_elif_token1] = ACTIONS(2383), + [sym_preproc_directive] = ACTIONS(2383), + [anon_sym_LPAREN2] = ACTIONS(2385), + [anon_sym_BANG] = ACTIONS(2385), + [anon_sym_TILDE] = ACTIONS(2385), + [anon_sym_DASH] = ACTIONS(2383), + [anon_sym_PLUS] = ACTIONS(2383), + [anon_sym_STAR] = ACTIONS(2385), + [anon_sym_AMP_AMP] = ACTIONS(2385), + [anon_sym_AMP] = ACTIONS(2383), + [anon_sym_SEMI] = ACTIONS(2385), + [anon_sym_typedef] = ACTIONS(2383), + [anon_sym_extern] = ACTIONS(2383), + [anon_sym___attribute__] = ACTIONS(2383), + [anon_sym_COLON_COLON] = ACTIONS(2385), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2385), + [anon_sym___declspec] = ACTIONS(2383), + [anon_sym___based] = ACTIONS(2383), + [anon_sym___cdecl] = ACTIONS(2383), + [anon_sym___clrcall] = ACTIONS(2383), + [anon_sym___stdcall] = ACTIONS(2383), + [anon_sym___fastcall] = ACTIONS(2383), + [anon_sym___thiscall] = ACTIONS(2383), + [anon_sym___vectorcall] = ACTIONS(2383), + [anon_sym_LBRACE] = ACTIONS(2385), + [anon_sym_LBRACK] = ACTIONS(2383), + [anon_sym_static] = ACTIONS(2383), + [anon_sym_register] = ACTIONS(2383), + [anon_sym_inline] = ACTIONS(2383), + [anon_sym_thread_local] = ACTIONS(2383), + [anon_sym_const] = ACTIONS(2383), + [anon_sym_volatile] = ACTIONS(2383), + [anon_sym_restrict] = ACTIONS(2383), + [anon_sym__Atomic] = ACTIONS(2383), + [anon_sym_mutable] = ACTIONS(2383), + [anon_sym_constexpr] = ACTIONS(2383), + [anon_sym_constinit] = ACTIONS(2383), + [anon_sym_consteval] = ACTIONS(2383), + [anon_sym_signed] = ACTIONS(2383), + [anon_sym_unsigned] = ACTIONS(2383), + [anon_sym_long] = ACTIONS(2383), + [anon_sym_short] = ACTIONS(2383), + [sym_primitive_type] = ACTIONS(2383), + [anon_sym_enum] = ACTIONS(2383), + [anon_sym_class] = ACTIONS(2383), + [anon_sym_struct] = ACTIONS(2383), + [anon_sym_union] = ACTIONS(2383), + [anon_sym_if] = ACTIONS(2383), + [anon_sym_switch] = ACTIONS(2383), + [anon_sym_case] = ACTIONS(2383), + [anon_sym_default] = ACTIONS(2383), + [anon_sym_while] = ACTIONS(2383), + [anon_sym_do] = ACTIONS(2383), + [anon_sym_for] = ACTIONS(2383), + [anon_sym_return] = ACTIONS(2383), + [anon_sym_break] = ACTIONS(2383), + [anon_sym_continue] = ACTIONS(2383), + [anon_sym_goto] = ACTIONS(2383), + [anon_sym_DASH_DASH] = ACTIONS(2385), + [anon_sym_PLUS_PLUS] = ACTIONS(2385), + [anon_sym_sizeof] = ACTIONS(2383), + [sym_number_literal] = ACTIONS(2385), + [anon_sym_L_SQUOTE] = ACTIONS(2385), + [anon_sym_u_SQUOTE] = ACTIONS(2385), + [anon_sym_U_SQUOTE] = ACTIONS(2385), + [anon_sym_u8_SQUOTE] = ACTIONS(2385), + [anon_sym_SQUOTE] = ACTIONS(2385), + [anon_sym_L_DQUOTE] = ACTIONS(2385), + [anon_sym_u_DQUOTE] = ACTIONS(2385), + [anon_sym_U_DQUOTE] = ACTIONS(2385), + [anon_sym_u8_DQUOTE] = ACTIONS(2385), + [anon_sym_DQUOTE] = ACTIONS(2385), + [sym_true] = ACTIONS(2383), + [sym_false] = ACTIONS(2383), + [sym_null] = ACTIONS(2383), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2383), + [anon_sym_decltype] = ACTIONS(2383), + [anon_sym_virtual] = ACTIONS(2383), + [anon_sym_explicit] = ACTIONS(2383), + [anon_sym_typename] = ACTIONS(2383), + [anon_sym_template] = ACTIONS(2383), + [anon_sym_operator] = ACTIONS(2383), + [anon_sym_delete] = ACTIONS(2383), + [anon_sym_throw] = ACTIONS(2383), + [anon_sym_namespace] = ACTIONS(2383), + [anon_sym_using] = ACTIONS(2383), + [anon_sym_static_assert] = ACTIONS(2383), + [anon_sym_concept] = ACTIONS(2383), + [anon_sym_co_return] = ACTIONS(2383), + [anon_sym_co_yield] = ACTIONS(2383), + [anon_sym_try] = ACTIONS(2383), + [anon_sym_co_await] = ACTIONS(2383), + [anon_sym_new] = ACTIONS(2383), + [anon_sym_requires] = ACTIONS(2383), + [sym_this] = ACTIONS(2383), + [sym_nullptr] = ACTIONS(2383), + [sym_raw_string_literal] = ACTIONS(2385), + }, + [461] = { + [sym_identifier] = ACTIONS(2387), + [aux_sym_preproc_include_token1] = ACTIONS(2387), + [aux_sym_preproc_def_token1] = ACTIONS(2387), + [aux_sym_preproc_if_token1] = ACTIONS(2387), + [aux_sym_preproc_if_token2] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2387), + [aux_sym_preproc_else_token1] = ACTIONS(2387), + [aux_sym_preproc_elif_token1] = ACTIONS(2387), + [sym_preproc_directive] = ACTIONS(2387), + [anon_sym_LPAREN2] = ACTIONS(2389), + [anon_sym_BANG] = ACTIONS(2389), + [anon_sym_TILDE] = ACTIONS(2389), + [anon_sym_DASH] = ACTIONS(2387), + [anon_sym_PLUS] = ACTIONS(2387), + [anon_sym_STAR] = ACTIONS(2389), + [anon_sym_AMP_AMP] = ACTIONS(2389), + [anon_sym_AMP] = ACTIONS(2387), + [anon_sym_SEMI] = ACTIONS(2389), + [anon_sym_typedef] = ACTIONS(2387), + [anon_sym_extern] = ACTIONS(2387), + [anon_sym___attribute__] = ACTIONS(2387), + [anon_sym_COLON_COLON] = ACTIONS(2389), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2389), + [anon_sym___declspec] = ACTIONS(2387), + [anon_sym___based] = ACTIONS(2387), + [anon_sym___cdecl] = ACTIONS(2387), + [anon_sym___clrcall] = ACTIONS(2387), + [anon_sym___stdcall] = ACTIONS(2387), + [anon_sym___fastcall] = ACTIONS(2387), + [anon_sym___thiscall] = ACTIONS(2387), + [anon_sym___vectorcall] = ACTIONS(2387), + [anon_sym_LBRACE] = ACTIONS(2389), + [anon_sym_LBRACK] = ACTIONS(2387), + [anon_sym_static] = ACTIONS(2387), + [anon_sym_register] = ACTIONS(2387), + [anon_sym_inline] = ACTIONS(2387), + [anon_sym_thread_local] = ACTIONS(2387), + [anon_sym_const] = ACTIONS(2387), + [anon_sym_volatile] = ACTIONS(2387), + [anon_sym_restrict] = ACTIONS(2387), + [anon_sym__Atomic] = ACTIONS(2387), + [anon_sym_mutable] = ACTIONS(2387), + [anon_sym_constexpr] = ACTIONS(2387), + [anon_sym_constinit] = ACTIONS(2387), + [anon_sym_consteval] = ACTIONS(2387), + [anon_sym_signed] = ACTIONS(2387), + [anon_sym_unsigned] = ACTIONS(2387), + [anon_sym_long] = ACTIONS(2387), + [anon_sym_short] = ACTIONS(2387), + [sym_primitive_type] = ACTIONS(2387), + [anon_sym_enum] = ACTIONS(2387), + [anon_sym_class] = ACTIONS(2387), + [anon_sym_struct] = ACTIONS(2387), + [anon_sym_union] = ACTIONS(2387), + [anon_sym_if] = ACTIONS(2387), + [anon_sym_switch] = ACTIONS(2387), + [anon_sym_case] = ACTIONS(2387), + [anon_sym_default] = ACTIONS(2387), + [anon_sym_while] = ACTIONS(2387), + [anon_sym_do] = ACTIONS(2387), + [anon_sym_for] = ACTIONS(2387), + [anon_sym_return] = ACTIONS(2387), + [anon_sym_break] = ACTIONS(2387), + [anon_sym_continue] = ACTIONS(2387), + [anon_sym_goto] = ACTIONS(2387), + [anon_sym_DASH_DASH] = ACTIONS(2389), + [anon_sym_PLUS_PLUS] = ACTIONS(2389), + [anon_sym_sizeof] = ACTIONS(2387), + [sym_number_literal] = ACTIONS(2389), + [anon_sym_L_SQUOTE] = ACTIONS(2389), + [anon_sym_u_SQUOTE] = ACTIONS(2389), + [anon_sym_U_SQUOTE] = ACTIONS(2389), + [anon_sym_u8_SQUOTE] = ACTIONS(2389), + [anon_sym_SQUOTE] = ACTIONS(2389), + [anon_sym_L_DQUOTE] = ACTIONS(2389), + [anon_sym_u_DQUOTE] = ACTIONS(2389), + [anon_sym_U_DQUOTE] = ACTIONS(2389), + [anon_sym_u8_DQUOTE] = ACTIONS(2389), + [anon_sym_DQUOTE] = ACTIONS(2389), + [sym_true] = ACTIONS(2387), + [sym_false] = ACTIONS(2387), + [sym_null] = ACTIONS(2387), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2387), + [anon_sym_decltype] = ACTIONS(2387), + [anon_sym_virtual] = ACTIONS(2387), + [anon_sym_explicit] = ACTIONS(2387), + [anon_sym_typename] = ACTIONS(2387), + [anon_sym_template] = ACTIONS(2387), + [anon_sym_operator] = ACTIONS(2387), + [anon_sym_delete] = ACTIONS(2387), + [anon_sym_throw] = ACTIONS(2387), + [anon_sym_namespace] = ACTIONS(2387), + [anon_sym_using] = ACTIONS(2387), + [anon_sym_static_assert] = ACTIONS(2387), + [anon_sym_concept] = ACTIONS(2387), + [anon_sym_co_return] = ACTIONS(2387), + [anon_sym_co_yield] = ACTIONS(2387), + [anon_sym_try] = ACTIONS(2387), + [anon_sym_co_await] = ACTIONS(2387), + [anon_sym_new] = ACTIONS(2387), + [anon_sym_requires] = ACTIONS(2387), + [sym_this] = ACTIONS(2387), + [sym_nullptr] = ACTIONS(2387), + [sym_raw_string_literal] = ACTIONS(2389), + }, + [462] = { + [sym_identifier] = ACTIONS(2391), + [aux_sym_preproc_include_token1] = ACTIONS(2391), + [aux_sym_preproc_def_token1] = ACTIONS(2391), + [aux_sym_preproc_if_token1] = ACTIONS(2391), + [aux_sym_preproc_if_token2] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2391), + [aux_sym_preproc_else_token1] = ACTIONS(2391), + [aux_sym_preproc_elif_token1] = ACTIONS(2391), + [sym_preproc_directive] = ACTIONS(2391), + [anon_sym_LPAREN2] = ACTIONS(2393), + [anon_sym_BANG] = ACTIONS(2393), + [anon_sym_TILDE] = ACTIONS(2393), + [anon_sym_DASH] = ACTIONS(2391), + [anon_sym_PLUS] = ACTIONS(2391), + [anon_sym_STAR] = ACTIONS(2393), + [anon_sym_AMP_AMP] = ACTIONS(2393), + [anon_sym_AMP] = ACTIONS(2391), + [anon_sym_SEMI] = ACTIONS(2393), + [anon_sym_typedef] = ACTIONS(2391), + [anon_sym_extern] = ACTIONS(2391), + [anon_sym___attribute__] = ACTIONS(2391), + [anon_sym_COLON_COLON] = ACTIONS(2393), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2393), + [anon_sym___declspec] = ACTIONS(2391), + [anon_sym___based] = ACTIONS(2391), + [anon_sym___cdecl] = ACTIONS(2391), + [anon_sym___clrcall] = ACTIONS(2391), + [anon_sym___stdcall] = ACTIONS(2391), + [anon_sym___fastcall] = ACTIONS(2391), + [anon_sym___thiscall] = ACTIONS(2391), + [anon_sym___vectorcall] = ACTIONS(2391), + [anon_sym_LBRACE] = ACTIONS(2393), + [anon_sym_LBRACK] = ACTIONS(2391), + [anon_sym_static] = ACTIONS(2391), + [anon_sym_register] = ACTIONS(2391), + [anon_sym_inline] = ACTIONS(2391), + [anon_sym_thread_local] = ACTIONS(2391), + [anon_sym_const] = ACTIONS(2391), + [anon_sym_volatile] = ACTIONS(2391), + [anon_sym_restrict] = ACTIONS(2391), + [anon_sym__Atomic] = ACTIONS(2391), + [anon_sym_mutable] = ACTIONS(2391), + [anon_sym_constexpr] = ACTIONS(2391), + [anon_sym_constinit] = ACTIONS(2391), + [anon_sym_consteval] = ACTIONS(2391), + [anon_sym_signed] = ACTIONS(2391), + [anon_sym_unsigned] = ACTIONS(2391), + [anon_sym_long] = ACTIONS(2391), + [anon_sym_short] = ACTIONS(2391), + [sym_primitive_type] = ACTIONS(2391), + [anon_sym_enum] = ACTIONS(2391), + [anon_sym_class] = ACTIONS(2391), + [anon_sym_struct] = ACTIONS(2391), + [anon_sym_union] = ACTIONS(2391), + [anon_sym_if] = ACTIONS(2391), + [anon_sym_switch] = ACTIONS(2391), + [anon_sym_case] = ACTIONS(2391), + [anon_sym_default] = ACTIONS(2391), + [anon_sym_while] = ACTIONS(2391), + [anon_sym_do] = ACTIONS(2391), + [anon_sym_for] = ACTIONS(2391), + [anon_sym_return] = ACTIONS(2391), + [anon_sym_break] = ACTIONS(2391), + [anon_sym_continue] = ACTIONS(2391), + [anon_sym_goto] = ACTIONS(2391), + [anon_sym_DASH_DASH] = ACTIONS(2393), + [anon_sym_PLUS_PLUS] = ACTIONS(2393), + [anon_sym_sizeof] = ACTIONS(2391), + [sym_number_literal] = ACTIONS(2393), + [anon_sym_L_SQUOTE] = ACTIONS(2393), + [anon_sym_u_SQUOTE] = ACTIONS(2393), + [anon_sym_U_SQUOTE] = ACTIONS(2393), + [anon_sym_u8_SQUOTE] = ACTIONS(2393), + [anon_sym_SQUOTE] = ACTIONS(2393), + [anon_sym_L_DQUOTE] = ACTIONS(2393), + [anon_sym_u_DQUOTE] = ACTIONS(2393), + [anon_sym_U_DQUOTE] = ACTIONS(2393), + [anon_sym_u8_DQUOTE] = ACTIONS(2393), + [anon_sym_DQUOTE] = ACTIONS(2393), + [sym_true] = ACTIONS(2391), + [sym_false] = ACTIONS(2391), + [sym_null] = ACTIONS(2391), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2391), + [anon_sym_decltype] = ACTIONS(2391), + [anon_sym_virtual] = ACTIONS(2391), + [anon_sym_explicit] = ACTIONS(2391), + [anon_sym_typename] = ACTIONS(2391), + [anon_sym_template] = ACTIONS(2391), + [anon_sym_operator] = ACTIONS(2391), + [anon_sym_delete] = ACTIONS(2391), + [anon_sym_throw] = ACTIONS(2391), + [anon_sym_namespace] = ACTIONS(2391), + [anon_sym_using] = ACTIONS(2391), + [anon_sym_static_assert] = ACTIONS(2391), + [anon_sym_concept] = ACTIONS(2391), + [anon_sym_co_return] = ACTIONS(2391), + [anon_sym_co_yield] = ACTIONS(2391), + [anon_sym_try] = ACTIONS(2391), + [anon_sym_co_await] = ACTIONS(2391), + [anon_sym_new] = ACTIONS(2391), + [anon_sym_requires] = ACTIONS(2391), + [sym_this] = ACTIONS(2391), + [sym_nullptr] = ACTIONS(2391), + [sym_raw_string_literal] = ACTIONS(2393), + }, + [463] = { + [sym_identifier] = ACTIONS(2395), + [aux_sym_preproc_include_token1] = ACTIONS(2395), + [aux_sym_preproc_def_token1] = ACTIONS(2395), + [aux_sym_preproc_if_token1] = ACTIONS(2395), + [aux_sym_preproc_if_token2] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2395), + [aux_sym_preproc_else_token1] = ACTIONS(2395), + [aux_sym_preproc_elif_token1] = ACTIONS(2395), + [sym_preproc_directive] = ACTIONS(2395), + [anon_sym_LPAREN2] = ACTIONS(2397), + [anon_sym_BANG] = ACTIONS(2397), + [anon_sym_TILDE] = ACTIONS(2397), + [anon_sym_DASH] = ACTIONS(2395), + [anon_sym_PLUS] = ACTIONS(2395), + [anon_sym_STAR] = ACTIONS(2397), + [anon_sym_AMP_AMP] = ACTIONS(2397), + [anon_sym_AMP] = ACTIONS(2395), + [anon_sym_SEMI] = ACTIONS(2397), + [anon_sym_typedef] = ACTIONS(2395), + [anon_sym_extern] = ACTIONS(2395), + [anon_sym___attribute__] = ACTIONS(2395), + [anon_sym_COLON_COLON] = ACTIONS(2397), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2397), + [anon_sym___declspec] = ACTIONS(2395), + [anon_sym___based] = ACTIONS(2395), + [anon_sym___cdecl] = ACTIONS(2395), + [anon_sym___clrcall] = ACTIONS(2395), + [anon_sym___stdcall] = ACTIONS(2395), + [anon_sym___fastcall] = ACTIONS(2395), + [anon_sym___thiscall] = ACTIONS(2395), + [anon_sym___vectorcall] = ACTIONS(2395), + [anon_sym_LBRACE] = ACTIONS(2397), + [anon_sym_LBRACK] = ACTIONS(2395), + [anon_sym_static] = ACTIONS(2395), + [anon_sym_register] = ACTIONS(2395), + [anon_sym_inline] = ACTIONS(2395), + [anon_sym_thread_local] = ACTIONS(2395), + [anon_sym_const] = ACTIONS(2395), + [anon_sym_volatile] = ACTIONS(2395), + [anon_sym_restrict] = ACTIONS(2395), + [anon_sym__Atomic] = ACTIONS(2395), + [anon_sym_mutable] = ACTIONS(2395), + [anon_sym_constexpr] = ACTIONS(2395), + [anon_sym_constinit] = ACTIONS(2395), + [anon_sym_consteval] = ACTIONS(2395), + [anon_sym_signed] = ACTIONS(2395), + [anon_sym_unsigned] = ACTIONS(2395), + [anon_sym_long] = ACTIONS(2395), + [anon_sym_short] = ACTIONS(2395), + [sym_primitive_type] = ACTIONS(2395), + [anon_sym_enum] = ACTIONS(2395), + [anon_sym_class] = ACTIONS(2395), + [anon_sym_struct] = ACTIONS(2395), + [anon_sym_union] = ACTIONS(2395), + [anon_sym_if] = ACTIONS(2395), + [anon_sym_switch] = ACTIONS(2395), + [anon_sym_case] = ACTIONS(2395), + [anon_sym_default] = ACTIONS(2395), + [anon_sym_while] = ACTIONS(2395), + [anon_sym_do] = ACTIONS(2395), + [anon_sym_for] = ACTIONS(2395), + [anon_sym_return] = ACTIONS(2395), + [anon_sym_break] = ACTIONS(2395), + [anon_sym_continue] = ACTIONS(2395), + [anon_sym_goto] = ACTIONS(2395), + [anon_sym_DASH_DASH] = ACTIONS(2397), + [anon_sym_PLUS_PLUS] = ACTIONS(2397), + [anon_sym_sizeof] = ACTIONS(2395), + [sym_number_literal] = ACTIONS(2397), + [anon_sym_L_SQUOTE] = ACTIONS(2397), + [anon_sym_u_SQUOTE] = ACTIONS(2397), + [anon_sym_U_SQUOTE] = ACTIONS(2397), + [anon_sym_u8_SQUOTE] = ACTIONS(2397), + [anon_sym_SQUOTE] = ACTIONS(2397), + [anon_sym_L_DQUOTE] = ACTIONS(2397), + [anon_sym_u_DQUOTE] = ACTIONS(2397), + [anon_sym_U_DQUOTE] = ACTIONS(2397), + [anon_sym_u8_DQUOTE] = ACTIONS(2397), + [anon_sym_DQUOTE] = ACTIONS(2397), + [sym_true] = ACTIONS(2395), + [sym_false] = ACTIONS(2395), + [sym_null] = ACTIONS(2395), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2395), + [anon_sym_decltype] = ACTIONS(2395), + [anon_sym_virtual] = ACTIONS(2395), + [anon_sym_explicit] = ACTIONS(2395), + [anon_sym_typename] = ACTIONS(2395), + [anon_sym_template] = ACTIONS(2395), + [anon_sym_operator] = ACTIONS(2395), + [anon_sym_delete] = ACTIONS(2395), + [anon_sym_throw] = ACTIONS(2395), + [anon_sym_namespace] = ACTIONS(2395), + [anon_sym_using] = ACTIONS(2395), + [anon_sym_static_assert] = ACTIONS(2395), + [anon_sym_concept] = ACTIONS(2395), + [anon_sym_co_return] = ACTIONS(2395), + [anon_sym_co_yield] = ACTIONS(2395), + [anon_sym_try] = ACTIONS(2395), + [anon_sym_co_await] = ACTIONS(2395), + [anon_sym_new] = ACTIONS(2395), + [anon_sym_requires] = ACTIONS(2395), + [sym_this] = ACTIONS(2395), + [sym_nullptr] = ACTIONS(2395), + [sym_raw_string_literal] = ACTIONS(2397), + }, + [464] = { + [sym_identifier] = ACTIONS(2399), + [aux_sym_preproc_include_token1] = ACTIONS(2399), + [aux_sym_preproc_def_token1] = ACTIONS(2399), + [aux_sym_preproc_if_token1] = ACTIONS(2399), + [aux_sym_preproc_if_token2] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2399), + [aux_sym_preproc_else_token1] = ACTIONS(2399), + [aux_sym_preproc_elif_token1] = ACTIONS(2399), + [sym_preproc_directive] = ACTIONS(2399), + [anon_sym_LPAREN2] = ACTIONS(2401), + [anon_sym_BANG] = ACTIONS(2401), + [anon_sym_TILDE] = ACTIONS(2401), + [anon_sym_DASH] = ACTIONS(2399), + [anon_sym_PLUS] = ACTIONS(2399), + [anon_sym_STAR] = ACTIONS(2401), + [anon_sym_AMP_AMP] = ACTIONS(2401), + [anon_sym_AMP] = ACTIONS(2399), + [anon_sym_SEMI] = ACTIONS(2401), + [anon_sym_typedef] = ACTIONS(2399), + [anon_sym_extern] = ACTIONS(2399), + [anon_sym___attribute__] = ACTIONS(2399), + [anon_sym_COLON_COLON] = ACTIONS(2401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2401), + [anon_sym___declspec] = ACTIONS(2399), + [anon_sym___based] = ACTIONS(2399), + [anon_sym___cdecl] = ACTIONS(2399), + [anon_sym___clrcall] = ACTIONS(2399), + [anon_sym___stdcall] = ACTIONS(2399), + [anon_sym___fastcall] = ACTIONS(2399), + [anon_sym___thiscall] = ACTIONS(2399), + [anon_sym___vectorcall] = ACTIONS(2399), + [anon_sym_LBRACE] = ACTIONS(2401), + [anon_sym_LBRACK] = ACTIONS(2399), + [anon_sym_static] = ACTIONS(2399), + [anon_sym_register] = ACTIONS(2399), + [anon_sym_inline] = ACTIONS(2399), + [anon_sym_thread_local] = ACTIONS(2399), + [anon_sym_const] = ACTIONS(2399), + [anon_sym_volatile] = ACTIONS(2399), + [anon_sym_restrict] = ACTIONS(2399), + [anon_sym__Atomic] = ACTIONS(2399), + [anon_sym_mutable] = ACTIONS(2399), + [anon_sym_constexpr] = ACTIONS(2399), + [anon_sym_constinit] = ACTIONS(2399), + [anon_sym_consteval] = ACTIONS(2399), + [anon_sym_signed] = ACTIONS(2399), + [anon_sym_unsigned] = ACTIONS(2399), + [anon_sym_long] = ACTIONS(2399), + [anon_sym_short] = ACTIONS(2399), + [sym_primitive_type] = ACTIONS(2399), + [anon_sym_enum] = ACTIONS(2399), + [anon_sym_class] = ACTIONS(2399), + [anon_sym_struct] = ACTIONS(2399), + [anon_sym_union] = ACTIONS(2399), + [anon_sym_if] = ACTIONS(2399), + [anon_sym_switch] = ACTIONS(2399), + [anon_sym_case] = ACTIONS(2399), + [anon_sym_default] = ACTIONS(2399), + [anon_sym_while] = ACTIONS(2399), + [anon_sym_do] = ACTIONS(2399), + [anon_sym_for] = ACTIONS(2399), + [anon_sym_return] = ACTIONS(2399), + [anon_sym_break] = ACTIONS(2399), + [anon_sym_continue] = ACTIONS(2399), + [anon_sym_goto] = ACTIONS(2399), + [anon_sym_DASH_DASH] = ACTIONS(2401), + [anon_sym_PLUS_PLUS] = ACTIONS(2401), + [anon_sym_sizeof] = ACTIONS(2399), + [sym_number_literal] = ACTIONS(2401), + [anon_sym_L_SQUOTE] = ACTIONS(2401), + [anon_sym_u_SQUOTE] = ACTIONS(2401), + [anon_sym_U_SQUOTE] = ACTIONS(2401), + [anon_sym_u8_SQUOTE] = ACTIONS(2401), + [anon_sym_SQUOTE] = ACTIONS(2401), + [anon_sym_L_DQUOTE] = ACTIONS(2401), + [anon_sym_u_DQUOTE] = ACTIONS(2401), + [anon_sym_U_DQUOTE] = ACTIONS(2401), + [anon_sym_u8_DQUOTE] = ACTIONS(2401), + [anon_sym_DQUOTE] = ACTIONS(2401), + [sym_true] = ACTIONS(2399), + [sym_false] = ACTIONS(2399), + [sym_null] = ACTIONS(2399), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2399), + [anon_sym_decltype] = ACTIONS(2399), + [anon_sym_virtual] = ACTIONS(2399), + [anon_sym_explicit] = ACTIONS(2399), + [anon_sym_typename] = ACTIONS(2399), + [anon_sym_template] = ACTIONS(2399), + [anon_sym_operator] = ACTIONS(2399), + [anon_sym_delete] = ACTIONS(2399), + [anon_sym_throw] = ACTIONS(2399), + [anon_sym_namespace] = ACTIONS(2399), + [anon_sym_using] = ACTIONS(2399), + [anon_sym_static_assert] = ACTIONS(2399), + [anon_sym_concept] = ACTIONS(2399), + [anon_sym_co_return] = ACTIONS(2399), + [anon_sym_co_yield] = ACTIONS(2399), + [anon_sym_try] = ACTIONS(2399), + [anon_sym_co_await] = ACTIONS(2399), + [anon_sym_new] = ACTIONS(2399), + [anon_sym_requires] = ACTIONS(2399), + [sym_this] = ACTIONS(2399), + [sym_nullptr] = ACTIONS(2399), + [sym_raw_string_literal] = ACTIONS(2401), + }, + [465] = { + [sym_identifier] = ACTIONS(2403), + [aux_sym_preproc_include_token1] = ACTIONS(2403), + [aux_sym_preproc_def_token1] = ACTIONS(2403), + [aux_sym_preproc_if_token1] = ACTIONS(2403), + [aux_sym_preproc_if_token2] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2403), + [aux_sym_preproc_else_token1] = ACTIONS(2403), + [aux_sym_preproc_elif_token1] = ACTIONS(2403), + [sym_preproc_directive] = ACTIONS(2403), + [anon_sym_LPAREN2] = ACTIONS(2405), + [anon_sym_BANG] = ACTIONS(2405), + [anon_sym_TILDE] = ACTIONS(2405), + [anon_sym_DASH] = ACTIONS(2403), + [anon_sym_PLUS] = ACTIONS(2403), + [anon_sym_STAR] = ACTIONS(2405), + [anon_sym_AMP_AMP] = ACTIONS(2405), + [anon_sym_AMP] = ACTIONS(2403), + [anon_sym_SEMI] = ACTIONS(2405), + [anon_sym_typedef] = ACTIONS(2403), + [anon_sym_extern] = ACTIONS(2403), + [anon_sym___attribute__] = ACTIONS(2403), + [anon_sym_COLON_COLON] = ACTIONS(2405), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2405), + [anon_sym___declspec] = ACTIONS(2403), + [anon_sym___based] = ACTIONS(2403), + [anon_sym___cdecl] = ACTIONS(2403), + [anon_sym___clrcall] = ACTIONS(2403), + [anon_sym___stdcall] = ACTIONS(2403), + [anon_sym___fastcall] = ACTIONS(2403), + [anon_sym___thiscall] = ACTIONS(2403), + [anon_sym___vectorcall] = ACTIONS(2403), + [anon_sym_LBRACE] = ACTIONS(2405), + [anon_sym_LBRACK] = ACTIONS(2403), + [anon_sym_static] = ACTIONS(2403), + [anon_sym_register] = ACTIONS(2403), + [anon_sym_inline] = ACTIONS(2403), + [anon_sym_thread_local] = ACTIONS(2403), + [anon_sym_const] = ACTIONS(2403), + [anon_sym_volatile] = ACTIONS(2403), + [anon_sym_restrict] = ACTIONS(2403), + [anon_sym__Atomic] = ACTIONS(2403), + [anon_sym_mutable] = ACTIONS(2403), + [anon_sym_constexpr] = ACTIONS(2403), + [anon_sym_constinit] = ACTIONS(2403), + [anon_sym_consteval] = ACTIONS(2403), + [anon_sym_signed] = ACTIONS(2403), + [anon_sym_unsigned] = ACTIONS(2403), + [anon_sym_long] = ACTIONS(2403), + [anon_sym_short] = ACTIONS(2403), + [sym_primitive_type] = ACTIONS(2403), + [anon_sym_enum] = ACTIONS(2403), + [anon_sym_class] = ACTIONS(2403), + [anon_sym_struct] = ACTIONS(2403), + [anon_sym_union] = ACTIONS(2403), + [anon_sym_if] = ACTIONS(2403), + [anon_sym_switch] = ACTIONS(2403), + [anon_sym_case] = ACTIONS(2403), + [anon_sym_default] = ACTIONS(2403), + [anon_sym_while] = ACTIONS(2403), + [anon_sym_do] = ACTIONS(2403), + [anon_sym_for] = ACTIONS(2403), + [anon_sym_return] = ACTIONS(2403), + [anon_sym_break] = ACTIONS(2403), + [anon_sym_continue] = ACTIONS(2403), + [anon_sym_goto] = ACTIONS(2403), + [anon_sym_DASH_DASH] = ACTIONS(2405), + [anon_sym_PLUS_PLUS] = ACTIONS(2405), + [anon_sym_sizeof] = ACTIONS(2403), + [sym_number_literal] = ACTIONS(2405), + [anon_sym_L_SQUOTE] = ACTIONS(2405), + [anon_sym_u_SQUOTE] = ACTIONS(2405), + [anon_sym_U_SQUOTE] = ACTIONS(2405), + [anon_sym_u8_SQUOTE] = ACTIONS(2405), + [anon_sym_SQUOTE] = ACTIONS(2405), + [anon_sym_L_DQUOTE] = ACTIONS(2405), + [anon_sym_u_DQUOTE] = ACTIONS(2405), + [anon_sym_U_DQUOTE] = ACTIONS(2405), + [anon_sym_u8_DQUOTE] = ACTIONS(2405), + [anon_sym_DQUOTE] = ACTIONS(2405), + [sym_true] = ACTIONS(2403), + [sym_false] = ACTIONS(2403), + [sym_null] = ACTIONS(2403), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2403), + [anon_sym_decltype] = ACTIONS(2403), + [anon_sym_virtual] = ACTIONS(2403), + [anon_sym_explicit] = ACTIONS(2403), + [anon_sym_typename] = ACTIONS(2403), + [anon_sym_template] = ACTIONS(2403), + [anon_sym_operator] = ACTIONS(2403), + [anon_sym_delete] = ACTIONS(2403), + [anon_sym_throw] = ACTIONS(2403), + [anon_sym_namespace] = ACTIONS(2403), + [anon_sym_using] = ACTIONS(2403), + [anon_sym_static_assert] = ACTIONS(2403), + [anon_sym_concept] = ACTIONS(2403), + [anon_sym_co_return] = ACTIONS(2403), + [anon_sym_co_yield] = ACTIONS(2403), + [anon_sym_try] = ACTIONS(2403), + [anon_sym_co_await] = ACTIONS(2403), + [anon_sym_new] = ACTIONS(2403), + [anon_sym_requires] = ACTIONS(2403), + [sym_this] = ACTIONS(2403), + [sym_nullptr] = ACTIONS(2403), + [sym_raw_string_literal] = ACTIONS(2405), + }, + [466] = { + [sym_identifier] = ACTIONS(2407), + [aux_sym_preproc_include_token1] = ACTIONS(2407), + [aux_sym_preproc_def_token1] = ACTIONS(2407), + [aux_sym_preproc_if_token1] = ACTIONS(2407), + [aux_sym_preproc_if_token2] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2407), + [aux_sym_preproc_else_token1] = ACTIONS(2407), + [aux_sym_preproc_elif_token1] = ACTIONS(2407), + [sym_preproc_directive] = ACTIONS(2407), + [anon_sym_LPAREN2] = ACTIONS(2409), + [anon_sym_BANG] = ACTIONS(2409), + [anon_sym_TILDE] = ACTIONS(2409), + [anon_sym_DASH] = ACTIONS(2407), + [anon_sym_PLUS] = ACTIONS(2407), + [anon_sym_STAR] = ACTIONS(2409), + [anon_sym_AMP_AMP] = ACTIONS(2409), + [anon_sym_AMP] = ACTIONS(2407), + [anon_sym_SEMI] = ACTIONS(2409), + [anon_sym_typedef] = ACTIONS(2407), + [anon_sym_extern] = ACTIONS(2407), + [anon_sym___attribute__] = ACTIONS(2407), + [anon_sym_COLON_COLON] = ACTIONS(2409), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2409), + [anon_sym___declspec] = ACTIONS(2407), + [anon_sym___based] = ACTIONS(2407), + [anon_sym___cdecl] = ACTIONS(2407), + [anon_sym___clrcall] = ACTIONS(2407), + [anon_sym___stdcall] = ACTIONS(2407), + [anon_sym___fastcall] = ACTIONS(2407), + [anon_sym___thiscall] = ACTIONS(2407), + [anon_sym___vectorcall] = ACTIONS(2407), + [anon_sym_LBRACE] = ACTIONS(2409), + [anon_sym_LBRACK] = ACTIONS(2407), + [anon_sym_static] = ACTIONS(2407), + [anon_sym_register] = ACTIONS(2407), + [anon_sym_inline] = ACTIONS(2407), + [anon_sym_thread_local] = ACTIONS(2407), + [anon_sym_const] = ACTIONS(2407), + [anon_sym_volatile] = ACTIONS(2407), + [anon_sym_restrict] = ACTIONS(2407), + [anon_sym__Atomic] = ACTIONS(2407), + [anon_sym_mutable] = ACTIONS(2407), + [anon_sym_constexpr] = ACTIONS(2407), + [anon_sym_constinit] = ACTIONS(2407), + [anon_sym_consteval] = ACTIONS(2407), + [anon_sym_signed] = ACTIONS(2407), + [anon_sym_unsigned] = ACTIONS(2407), + [anon_sym_long] = ACTIONS(2407), + [anon_sym_short] = ACTIONS(2407), + [sym_primitive_type] = ACTIONS(2407), + [anon_sym_enum] = ACTIONS(2407), + [anon_sym_class] = ACTIONS(2407), + [anon_sym_struct] = ACTIONS(2407), + [anon_sym_union] = ACTIONS(2407), + [anon_sym_if] = ACTIONS(2407), + [anon_sym_switch] = ACTIONS(2407), + [anon_sym_case] = ACTIONS(2407), + [anon_sym_default] = ACTIONS(2407), + [anon_sym_while] = ACTIONS(2407), + [anon_sym_do] = ACTIONS(2407), + [anon_sym_for] = ACTIONS(2407), + [anon_sym_return] = ACTIONS(2407), + [anon_sym_break] = ACTIONS(2407), + [anon_sym_continue] = ACTIONS(2407), + [anon_sym_goto] = ACTIONS(2407), + [anon_sym_DASH_DASH] = ACTIONS(2409), + [anon_sym_PLUS_PLUS] = ACTIONS(2409), + [anon_sym_sizeof] = ACTIONS(2407), + [sym_number_literal] = ACTIONS(2409), + [anon_sym_L_SQUOTE] = ACTIONS(2409), + [anon_sym_u_SQUOTE] = ACTIONS(2409), + [anon_sym_U_SQUOTE] = ACTIONS(2409), + [anon_sym_u8_SQUOTE] = ACTIONS(2409), + [anon_sym_SQUOTE] = ACTIONS(2409), + [anon_sym_L_DQUOTE] = ACTIONS(2409), + [anon_sym_u_DQUOTE] = ACTIONS(2409), + [anon_sym_U_DQUOTE] = ACTIONS(2409), + [anon_sym_u8_DQUOTE] = ACTIONS(2409), + [anon_sym_DQUOTE] = ACTIONS(2409), + [sym_true] = ACTIONS(2407), + [sym_false] = ACTIONS(2407), + [sym_null] = ACTIONS(2407), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2407), + [anon_sym_decltype] = ACTIONS(2407), + [anon_sym_virtual] = ACTIONS(2407), + [anon_sym_explicit] = ACTIONS(2407), + [anon_sym_typename] = ACTIONS(2407), + [anon_sym_template] = ACTIONS(2407), + [anon_sym_operator] = ACTIONS(2407), + [anon_sym_delete] = ACTIONS(2407), + [anon_sym_throw] = ACTIONS(2407), + [anon_sym_namespace] = ACTIONS(2407), + [anon_sym_using] = ACTIONS(2407), + [anon_sym_static_assert] = ACTIONS(2407), + [anon_sym_concept] = ACTIONS(2407), + [anon_sym_co_return] = ACTIONS(2407), + [anon_sym_co_yield] = ACTIONS(2407), + [anon_sym_try] = ACTIONS(2407), + [anon_sym_co_await] = ACTIONS(2407), + [anon_sym_new] = ACTIONS(2407), + [anon_sym_requires] = ACTIONS(2407), + [sym_this] = ACTIONS(2407), + [sym_nullptr] = ACTIONS(2407), + [sym_raw_string_literal] = ACTIONS(2409), + }, + [467] = { + [sym_identifier] = ACTIONS(2411), + [aux_sym_preproc_include_token1] = ACTIONS(2411), + [aux_sym_preproc_def_token1] = ACTIONS(2411), + [aux_sym_preproc_if_token1] = ACTIONS(2411), + [aux_sym_preproc_if_token2] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2411), + [aux_sym_preproc_else_token1] = ACTIONS(2411), + [aux_sym_preproc_elif_token1] = ACTIONS(2411), + [sym_preproc_directive] = ACTIONS(2411), + [anon_sym_LPAREN2] = ACTIONS(2413), + [anon_sym_BANG] = ACTIONS(2413), + [anon_sym_TILDE] = ACTIONS(2413), + [anon_sym_DASH] = ACTIONS(2411), + [anon_sym_PLUS] = ACTIONS(2411), + [anon_sym_STAR] = ACTIONS(2413), + [anon_sym_AMP_AMP] = ACTIONS(2413), + [anon_sym_AMP] = ACTIONS(2411), + [anon_sym_SEMI] = ACTIONS(2413), + [anon_sym_typedef] = ACTIONS(2411), + [anon_sym_extern] = ACTIONS(2411), + [anon_sym___attribute__] = ACTIONS(2411), + [anon_sym_COLON_COLON] = ACTIONS(2413), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2413), + [anon_sym___declspec] = ACTIONS(2411), + [anon_sym___based] = ACTIONS(2411), + [anon_sym___cdecl] = ACTIONS(2411), + [anon_sym___clrcall] = ACTIONS(2411), + [anon_sym___stdcall] = ACTIONS(2411), + [anon_sym___fastcall] = ACTIONS(2411), + [anon_sym___thiscall] = ACTIONS(2411), + [anon_sym___vectorcall] = ACTIONS(2411), + [anon_sym_LBRACE] = ACTIONS(2413), + [anon_sym_LBRACK] = ACTIONS(2411), + [anon_sym_static] = ACTIONS(2411), + [anon_sym_register] = ACTIONS(2411), + [anon_sym_inline] = ACTIONS(2411), + [anon_sym_thread_local] = ACTIONS(2411), + [anon_sym_const] = ACTIONS(2411), + [anon_sym_volatile] = ACTIONS(2411), + [anon_sym_restrict] = ACTIONS(2411), + [anon_sym__Atomic] = ACTIONS(2411), + [anon_sym_mutable] = ACTIONS(2411), + [anon_sym_constexpr] = ACTIONS(2411), + [anon_sym_constinit] = ACTIONS(2411), + [anon_sym_consteval] = ACTIONS(2411), + [anon_sym_signed] = ACTIONS(2411), + [anon_sym_unsigned] = ACTIONS(2411), + [anon_sym_long] = ACTIONS(2411), + [anon_sym_short] = ACTIONS(2411), + [sym_primitive_type] = ACTIONS(2411), + [anon_sym_enum] = ACTIONS(2411), + [anon_sym_class] = ACTIONS(2411), + [anon_sym_struct] = ACTIONS(2411), + [anon_sym_union] = ACTIONS(2411), + [anon_sym_if] = ACTIONS(2411), + [anon_sym_switch] = ACTIONS(2411), + [anon_sym_case] = ACTIONS(2411), + [anon_sym_default] = ACTIONS(2411), + [anon_sym_while] = ACTIONS(2411), + [anon_sym_do] = ACTIONS(2411), + [anon_sym_for] = ACTIONS(2411), + [anon_sym_return] = ACTIONS(2411), + [anon_sym_break] = ACTIONS(2411), + [anon_sym_continue] = ACTIONS(2411), + [anon_sym_goto] = ACTIONS(2411), + [anon_sym_DASH_DASH] = ACTIONS(2413), + [anon_sym_PLUS_PLUS] = ACTIONS(2413), + [anon_sym_sizeof] = ACTIONS(2411), + [sym_number_literal] = ACTIONS(2413), + [anon_sym_L_SQUOTE] = ACTIONS(2413), + [anon_sym_u_SQUOTE] = ACTIONS(2413), + [anon_sym_U_SQUOTE] = ACTIONS(2413), + [anon_sym_u8_SQUOTE] = ACTIONS(2413), + [anon_sym_SQUOTE] = ACTIONS(2413), + [anon_sym_L_DQUOTE] = ACTIONS(2413), + [anon_sym_u_DQUOTE] = ACTIONS(2413), + [anon_sym_U_DQUOTE] = ACTIONS(2413), + [anon_sym_u8_DQUOTE] = ACTIONS(2413), + [anon_sym_DQUOTE] = ACTIONS(2413), + [sym_true] = ACTIONS(2411), + [sym_false] = ACTIONS(2411), + [sym_null] = ACTIONS(2411), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2411), + [anon_sym_decltype] = ACTIONS(2411), + [anon_sym_virtual] = ACTIONS(2411), + [anon_sym_explicit] = ACTIONS(2411), + [anon_sym_typename] = ACTIONS(2411), + [anon_sym_template] = ACTIONS(2411), + [anon_sym_operator] = ACTIONS(2411), + [anon_sym_delete] = ACTIONS(2411), + [anon_sym_throw] = ACTIONS(2411), + [anon_sym_namespace] = ACTIONS(2411), + [anon_sym_using] = ACTIONS(2411), + [anon_sym_static_assert] = ACTIONS(2411), + [anon_sym_concept] = ACTIONS(2411), + [anon_sym_co_return] = ACTIONS(2411), + [anon_sym_co_yield] = ACTIONS(2411), + [anon_sym_try] = ACTIONS(2411), + [anon_sym_co_await] = ACTIONS(2411), + [anon_sym_new] = ACTIONS(2411), + [anon_sym_requires] = ACTIONS(2411), + [sym_this] = ACTIONS(2411), + [sym_nullptr] = ACTIONS(2411), + [sym_raw_string_literal] = ACTIONS(2413), + }, + [468] = { + [sym_identifier] = ACTIONS(2415), + [aux_sym_preproc_include_token1] = ACTIONS(2415), + [aux_sym_preproc_def_token1] = ACTIONS(2415), + [aux_sym_preproc_if_token1] = ACTIONS(2415), + [aux_sym_preproc_if_token2] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2415), + [aux_sym_preproc_else_token1] = ACTIONS(2415), + [aux_sym_preproc_elif_token1] = ACTIONS(2415), + [sym_preproc_directive] = ACTIONS(2415), + [anon_sym_LPAREN2] = ACTIONS(2417), + [anon_sym_BANG] = ACTIONS(2417), + [anon_sym_TILDE] = ACTIONS(2417), + [anon_sym_DASH] = ACTIONS(2415), + [anon_sym_PLUS] = ACTIONS(2415), + [anon_sym_STAR] = ACTIONS(2417), + [anon_sym_AMP_AMP] = ACTIONS(2417), + [anon_sym_AMP] = ACTIONS(2415), + [anon_sym_SEMI] = ACTIONS(2417), + [anon_sym_typedef] = ACTIONS(2415), + [anon_sym_extern] = ACTIONS(2415), + [anon_sym___attribute__] = ACTIONS(2415), + [anon_sym_COLON_COLON] = ACTIONS(2417), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2417), + [anon_sym___declspec] = ACTIONS(2415), + [anon_sym___based] = ACTIONS(2415), + [anon_sym___cdecl] = ACTIONS(2415), + [anon_sym___clrcall] = ACTIONS(2415), + [anon_sym___stdcall] = ACTIONS(2415), + [anon_sym___fastcall] = ACTIONS(2415), + [anon_sym___thiscall] = ACTIONS(2415), + [anon_sym___vectorcall] = ACTIONS(2415), + [anon_sym_LBRACE] = ACTIONS(2417), + [anon_sym_LBRACK] = ACTIONS(2415), + [anon_sym_static] = ACTIONS(2415), + [anon_sym_register] = ACTIONS(2415), + [anon_sym_inline] = ACTIONS(2415), + [anon_sym_thread_local] = ACTIONS(2415), + [anon_sym_const] = ACTIONS(2415), + [anon_sym_volatile] = ACTIONS(2415), + [anon_sym_restrict] = ACTIONS(2415), + [anon_sym__Atomic] = ACTIONS(2415), + [anon_sym_mutable] = ACTIONS(2415), + [anon_sym_constexpr] = ACTIONS(2415), + [anon_sym_constinit] = ACTIONS(2415), + [anon_sym_consteval] = ACTIONS(2415), + [anon_sym_signed] = ACTIONS(2415), + [anon_sym_unsigned] = ACTIONS(2415), + [anon_sym_long] = ACTIONS(2415), + [anon_sym_short] = ACTIONS(2415), + [sym_primitive_type] = ACTIONS(2415), + [anon_sym_enum] = ACTIONS(2415), + [anon_sym_class] = ACTIONS(2415), + [anon_sym_struct] = ACTIONS(2415), + [anon_sym_union] = ACTIONS(2415), + [anon_sym_if] = ACTIONS(2415), + [anon_sym_switch] = ACTIONS(2415), + [anon_sym_case] = ACTIONS(2415), + [anon_sym_default] = ACTIONS(2415), + [anon_sym_while] = ACTIONS(2415), + [anon_sym_do] = ACTIONS(2415), + [anon_sym_for] = ACTIONS(2415), + [anon_sym_return] = ACTIONS(2415), + [anon_sym_break] = ACTIONS(2415), + [anon_sym_continue] = ACTIONS(2415), + [anon_sym_goto] = ACTIONS(2415), + [anon_sym_DASH_DASH] = ACTIONS(2417), + [anon_sym_PLUS_PLUS] = ACTIONS(2417), + [anon_sym_sizeof] = ACTIONS(2415), + [sym_number_literal] = ACTIONS(2417), + [anon_sym_L_SQUOTE] = ACTIONS(2417), + [anon_sym_u_SQUOTE] = ACTIONS(2417), + [anon_sym_U_SQUOTE] = ACTIONS(2417), + [anon_sym_u8_SQUOTE] = ACTIONS(2417), + [anon_sym_SQUOTE] = ACTIONS(2417), + [anon_sym_L_DQUOTE] = ACTIONS(2417), + [anon_sym_u_DQUOTE] = ACTIONS(2417), + [anon_sym_U_DQUOTE] = ACTIONS(2417), + [anon_sym_u8_DQUOTE] = ACTIONS(2417), + [anon_sym_DQUOTE] = ACTIONS(2417), + [sym_true] = ACTIONS(2415), + [sym_false] = ACTIONS(2415), + [sym_null] = ACTIONS(2415), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2415), + [anon_sym_decltype] = ACTIONS(2415), + [anon_sym_virtual] = ACTIONS(2415), + [anon_sym_explicit] = ACTIONS(2415), + [anon_sym_typename] = ACTIONS(2415), + [anon_sym_template] = ACTIONS(2415), + [anon_sym_operator] = ACTIONS(2415), + [anon_sym_delete] = ACTIONS(2415), + [anon_sym_throw] = ACTIONS(2415), + [anon_sym_namespace] = ACTIONS(2415), + [anon_sym_using] = ACTIONS(2415), + [anon_sym_static_assert] = ACTIONS(2415), + [anon_sym_concept] = ACTIONS(2415), + [anon_sym_co_return] = ACTIONS(2415), + [anon_sym_co_yield] = ACTIONS(2415), + [anon_sym_try] = ACTIONS(2415), + [anon_sym_co_await] = ACTIONS(2415), + [anon_sym_new] = ACTIONS(2415), + [anon_sym_requires] = ACTIONS(2415), + [sym_this] = ACTIONS(2415), + [sym_nullptr] = ACTIONS(2415), + [sym_raw_string_literal] = ACTIONS(2417), + }, + [469] = { + [sym_identifier] = ACTIONS(2419), + [aux_sym_preproc_include_token1] = ACTIONS(2419), + [aux_sym_preproc_def_token1] = ACTIONS(2419), + [aux_sym_preproc_if_token1] = ACTIONS(2419), + [aux_sym_preproc_if_token2] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2419), + [aux_sym_preproc_else_token1] = ACTIONS(2419), + [aux_sym_preproc_elif_token1] = ACTIONS(2419), + [sym_preproc_directive] = ACTIONS(2419), + [anon_sym_LPAREN2] = ACTIONS(2421), + [anon_sym_BANG] = ACTIONS(2421), + [anon_sym_TILDE] = ACTIONS(2421), + [anon_sym_DASH] = ACTIONS(2419), + [anon_sym_PLUS] = ACTIONS(2419), + [anon_sym_STAR] = ACTIONS(2421), + [anon_sym_AMP_AMP] = ACTIONS(2421), + [anon_sym_AMP] = ACTIONS(2419), + [anon_sym_SEMI] = ACTIONS(2421), + [anon_sym_typedef] = ACTIONS(2419), + [anon_sym_extern] = ACTIONS(2419), + [anon_sym___attribute__] = ACTIONS(2419), + [anon_sym_COLON_COLON] = ACTIONS(2421), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2421), + [anon_sym___declspec] = ACTIONS(2419), + [anon_sym___based] = ACTIONS(2419), + [anon_sym___cdecl] = ACTIONS(2419), + [anon_sym___clrcall] = ACTIONS(2419), + [anon_sym___stdcall] = ACTIONS(2419), + [anon_sym___fastcall] = ACTIONS(2419), + [anon_sym___thiscall] = ACTIONS(2419), + [anon_sym___vectorcall] = ACTIONS(2419), + [anon_sym_LBRACE] = ACTIONS(2421), + [anon_sym_LBRACK] = ACTIONS(2419), + [anon_sym_static] = ACTIONS(2419), + [anon_sym_register] = ACTIONS(2419), + [anon_sym_inline] = ACTIONS(2419), + [anon_sym_thread_local] = ACTIONS(2419), + [anon_sym_const] = ACTIONS(2419), + [anon_sym_volatile] = ACTIONS(2419), + [anon_sym_restrict] = ACTIONS(2419), + [anon_sym__Atomic] = ACTIONS(2419), + [anon_sym_mutable] = ACTIONS(2419), + [anon_sym_constexpr] = ACTIONS(2419), + [anon_sym_constinit] = ACTIONS(2419), + [anon_sym_consteval] = ACTIONS(2419), + [anon_sym_signed] = ACTIONS(2419), + [anon_sym_unsigned] = ACTIONS(2419), + [anon_sym_long] = ACTIONS(2419), + [anon_sym_short] = ACTIONS(2419), + [sym_primitive_type] = ACTIONS(2419), + [anon_sym_enum] = ACTIONS(2419), + [anon_sym_class] = ACTIONS(2419), + [anon_sym_struct] = ACTIONS(2419), + [anon_sym_union] = ACTIONS(2419), + [anon_sym_if] = ACTIONS(2419), + [anon_sym_switch] = ACTIONS(2419), + [anon_sym_case] = ACTIONS(2419), + [anon_sym_default] = ACTIONS(2419), + [anon_sym_while] = ACTIONS(2419), + [anon_sym_do] = ACTIONS(2419), + [anon_sym_for] = ACTIONS(2419), + [anon_sym_return] = ACTIONS(2419), + [anon_sym_break] = ACTIONS(2419), + [anon_sym_continue] = ACTIONS(2419), + [anon_sym_goto] = ACTIONS(2419), + [anon_sym_DASH_DASH] = ACTIONS(2421), + [anon_sym_PLUS_PLUS] = ACTIONS(2421), + [anon_sym_sizeof] = ACTIONS(2419), + [sym_number_literal] = ACTIONS(2421), + [anon_sym_L_SQUOTE] = ACTIONS(2421), + [anon_sym_u_SQUOTE] = ACTIONS(2421), + [anon_sym_U_SQUOTE] = ACTIONS(2421), + [anon_sym_u8_SQUOTE] = ACTIONS(2421), + [anon_sym_SQUOTE] = ACTIONS(2421), + [anon_sym_L_DQUOTE] = ACTIONS(2421), + [anon_sym_u_DQUOTE] = ACTIONS(2421), + [anon_sym_U_DQUOTE] = ACTIONS(2421), + [anon_sym_u8_DQUOTE] = ACTIONS(2421), + [anon_sym_DQUOTE] = ACTIONS(2421), + [sym_true] = ACTIONS(2419), + [sym_false] = ACTIONS(2419), + [sym_null] = ACTIONS(2419), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2419), + [anon_sym_decltype] = ACTIONS(2419), + [anon_sym_virtual] = ACTIONS(2419), + [anon_sym_explicit] = ACTIONS(2419), + [anon_sym_typename] = ACTIONS(2419), + [anon_sym_template] = ACTIONS(2419), + [anon_sym_operator] = ACTIONS(2419), + [anon_sym_delete] = ACTIONS(2419), + [anon_sym_throw] = ACTIONS(2419), + [anon_sym_namespace] = ACTIONS(2419), + [anon_sym_using] = ACTIONS(2419), + [anon_sym_static_assert] = ACTIONS(2419), + [anon_sym_concept] = ACTIONS(2419), + [anon_sym_co_return] = ACTIONS(2419), + [anon_sym_co_yield] = ACTIONS(2419), + [anon_sym_try] = ACTIONS(2419), + [anon_sym_co_await] = ACTIONS(2419), + [anon_sym_new] = ACTIONS(2419), + [anon_sym_requires] = ACTIONS(2419), + [sym_this] = ACTIONS(2419), + [sym_nullptr] = ACTIONS(2419), + [sym_raw_string_literal] = ACTIONS(2421), + }, + [470] = { + [ts_builtin_sym_end] = ACTIONS(2089), + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [471] = { + [sym_identifier] = ACTIONS(1969), + [aux_sym_preproc_include_token1] = ACTIONS(1969), + [aux_sym_preproc_def_token1] = ACTIONS(1969), + [aux_sym_preproc_if_token1] = ACTIONS(1969), + [aux_sym_preproc_if_token2] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1969), + [sym_preproc_directive] = ACTIONS(1969), + [anon_sym_LPAREN2] = ACTIONS(1971), + [anon_sym_BANG] = ACTIONS(1971), + [anon_sym_TILDE] = ACTIONS(1971), + [anon_sym_DASH] = ACTIONS(1969), + [anon_sym_PLUS] = ACTIONS(1969), + [anon_sym_STAR] = ACTIONS(1971), + [anon_sym_AMP_AMP] = ACTIONS(1971), + [anon_sym_AMP] = ACTIONS(1969), + [anon_sym_SEMI] = ACTIONS(1971), + [anon_sym_typedef] = ACTIONS(1969), + [anon_sym_extern] = ACTIONS(1969), + [anon_sym___attribute__] = ACTIONS(1969), + [anon_sym_COLON_COLON] = ACTIONS(1971), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1971), + [anon_sym___declspec] = ACTIONS(1969), + [anon_sym___based] = ACTIONS(1969), + [anon_sym___cdecl] = ACTIONS(1969), + [anon_sym___clrcall] = ACTIONS(1969), + [anon_sym___stdcall] = ACTIONS(1969), + [anon_sym___fastcall] = ACTIONS(1969), + [anon_sym___thiscall] = ACTIONS(1969), + [anon_sym___vectorcall] = ACTIONS(1969), + [anon_sym_LBRACE] = ACTIONS(1971), + [anon_sym_LBRACK] = ACTIONS(1969), + [anon_sym_static] = ACTIONS(1969), + [anon_sym_register] = ACTIONS(1969), + [anon_sym_inline] = ACTIONS(1969), + [anon_sym_thread_local] = ACTIONS(1969), + [anon_sym_const] = ACTIONS(1969), + [anon_sym_volatile] = ACTIONS(1969), + [anon_sym_restrict] = ACTIONS(1969), + [anon_sym__Atomic] = ACTIONS(1969), + [anon_sym_mutable] = ACTIONS(1969), + [anon_sym_constexpr] = ACTIONS(1969), + [anon_sym_constinit] = ACTIONS(1969), + [anon_sym_consteval] = ACTIONS(1969), + [anon_sym_signed] = ACTIONS(1969), + [anon_sym_unsigned] = ACTIONS(1969), + [anon_sym_long] = ACTIONS(1969), + [anon_sym_short] = ACTIONS(1969), + [sym_primitive_type] = ACTIONS(1969), + [anon_sym_enum] = ACTIONS(1969), + [anon_sym_class] = ACTIONS(1969), + [anon_sym_struct] = ACTIONS(1969), + [anon_sym_union] = ACTIONS(1969), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_else] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(1969), + [anon_sym_case] = ACTIONS(1969), + [anon_sym_default] = ACTIONS(1969), + [anon_sym_while] = ACTIONS(1969), + [anon_sym_do] = ACTIONS(1969), + [anon_sym_for] = ACTIONS(1969), + [anon_sym_return] = ACTIONS(1969), + [anon_sym_break] = ACTIONS(1969), + [anon_sym_continue] = ACTIONS(1969), + [anon_sym_goto] = ACTIONS(1969), + [anon_sym_DASH_DASH] = ACTIONS(1971), + [anon_sym_PLUS_PLUS] = ACTIONS(1971), + [anon_sym_sizeof] = ACTIONS(1969), + [sym_number_literal] = ACTIONS(1971), + [anon_sym_L_SQUOTE] = ACTIONS(1971), + [anon_sym_u_SQUOTE] = ACTIONS(1971), + [anon_sym_U_SQUOTE] = ACTIONS(1971), + [anon_sym_u8_SQUOTE] = ACTIONS(1971), + [anon_sym_SQUOTE] = ACTIONS(1971), + [anon_sym_L_DQUOTE] = ACTIONS(1971), + [anon_sym_u_DQUOTE] = ACTIONS(1971), + [anon_sym_U_DQUOTE] = ACTIONS(1971), + [anon_sym_u8_DQUOTE] = ACTIONS(1971), + [anon_sym_DQUOTE] = ACTIONS(1971), + [sym_true] = ACTIONS(1969), + [sym_false] = ACTIONS(1969), + [sym_null] = ACTIONS(1969), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1969), + [anon_sym_decltype] = ACTIONS(1969), + [anon_sym_virtual] = ACTIONS(1969), + [anon_sym_explicit] = ACTIONS(1969), + [anon_sym_typename] = ACTIONS(1969), + [anon_sym_template] = ACTIONS(1969), + [anon_sym_operator] = ACTIONS(1969), + [anon_sym_delete] = ACTIONS(1969), + [anon_sym_throw] = ACTIONS(1969), + [anon_sym_namespace] = ACTIONS(1969), + [anon_sym_using] = ACTIONS(1969), + [anon_sym_static_assert] = ACTIONS(1969), + [anon_sym_concept] = ACTIONS(1969), + [anon_sym_co_return] = ACTIONS(1969), + [anon_sym_co_yield] = ACTIONS(1969), + [anon_sym_try] = ACTIONS(1969), + [anon_sym_co_await] = ACTIONS(1969), + [anon_sym_new] = ACTIONS(1969), + [anon_sym_requires] = ACTIONS(1969), + [sym_this] = ACTIONS(1969), + [sym_nullptr] = ACTIONS(1969), + [sym_raw_string_literal] = ACTIONS(1971), + }, + [472] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [473] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [474] = { + [sym_identifier] = ACTIONS(2127), + [aux_sym_preproc_include_token1] = ACTIONS(2127), + [aux_sym_preproc_def_token1] = ACTIONS(2127), + [aux_sym_preproc_if_token1] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2127), + [sym_preproc_directive] = ACTIONS(2127), + [anon_sym_LPAREN2] = ACTIONS(2129), + [anon_sym_BANG] = ACTIONS(2129), + [anon_sym_TILDE] = ACTIONS(2129), + [anon_sym_DASH] = ACTIONS(2127), + [anon_sym_PLUS] = ACTIONS(2127), + [anon_sym_STAR] = ACTIONS(2129), + [anon_sym_AMP_AMP] = ACTIONS(2129), + [anon_sym_AMP] = ACTIONS(2127), + [anon_sym_SEMI] = ACTIONS(2129), + [anon_sym_typedef] = ACTIONS(2127), + [anon_sym_extern] = ACTIONS(2127), + [anon_sym___attribute__] = ACTIONS(2127), + [anon_sym_COLON_COLON] = ACTIONS(2129), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2129), + [anon_sym___declspec] = ACTIONS(2127), + [anon_sym___based] = ACTIONS(2127), + [anon_sym___cdecl] = ACTIONS(2127), + [anon_sym___clrcall] = ACTIONS(2127), + [anon_sym___stdcall] = ACTIONS(2127), + [anon_sym___fastcall] = ACTIONS(2127), + [anon_sym___thiscall] = ACTIONS(2127), + [anon_sym___vectorcall] = ACTIONS(2127), + [anon_sym_LBRACE] = ACTIONS(2129), + [anon_sym_RBRACE] = ACTIONS(2129), + [anon_sym_LBRACK] = ACTIONS(2127), + [anon_sym_static] = ACTIONS(2127), + [anon_sym_register] = ACTIONS(2127), + [anon_sym_inline] = ACTIONS(2127), + [anon_sym_thread_local] = ACTIONS(2127), + [anon_sym_const] = ACTIONS(2127), + [anon_sym_volatile] = ACTIONS(2127), + [anon_sym_restrict] = ACTIONS(2127), + [anon_sym__Atomic] = ACTIONS(2127), + [anon_sym_mutable] = ACTIONS(2127), + [anon_sym_constexpr] = ACTIONS(2127), + [anon_sym_constinit] = ACTIONS(2127), + [anon_sym_consteval] = ACTIONS(2127), + [anon_sym_signed] = ACTIONS(2127), + [anon_sym_unsigned] = ACTIONS(2127), + [anon_sym_long] = ACTIONS(2127), + [anon_sym_short] = ACTIONS(2127), + [sym_primitive_type] = ACTIONS(2127), + [anon_sym_enum] = ACTIONS(2127), + [anon_sym_class] = ACTIONS(2127), + [anon_sym_struct] = ACTIONS(2127), + [anon_sym_union] = ACTIONS(2127), + [anon_sym_if] = ACTIONS(2127), + [anon_sym_else] = ACTIONS(2127), + [anon_sym_switch] = ACTIONS(2127), + [anon_sym_case] = ACTIONS(2127), + [anon_sym_default] = ACTIONS(2127), + [anon_sym_while] = ACTIONS(2127), + [anon_sym_do] = ACTIONS(2127), + [anon_sym_for] = ACTIONS(2127), + [anon_sym_return] = ACTIONS(2127), + [anon_sym_break] = ACTIONS(2127), + [anon_sym_continue] = ACTIONS(2127), + [anon_sym_goto] = ACTIONS(2127), + [anon_sym_DASH_DASH] = ACTIONS(2129), + [anon_sym_PLUS_PLUS] = ACTIONS(2129), + [anon_sym_sizeof] = ACTIONS(2127), + [sym_number_literal] = ACTIONS(2129), + [anon_sym_L_SQUOTE] = ACTIONS(2129), + [anon_sym_u_SQUOTE] = ACTIONS(2129), + [anon_sym_U_SQUOTE] = ACTIONS(2129), + [anon_sym_u8_SQUOTE] = ACTIONS(2129), + [anon_sym_SQUOTE] = ACTIONS(2129), + [anon_sym_L_DQUOTE] = ACTIONS(2129), + [anon_sym_u_DQUOTE] = ACTIONS(2129), + [anon_sym_U_DQUOTE] = ACTIONS(2129), + [anon_sym_u8_DQUOTE] = ACTIONS(2129), + [anon_sym_DQUOTE] = ACTIONS(2129), + [sym_true] = ACTIONS(2127), + [sym_false] = ACTIONS(2127), + [sym_null] = ACTIONS(2127), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2127), + [anon_sym_decltype] = ACTIONS(2127), + [anon_sym_virtual] = ACTIONS(2127), + [anon_sym_explicit] = ACTIONS(2127), + [anon_sym_typename] = ACTIONS(2127), + [anon_sym_template] = ACTIONS(2127), + [anon_sym_operator] = ACTIONS(2127), + [anon_sym_delete] = ACTIONS(2127), + [anon_sym_throw] = ACTIONS(2127), + [anon_sym_namespace] = ACTIONS(2127), + [anon_sym_using] = ACTIONS(2127), + [anon_sym_static_assert] = ACTIONS(2127), + [anon_sym_concept] = ACTIONS(2127), + [anon_sym_co_return] = ACTIONS(2127), + [anon_sym_co_yield] = ACTIONS(2127), + [anon_sym_try] = ACTIONS(2127), + [anon_sym_co_await] = ACTIONS(2127), + [anon_sym_new] = ACTIONS(2127), + [anon_sym_requires] = ACTIONS(2127), + [sym_this] = ACTIONS(2127), + [sym_nullptr] = ACTIONS(2127), + [sym_raw_string_literal] = ACTIONS(2129), + }, + [475] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [476] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [477] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [478] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [479] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [480] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [481] = { + [sym_identifier] = ACTIONS(2019), + [aux_sym_preproc_include_token1] = ACTIONS(2019), + [aux_sym_preproc_def_token1] = ACTIONS(2019), + [aux_sym_preproc_if_token1] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2019), + [sym_preproc_directive] = ACTIONS(2019), + [anon_sym_LPAREN2] = ACTIONS(2021), + [anon_sym_BANG] = ACTIONS(2021), + [anon_sym_TILDE] = ACTIONS(2021), + [anon_sym_DASH] = ACTIONS(2019), + [anon_sym_PLUS] = ACTIONS(2019), + [anon_sym_STAR] = ACTIONS(2021), + [anon_sym_AMP_AMP] = ACTIONS(2021), + [anon_sym_AMP] = ACTIONS(2019), + [anon_sym_SEMI] = ACTIONS(2021), + [anon_sym_typedef] = ACTIONS(2019), + [anon_sym_extern] = ACTIONS(2019), + [anon_sym___attribute__] = ACTIONS(2019), + [anon_sym_COLON_COLON] = ACTIONS(2021), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2021), + [anon_sym___declspec] = ACTIONS(2019), + [anon_sym___based] = ACTIONS(2019), + [anon_sym___cdecl] = ACTIONS(2019), + [anon_sym___clrcall] = ACTIONS(2019), + [anon_sym___stdcall] = ACTIONS(2019), + [anon_sym___fastcall] = ACTIONS(2019), + [anon_sym___thiscall] = ACTIONS(2019), + [anon_sym___vectorcall] = ACTIONS(2019), + [anon_sym_LBRACE] = ACTIONS(2021), + [anon_sym_RBRACE] = ACTIONS(2021), + [anon_sym_LBRACK] = ACTIONS(2019), + [anon_sym_static] = ACTIONS(2019), + [anon_sym_register] = ACTIONS(2019), + [anon_sym_inline] = ACTIONS(2019), + [anon_sym_thread_local] = ACTIONS(2019), + [anon_sym_const] = ACTIONS(2019), + [anon_sym_volatile] = ACTIONS(2019), + [anon_sym_restrict] = ACTIONS(2019), + [anon_sym__Atomic] = ACTIONS(2019), + [anon_sym_mutable] = ACTIONS(2019), + [anon_sym_constexpr] = ACTIONS(2019), + [anon_sym_constinit] = ACTIONS(2019), + [anon_sym_consteval] = ACTIONS(2019), + [anon_sym_signed] = ACTIONS(2019), + [anon_sym_unsigned] = ACTIONS(2019), + [anon_sym_long] = ACTIONS(2019), + [anon_sym_short] = ACTIONS(2019), + [sym_primitive_type] = ACTIONS(2019), + [anon_sym_enum] = ACTIONS(2019), + [anon_sym_class] = ACTIONS(2019), + [anon_sym_struct] = ACTIONS(2019), + [anon_sym_union] = ACTIONS(2019), + [anon_sym_if] = ACTIONS(2019), + [anon_sym_else] = ACTIONS(2019), + [anon_sym_switch] = ACTIONS(2019), + [anon_sym_case] = ACTIONS(2019), + [anon_sym_default] = ACTIONS(2019), + [anon_sym_while] = ACTIONS(2019), + [anon_sym_do] = ACTIONS(2019), + [anon_sym_for] = ACTIONS(2019), + [anon_sym_return] = ACTIONS(2019), + [anon_sym_break] = ACTIONS(2019), + [anon_sym_continue] = ACTIONS(2019), + [anon_sym_goto] = ACTIONS(2019), + [anon_sym_DASH_DASH] = ACTIONS(2021), + [anon_sym_PLUS_PLUS] = ACTIONS(2021), + [anon_sym_sizeof] = ACTIONS(2019), + [sym_number_literal] = ACTIONS(2021), + [anon_sym_L_SQUOTE] = ACTIONS(2021), + [anon_sym_u_SQUOTE] = ACTIONS(2021), + [anon_sym_U_SQUOTE] = ACTIONS(2021), + [anon_sym_u8_SQUOTE] = ACTIONS(2021), + [anon_sym_SQUOTE] = ACTIONS(2021), + [anon_sym_L_DQUOTE] = ACTIONS(2021), + [anon_sym_u_DQUOTE] = ACTIONS(2021), + [anon_sym_U_DQUOTE] = ACTIONS(2021), + [anon_sym_u8_DQUOTE] = ACTIONS(2021), + [anon_sym_DQUOTE] = ACTIONS(2021), + [sym_true] = ACTIONS(2019), + [sym_false] = ACTIONS(2019), + [sym_null] = ACTIONS(2019), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2019), + [anon_sym_decltype] = ACTIONS(2019), + [anon_sym_virtual] = ACTIONS(2019), + [anon_sym_explicit] = ACTIONS(2019), + [anon_sym_typename] = ACTIONS(2019), + [anon_sym_template] = ACTIONS(2019), + [anon_sym_operator] = ACTIONS(2019), + [anon_sym_delete] = ACTIONS(2019), + [anon_sym_throw] = ACTIONS(2019), + [anon_sym_namespace] = ACTIONS(2019), + [anon_sym_using] = ACTIONS(2019), + [anon_sym_static_assert] = ACTIONS(2019), + [anon_sym_concept] = ACTIONS(2019), + [anon_sym_co_return] = ACTIONS(2019), + [anon_sym_co_yield] = ACTIONS(2019), + [anon_sym_try] = ACTIONS(2019), + [anon_sym_co_await] = ACTIONS(2019), + [anon_sym_new] = ACTIONS(2019), + [anon_sym_requires] = ACTIONS(2019), + [sym_this] = ACTIONS(2019), + [sym_nullptr] = ACTIONS(2019), + [sym_raw_string_literal] = ACTIONS(2021), + }, + [482] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [483] = { + [sym_identifier] = ACTIONS(2013), + [aux_sym_preproc_include_token1] = ACTIONS(2013), + [aux_sym_preproc_def_token1] = ACTIONS(2013), + [aux_sym_preproc_if_token1] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2013), + [sym_preproc_directive] = ACTIONS(2013), + [anon_sym_LPAREN2] = ACTIONS(2015), + [anon_sym_BANG] = ACTIONS(2015), + [anon_sym_TILDE] = ACTIONS(2015), + [anon_sym_DASH] = ACTIONS(2013), + [anon_sym_PLUS] = ACTIONS(2013), + [anon_sym_STAR] = ACTIONS(2015), + [anon_sym_AMP_AMP] = ACTIONS(2015), + [anon_sym_AMP] = ACTIONS(2013), + [anon_sym_SEMI] = ACTIONS(2015), + [anon_sym_typedef] = ACTIONS(2013), + [anon_sym_extern] = ACTIONS(2013), + [anon_sym___attribute__] = ACTIONS(2013), + [anon_sym_COLON_COLON] = ACTIONS(2015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2015), + [anon_sym___declspec] = ACTIONS(2013), + [anon_sym___based] = ACTIONS(2013), + [anon_sym___cdecl] = ACTIONS(2013), + [anon_sym___clrcall] = ACTIONS(2013), + [anon_sym___stdcall] = ACTIONS(2013), + [anon_sym___fastcall] = ACTIONS(2013), + [anon_sym___thiscall] = ACTIONS(2013), + [anon_sym___vectorcall] = ACTIONS(2013), + [anon_sym_LBRACE] = ACTIONS(2015), + [anon_sym_RBRACE] = ACTIONS(2015), + [anon_sym_LBRACK] = ACTIONS(2013), + [anon_sym_static] = ACTIONS(2013), + [anon_sym_register] = ACTIONS(2013), + [anon_sym_inline] = ACTIONS(2013), + [anon_sym_thread_local] = ACTIONS(2013), + [anon_sym_const] = ACTIONS(2013), + [anon_sym_volatile] = ACTIONS(2013), + [anon_sym_restrict] = ACTIONS(2013), + [anon_sym__Atomic] = ACTIONS(2013), + [anon_sym_mutable] = ACTIONS(2013), + [anon_sym_constexpr] = ACTIONS(2013), + [anon_sym_constinit] = ACTIONS(2013), + [anon_sym_consteval] = ACTIONS(2013), + [anon_sym_signed] = ACTIONS(2013), + [anon_sym_unsigned] = ACTIONS(2013), + [anon_sym_long] = ACTIONS(2013), + [anon_sym_short] = ACTIONS(2013), + [sym_primitive_type] = ACTIONS(2013), + [anon_sym_enum] = ACTIONS(2013), + [anon_sym_class] = ACTIONS(2013), + [anon_sym_struct] = ACTIONS(2013), + [anon_sym_union] = ACTIONS(2013), + [anon_sym_if] = ACTIONS(2013), + [anon_sym_else] = ACTIONS(2013), + [anon_sym_switch] = ACTIONS(2013), + [anon_sym_case] = ACTIONS(2013), + [anon_sym_default] = ACTIONS(2013), + [anon_sym_while] = ACTIONS(2013), + [anon_sym_do] = ACTIONS(2013), + [anon_sym_for] = ACTIONS(2013), + [anon_sym_return] = ACTIONS(2013), + [anon_sym_break] = ACTIONS(2013), + [anon_sym_continue] = ACTIONS(2013), + [anon_sym_goto] = ACTIONS(2013), + [anon_sym_DASH_DASH] = ACTIONS(2015), + [anon_sym_PLUS_PLUS] = ACTIONS(2015), + [anon_sym_sizeof] = ACTIONS(2013), + [sym_number_literal] = ACTIONS(2015), + [anon_sym_L_SQUOTE] = ACTIONS(2015), + [anon_sym_u_SQUOTE] = ACTIONS(2015), + [anon_sym_U_SQUOTE] = ACTIONS(2015), + [anon_sym_u8_SQUOTE] = ACTIONS(2015), + [anon_sym_SQUOTE] = ACTIONS(2015), + [anon_sym_L_DQUOTE] = ACTIONS(2015), + [anon_sym_u_DQUOTE] = ACTIONS(2015), + [anon_sym_U_DQUOTE] = ACTIONS(2015), + [anon_sym_u8_DQUOTE] = ACTIONS(2015), + [anon_sym_DQUOTE] = ACTIONS(2015), + [sym_true] = ACTIONS(2013), + [sym_false] = ACTIONS(2013), + [sym_null] = ACTIONS(2013), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2013), + [anon_sym_decltype] = ACTIONS(2013), + [anon_sym_virtual] = ACTIONS(2013), + [anon_sym_explicit] = ACTIONS(2013), + [anon_sym_typename] = ACTIONS(2013), + [anon_sym_template] = ACTIONS(2013), + [anon_sym_operator] = ACTIONS(2013), + [anon_sym_delete] = ACTIONS(2013), + [anon_sym_throw] = ACTIONS(2013), + [anon_sym_namespace] = ACTIONS(2013), + [anon_sym_using] = ACTIONS(2013), + [anon_sym_static_assert] = ACTIONS(2013), + [anon_sym_concept] = ACTIONS(2013), + [anon_sym_co_return] = ACTIONS(2013), + [anon_sym_co_yield] = ACTIONS(2013), + [anon_sym_try] = ACTIONS(2013), + [anon_sym_co_await] = ACTIONS(2013), + [anon_sym_new] = ACTIONS(2013), + [anon_sym_requires] = ACTIONS(2013), + [sym_this] = ACTIONS(2013), + [sym_nullptr] = ACTIONS(2013), + [sym_raw_string_literal] = ACTIONS(2015), + }, + [484] = { + [sym_identifier] = ACTIONS(2009), + [aux_sym_preproc_include_token1] = ACTIONS(2009), + [aux_sym_preproc_def_token1] = ACTIONS(2009), + [aux_sym_preproc_if_token1] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2009), + [sym_preproc_directive] = ACTIONS(2009), + [anon_sym_LPAREN2] = ACTIONS(2011), + [anon_sym_BANG] = ACTIONS(2011), + [anon_sym_TILDE] = ACTIONS(2011), + [anon_sym_DASH] = ACTIONS(2009), + [anon_sym_PLUS] = ACTIONS(2009), + [anon_sym_STAR] = ACTIONS(2011), + [anon_sym_AMP_AMP] = ACTIONS(2011), + [anon_sym_AMP] = ACTIONS(2009), + [anon_sym_SEMI] = ACTIONS(2011), + [anon_sym_typedef] = ACTIONS(2009), + [anon_sym_extern] = ACTIONS(2009), + [anon_sym___attribute__] = ACTIONS(2009), + [anon_sym_COLON_COLON] = ACTIONS(2011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2011), + [anon_sym___declspec] = ACTIONS(2009), + [anon_sym___based] = ACTIONS(2009), + [anon_sym___cdecl] = ACTIONS(2009), + [anon_sym___clrcall] = ACTIONS(2009), + [anon_sym___stdcall] = ACTIONS(2009), + [anon_sym___fastcall] = ACTIONS(2009), + [anon_sym___thiscall] = ACTIONS(2009), + [anon_sym___vectorcall] = ACTIONS(2009), + [anon_sym_LBRACE] = ACTIONS(2011), + [anon_sym_RBRACE] = ACTIONS(2011), + [anon_sym_LBRACK] = ACTIONS(2009), + [anon_sym_static] = ACTIONS(2009), + [anon_sym_register] = ACTIONS(2009), + [anon_sym_inline] = ACTIONS(2009), + [anon_sym_thread_local] = ACTIONS(2009), + [anon_sym_const] = ACTIONS(2009), + [anon_sym_volatile] = ACTIONS(2009), + [anon_sym_restrict] = ACTIONS(2009), + [anon_sym__Atomic] = ACTIONS(2009), + [anon_sym_mutable] = ACTIONS(2009), + [anon_sym_constexpr] = ACTIONS(2009), + [anon_sym_constinit] = ACTIONS(2009), + [anon_sym_consteval] = ACTIONS(2009), + [anon_sym_signed] = ACTIONS(2009), + [anon_sym_unsigned] = ACTIONS(2009), + [anon_sym_long] = ACTIONS(2009), + [anon_sym_short] = ACTIONS(2009), + [sym_primitive_type] = ACTIONS(2009), + [anon_sym_enum] = ACTIONS(2009), + [anon_sym_class] = ACTIONS(2009), + [anon_sym_struct] = ACTIONS(2009), + [anon_sym_union] = ACTIONS(2009), + [anon_sym_if] = ACTIONS(2009), + [anon_sym_else] = ACTIONS(2009), + [anon_sym_switch] = ACTIONS(2009), + [anon_sym_case] = ACTIONS(2009), + [anon_sym_default] = ACTIONS(2009), + [anon_sym_while] = ACTIONS(2009), + [anon_sym_do] = ACTIONS(2009), + [anon_sym_for] = ACTIONS(2009), + [anon_sym_return] = ACTIONS(2009), + [anon_sym_break] = ACTIONS(2009), + [anon_sym_continue] = ACTIONS(2009), + [anon_sym_goto] = ACTIONS(2009), + [anon_sym_DASH_DASH] = ACTIONS(2011), + [anon_sym_PLUS_PLUS] = ACTIONS(2011), + [anon_sym_sizeof] = ACTIONS(2009), + [sym_number_literal] = ACTIONS(2011), + [anon_sym_L_SQUOTE] = ACTIONS(2011), + [anon_sym_u_SQUOTE] = ACTIONS(2011), + [anon_sym_U_SQUOTE] = ACTIONS(2011), + [anon_sym_u8_SQUOTE] = ACTIONS(2011), + [anon_sym_SQUOTE] = ACTIONS(2011), + [anon_sym_L_DQUOTE] = ACTIONS(2011), + [anon_sym_u_DQUOTE] = ACTIONS(2011), + [anon_sym_U_DQUOTE] = ACTIONS(2011), + [anon_sym_u8_DQUOTE] = ACTIONS(2011), + [anon_sym_DQUOTE] = ACTIONS(2011), + [sym_true] = ACTIONS(2009), + [sym_false] = ACTIONS(2009), + [sym_null] = ACTIONS(2009), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2009), + [anon_sym_decltype] = ACTIONS(2009), + [anon_sym_virtual] = ACTIONS(2009), + [anon_sym_explicit] = ACTIONS(2009), + [anon_sym_typename] = ACTIONS(2009), + [anon_sym_template] = ACTIONS(2009), + [anon_sym_operator] = ACTIONS(2009), + [anon_sym_delete] = ACTIONS(2009), + [anon_sym_throw] = ACTIONS(2009), + [anon_sym_namespace] = ACTIONS(2009), + [anon_sym_using] = ACTIONS(2009), + [anon_sym_static_assert] = ACTIONS(2009), + [anon_sym_concept] = ACTIONS(2009), + [anon_sym_co_return] = ACTIONS(2009), + [anon_sym_co_yield] = ACTIONS(2009), + [anon_sym_try] = ACTIONS(2009), + [anon_sym_co_await] = ACTIONS(2009), + [anon_sym_new] = ACTIONS(2009), + [anon_sym_requires] = ACTIONS(2009), + [sym_this] = ACTIONS(2009), + [sym_nullptr] = ACTIONS(2009), + [sym_raw_string_literal] = ACTIONS(2011), + }, + [485] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [486] = { + [sym_identifier] = ACTIONS(2115), + [aux_sym_preproc_include_token1] = ACTIONS(2115), + [aux_sym_preproc_def_token1] = ACTIONS(2115), + [aux_sym_preproc_if_token1] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2115), + [sym_preproc_directive] = ACTIONS(2115), + [anon_sym_LPAREN2] = ACTIONS(2117), + [anon_sym_BANG] = ACTIONS(2117), + [anon_sym_TILDE] = ACTIONS(2117), + [anon_sym_DASH] = ACTIONS(2115), + [anon_sym_PLUS] = ACTIONS(2115), + [anon_sym_STAR] = ACTIONS(2117), + [anon_sym_AMP_AMP] = ACTIONS(2117), + [anon_sym_AMP] = ACTIONS(2115), + [anon_sym_SEMI] = ACTIONS(2117), + [anon_sym_typedef] = ACTIONS(2115), + [anon_sym_extern] = ACTIONS(2115), + [anon_sym___attribute__] = ACTIONS(2115), + [anon_sym_COLON_COLON] = ACTIONS(2117), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2117), + [anon_sym___declspec] = ACTIONS(2115), + [anon_sym___based] = ACTIONS(2115), + [anon_sym___cdecl] = ACTIONS(2115), + [anon_sym___clrcall] = ACTIONS(2115), + [anon_sym___stdcall] = ACTIONS(2115), + [anon_sym___fastcall] = ACTIONS(2115), + [anon_sym___thiscall] = ACTIONS(2115), + [anon_sym___vectorcall] = ACTIONS(2115), + [anon_sym_LBRACE] = ACTIONS(2117), + [anon_sym_RBRACE] = ACTIONS(2117), + [anon_sym_LBRACK] = ACTIONS(2115), + [anon_sym_static] = ACTIONS(2115), + [anon_sym_register] = ACTIONS(2115), + [anon_sym_inline] = ACTIONS(2115), + [anon_sym_thread_local] = ACTIONS(2115), + [anon_sym_const] = ACTIONS(2115), + [anon_sym_volatile] = ACTIONS(2115), + [anon_sym_restrict] = ACTIONS(2115), + [anon_sym__Atomic] = ACTIONS(2115), + [anon_sym_mutable] = ACTIONS(2115), + [anon_sym_constexpr] = ACTIONS(2115), + [anon_sym_constinit] = ACTIONS(2115), + [anon_sym_consteval] = ACTIONS(2115), + [anon_sym_signed] = ACTIONS(2115), + [anon_sym_unsigned] = ACTIONS(2115), + [anon_sym_long] = ACTIONS(2115), + [anon_sym_short] = ACTIONS(2115), + [sym_primitive_type] = ACTIONS(2115), + [anon_sym_enum] = ACTIONS(2115), + [anon_sym_class] = ACTIONS(2115), + [anon_sym_struct] = ACTIONS(2115), + [anon_sym_union] = ACTIONS(2115), + [anon_sym_if] = ACTIONS(2115), + [anon_sym_else] = ACTIONS(2115), + [anon_sym_switch] = ACTIONS(2115), + [anon_sym_case] = ACTIONS(2115), + [anon_sym_default] = ACTIONS(2115), + [anon_sym_while] = ACTIONS(2115), + [anon_sym_do] = ACTIONS(2115), + [anon_sym_for] = ACTIONS(2115), + [anon_sym_return] = ACTIONS(2115), + [anon_sym_break] = ACTIONS(2115), + [anon_sym_continue] = ACTIONS(2115), + [anon_sym_goto] = ACTIONS(2115), + [anon_sym_DASH_DASH] = ACTIONS(2117), + [anon_sym_PLUS_PLUS] = ACTIONS(2117), + [anon_sym_sizeof] = ACTIONS(2115), + [sym_number_literal] = ACTIONS(2117), + [anon_sym_L_SQUOTE] = ACTIONS(2117), + [anon_sym_u_SQUOTE] = ACTIONS(2117), + [anon_sym_U_SQUOTE] = ACTIONS(2117), + [anon_sym_u8_SQUOTE] = ACTIONS(2117), + [anon_sym_SQUOTE] = ACTIONS(2117), + [anon_sym_L_DQUOTE] = ACTIONS(2117), + [anon_sym_u_DQUOTE] = ACTIONS(2117), + [anon_sym_U_DQUOTE] = ACTIONS(2117), + [anon_sym_u8_DQUOTE] = ACTIONS(2117), + [anon_sym_DQUOTE] = ACTIONS(2117), + [sym_true] = ACTIONS(2115), + [sym_false] = ACTIONS(2115), + [sym_null] = ACTIONS(2115), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2115), + [anon_sym_decltype] = ACTIONS(2115), + [anon_sym_virtual] = ACTIONS(2115), + [anon_sym_explicit] = ACTIONS(2115), + [anon_sym_typename] = ACTIONS(2115), + [anon_sym_template] = ACTIONS(2115), + [anon_sym_operator] = ACTIONS(2115), + [anon_sym_delete] = ACTIONS(2115), + [anon_sym_throw] = ACTIONS(2115), + [anon_sym_namespace] = ACTIONS(2115), + [anon_sym_using] = ACTIONS(2115), + [anon_sym_static_assert] = ACTIONS(2115), + [anon_sym_concept] = ACTIONS(2115), + [anon_sym_co_return] = ACTIONS(2115), + [anon_sym_co_yield] = ACTIONS(2115), + [anon_sym_try] = ACTIONS(2115), + [anon_sym_co_await] = ACTIONS(2115), + [anon_sym_new] = ACTIONS(2115), + [anon_sym_requires] = ACTIONS(2115), + [sym_this] = ACTIONS(2115), + [sym_nullptr] = ACTIONS(2115), + [sym_raw_string_literal] = ACTIONS(2117), + }, + [487] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [488] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [489] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [490] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [491] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [492] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [493] = { + [ts_builtin_sym_end] = ACTIONS(1955), + [sym_identifier] = ACTIONS(1953), + [aux_sym_preproc_include_token1] = ACTIONS(1953), + [aux_sym_preproc_def_token1] = ACTIONS(1953), + [aux_sym_preproc_if_token1] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1953), + [sym_preproc_directive] = ACTIONS(1953), + [anon_sym_LPAREN2] = ACTIONS(1955), + [anon_sym_BANG] = ACTIONS(1955), + [anon_sym_TILDE] = ACTIONS(1955), + [anon_sym_DASH] = ACTIONS(1953), + [anon_sym_PLUS] = ACTIONS(1953), + [anon_sym_STAR] = ACTIONS(1955), + [anon_sym_AMP_AMP] = ACTIONS(1955), + [anon_sym_AMP] = ACTIONS(1953), + [anon_sym_SEMI] = ACTIONS(1955), + [anon_sym_typedef] = ACTIONS(1953), + [anon_sym_extern] = ACTIONS(1953), + [anon_sym___attribute__] = ACTIONS(1953), + [anon_sym_COLON_COLON] = ACTIONS(1955), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1955), + [anon_sym___declspec] = ACTIONS(1953), + [anon_sym___based] = ACTIONS(1953), + [anon_sym___cdecl] = ACTIONS(1953), + [anon_sym___clrcall] = ACTIONS(1953), + [anon_sym___stdcall] = ACTIONS(1953), + [anon_sym___fastcall] = ACTIONS(1953), + [anon_sym___thiscall] = ACTIONS(1953), + [anon_sym___vectorcall] = ACTIONS(1953), + [anon_sym_LBRACE] = ACTIONS(1955), + [anon_sym_LBRACK] = ACTIONS(1953), + [anon_sym_static] = ACTIONS(1953), + [anon_sym_register] = ACTIONS(1953), + [anon_sym_inline] = ACTIONS(1953), + [anon_sym_thread_local] = ACTIONS(1953), + [anon_sym_const] = ACTIONS(1953), + [anon_sym_volatile] = ACTIONS(1953), + [anon_sym_restrict] = ACTIONS(1953), + [anon_sym__Atomic] = ACTIONS(1953), + [anon_sym_mutable] = ACTIONS(1953), + [anon_sym_constexpr] = ACTIONS(1953), + [anon_sym_constinit] = ACTIONS(1953), + [anon_sym_consteval] = ACTIONS(1953), + [anon_sym_signed] = ACTIONS(1953), + [anon_sym_unsigned] = ACTIONS(1953), + [anon_sym_long] = ACTIONS(1953), + [anon_sym_short] = ACTIONS(1953), + [sym_primitive_type] = ACTIONS(1953), + [anon_sym_enum] = ACTIONS(1953), + [anon_sym_class] = ACTIONS(1953), + [anon_sym_struct] = ACTIONS(1953), + [anon_sym_union] = ACTIONS(1953), + [anon_sym_if] = ACTIONS(1953), + [anon_sym_else] = ACTIONS(1953), + [anon_sym_switch] = ACTIONS(1953), + [anon_sym_case] = ACTIONS(1953), + [anon_sym_default] = ACTIONS(1953), + [anon_sym_while] = ACTIONS(1953), + [anon_sym_do] = ACTIONS(1953), + [anon_sym_for] = ACTIONS(1953), + [anon_sym_return] = ACTIONS(1953), + [anon_sym_break] = ACTIONS(1953), + [anon_sym_continue] = ACTIONS(1953), + [anon_sym_goto] = ACTIONS(1953), + [anon_sym_DASH_DASH] = ACTIONS(1955), + [anon_sym_PLUS_PLUS] = ACTIONS(1955), + [anon_sym_sizeof] = ACTIONS(1953), + [sym_number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1955), + [anon_sym_u_SQUOTE] = ACTIONS(1955), + [anon_sym_U_SQUOTE] = ACTIONS(1955), + [anon_sym_u8_SQUOTE] = ACTIONS(1955), + [anon_sym_SQUOTE] = ACTIONS(1955), + [anon_sym_L_DQUOTE] = ACTIONS(1955), + [anon_sym_u_DQUOTE] = ACTIONS(1955), + [anon_sym_U_DQUOTE] = ACTIONS(1955), + [anon_sym_u8_DQUOTE] = ACTIONS(1955), + [anon_sym_DQUOTE] = ACTIONS(1955), + [sym_true] = ACTIONS(1953), + [sym_false] = ACTIONS(1953), + [sym_null] = ACTIONS(1953), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1953), + [anon_sym_decltype] = ACTIONS(1953), + [anon_sym_virtual] = ACTIONS(1953), + [anon_sym_explicit] = ACTIONS(1953), + [anon_sym_typename] = ACTIONS(1953), + [anon_sym_template] = ACTIONS(1953), + [anon_sym_operator] = ACTIONS(1953), + [anon_sym_delete] = ACTIONS(1953), + [anon_sym_throw] = ACTIONS(1953), + [anon_sym_namespace] = ACTIONS(1953), + [anon_sym_using] = ACTIONS(1953), + [anon_sym_static_assert] = ACTIONS(1953), + [anon_sym_concept] = ACTIONS(1953), + [anon_sym_co_return] = ACTIONS(1953), + [anon_sym_co_yield] = ACTIONS(1953), + [anon_sym_try] = ACTIONS(1953), + [anon_sym_co_await] = ACTIONS(1953), + [anon_sym_new] = ACTIONS(1953), + [anon_sym_requires] = ACTIONS(1953), + [sym_this] = ACTIONS(1953), + [sym_nullptr] = ACTIONS(1953), + [sym_raw_string_literal] = ACTIONS(1955), + }, + [494] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [495] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [496] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [497] = { + [ts_builtin_sym_end] = ACTIONS(1967), + [sym_identifier] = ACTIONS(1965), + [aux_sym_preproc_include_token1] = ACTIONS(1965), + [aux_sym_preproc_def_token1] = ACTIONS(1965), + [aux_sym_preproc_if_token1] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1965), + [sym_preproc_directive] = ACTIONS(1965), + [anon_sym_LPAREN2] = ACTIONS(1967), + [anon_sym_BANG] = ACTIONS(1967), + [anon_sym_TILDE] = ACTIONS(1967), + [anon_sym_DASH] = ACTIONS(1965), + [anon_sym_PLUS] = ACTIONS(1965), + [anon_sym_STAR] = ACTIONS(1967), + [anon_sym_AMP_AMP] = ACTIONS(1967), + [anon_sym_AMP] = ACTIONS(1965), + [anon_sym_SEMI] = ACTIONS(1967), + [anon_sym_typedef] = ACTIONS(1965), + [anon_sym_extern] = ACTIONS(1965), + [anon_sym___attribute__] = ACTIONS(1965), + [anon_sym_COLON_COLON] = ACTIONS(1967), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1967), + [anon_sym___declspec] = ACTIONS(1965), + [anon_sym___based] = ACTIONS(1965), + [anon_sym___cdecl] = ACTIONS(1965), + [anon_sym___clrcall] = ACTIONS(1965), + [anon_sym___stdcall] = ACTIONS(1965), + [anon_sym___fastcall] = ACTIONS(1965), + [anon_sym___thiscall] = ACTIONS(1965), + [anon_sym___vectorcall] = ACTIONS(1965), + [anon_sym_LBRACE] = ACTIONS(1967), + [anon_sym_LBRACK] = ACTIONS(1965), + [anon_sym_static] = ACTIONS(1965), + [anon_sym_register] = ACTIONS(1965), + [anon_sym_inline] = ACTIONS(1965), + [anon_sym_thread_local] = ACTIONS(1965), + [anon_sym_const] = ACTIONS(1965), + [anon_sym_volatile] = ACTIONS(1965), + [anon_sym_restrict] = ACTIONS(1965), + [anon_sym__Atomic] = ACTIONS(1965), + [anon_sym_mutable] = ACTIONS(1965), + [anon_sym_constexpr] = ACTIONS(1965), + [anon_sym_constinit] = ACTIONS(1965), + [anon_sym_consteval] = ACTIONS(1965), + [anon_sym_signed] = ACTIONS(1965), + [anon_sym_unsigned] = ACTIONS(1965), + [anon_sym_long] = ACTIONS(1965), + [anon_sym_short] = ACTIONS(1965), + [sym_primitive_type] = ACTIONS(1965), + [anon_sym_enum] = ACTIONS(1965), + [anon_sym_class] = ACTIONS(1965), + [anon_sym_struct] = ACTIONS(1965), + [anon_sym_union] = ACTIONS(1965), + [anon_sym_if] = ACTIONS(1965), + [anon_sym_else] = ACTIONS(1965), + [anon_sym_switch] = ACTIONS(1965), + [anon_sym_case] = ACTIONS(1965), + [anon_sym_default] = ACTIONS(1965), + [anon_sym_while] = ACTIONS(1965), + [anon_sym_do] = ACTIONS(1965), + [anon_sym_for] = ACTIONS(1965), + [anon_sym_return] = ACTIONS(1965), + [anon_sym_break] = ACTIONS(1965), + [anon_sym_continue] = ACTIONS(1965), + [anon_sym_goto] = ACTIONS(1965), + [anon_sym_DASH_DASH] = ACTIONS(1967), + [anon_sym_PLUS_PLUS] = ACTIONS(1967), + [anon_sym_sizeof] = ACTIONS(1965), + [sym_number_literal] = ACTIONS(1967), + [anon_sym_L_SQUOTE] = ACTIONS(1967), + [anon_sym_u_SQUOTE] = ACTIONS(1967), + [anon_sym_U_SQUOTE] = ACTIONS(1967), + [anon_sym_u8_SQUOTE] = ACTIONS(1967), + [anon_sym_SQUOTE] = ACTIONS(1967), + [anon_sym_L_DQUOTE] = ACTIONS(1967), + [anon_sym_u_DQUOTE] = ACTIONS(1967), + [anon_sym_U_DQUOTE] = ACTIONS(1967), + [anon_sym_u8_DQUOTE] = ACTIONS(1967), + [anon_sym_DQUOTE] = ACTIONS(1967), + [sym_true] = ACTIONS(1965), + [sym_false] = ACTIONS(1965), + [sym_null] = ACTIONS(1965), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1965), + [anon_sym_decltype] = ACTIONS(1965), + [anon_sym_virtual] = ACTIONS(1965), + [anon_sym_explicit] = ACTIONS(1965), + [anon_sym_typename] = ACTIONS(1965), + [anon_sym_template] = ACTIONS(1965), + [anon_sym_operator] = ACTIONS(1965), + [anon_sym_delete] = ACTIONS(1965), + [anon_sym_throw] = ACTIONS(1965), + [anon_sym_namespace] = ACTIONS(1965), + [anon_sym_using] = ACTIONS(1965), + [anon_sym_static_assert] = ACTIONS(1965), + [anon_sym_concept] = ACTIONS(1965), + [anon_sym_co_return] = ACTIONS(1965), + [anon_sym_co_yield] = ACTIONS(1965), + [anon_sym_try] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1965), + [anon_sym_new] = ACTIONS(1965), + [anon_sym_requires] = ACTIONS(1965), + [sym_this] = ACTIONS(1965), + [sym_nullptr] = ACTIONS(1965), + [sym_raw_string_literal] = ACTIONS(1967), + }, + [498] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [499] = { + [sym_identifier] = ACTIONS(2107), + [aux_sym_preproc_include_token1] = ACTIONS(2107), + [aux_sym_preproc_def_token1] = ACTIONS(2107), + [aux_sym_preproc_if_token1] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2107), + [sym_preproc_directive] = ACTIONS(2107), + [anon_sym_LPAREN2] = ACTIONS(2109), + [anon_sym_BANG] = ACTIONS(2109), + [anon_sym_TILDE] = ACTIONS(2109), + [anon_sym_DASH] = ACTIONS(2107), + [anon_sym_PLUS] = ACTIONS(2107), + [anon_sym_STAR] = ACTIONS(2109), + [anon_sym_AMP_AMP] = ACTIONS(2109), + [anon_sym_AMP] = ACTIONS(2107), + [anon_sym_SEMI] = ACTIONS(2109), + [anon_sym_typedef] = ACTIONS(2107), + [anon_sym_extern] = ACTIONS(2107), + [anon_sym___attribute__] = ACTIONS(2107), + [anon_sym_COLON_COLON] = ACTIONS(2109), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2109), + [anon_sym___declspec] = ACTIONS(2107), + [anon_sym___based] = ACTIONS(2107), + [anon_sym___cdecl] = ACTIONS(2107), + [anon_sym___clrcall] = ACTIONS(2107), + [anon_sym___stdcall] = ACTIONS(2107), + [anon_sym___fastcall] = ACTIONS(2107), + [anon_sym___thiscall] = ACTIONS(2107), + [anon_sym___vectorcall] = ACTIONS(2107), + [anon_sym_LBRACE] = ACTIONS(2109), + [anon_sym_RBRACE] = ACTIONS(2109), + [anon_sym_LBRACK] = ACTIONS(2107), + [anon_sym_static] = ACTIONS(2107), + [anon_sym_register] = ACTIONS(2107), + [anon_sym_inline] = ACTIONS(2107), + [anon_sym_thread_local] = ACTIONS(2107), + [anon_sym_const] = ACTIONS(2107), + [anon_sym_volatile] = ACTIONS(2107), + [anon_sym_restrict] = ACTIONS(2107), + [anon_sym__Atomic] = ACTIONS(2107), + [anon_sym_mutable] = ACTIONS(2107), + [anon_sym_constexpr] = ACTIONS(2107), + [anon_sym_constinit] = ACTIONS(2107), + [anon_sym_consteval] = ACTIONS(2107), + [anon_sym_signed] = ACTIONS(2107), + [anon_sym_unsigned] = ACTIONS(2107), + [anon_sym_long] = ACTIONS(2107), + [anon_sym_short] = ACTIONS(2107), + [sym_primitive_type] = ACTIONS(2107), + [anon_sym_enum] = ACTIONS(2107), + [anon_sym_class] = ACTIONS(2107), + [anon_sym_struct] = ACTIONS(2107), + [anon_sym_union] = ACTIONS(2107), + [anon_sym_if] = ACTIONS(2107), + [anon_sym_else] = ACTIONS(2107), + [anon_sym_switch] = ACTIONS(2107), + [anon_sym_case] = ACTIONS(2107), + [anon_sym_default] = ACTIONS(2107), + [anon_sym_while] = ACTIONS(2107), + [anon_sym_do] = ACTIONS(2107), + [anon_sym_for] = ACTIONS(2107), + [anon_sym_return] = ACTIONS(2107), + [anon_sym_break] = ACTIONS(2107), + [anon_sym_continue] = ACTIONS(2107), + [anon_sym_goto] = ACTIONS(2107), + [anon_sym_DASH_DASH] = ACTIONS(2109), + [anon_sym_PLUS_PLUS] = ACTIONS(2109), + [anon_sym_sizeof] = ACTIONS(2107), + [sym_number_literal] = ACTIONS(2109), + [anon_sym_L_SQUOTE] = ACTIONS(2109), + [anon_sym_u_SQUOTE] = ACTIONS(2109), + [anon_sym_U_SQUOTE] = ACTIONS(2109), + [anon_sym_u8_SQUOTE] = ACTIONS(2109), + [anon_sym_SQUOTE] = ACTIONS(2109), + [anon_sym_L_DQUOTE] = ACTIONS(2109), + [anon_sym_u_DQUOTE] = ACTIONS(2109), + [anon_sym_U_DQUOTE] = ACTIONS(2109), + [anon_sym_u8_DQUOTE] = ACTIONS(2109), + [anon_sym_DQUOTE] = ACTIONS(2109), + [sym_true] = ACTIONS(2107), + [sym_false] = ACTIONS(2107), + [sym_null] = ACTIONS(2107), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2107), + [anon_sym_decltype] = ACTIONS(2107), + [anon_sym_virtual] = ACTIONS(2107), + [anon_sym_explicit] = ACTIONS(2107), + [anon_sym_typename] = ACTIONS(2107), + [anon_sym_template] = ACTIONS(2107), + [anon_sym_operator] = ACTIONS(2107), + [anon_sym_delete] = ACTIONS(2107), + [anon_sym_throw] = ACTIONS(2107), + [anon_sym_namespace] = ACTIONS(2107), + [anon_sym_using] = ACTIONS(2107), + [anon_sym_static_assert] = ACTIONS(2107), + [anon_sym_concept] = ACTIONS(2107), + [anon_sym_co_return] = ACTIONS(2107), + [anon_sym_co_yield] = ACTIONS(2107), + [anon_sym_try] = ACTIONS(2107), + [anon_sym_co_await] = ACTIONS(2107), + [anon_sym_new] = ACTIONS(2107), + [anon_sym_requires] = ACTIONS(2107), + [sym_this] = ACTIONS(2107), + [sym_nullptr] = ACTIONS(2107), + [sym_raw_string_literal] = ACTIONS(2109), + }, + [500] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [501] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [502] = { + [sym_identifier] = ACTIONS(2083), + [aux_sym_preproc_include_token1] = ACTIONS(2083), + [aux_sym_preproc_def_token1] = ACTIONS(2083), + [aux_sym_preproc_if_token1] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2083), + [sym_preproc_directive] = ACTIONS(2083), + [anon_sym_LPAREN2] = ACTIONS(2085), + [anon_sym_BANG] = ACTIONS(2085), + [anon_sym_TILDE] = ACTIONS(2085), + [anon_sym_DASH] = ACTIONS(2083), + [anon_sym_PLUS] = ACTIONS(2083), + [anon_sym_STAR] = ACTIONS(2085), + [anon_sym_AMP_AMP] = ACTIONS(2085), + [anon_sym_AMP] = ACTIONS(2083), + [anon_sym_SEMI] = ACTIONS(2085), + [anon_sym_typedef] = ACTIONS(2083), + [anon_sym_extern] = ACTIONS(2083), + [anon_sym___attribute__] = ACTIONS(2083), + [anon_sym_COLON_COLON] = ACTIONS(2085), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2085), + [anon_sym___declspec] = ACTIONS(2083), + [anon_sym___based] = ACTIONS(2083), + [anon_sym___cdecl] = ACTIONS(2083), + [anon_sym___clrcall] = ACTIONS(2083), + [anon_sym___stdcall] = ACTIONS(2083), + [anon_sym___fastcall] = ACTIONS(2083), + [anon_sym___thiscall] = ACTIONS(2083), + [anon_sym___vectorcall] = ACTIONS(2083), + [anon_sym_LBRACE] = ACTIONS(2085), + [anon_sym_RBRACE] = ACTIONS(2085), + [anon_sym_LBRACK] = ACTIONS(2083), + [anon_sym_static] = ACTIONS(2083), + [anon_sym_register] = ACTIONS(2083), + [anon_sym_inline] = ACTIONS(2083), + [anon_sym_thread_local] = ACTIONS(2083), + [anon_sym_const] = ACTIONS(2083), + [anon_sym_volatile] = ACTIONS(2083), + [anon_sym_restrict] = ACTIONS(2083), + [anon_sym__Atomic] = ACTIONS(2083), + [anon_sym_mutable] = ACTIONS(2083), + [anon_sym_constexpr] = ACTIONS(2083), + [anon_sym_constinit] = ACTIONS(2083), + [anon_sym_consteval] = ACTIONS(2083), + [anon_sym_signed] = ACTIONS(2083), + [anon_sym_unsigned] = ACTIONS(2083), + [anon_sym_long] = ACTIONS(2083), + [anon_sym_short] = ACTIONS(2083), + [sym_primitive_type] = ACTIONS(2083), + [anon_sym_enum] = ACTIONS(2083), + [anon_sym_class] = ACTIONS(2083), + [anon_sym_struct] = ACTIONS(2083), + [anon_sym_union] = ACTIONS(2083), + [anon_sym_if] = ACTIONS(2083), + [anon_sym_else] = ACTIONS(2083), + [anon_sym_switch] = ACTIONS(2083), + [anon_sym_case] = ACTIONS(2083), + [anon_sym_default] = ACTIONS(2083), + [anon_sym_while] = ACTIONS(2083), + [anon_sym_do] = ACTIONS(2083), + [anon_sym_for] = ACTIONS(2083), + [anon_sym_return] = ACTIONS(2083), + [anon_sym_break] = ACTIONS(2083), + [anon_sym_continue] = ACTIONS(2083), + [anon_sym_goto] = ACTIONS(2083), + [anon_sym_DASH_DASH] = ACTIONS(2085), + [anon_sym_PLUS_PLUS] = ACTIONS(2085), + [anon_sym_sizeof] = ACTIONS(2083), + [sym_number_literal] = ACTIONS(2085), + [anon_sym_L_SQUOTE] = ACTIONS(2085), + [anon_sym_u_SQUOTE] = ACTIONS(2085), + [anon_sym_U_SQUOTE] = ACTIONS(2085), + [anon_sym_u8_SQUOTE] = ACTIONS(2085), + [anon_sym_SQUOTE] = ACTIONS(2085), + [anon_sym_L_DQUOTE] = ACTIONS(2085), + [anon_sym_u_DQUOTE] = ACTIONS(2085), + [anon_sym_U_DQUOTE] = ACTIONS(2085), + [anon_sym_u8_DQUOTE] = ACTIONS(2085), + [anon_sym_DQUOTE] = ACTIONS(2085), + [sym_true] = ACTIONS(2083), + [sym_false] = ACTIONS(2083), + [sym_null] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2083), + [anon_sym_decltype] = ACTIONS(2083), + [anon_sym_virtual] = ACTIONS(2083), + [anon_sym_explicit] = ACTIONS(2083), + [anon_sym_typename] = ACTIONS(2083), + [anon_sym_template] = ACTIONS(2083), + [anon_sym_operator] = ACTIONS(2083), + [anon_sym_delete] = ACTIONS(2083), + [anon_sym_throw] = ACTIONS(2083), + [anon_sym_namespace] = ACTIONS(2083), + [anon_sym_using] = ACTIONS(2083), + [anon_sym_static_assert] = ACTIONS(2083), + [anon_sym_concept] = ACTIONS(2083), + [anon_sym_co_return] = ACTIONS(2083), + [anon_sym_co_yield] = ACTIONS(2083), + [anon_sym_try] = ACTIONS(2083), + [anon_sym_co_await] = ACTIONS(2083), + [anon_sym_new] = ACTIONS(2083), + [anon_sym_requires] = ACTIONS(2083), + [sym_this] = ACTIONS(2083), + [sym_nullptr] = ACTIONS(2083), + [sym_raw_string_literal] = ACTIONS(2085), + }, + [503] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [504] = { + [sym_identifier] = ACTIONS(2071), + [aux_sym_preproc_include_token1] = ACTIONS(2071), + [aux_sym_preproc_def_token1] = ACTIONS(2071), + [aux_sym_preproc_if_token1] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2071), + [sym_preproc_directive] = ACTIONS(2071), + [anon_sym_LPAREN2] = ACTIONS(2073), + [anon_sym_BANG] = ACTIONS(2073), + [anon_sym_TILDE] = ACTIONS(2073), + [anon_sym_DASH] = ACTIONS(2071), + [anon_sym_PLUS] = ACTIONS(2071), + [anon_sym_STAR] = ACTIONS(2073), + [anon_sym_AMP_AMP] = ACTIONS(2073), + [anon_sym_AMP] = ACTIONS(2071), + [anon_sym_SEMI] = ACTIONS(2073), + [anon_sym_typedef] = ACTIONS(2071), + [anon_sym_extern] = ACTIONS(2071), + [anon_sym___attribute__] = ACTIONS(2071), + [anon_sym_COLON_COLON] = ACTIONS(2073), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2073), + [anon_sym___declspec] = ACTIONS(2071), + [anon_sym___based] = ACTIONS(2071), + [anon_sym___cdecl] = ACTIONS(2071), + [anon_sym___clrcall] = ACTIONS(2071), + [anon_sym___stdcall] = ACTIONS(2071), + [anon_sym___fastcall] = ACTIONS(2071), + [anon_sym___thiscall] = ACTIONS(2071), + [anon_sym___vectorcall] = ACTIONS(2071), + [anon_sym_LBRACE] = ACTIONS(2073), + [anon_sym_RBRACE] = ACTIONS(2073), + [anon_sym_LBRACK] = ACTIONS(2071), + [anon_sym_static] = ACTIONS(2071), + [anon_sym_register] = ACTIONS(2071), + [anon_sym_inline] = ACTIONS(2071), + [anon_sym_thread_local] = ACTIONS(2071), + [anon_sym_const] = ACTIONS(2071), + [anon_sym_volatile] = ACTIONS(2071), + [anon_sym_restrict] = ACTIONS(2071), + [anon_sym__Atomic] = ACTIONS(2071), + [anon_sym_mutable] = ACTIONS(2071), + [anon_sym_constexpr] = ACTIONS(2071), + [anon_sym_constinit] = ACTIONS(2071), + [anon_sym_consteval] = ACTIONS(2071), + [anon_sym_signed] = ACTIONS(2071), + [anon_sym_unsigned] = ACTIONS(2071), + [anon_sym_long] = ACTIONS(2071), + [anon_sym_short] = ACTIONS(2071), + [sym_primitive_type] = ACTIONS(2071), + [anon_sym_enum] = ACTIONS(2071), + [anon_sym_class] = ACTIONS(2071), + [anon_sym_struct] = ACTIONS(2071), + [anon_sym_union] = ACTIONS(2071), + [anon_sym_if] = ACTIONS(2071), + [anon_sym_else] = ACTIONS(2071), + [anon_sym_switch] = ACTIONS(2071), + [anon_sym_case] = ACTIONS(2071), + [anon_sym_default] = ACTIONS(2071), + [anon_sym_while] = ACTIONS(2071), + [anon_sym_do] = ACTIONS(2071), + [anon_sym_for] = ACTIONS(2071), + [anon_sym_return] = ACTIONS(2071), + [anon_sym_break] = ACTIONS(2071), + [anon_sym_continue] = ACTIONS(2071), + [anon_sym_goto] = ACTIONS(2071), + [anon_sym_DASH_DASH] = ACTIONS(2073), + [anon_sym_PLUS_PLUS] = ACTIONS(2073), + [anon_sym_sizeof] = ACTIONS(2071), + [sym_number_literal] = ACTIONS(2073), + [anon_sym_L_SQUOTE] = ACTIONS(2073), + [anon_sym_u_SQUOTE] = ACTIONS(2073), + [anon_sym_U_SQUOTE] = ACTIONS(2073), + [anon_sym_u8_SQUOTE] = ACTIONS(2073), + [anon_sym_SQUOTE] = ACTIONS(2073), + [anon_sym_L_DQUOTE] = ACTIONS(2073), + [anon_sym_u_DQUOTE] = ACTIONS(2073), + [anon_sym_U_DQUOTE] = ACTIONS(2073), + [anon_sym_u8_DQUOTE] = ACTIONS(2073), + [anon_sym_DQUOTE] = ACTIONS(2073), + [sym_true] = ACTIONS(2071), + [sym_false] = ACTIONS(2071), + [sym_null] = ACTIONS(2071), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2071), + [anon_sym_decltype] = ACTIONS(2071), + [anon_sym_virtual] = ACTIONS(2071), + [anon_sym_explicit] = ACTIONS(2071), + [anon_sym_typename] = ACTIONS(2071), + [anon_sym_template] = ACTIONS(2071), + [anon_sym_operator] = ACTIONS(2071), + [anon_sym_delete] = ACTIONS(2071), + [anon_sym_throw] = ACTIONS(2071), + [anon_sym_namespace] = ACTIONS(2071), + [anon_sym_using] = ACTIONS(2071), + [anon_sym_static_assert] = ACTIONS(2071), + [anon_sym_concept] = ACTIONS(2071), + [anon_sym_co_return] = ACTIONS(2071), + [anon_sym_co_yield] = ACTIONS(2071), + [anon_sym_try] = ACTIONS(2071), + [anon_sym_co_await] = ACTIONS(2071), + [anon_sym_new] = ACTIONS(2071), + [anon_sym_requires] = ACTIONS(2071), + [sym_this] = ACTIONS(2071), + [sym_nullptr] = ACTIONS(2071), + [sym_raw_string_literal] = ACTIONS(2073), + }, + [505] = { + [sym_identifier] = ACTIONS(2067), + [aux_sym_preproc_include_token1] = ACTIONS(2067), + [aux_sym_preproc_def_token1] = ACTIONS(2067), + [aux_sym_preproc_if_token1] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2067), + [sym_preproc_directive] = ACTIONS(2067), + [anon_sym_LPAREN2] = ACTIONS(2069), + [anon_sym_BANG] = ACTIONS(2069), + [anon_sym_TILDE] = ACTIONS(2069), + [anon_sym_DASH] = ACTIONS(2067), + [anon_sym_PLUS] = ACTIONS(2067), + [anon_sym_STAR] = ACTIONS(2069), + [anon_sym_AMP_AMP] = ACTIONS(2069), + [anon_sym_AMP] = ACTIONS(2067), + [anon_sym_SEMI] = ACTIONS(2069), + [anon_sym_typedef] = ACTIONS(2067), + [anon_sym_extern] = ACTIONS(2067), + [anon_sym___attribute__] = ACTIONS(2067), + [anon_sym_COLON_COLON] = ACTIONS(2069), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2069), + [anon_sym___declspec] = ACTIONS(2067), + [anon_sym___based] = ACTIONS(2067), + [anon_sym___cdecl] = ACTIONS(2067), + [anon_sym___clrcall] = ACTIONS(2067), + [anon_sym___stdcall] = ACTIONS(2067), + [anon_sym___fastcall] = ACTIONS(2067), + [anon_sym___thiscall] = ACTIONS(2067), + [anon_sym___vectorcall] = ACTIONS(2067), + [anon_sym_LBRACE] = ACTIONS(2069), + [anon_sym_RBRACE] = ACTIONS(2069), + [anon_sym_LBRACK] = ACTIONS(2067), + [anon_sym_static] = ACTIONS(2067), + [anon_sym_register] = ACTIONS(2067), + [anon_sym_inline] = ACTIONS(2067), + [anon_sym_thread_local] = ACTIONS(2067), + [anon_sym_const] = ACTIONS(2067), + [anon_sym_volatile] = ACTIONS(2067), + [anon_sym_restrict] = ACTIONS(2067), + [anon_sym__Atomic] = ACTIONS(2067), + [anon_sym_mutable] = ACTIONS(2067), + [anon_sym_constexpr] = ACTIONS(2067), + [anon_sym_constinit] = ACTIONS(2067), + [anon_sym_consteval] = ACTIONS(2067), + [anon_sym_signed] = ACTIONS(2067), + [anon_sym_unsigned] = ACTIONS(2067), + [anon_sym_long] = ACTIONS(2067), + [anon_sym_short] = ACTIONS(2067), + [sym_primitive_type] = ACTIONS(2067), + [anon_sym_enum] = ACTIONS(2067), + [anon_sym_class] = ACTIONS(2067), + [anon_sym_struct] = ACTIONS(2067), + [anon_sym_union] = ACTIONS(2067), + [anon_sym_if] = ACTIONS(2067), + [anon_sym_else] = ACTIONS(2067), + [anon_sym_switch] = ACTIONS(2067), + [anon_sym_case] = ACTIONS(2067), + [anon_sym_default] = ACTIONS(2067), + [anon_sym_while] = ACTIONS(2067), + [anon_sym_do] = ACTIONS(2067), + [anon_sym_for] = ACTIONS(2067), + [anon_sym_return] = ACTIONS(2067), + [anon_sym_break] = ACTIONS(2067), + [anon_sym_continue] = ACTIONS(2067), + [anon_sym_goto] = ACTIONS(2067), + [anon_sym_DASH_DASH] = ACTIONS(2069), + [anon_sym_PLUS_PLUS] = ACTIONS(2069), + [anon_sym_sizeof] = ACTIONS(2067), + [sym_number_literal] = ACTIONS(2069), + [anon_sym_L_SQUOTE] = ACTIONS(2069), + [anon_sym_u_SQUOTE] = ACTIONS(2069), + [anon_sym_U_SQUOTE] = ACTIONS(2069), + [anon_sym_u8_SQUOTE] = ACTIONS(2069), + [anon_sym_SQUOTE] = ACTIONS(2069), + [anon_sym_L_DQUOTE] = ACTIONS(2069), + [anon_sym_u_DQUOTE] = ACTIONS(2069), + [anon_sym_U_DQUOTE] = ACTIONS(2069), + [anon_sym_u8_DQUOTE] = ACTIONS(2069), + [anon_sym_DQUOTE] = ACTIONS(2069), + [sym_true] = ACTIONS(2067), + [sym_false] = ACTIONS(2067), + [sym_null] = ACTIONS(2067), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2067), + [anon_sym_decltype] = ACTIONS(2067), + [anon_sym_virtual] = ACTIONS(2067), + [anon_sym_explicit] = ACTIONS(2067), + [anon_sym_typename] = ACTIONS(2067), + [anon_sym_template] = ACTIONS(2067), + [anon_sym_operator] = ACTIONS(2067), + [anon_sym_delete] = ACTIONS(2067), + [anon_sym_throw] = ACTIONS(2067), + [anon_sym_namespace] = ACTIONS(2067), + [anon_sym_using] = ACTIONS(2067), + [anon_sym_static_assert] = ACTIONS(2067), + [anon_sym_concept] = ACTIONS(2067), + [anon_sym_co_return] = ACTIONS(2067), + [anon_sym_co_yield] = ACTIONS(2067), + [anon_sym_try] = ACTIONS(2067), + [anon_sym_co_await] = ACTIONS(2067), + [anon_sym_new] = ACTIONS(2067), + [anon_sym_requires] = ACTIONS(2067), + [sym_this] = ACTIONS(2067), + [sym_nullptr] = ACTIONS(2067), + [sym_raw_string_literal] = ACTIONS(2069), + }, + [506] = { + [ts_builtin_sym_end] = ACTIONS(2057), + [sym_identifier] = ACTIONS(2055), + [aux_sym_preproc_include_token1] = ACTIONS(2055), + [aux_sym_preproc_def_token1] = ACTIONS(2055), + [aux_sym_preproc_if_token1] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2055), + [sym_preproc_directive] = ACTIONS(2055), + [anon_sym_LPAREN2] = ACTIONS(2057), + [anon_sym_BANG] = ACTIONS(2057), + [anon_sym_TILDE] = ACTIONS(2057), + [anon_sym_DASH] = ACTIONS(2055), + [anon_sym_PLUS] = ACTIONS(2055), + [anon_sym_STAR] = ACTIONS(2057), + [anon_sym_AMP_AMP] = ACTIONS(2057), + [anon_sym_AMP] = ACTIONS(2055), + [anon_sym_SEMI] = ACTIONS(2057), + [anon_sym_typedef] = ACTIONS(2055), + [anon_sym_extern] = ACTIONS(2055), + [anon_sym___attribute__] = ACTIONS(2055), + [anon_sym_COLON_COLON] = ACTIONS(2057), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2057), + [anon_sym___declspec] = ACTIONS(2055), + [anon_sym___based] = ACTIONS(2055), + [anon_sym___cdecl] = ACTIONS(2055), + [anon_sym___clrcall] = ACTIONS(2055), + [anon_sym___stdcall] = ACTIONS(2055), + [anon_sym___fastcall] = ACTIONS(2055), + [anon_sym___thiscall] = ACTIONS(2055), + [anon_sym___vectorcall] = ACTIONS(2055), + [anon_sym_LBRACE] = ACTIONS(2057), + [anon_sym_LBRACK] = ACTIONS(2055), + [anon_sym_static] = ACTIONS(2055), + [anon_sym_register] = ACTIONS(2055), + [anon_sym_inline] = ACTIONS(2055), + [anon_sym_thread_local] = ACTIONS(2055), + [anon_sym_const] = ACTIONS(2055), + [anon_sym_volatile] = ACTIONS(2055), + [anon_sym_restrict] = ACTIONS(2055), + [anon_sym__Atomic] = ACTIONS(2055), + [anon_sym_mutable] = ACTIONS(2055), + [anon_sym_constexpr] = ACTIONS(2055), + [anon_sym_constinit] = ACTIONS(2055), + [anon_sym_consteval] = ACTIONS(2055), + [anon_sym_signed] = ACTIONS(2055), + [anon_sym_unsigned] = ACTIONS(2055), + [anon_sym_long] = ACTIONS(2055), + [anon_sym_short] = ACTIONS(2055), + [sym_primitive_type] = ACTIONS(2055), + [anon_sym_enum] = ACTIONS(2055), + [anon_sym_class] = ACTIONS(2055), + [anon_sym_struct] = ACTIONS(2055), + [anon_sym_union] = ACTIONS(2055), + [anon_sym_if] = ACTIONS(2055), + [anon_sym_else] = ACTIONS(2055), + [anon_sym_switch] = ACTIONS(2055), + [anon_sym_case] = ACTIONS(2055), + [anon_sym_default] = ACTIONS(2055), + [anon_sym_while] = ACTIONS(2055), + [anon_sym_do] = ACTIONS(2055), + [anon_sym_for] = ACTIONS(2055), + [anon_sym_return] = ACTIONS(2055), + [anon_sym_break] = ACTIONS(2055), + [anon_sym_continue] = ACTIONS(2055), + [anon_sym_goto] = ACTIONS(2055), + [anon_sym_DASH_DASH] = ACTIONS(2057), + [anon_sym_PLUS_PLUS] = ACTIONS(2057), + [anon_sym_sizeof] = ACTIONS(2055), + [sym_number_literal] = ACTIONS(2057), + [anon_sym_L_SQUOTE] = ACTIONS(2057), + [anon_sym_u_SQUOTE] = ACTIONS(2057), + [anon_sym_U_SQUOTE] = ACTIONS(2057), + [anon_sym_u8_SQUOTE] = ACTIONS(2057), + [anon_sym_SQUOTE] = ACTIONS(2057), + [anon_sym_L_DQUOTE] = ACTIONS(2057), + [anon_sym_u_DQUOTE] = ACTIONS(2057), + [anon_sym_U_DQUOTE] = ACTIONS(2057), + [anon_sym_u8_DQUOTE] = ACTIONS(2057), + [anon_sym_DQUOTE] = ACTIONS(2057), + [sym_true] = ACTIONS(2055), + [sym_false] = ACTIONS(2055), + [sym_null] = ACTIONS(2055), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2055), + [anon_sym_decltype] = ACTIONS(2055), + [anon_sym_virtual] = ACTIONS(2055), + [anon_sym_explicit] = ACTIONS(2055), + [anon_sym_typename] = ACTIONS(2055), + [anon_sym_template] = ACTIONS(2055), + [anon_sym_operator] = ACTIONS(2055), + [anon_sym_delete] = ACTIONS(2055), + [anon_sym_throw] = ACTIONS(2055), + [anon_sym_namespace] = ACTIONS(2055), + [anon_sym_using] = ACTIONS(2055), + [anon_sym_static_assert] = ACTIONS(2055), + [anon_sym_concept] = ACTIONS(2055), + [anon_sym_co_return] = ACTIONS(2055), + [anon_sym_co_yield] = ACTIONS(2055), + [anon_sym_try] = ACTIONS(2055), + [anon_sym_co_await] = ACTIONS(2055), + [anon_sym_new] = ACTIONS(2055), + [anon_sym_requires] = ACTIONS(2055), + [sym_this] = ACTIONS(2055), + [sym_nullptr] = ACTIONS(2055), + [sym_raw_string_literal] = ACTIONS(2057), + }, + [507] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [508] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [509] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [510] = { + [ts_builtin_sym_end] = ACTIONS(1959), + [sym_identifier] = ACTIONS(1957), + [aux_sym_preproc_include_token1] = ACTIONS(1957), + [aux_sym_preproc_def_token1] = ACTIONS(1957), + [aux_sym_preproc_if_token1] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1957), + [sym_preproc_directive] = ACTIONS(1957), + [anon_sym_LPAREN2] = ACTIONS(1959), + [anon_sym_BANG] = ACTIONS(1959), + [anon_sym_TILDE] = ACTIONS(1959), + [anon_sym_DASH] = ACTIONS(1957), + [anon_sym_PLUS] = ACTIONS(1957), + [anon_sym_STAR] = ACTIONS(1959), + [anon_sym_AMP_AMP] = ACTIONS(1959), + [anon_sym_AMP] = ACTIONS(1957), + [anon_sym_SEMI] = ACTIONS(1959), + [anon_sym_typedef] = ACTIONS(1957), + [anon_sym_extern] = ACTIONS(1957), + [anon_sym___attribute__] = ACTIONS(1957), + [anon_sym_COLON_COLON] = ACTIONS(1959), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1959), + [anon_sym___declspec] = ACTIONS(1957), + [anon_sym___based] = ACTIONS(1957), + [anon_sym___cdecl] = ACTIONS(1957), + [anon_sym___clrcall] = ACTIONS(1957), + [anon_sym___stdcall] = ACTIONS(1957), + [anon_sym___fastcall] = ACTIONS(1957), + [anon_sym___thiscall] = ACTIONS(1957), + [anon_sym___vectorcall] = ACTIONS(1957), + [anon_sym_LBRACE] = ACTIONS(1959), + [anon_sym_LBRACK] = ACTIONS(1957), + [anon_sym_static] = ACTIONS(1957), + [anon_sym_register] = ACTIONS(1957), + [anon_sym_inline] = ACTIONS(1957), + [anon_sym_thread_local] = ACTIONS(1957), + [anon_sym_const] = ACTIONS(1957), + [anon_sym_volatile] = ACTIONS(1957), + [anon_sym_restrict] = ACTIONS(1957), + [anon_sym__Atomic] = ACTIONS(1957), + [anon_sym_mutable] = ACTIONS(1957), + [anon_sym_constexpr] = ACTIONS(1957), + [anon_sym_constinit] = ACTIONS(1957), + [anon_sym_consteval] = ACTIONS(1957), + [anon_sym_signed] = ACTIONS(1957), + [anon_sym_unsigned] = ACTIONS(1957), + [anon_sym_long] = ACTIONS(1957), + [anon_sym_short] = ACTIONS(1957), + [sym_primitive_type] = ACTIONS(1957), + [anon_sym_enum] = ACTIONS(1957), + [anon_sym_class] = ACTIONS(1957), + [anon_sym_struct] = ACTIONS(1957), + [anon_sym_union] = ACTIONS(1957), + [anon_sym_if] = ACTIONS(1957), + [anon_sym_else] = ACTIONS(2423), + [anon_sym_switch] = ACTIONS(1957), + [anon_sym_case] = ACTIONS(1957), + [anon_sym_default] = ACTIONS(1957), + [anon_sym_while] = ACTIONS(1957), + [anon_sym_do] = ACTIONS(1957), + [anon_sym_for] = ACTIONS(1957), + [anon_sym_return] = ACTIONS(1957), + [anon_sym_break] = ACTIONS(1957), + [anon_sym_continue] = ACTIONS(1957), + [anon_sym_goto] = ACTIONS(1957), + [anon_sym_DASH_DASH] = ACTIONS(1959), + [anon_sym_PLUS_PLUS] = ACTIONS(1959), + [anon_sym_sizeof] = ACTIONS(1957), + [sym_number_literal] = ACTIONS(1959), + [anon_sym_L_SQUOTE] = ACTIONS(1959), + [anon_sym_u_SQUOTE] = ACTIONS(1959), + [anon_sym_U_SQUOTE] = ACTIONS(1959), + [anon_sym_u8_SQUOTE] = ACTIONS(1959), + [anon_sym_SQUOTE] = ACTIONS(1959), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1957), + [sym_false] = ACTIONS(1957), + [sym_null] = ACTIONS(1957), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1957), + [anon_sym_decltype] = ACTIONS(1957), + [anon_sym_virtual] = ACTIONS(1957), + [anon_sym_explicit] = ACTIONS(1957), + [anon_sym_typename] = ACTIONS(1957), + [anon_sym_template] = ACTIONS(1957), + [anon_sym_operator] = ACTIONS(1957), + [anon_sym_delete] = ACTIONS(1957), + [anon_sym_throw] = ACTIONS(1957), + [anon_sym_namespace] = ACTIONS(1957), + [anon_sym_using] = ACTIONS(1957), + [anon_sym_static_assert] = ACTIONS(1957), + [anon_sym_concept] = ACTIONS(1957), + [anon_sym_co_return] = ACTIONS(1957), + [anon_sym_co_yield] = ACTIONS(1957), + [anon_sym_try] = ACTIONS(1957), + [anon_sym_co_await] = ACTIONS(1957), + [anon_sym_new] = ACTIONS(1957), + [anon_sym_requires] = ACTIONS(1957), + [sym_this] = ACTIONS(1957), + [sym_nullptr] = ACTIONS(1957), + [sym_raw_string_literal] = ACTIONS(1959), + }, + [511] = { + [ts_builtin_sym_end] = ACTIONS(2065), + [sym_identifier] = ACTIONS(2063), + [aux_sym_preproc_include_token1] = ACTIONS(2063), + [aux_sym_preproc_def_token1] = ACTIONS(2063), + [aux_sym_preproc_if_token1] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2063), + [sym_preproc_directive] = ACTIONS(2063), + [anon_sym_LPAREN2] = ACTIONS(2065), + [anon_sym_BANG] = ACTIONS(2065), + [anon_sym_TILDE] = ACTIONS(2065), + [anon_sym_DASH] = ACTIONS(2063), + [anon_sym_PLUS] = ACTIONS(2063), + [anon_sym_STAR] = ACTIONS(2065), + [anon_sym_AMP_AMP] = ACTIONS(2065), + [anon_sym_AMP] = ACTIONS(2063), + [anon_sym_SEMI] = ACTIONS(2065), + [anon_sym_typedef] = ACTIONS(2063), + [anon_sym_extern] = ACTIONS(2063), + [anon_sym___attribute__] = ACTIONS(2063), + [anon_sym_COLON_COLON] = ACTIONS(2065), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2065), + [anon_sym___declspec] = ACTIONS(2063), + [anon_sym___based] = ACTIONS(2063), + [anon_sym___cdecl] = ACTIONS(2063), + [anon_sym___clrcall] = ACTIONS(2063), + [anon_sym___stdcall] = ACTIONS(2063), + [anon_sym___fastcall] = ACTIONS(2063), + [anon_sym___thiscall] = ACTIONS(2063), + [anon_sym___vectorcall] = ACTIONS(2063), + [anon_sym_LBRACE] = ACTIONS(2065), + [anon_sym_LBRACK] = ACTIONS(2063), + [anon_sym_static] = ACTIONS(2063), + [anon_sym_register] = ACTIONS(2063), + [anon_sym_inline] = ACTIONS(2063), + [anon_sym_thread_local] = ACTIONS(2063), + [anon_sym_const] = ACTIONS(2063), + [anon_sym_volatile] = ACTIONS(2063), + [anon_sym_restrict] = ACTIONS(2063), + [anon_sym__Atomic] = ACTIONS(2063), + [anon_sym_mutable] = ACTIONS(2063), + [anon_sym_constexpr] = ACTIONS(2063), + [anon_sym_constinit] = ACTIONS(2063), + [anon_sym_consteval] = ACTIONS(2063), + [anon_sym_signed] = ACTIONS(2063), + [anon_sym_unsigned] = ACTIONS(2063), + [anon_sym_long] = ACTIONS(2063), + [anon_sym_short] = ACTIONS(2063), + [sym_primitive_type] = ACTIONS(2063), + [anon_sym_enum] = ACTIONS(2063), + [anon_sym_class] = ACTIONS(2063), + [anon_sym_struct] = ACTIONS(2063), + [anon_sym_union] = ACTIONS(2063), + [anon_sym_if] = ACTIONS(2063), + [anon_sym_else] = ACTIONS(2063), + [anon_sym_switch] = ACTIONS(2063), + [anon_sym_case] = ACTIONS(2063), + [anon_sym_default] = ACTIONS(2063), + [anon_sym_while] = ACTIONS(2063), + [anon_sym_do] = ACTIONS(2063), + [anon_sym_for] = ACTIONS(2063), + [anon_sym_return] = ACTIONS(2063), + [anon_sym_break] = ACTIONS(2063), + [anon_sym_continue] = ACTIONS(2063), + [anon_sym_goto] = ACTIONS(2063), + [anon_sym_DASH_DASH] = ACTIONS(2065), + [anon_sym_PLUS_PLUS] = ACTIONS(2065), + [anon_sym_sizeof] = ACTIONS(2063), + [sym_number_literal] = ACTIONS(2065), + [anon_sym_L_SQUOTE] = ACTIONS(2065), + [anon_sym_u_SQUOTE] = ACTIONS(2065), + [anon_sym_U_SQUOTE] = ACTIONS(2065), + [anon_sym_u8_SQUOTE] = ACTIONS(2065), + [anon_sym_SQUOTE] = ACTIONS(2065), + [anon_sym_L_DQUOTE] = ACTIONS(2065), + [anon_sym_u_DQUOTE] = ACTIONS(2065), + [anon_sym_U_DQUOTE] = ACTIONS(2065), + [anon_sym_u8_DQUOTE] = ACTIONS(2065), + [anon_sym_DQUOTE] = ACTIONS(2065), + [sym_true] = ACTIONS(2063), + [sym_false] = ACTIONS(2063), + [sym_null] = ACTIONS(2063), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2063), + [anon_sym_decltype] = ACTIONS(2063), + [anon_sym_virtual] = ACTIONS(2063), + [anon_sym_explicit] = ACTIONS(2063), + [anon_sym_typename] = ACTIONS(2063), + [anon_sym_template] = ACTIONS(2063), + [anon_sym_operator] = ACTIONS(2063), + [anon_sym_delete] = ACTIONS(2063), + [anon_sym_throw] = ACTIONS(2063), + [anon_sym_namespace] = ACTIONS(2063), + [anon_sym_using] = ACTIONS(2063), + [anon_sym_static_assert] = ACTIONS(2063), + [anon_sym_concept] = ACTIONS(2063), + [anon_sym_co_return] = ACTIONS(2063), + [anon_sym_co_yield] = ACTIONS(2063), + [anon_sym_try] = ACTIONS(2063), + [anon_sym_co_await] = ACTIONS(2063), + [anon_sym_new] = ACTIONS(2063), + [anon_sym_requires] = ACTIONS(2063), + [sym_this] = ACTIONS(2063), + [sym_nullptr] = ACTIONS(2063), + [sym_raw_string_literal] = ACTIONS(2065), + }, + [512] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [513] = { + [ts_builtin_sym_end] = ACTIONS(2069), + [sym_identifier] = ACTIONS(2067), + [aux_sym_preproc_include_token1] = ACTIONS(2067), + [aux_sym_preproc_def_token1] = ACTIONS(2067), + [aux_sym_preproc_if_token1] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2067), + [sym_preproc_directive] = ACTIONS(2067), + [anon_sym_LPAREN2] = ACTIONS(2069), + [anon_sym_BANG] = ACTIONS(2069), + [anon_sym_TILDE] = ACTIONS(2069), + [anon_sym_DASH] = ACTIONS(2067), + [anon_sym_PLUS] = ACTIONS(2067), + [anon_sym_STAR] = ACTIONS(2069), + [anon_sym_AMP_AMP] = ACTIONS(2069), + [anon_sym_AMP] = ACTIONS(2067), + [anon_sym_SEMI] = ACTIONS(2069), + [anon_sym_typedef] = ACTIONS(2067), + [anon_sym_extern] = ACTIONS(2067), + [anon_sym___attribute__] = ACTIONS(2067), + [anon_sym_COLON_COLON] = ACTIONS(2069), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2069), + [anon_sym___declspec] = ACTIONS(2067), + [anon_sym___based] = ACTIONS(2067), + [anon_sym___cdecl] = ACTIONS(2067), + [anon_sym___clrcall] = ACTIONS(2067), + [anon_sym___stdcall] = ACTIONS(2067), + [anon_sym___fastcall] = ACTIONS(2067), + [anon_sym___thiscall] = ACTIONS(2067), + [anon_sym___vectorcall] = ACTIONS(2067), + [anon_sym_LBRACE] = ACTIONS(2069), + [anon_sym_LBRACK] = ACTIONS(2067), + [anon_sym_static] = ACTIONS(2067), + [anon_sym_register] = ACTIONS(2067), + [anon_sym_inline] = ACTIONS(2067), + [anon_sym_thread_local] = ACTIONS(2067), + [anon_sym_const] = ACTIONS(2067), + [anon_sym_volatile] = ACTIONS(2067), + [anon_sym_restrict] = ACTIONS(2067), + [anon_sym__Atomic] = ACTIONS(2067), + [anon_sym_mutable] = ACTIONS(2067), + [anon_sym_constexpr] = ACTIONS(2067), + [anon_sym_constinit] = ACTIONS(2067), + [anon_sym_consteval] = ACTIONS(2067), + [anon_sym_signed] = ACTIONS(2067), + [anon_sym_unsigned] = ACTIONS(2067), + [anon_sym_long] = ACTIONS(2067), + [anon_sym_short] = ACTIONS(2067), + [sym_primitive_type] = ACTIONS(2067), + [anon_sym_enum] = ACTIONS(2067), + [anon_sym_class] = ACTIONS(2067), + [anon_sym_struct] = ACTIONS(2067), + [anon_sym_union] = ACTIONS(2067), + [anon_sym_if] = ACTIONS(2067), + [anon_sym_else] = ACTIONS(2067), + [anon_sym_switch] = ACTIONS(2067), + [anon_sym_case] = ACTIONS(2067), + [anon_sym_default] = ACTIONS(2067), + [anon_sym_while] = ACTIONS(2067), + [anon_sym_do] = ACTIONS(2067), + [anon_sym_for] = ACTIONS(2067), + [anon_sym_return] = ACTIONS(2067), + [anon_sym_break] = ACTIONS(2067), + [anon_sym_continue] = ACTIONS(2067), + [anon_sym_goto] = ACTIONS(2067), + [anon_sym_DASH_DASH] = ACTIONS(2069), + [anon_sym_PLUS_PLUS] = ACTIONS(2069), + [anon_sym_sizeof] = ACTIONS(2067), + [sym_number_literal] = ACTIONS(2069), + [anon_sym_L_SQUOTE] = ACTIONS(2069), + [anon_sym_u_SQUOTE] = ACTIONS(2069), + [anon_sym_U_SQUOTE] = ACTIONS(2069), + [anon_sym_u8_SQUOTE] = ACTIONS(2069), + [anon_sym_SQUOTE] = ACTIONS(2069), + [anon_sym_L_DQUOTE] = ACTIONS(2069), + [anon_sym_u_DQUOTE] = ACTIONS(2069), + [anon_sym_U_DQUOTE] = ACTIONS(2069), + [anon_sym_u8_DQUOTE] = ACTIONS(2069), + [anon_sym_DQUOTE] = ACTIONS(2069), + [sym_true] = ACTIONS(2067), + [sym_false] = ACTIONS(2067), + [sym_null] = ACTIONS(2067), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2067), + [anon_sym_decltype] = ACTIONS(2067), + [anon_sym_virtual] = ACTIONS(2067), + [anon_sym_explicit] = ACTIONS(2067), + [anon_sym_typename] = ACTIONS(2067), + [anon_sym_template] = ACTIONS(2067), + [anon_sym_operator] = ACTIONS(2067), + [anon_sym_delete] = ACTIONS(2067), + [anon_sym_throw] = ACTIONS(2067), + [anon_sym_namespace] = ACTIONS(2067), + [anon_sym_using] = ACTIONS(2067), + [anon_sym_static_assert] = ACTIONS(2067), + [anon_sym_concept] = ACTIONS(2067), + [anon_sym_co_return] = ACTIONS(2067), + [anon_sym_co_yield] = ACTIONS(2067), + [anon_sym_try] = ACTIONS(2067), + [anon_sym_co_await] = ACTIONS(2067), + [anon_sym_new] = ACTIONS(2067), + [anon_sym_requires] = ACTIONS(2067), + [sym_this] = ACTIONS(2067), + [sym_nullptr] = ACTIONS(2067), + [sym_raw_string_literal] = ACTIONS(2069), + }, + [514] = { + [sym_identifier] = ACTIONS(1949), + [aux_sym_preproc_include_token1] = ACTIONS(1949), + [aux_sym_preproc_def_token1] = ACTIONS(1949), + [aux_sym_preproc_if_token1] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1949), + [sym_preproc_directive] = ACTIONS(1949), + [anon_sym_LPAREN2] = ACTIONS(1951), + [anon_sym_BANG] = ACTIONS(1951), + [anon_sym_TILDE] = ACTIONS(1951), + [anon_sym_DASH] = ACTIONS(1949), + [anon_sym_PLUS] = ACTIONS(1949), + [anon_sym_STAR] = ACTIONS(1951), + [anon_sym_AMP_AMP] = ACTIONS(1951), + [anon_sym_AMP] = ACTIONS(1949), + [anon_sym_SEMI] = ACTIONS(1951), + [anon_sym_typedef] = ACTIONS(1949), + [anon_sym_extern] = ACTIONS(1949), + [anon_sym___attribute__] = ACTIONS(1949), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1951), + [anon_sym___declspec] = ACTIONS(1949), + [anon_sym___based] = ACTIONS(1949), + [anon_sym___cdecl] = ACTIONS(1949), + [anon_sym___clrcall] = ACTIONS(1949), + [anon_sym___stdcall] = ACTIONS(1949), + [anon_sym___fastcall] = ACTIONS(1949), + [anon_sym___thiscall] = ACTIONS(1949), + [anon_sym___vectorcall] = ACTIONS(1949), + [anon_sym_LBRACE] = ACTIONS(1951), + [anon_sym_RBRACE] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(1949), + [anon_sym_static] = ACTIONS(1949), + [anon_sym_register] = ACTIONS(1949), + [anon_sym_inline] = ACTIONS(1949), + [anon_sym_thread_local] = ACTIONS(1949), + [anon_sym_const] = ACTIONS(1949), + [anon_sym_volatile] = ACTIONS(1949), + [anon_sym_restrict] = ACTIONS(1949), + [anon_sym__Atomic] = ACTIONS(1949), + [anon_sym_mutable] = ACTIONS(1949), + [anon_sym_constexpr] = ACTIONS(1949), + [anon_sym_constinit] = ACTIONS(1949), + [anon_sym_consteval] = ACTIONS(1949), + [anon_sym_signed] = ACTIONS(1949), + [anon_sym_unsigned] = ACTIONS(1949), + [anon_sym_long] = ACTIONS(1949), + [anon_sym_short] = ACTIONS(1949), + [sym_primitive_type] = ACTIONS(1949), + [anon_sym_enum] = ACTIONS(1949), + [anon_sym_class] = ACTIONS(1949), + [anon_sym_struct] = ACTIONS(1949), + [anon_sym_union] = ACTIONS(1949), + [anon_sym_if] = ACTIONS(1949), + [anon_sym_else] = ACTIONS(1949), + [anon_sym_switch] = ACTIONS(1949), + [anon_sym_case] = ACTIONS(1949), + [anon_sym_default] = ACTIONS(1949), + [anon_sym_while] = ACTIONS(1949), + [anon_sym_do] = ACTIONS(1949), + [anon_sym_for] = ACTIONS(1949), + [anon_sym_return] = ACTIONS(1949), + [anon_sym_break] = ACTIONS(1949), + [anon_sym_continue] = ACTIONS(1949), + [anon_sym_goto] = ACTIONS(1949), + [anon_sym_DASH_DASH] = ACTIONS(1951), + [anon_sym_PLUS_PLUS] = ACTIONS(1951), + [anon_sym_sizeof] = ACTIONS(1949), + [sym_number_literal] = ACTIONS(1951), + [anon_sym_L_SQUOTE] = ACTIONS(1951), + [anon_sym_u_SQUOTE] = ACTIONS(1951), + [anon_sym_U_SQUOTE] = ACTIONS(1951), + [anon_sym_u8_SQUOTE] = ACTIONS(1951), + [anon_sym_SQUOTE] = ACTIONS(1951), + [anon_sym_L_DQUOTE] = ACTIONS(1951), + [anon_sym_u_DQUOTE] = ACTIONS(1951), + [anon_sym_U_DQUOTE] = ACTIONS(1951), + [anon_sym_u8_DQUOTE] = ACTIONS(1951), + [anon_sym_DQUOTE] = ACTIONS(1951), + [sym_true] = ACTIONS(1949), + [sym_false] = ACTIONS(1949), + [sym_null] = ACTIONS(1949), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1949), + [anon_sym_decltype] = ACTIONS(1949), + [anon_sym_virtual] = ACTIONS(1949), + [anon_sym_explicit] = ACTIONS(1949), + [anon_sym_typename] = ACTIONS(1949), + [anon_sym_template] = ACTIONS(1949), + [anon_sym_operator] = ACTIONS(1949), + [anon_sym_delete] = ACTIONS(1949), + [anon_sym_throw] = ACTIONS(1949), + [anon_sym_namespace] = ACTIONS(1949), + [anon_sym_using] = ACTIONS(1949), + [anon_sym_static_assert] = ACTIONS(1949), + [anon_sym_concept] = ACTIONS(1949), + [anon_sym_co_return] = ACTIONS(1949), + [anon_sym_co_yield] = ACTIONS(1949), + [anon_sym_try] = ACTIONS(1949), + [anon_sym_co_await] = ACTIONS(1949), + [anon_sym_new] = ACTIONS(1949), + [anon_sym_requires] = ACTIONS(1949), + [sym_this] = ACTIONS(1949), + [sym_nullptr] = ACTIONS(1949), + [sym_raw_string_literal] = ACTIONS(1951), + }, + [515] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [516] = { + [sym_identifier] = ACTIONS(2091), + [aux_sym_preproc_include_token1] = ACTIONS(2091), + [aux_sym_preproc_def_token1] = ACTIONS(2091), + [aux_sym_preproc_if_token1] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2091), + [sym_preproc_directive] = ACTIONS(2091), + [anon_sym_LPAREN2] = ACTIONS(2093), + [anon_sym_BANG] = ACTIONS(2093), + [anon_sym_TILDE] = ACTIONS(2093), + [anon_sym_DASH] = ACTIONS(2091), + [anon_sym_PLUS] = ACTIONS(2091), + [anon_sym_STAR] = ACTIONS(2093), + [anon_sym_AMP_AMP] = ACTIONS(2093), + [anon_sym_AMP] = ACTIONS(2091), + [anon_sym_SEMI] = ACTIONS(2093), + [anon_sym_typedef] = ACTIONS(2091), + [anon_sym_extern] = ACTIONS(2091), + [anon_sym___attribute__] = ACTIONS(2091), + [anon_sym_COLON_COLON] = ACTIONS(2093), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2093), + [anon_sym___declspec] = ACTIONS(2091), + [anon_sym___based] = ACTIONS(2091), + [anon_sym___cdecl] = ACTIONS(2091), + [anon_sym___clrcall] = ACTIONS(2091), + [anon_sym___stdcall] = ACTIONS(2091), + [anon_sym___fastcall] = ACTIONS(2091), + [anon_sym___thiscall] = ACTIONS(2091), + [anon_sym___vectorcall] = ACTIONS(2091), + [anon_sym_LBRACE] = ACTIONS(2093), + [anon_sym_RBRACE] = ACTIONS(2093), + [anon_sym_LBRACK] = ACTIONS(2091), + [anon_sym_static] = ACTIONS(2091), + [anon_sym_register] = ACTIONS(2091), + [anon_sym_inline] = ACTIONS(2091), + [anon_sym_thread_local] = ACTIONS(2091), + [anon_sym_const] = ACTIONS(2091), + [anon_sym_volatile] = ACTIONS(2091), + [anon_sym_restrict] = ACTIONS(2091), + [anon_sym__Atomic] = ACTIONS(2091), + [anon_sym_mutable] = ACTIONS(2091), + [anon_sym_constexpr] = ACTIONS(2091), + [anon_sym_constinit] = ACTIONS(2091), + [anon_sym_consteval] = ACTIONS(2091), + [anon_sym_signed] = ACTIONS(2091), + [anon_sym_unsigned] = ACTIONS(2091), + [anon_sym_long] = ACTIONS(2091), + [anon_sym_short] = ACTIONS(2091), + [sym_primitive_type] = ACTIONS(2091), + [anon_sym_enum] = ACTIONS(2091), + [anon_sym_class] = ACTIONS(2091), + [anon_sym_struct] = ACTIONS(2091), + [anon_sym_union] = ACTIONS(2091), + [anon_sym_if] = ACTIONS(2091), + [anon_sym_else] = ACTIONS(2091), + [anon_sym_switch] = ACTIONS(2091), + [anon_sym_case] = ACTIONS(2091), + [anon_sym_default] = ACTIONS(2091), + [anon_sym_while] = ACTIONS(2091), + [anon_sym_do] = ACTIONS(2091), + [anon_sym_for] = ACTIONS(2091), + [anon_sym_return] = ACTIONS(2091), + [anon_sym_break] = ACTIONS(2091), + [anon_sym_continue] = ACTIONS(2091), + [anon_sym_goto] = ACTIONS(2091), + [anon_sym_DASH_DASH] = ACTIONS(2093), + [anon_sym_PLUS_PLUS] = ACTIONS(2093), + [anon_sym_sizeof] = ACTIONS(2091), + [sym_number_literal] = ACTIONS(2093), + [anon_sym_L_SQUOTE] = ACTIONS(2093), + [anon_sym_u_SQUOTE] = ACTIONS(2093), + [anon_sym_U_SQUOTE] = ACTIONS(2093), + [anon_sym_u8_SQUOTE] = ACTIONS(2093), + [anon_sym_SQUOTE] = ACTIONS(2093), + [anon_sym_L_DQUOTE] = ACTIONS(2093), + [anon_sym_u_DQUOTE] = ACTIONS(2093), + [anon_sym_U_DQUOTE] = ACTIONS(2093), + [anon_sym_u8_DQUOTE] = ACTIONS(2093), + [anon_sym_DQUOTE] = ACTIONS(2093), + [sym_true] = ACTIONS(2091), + [sym_false] = ACTIONS(2091), + [sym_null] = ACTIONS(2091), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2091), + [anon_sym_decltype] = ACTIONS(2091), + [anon_sym_virtual] = ACTIONS(2091), + [anon_sym_explicit] = ACTIONS(2091), + [anon_sym_typename] = ACTIONS(2091), + [anon_sym_template] = ACTIONS(2091), + [anon_sym_operator] = ACTIONS(2091), + [anon_sym_delete] = ACTIONS(2091), + [anon_sym_throw] = ACTIONS(2091), + [anon_sym_namespace] = ACTIONS(2091), + [anon_sym_using] = ACTIONS(2091), + [anon_sym_static_assert] = ACTIONS(2091), + [anon_sym_concept] = ACTIONS(2091), + [anon_sym_co_return] = ACTIONS(2091), + [anon_sym_co_yield] = ACTIONS(2091), + [anon_sym_try] = ACTIONS(2091), + [anon_sym_co_await] = ACTIONS(2091), + [anon_sym_new] = ACTIONS(2091), + [anon_sym_requires] = ACTIONS(2091), + [sym_this] = ACTIONS(2091), + [sym_nullptr] = ACTIONS(2091), + [sym_raw_string_literal] = ACTIONS(2093), + }, + [517] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [518] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [519] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [520] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [521] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [522] = { + [ts_builtin_sym_end] = ACTIONS(2061), + [sym_identifier] = ACTIONS(2059), + [aux_sym_preproc_include_token1] = ACTIONS(2059), + [aux_sym_preproc_def_token1] = ACTIONS(2059), + [aux_sym_preproc_if_token1] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2059), + [sym_preproc_directive] = ACTIONS(2059), + [anon_sym_LPAREN2] = ACTIONS(2061), + [anon_sym_BANG] = ACTIONS(2061), + [anon_sym_TILDE] = ACTIONS(2061), + [anon_sym_DASH] = ACTIONS(2059), + [anon_sym_PLUS] = ACTIONS(2059), + [anon_sym_STAR] = ACTIONS(2061), + [anon_sym_AMP_AMP] = ACTIONS(2061), + [anon_sym_AMP] = ACTIONS(2059), + [anon_sym_SEMI] = ACTIONS(2061), + [anon_sym_typedef] = ACTIONS(2059), + [anon_sym_extern] = ACTIONS(2059), + [anon_sym___attribute__] = ACTIONS(2059), + [anon_sym_COLON_COLON] = ACTIONS(2061), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2061), + [anon_sym___declspec] = ACTIONS(2059), + [anon_sym___based] = ACTIONS(2059), + [anon_sym___cdecl] = ACTIONS(2059), + [anon_sym___clrcall] = ACTIONS(2059), + [anon_sym___stdcall] = ACTIONS(2059), + [anon_sym___fastcall] = ACTIONS(2059), + [anon_sym___thiscall] = ACTIONS(2059), + [anon_sym___vectorcall] = ACTIONS(2059), + [anon_sym_LBRACE] = ACTIONS(2061), + [anon_sym_LBRACK] = ACTIONS(2059), + [anon_sym_static] = ACTIONS(2059), + [anon_sym_register] = ACTIONS(2059), + [anon_sym_inline] = ACTIONS(2059), + [anon_sym_thread_local] = ACTIONS(2059), + [anon_sym_const] = ACTIONS(2059), + [anon_sym_volatile] = ACTIONS(2059), + [anon_sym_restrict] = ACTIONS(2059), + [anon_sym__Atomic] = ACTIONS(2059), + [anon_sym_mutable] = ACTIONS(2059), + [anon_sym_constexpr] = ACTIONS(2059), + [anon_sym_constinit] = ACTIONS(2059), + [anon_sym_consteval] = ACTIONS(2059), + [anon_sym_signed] = ACTIONS(2059), + [anon_sym_unsigned] = ACTIONS(2059), + [anon_sym_long] = ACTIONS(2059), + [anon_sym_short] = ACTIONS(2059), + [sym_primitive_type] = ACTIONS(2059), + [anon_sym_enum] = ACTIONS(2059), + [anon_sym_class] = ACTIONS(2059), + [anon_sym_struct] = ACTIONS(2059), + [anon_sym_union] = ACTIONS(2059), + [anon_sym_if] = ACTIONS(2059), + [anon_sym_else] = ACTIONS(2059), + [anon_sym_switch] = ACTIONS(2059), + [anon_sym_case] = ACTIONS(2059), + [anon_sym_default] = ACTIONS(2059), + [anon_sym_while] = ACTIONS(2059), + [anon_sym_do] = ACTIONS(2059), + [anon_sym_for] = ACTIONS(2059), + [anon_sym_return] = ACTIONS(2059), + [anon_sym_break] = ACTIONS(2059), + [anon_sym_continue] = ACTIONS(2059), + [anon_sym_goto] = ACTIONS(2059), + [anon_sym_DASH_DASH] = ACTIONS(2061), + [anon_sym_PLUS_PLUS] = ACTIONS(2061), + [anon_sym_sizeof] = ACTIONS(2059), + [sym_number_literal] = ACTIONS(2061), + [anon_sym_L_SQUOTE] = ACTIONS(2061), + [anon_sym_u_SQUOTE] = ACTIONS(2061), + [anon_sym_U_SQUOTE] = ACTIONS(2061), + [anon_sym_u8_SQUOTE] = ACTIONS(2061), + [anon_sym_SQUOTE] = ACTIONS(2061), + [anon_sym_L_DQUOTE] = ACTIONS(2061), + [anon_sym_u_DQUOTE] = ACTIONS(2061), + [anon_sym_U_DQUOTE] = ACTIONS(2061), + [anon_sym_u8_DQUOTE] = ACTIONS(2061), + [anon_sym_DQUOTE] = ACTIONS(2061), + [sym_true] = ACTIONS(2059), + [sym_false] = ACTIONS(2059), + [sym_null] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2059), + [anon_sym_decltype] = ACTIONS(2059), + [anon_sym_virtual] = ACTIONS(2059), + [anon_sym_explicit] = ACTIONS(2059), + [anon_sym_typename] = ACTIONS(2059), + [anon_sym_template] = ACTIONS(2059), + [anon_sym_operator] = ACTIONS(2059), + [anon_sym_delete] = ACTIONS(2059), + [anon_sym_throw] = ACTIONS(2059), + [anon_sym_namespace] = ACTIONS(2059), + [anon_sym_using] = ACTIONS(2059), + [anon_sym_static_assert] = ACTIONS(2059), + [anon_sym_concept] = ACTIONS(2059), + [anon_sym_co_return] = ACTIONS(2059), + [anon_sym_co_yield] = ACTIONS(2059), + [anon_sym_try] = ACTIONS(2059), + [anon_sym_co_await] = ACTIONS(2059), + [anon_sym_new] = ACTIONS(2059), + [anon_sym_requires] = ACTIONS(2059), + [sym_this] = ACTIONS(2059), + [sym_nullptr] = ACTIONS(2059), + [sym_raw_string_literal] = ACTIONS(2061), + }, + [523] = { + [sym_identifier] = ACTIONS(2063), + [aux_sym_preproc_include_token1] = ACTIONS(2063), + [aux_sym_preproc_def_token1] = ACTIONS(2063), + [aux_sym_preproc_if_token1] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2063), + [sym_preproc_directive] = ACTIONS(2063), + [anon_sym_LPAREN2] = ACTIONS(2065), + [anon_sym_BANG] = ACTIONS(2065), + [anon_sym_TILDE] = ACTIONS(2065), + [anon_sym_DASH] = ACTIONS(2063), + [anon_sym_PLUS] = ACTIONS(2063), + [anon_sym_STAR] = ACTIONS(2065), + [anon_sym_AMP_AMP] = ACTIONS(2065), + [anon_sym_AMP] = ACTIONS(2063), + [anon_sym_SEMI] = ACTIONS(2065), + [anon_sym_typedef] = ACTIONS(2063), + [anon_sym_extern] = ACTIONS(2063), + [anon_sym___attribute__] = ACTIONS(2063), + [anon_sym_COLON_COLON] = ACTIONS(2065), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2065), + [anon_sym___declspec] = ACTIONS(2063), + [anon_sym___based] = ACTIONS(2063), + [anon_sym___cdecl] = ACTIONS(2063), + [anon_sym___clrcall] = ACTIONS(2063), + [anon_sym___stdcall] = ACTIONS(2063), + [anon_sym___fastcall] = ACTIONS(2063), + [anon_sym___thiscall] = ACTIONS(2063), + [anon_sym___vectorcall] = ACTIONS(2063), + [anon_sym_LBRACE] = ACTIONS(2065), + [anon_sym_RBRACE] = ACTIONS(2065), + [anon_sym_LBRACK] = ACTIONS(2063), + [anon_sym_static] = ACTIONS(2063), + [anon_sym_register] = ACTIONS(2063), + [anon_sym_inline] = ACTIONS(2063), + [anon_sym_thread_local] = ACTIONS(2063), + [anon_sym_const] = ACTIONS(2063), + [anon_sym_volatile] = ACTIONS(2063), + [anon_sym_restrict] = ACTIONS(2063), + [anon_sym__Atomic] = ACTIONS(2063), + [anon_sym_mutable] = ACTIONS(2063), + [anon_sym_constexpr] = ACTIONS(2063), + [anon_sym_constinit] = ACTIONS(2063), + [anon_sym_consteval] = ACTIONS(2063), + [anon_sym_signed] = ACTIONS(2063), + [anon_sym_unsigned] = ACTIONS(2063), + [anon_sym_long] = ACTIONS(2063), + [anon_sym_short] = ACTIONS(2063), + [sym_primitive_type] = ACTIONS(2063), + [anon_sym_enum] = ACTIONS(2063), + [anon_sym_class] = ACTIONS(2063), + [anon_sym_struct] = ACTIONS(2063), + [anon_sym_union] = ACTIONS(2063), + [anon_sym_if] = ACTIONS(2063), + [anon_sym_else] = ACTIONS(2063), + [anon_sym_switch] = ACTIONS(2063), + [anon_sym_case] = ACTIONS(2063), + [anon_sym_default] = ACTIONS(2063), + [anon_sym_while] = ACTIONS(2063), + [anon_sym_do] = ACTIONS(2063), + [anon_sym_for] = ACTIONS(2063), + [anon_sym_return] = ACTIONS(2063), + [anon_sym_break] = ACTIONS(2063), + [anon_sym_continue] = ACTIONS(2063), + [anon_sym_goto] = ACTIONS(2063), + [anon_sym_DASH_DASH] = ACTIONS(2065), + [anon_sym_PLUS_PLUS] = ACTIONS(2065), + [anon_sym_sizeof] = ACTIONS(2063), + [sym_number_literal] = ACTIONS(2065), + [anon_sym_L_SQUOTE] = ACTIONS(2065), + [anon_sym_u_SQUOTE] = ACTIONS(2065), + [anon_sym_U_SQUOTE] = ACTIONS(2065), + [anon_sym_u8_SQUOTE] = ACTIONS(2065), + [anon_sym_SQUOTE] = ACTIONS(2065), + [anon_sym_L_DQUOTE] = ACTIONS(2065), + [anon_sym_u_DQUOTE] = ACTIONS(2065), + [anon_sym_U_DQUOTE] = ACTIONS(2065), + [anon_sym_u8_DQUOTE] = ACTIONS(2065), + [anon_sym_DQUOTE] = ACTIONS(2065), + [sym_true] = ACTIONS(2063), + [sym_false] = ACTIONS(2063), + [sym_null] = ACTIONS(2063), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2063), + [anon_sym_decltype] = ACTIONS(2063), + [anon_sym_virtual] = ACTIONS(2063), + [anon_sym_explicit] = ACTIONS(2063), + [anon_sym_typename] = ACTIONS(2063), + [anon_sym_template] = ACTIONS(2063), + [anon_sym_operator] = ACTIONS(2063), + [anon_sym_delete] = ACTIONS(2063), + [anon_sym_throw] = ACTIONS(2063), + [anon_sym_namespace] = ACTIONS(2063), + [anon_sym_using] = ACTIONS(2063), + [anon_sym_static_assert] = ACTIONS(2063), + [anon_sym_concept] = ACTIONS(2063), + [anon_sym_co_return] = ACTIONS(2063), + [anon_sym_co_yield] = ACTIONS(2063), + [anon_sym_try] = ACTIONS(2063), + [anon_sym_co_await] = ACTIONS(2063), + [anon_sym_new] = ACTIONS(2063), + [anon_sym_requires] = ACTIONS(2063), + [sym_this] = ACTIONS(2063), + [sym_nullptr] = ACTIONS(2063), + [sym_raw_string_literal] = ACTIONS(2065), + }, + [524] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [525] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [526] = { + [sym_identifier] = ACTIONS(1957), + [aux_sym_preproc_include_token1] = ACTIONS(1957), + [aux_sym_preproc_def_token1] = ACTIONS(1957), + [aux_sym_preproc_if_token1] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1957), + [sym_preproc_directive] = ACTIONS(1957), + [anon_sym_LPAREN2] = ACTIONS(1959), + [anon_sym_BANG] = ACTIONS(1959), + [anon_sym_TILDE] = ACTIONS(1959), + [anon_sym_DASH] = ACTIONS(1957), + [anon_sym_PLUS] = ACTIONS(1957), + [anon_sym_STAR] = ACTIONS(1959), + [anon_sym_AMP_AMP] = ACTIONS(1959), + [anon_sym_AMP] = ACTIONS(1957), + [anon_sym_SEMI] = ACTIONS(1959), + [anon_sym_typedef] = ACTIONS(1957), + [anon_sym_extern] = ACTIONS(1957), + [anon_sym___attribute__] = ACTIONS(1957), + [anon_sym_COLON_COLON] = ACTIONS(1959), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1959), + [anon_sym___declspec] = ACTIONS(1957), + [anon_sym___based] = ACTIONS(1957), + [anon_sym___cdecl] = ACTIONS(1957), + [anon_sym___clrcall] = ACTIONS(1957), + [anon_sym___stdcall] = ACTIONS(1957), + [anon_sym___fastcall] = ACTIONS(1957), + [anon_sym___thiscall] = ACTIONS(1957), + [anon_sym___vectorcall] = ACTIONS(1957), + [anon_sym_LBRACE] = ACTIONS(1959), + [anon_sym_RBRACE] = ACTIONS(1959), + [anon_sym_LBRACK] = ACTIONS(1957), + [anon_sym_static] = ACTIONS(1957), + [anon_sym_register] = ACTIONS(1957), + [anon_sym_inline] = ACTIONS(1957), + [anon_sym_thread_local] = ACTIONS(1957), + [anon_sym_const] = ACTIONS(1957), + [anon_sym_volatile] = ACTIONS(1957), + [anon_sym_restrict] = ACTIONS(1957), + [anon_sym__Atomic] = ACTIONS(1957), + [anon_sym_mutable] = ACTIONS(1957), + [anon_sym_constexpr] = ACTIONS(1957), + [anon_sym_constinit] = ACTIONS(1957), + [anon_sym_consteval] = ACTIONS(1957), + [anon_sym_signed] = ACTIONS(1957), + [anon_sym_unsigned] = ACTIONS(1957), + [anon_sym_long] = ACTIONS(1957), + [anon_sym_short] = ACTIONS(1957), + [sym_primitive_type] = ACTIONS(1957), + [anon_sym_enum] = ACTIONS(1957), + [anon_sym_class] = ACTIONS(1957), + [anon_sym_struct] = ACTIONS(1957), + [anon_sym_union] = ACTIONS(1957), + [anon_sym_if] = ACTIONS(1957), + [anon_sym_else] = ACTIONS(2425), + [anon_sym_switch] = ACTIONS(1957), + [anon_sym_case] = ACTIONS(1957), + [anon_sym_default] = ACTIONS(1957), + [anon_sym_while] = ACTIONS(1957), + [anon_sym_do] = ACTIONS(1957), + [anon_sym_for] = ACTIONS(1957), + [anon_sym_return] = ACTIONS(1957), + [anon_sym_break] = ACTIONS(1957), + [anon_sym_continue] = ACTIONS(1957), + [anon_sym_goto] = ACTIONS(1957), + [anon_sym_DASH_DASH] = ACTIONS(1959), + [anon_sym_PLUS_PLUS] = ACTIONS(1959), + [anon_sym_sizeof] = ACTIONS(1957), + [sym_number_literal] = ACTIONS(1959), + [anon_sym_L_SQUOTE] = ACTIONS(1959), + [anon_sym_u_SQUOTE] = ACTIONS(1959), + [anon_sym_U_SQUOTE] = ACTIONS(1959), + [anon_sym_u8_SQUOTE] = ACTIONS(1959), + [anon_sym_SQUOTE] = ACTIONS(1959), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1957), + [sym_false] = ACTIONS(1957), + [sym_null] = ACTIONS(1957), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1957), + [anon_sym_decltype] = ACTIONS(1957), + [anon_sym_virtual] = ACTIONS(1957), + [anon_sym_explicit] = ACTIONS(1957), + [anon_sym_typename] = ACTIONS(1957), + [anon_sym_template] = ACTIONS(1957), + [anon_sym_operator] = ACTIONS(1957), + [anon_sym_delete] = ACTIONS(1957), + [anon_sym_throw] = ACTIONS(1957), + [anon_sym_namespace] = ACTIONS(1957), + [anon_sym_using] = ACTIONS(1957), + [anon_sym_static_assert] = ACTIONS(1957), + [anon_sym_concept] = ACTIONS(1957), + [anon_sym_co_return] = ACTIONS(1957), + [anon_sym_co_yield] = ACTIONS(1957), + [anon_sym_try] = ACTIONS(1957), + [anon_sym_co_await] = ACTIONS(1957), + [anon_sym_new] = ACTIONS(1957), + [anon_sym_requires] = ACTIONS(1957), + [sym_this] = ACTIONS(1957), + [sym_nullptr] = ACTIONS(1957), + [sym_raw_string_literal] = ACTIONS(1959), + }, + [527] = { + [ts_builtin_sym_end] = ACTIONS(2073), + [sym_identifier] = ACTIONS(2071), + [aux_sym_preproc_include_token1] = ACTIONS(2071), + [aux_sym_preproc_def_token1] = ACTIONS(2071), + [aux_sym_preproc_if_token1] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2071), + [sym_preproc_directive] = ACTIONS(2071), + [anon_sym_LPAREN2] = ACTIONS(2073), + [anon_sym_BANG] = ACTIONS(2073), + [anon_sym_TILDE] = ACTIONS(2073), + [anon_sym_DASH] = ACTIONS(2071), + [anon_sym_PLUS] = ACTIONS(2071), + [anon_sym_STAR] = ACTIONS(2073), + [anon_sym_AMP_AMP] = ACTIONS(2073), + [anon_sym_AMP] = ACTIONS(2071), + [anon_sym_SEMI] = ACTIONS(2073), + [anon_sym_typedef] = ACTIONS(2071), + [anon_sym_extern] = ACTIONS(2071), + [anon_sym___attribute__] = ACTIONS(2071), + [anon_sym_COLON_COLON] = ACTIONS(2073), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2073), + [anon_sym___declspec] = ACTIONS(2071), + [anon_sym___based] = ACTIONS(2071), + [anon_sym___cdecl] = ACTIONS(2071), + [anon_sym___clrcall] = ACTIONS(2071), + [anon_sym___stdcall] = ACTIONS(2071), + [anon_sym___fastcall] = ACTIONS(2071), + [anon_sym___thiscall] = ACTIONS(2071), + [anon_sym___vectorcall] = ACTIONS(2071), + [anon_sym_LBRACE] = ACTIONS(2073), + [anon_sym_LBRACK] = ACTIONS(2071), + [anon_sym_static] = ACTIONS(2071), + [anon_sym_register] = ACTIONS(2071), + [anon_sym_inline] = ACTIONS(2071), + [anon_sym_thread_local] = ACTIONS(2071), + [anon_sym_const] = ACTIONS(2071), + [anon_sym_volatile] = ACTIONS(2071), + [anon_sym_restrict] = ACTIONS(2071), + [anon_sym__Atomic] = ACTIONS(2071), + [anon_sym_mutable] = ACTIONS(2071), + [anon_sym_constexpr] = ACTIONS(2071), + [anon_sym_constinit] = ACTIONS(2071), + [anon_sym_consteval] = ACTIONS(2071), + [anon_sym_signed] = ACTIONS(2071), + [anon_sym_unsigned] = ACTIONS(2071), + [anon_sym_long] = ACTIONS(2071), + [anon_sym_short] = ACTIONS(2071), + [sym_primitive_type] = ACTIONS(2071), + [anon_sym_enum] = ACTIONS(2071), + [anon_sym_class] = ACTIONS(2071), + [anon_sym_struct] = ACTIONS(2071), + [anon_sym_union] = ACTIONS(2071), + [anon_sym_if] = ACTIONS(2071), + [anon_sym_else] = ACTIONS(2071), + [anon_sym_switch] = ACTIONS(2071), + [anon_sym_case] = ACTIONS(2071), + [anon_sym_default] = ACTIONS(2071), + [anon_sym_while] = ACTIONS(2071), + [anon_sym_do] = ACTIONS(2071), + [anon_sym_for] = ACTIONS(2071), + [anon_sym_return] = ACTIONS(2071), + [anon_sym_break] = ACTIONS(2071), + [anon_sym_continue] = ACTIONS(2071), + [anon_sym_goto] = ACTIONS(2071), + [anon_sym_DASH_DASH] = ACTIONS(2073), + [anon_sym_PLUS_PLUS] = ACTIONS(2073), + [anon_sym_sizeof] = ACTIONS(2071), + [sym_number_literal] = ACTIONS(2073), + [anon_sym_L_SQUOTE] = ACTIONS(2073), + [anon_sym_u_SQUOTE] = ACTIONS(2073), + [anon_sym_U_SQUOTE] = ACTIONS(2073), + [anon_sym_u8_SQUOTE] = ACTIONS(2073), + [anon_sym_SQUOTE] = ACTIONS(2073), + [anon_sym_L_DQUOTE] = ACTIONS(2073), + [anon_sym_u_DQUOTE] = ACTIONS(2073), + [anon_sym_U_DQUOTE] = ACTIONS(2073), + [anon_sym_u8_DQUOTE] = ACTIONS(2073), + [anon_sym_DQUOTE] = ACTIONS(2073), + [sym_true] = ACTIONS(2071), + [sym_false] = ACTIONS(2071), + [sym_null] = ACTIONS(2071), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2071), + [anon_sym_decltype] = ACTIONS(2071), + [anon_sym_virtual] = ACTIONS(2071), + [anon_sym_explicit] = ACTIONS(2071), + [anon_sym_typename] = ACTIONS(2071), + [anon_sym_template] = ACTIONS(2071), + [anon_sym_operator] = ACTIONS(2071), + [anon_sym_delete] = ACTIONS(2071), + [anon_sym_throw] = ACTIONS(2071), + [anon_sym_namespace] = ACTIONS(2071), + [anon_sym_using] = ACTIONS(2071), + [anon_sym_static_assert] = ACTIONS(2071), + [anon_sym_concept] = ACTIONS(2071), + [anon_sym_co_return] = ACTIONS(2071), + [anon_sym_co_yield] = ACTIONS(2071), + [anon_sym_try] = ACTIONS(2071), + [anon_sym_co_await] = ACTIONS(2071), + [anon_sym_new] = ACTIONS(2071), + [anon_sym_requires] = ACTIONS(2071), + [sym_this] = ACTIONS(2071), + [sym_nullptr] = ACTIONS(2071), + [sym_raw_string_literal] = ACTIONS(2073), + }, + [528] = { + [ts_builtin_sym_end] = ACTIONS(2085), + [sym_identifier] = ACTIONS(2083), + [aux_sym_preproc_include_token1] = ACTIONS(2083), + [aux_sym_preproc_def_token1] = ACTIONS(2083), + [aux_sym_preproc_if_token1] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2083), + [sym_preproc_directive] = ACTIONS(2083), + [anon_sym_LPAREN2] = ACTIONS(2085), + [anon_sym_BANG] = ACTIONS(2085), + [anon_sym_TILDE] = ACTIONS(2085), + [anon_sym_DASH] = ACTIONS(2083), + [anon_sym_PLUS] = ACTIONS(2083), + [anon_sym_STAR] = ACTIONS(2085), + [anon_sym_AMP_AMP] = ACTIONS(2085), + [anon_sym_AMP] = ACTIONS(2083), + [anon_sym_SEMI] = ACTIONS(2085), + [anon_sym_typedef] = ACTIONS(2083), + [anon_sym_extern] = ACTIONS(2083), + [anon_sym___attribute__] = ACTIONS(2083), + [anon_sym_COLON_COLON] = ACTIONS(2085), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2085), + [anon_sym___declspec] = ACTIONS(2083), + [anon_sym___based] = ACTIONS(2083), + [anon_sym___cdecl] = ACTIONS(2083), + [anon_sym___clrcall] = ACTIONS(2083), + [anon_sym___stdcall] = ACTIONS(2083), + [anon_sym___fastcall] = ACTIONS(2083), + [anon_sym___thiscall] = ACTIONS(2083), + [anon_sym___vectorcall] = ACTIONS(2083), + [anon_sym_LBRACE] = ACTIONS(2085), + [anon_sym_LBRACK] = ACTIONS(2083), + [anon_sym_static] = ACTIONS(2083), + [anon_sym_register] = ACTIONS(2083), + [anon_sym_inline] = ACTIONS(2083), + [anon_sym_thread_local] = ACTIONS(2083), + [anon_sym_const] = ACTIONS(2083), + [anon_sym_volatile] = ACTIONS(2083), + [anon_sym_restrict] = ACTIONS(2083), + [anon_sym__Atomic] = ACTIONS(2083), + [anon_sym_mutable] = ACTIONS(2083), + [anon_sym_constexpr] = ACTIONS(2083), + [anon_sym_constinit] = ACTIONS(2083), + [anon_sym_consteval] = ACTIONS(2083), + [anon_sym_signed] = ACTIONS(2083), + [anon_sym_unsigned] = ACTIONS(2083), + [anon_sym_long] = ACTIONS(2083), + [anon_sym_short] = ACTIONS(2083), + [sym_primitive_type] = ACTIONS(2083), + [anon_sym_enum] = ACTIONS(2083), + [anon_sym_class] = ACTIONS(2083), + [anon_sym_struct] = ACTIONS(2083), + [anon_sym_union] = ACTIONS(2083), + [anon_sym_if] = ACTIONS(2083), + [anon_sym_else] = ACTIONS(2083), + [anon_sym_switch] = ACTIONS(2083), + [anon_sym_case] = ACTIONS(2083), + [anon_sym_default] = ACTIONS(2083), + [anon_sym_while] = ACTIONS(2083), + [anon_sym_do] = ACTIONS(2083), + [anon_sym_for] = ACTIONS(2083), + [anon_sym_return] = ACTIONS(2083), + [anon_sym_break] = ACTIONS(2083), + [anon_sym_continue] = ACTIONS(2083), + [anon_sym_goto] = ACTIONS(2083), + [anon_sym_DASH_DASH] = ACTIONS(2085), + [anon_sym_PLUS_PLUS] = ACTIONS(2085), + [anon_sym_sizeof] = ACTIONS(2083), + [sym_number_literal] = ACTIONS(2085), + [anon_sym_L_SQUOTE] = ACTIONS(2085), + [anon_sym_u_SQUOTE] = ACTIONS(2085), + [anon_sym_U_SQUOTE] = ACTIONS(2085), + [anon_sym_u8_SQUOTE] = ACTIONS(2085), + [anon_sym_SQUOTE] = ACTIONS(2085), + [anon_sym_L_DQUOTE] = ACTIONS(2085), + [anon_sym_u_DQUOTE] = ACTIONS(2085), + [anon_sym_U_DQUOTE] = ACTIONS(2085), + [anon_sym_u8_DQUOTE] = ACTIONS(2085), + [anon_sym_DQUOTE] = ACTIONS(2085), + [sym_true] = ACTIONS(2083), + [sym_false] = ACTIONS(2083), + [sym_null] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2083), + [anon_sym_decltype] = ACTIONS(2083), + [anon_sym_virtual] = ACTIONS(2083), + [anon_sym_explicit] = ACTIONS(2083), + [anon_sym_typename] = ACTIONS(2083), + [anon_sym_template] = ACTIONS(2083), + [anon_sym_operator] = ACTIONS(2083), + [anon_sym_delete] = ACTIONS(2083), + [anon_sym_throw] = ACTIONS(2083), + [anon_sym_namespace] = ACTIONS(2083), + [anon_sym_using] = ACTIONS(2083), + [anon_sym_static_assert] = ACTIONS(2083), + [anon_sym_concept] = ACTIONS(2083), + [anon_sym_co_return] = ACTIONS(2083), + [anon_sym_co_yield] = ACTIONS(2083), + [anon_sym_try] = ACTIONS(2083), + [anon_sym_co_await] = ACTIONS(2083), + [anon_sym_new] = ACTIONS(2083), + [anon_sym_requires] = ACTIONS(2083), + [sym_this] = ACTIONS(2083), + [sym_nullptr] = ACTIONS(2083), + [sym_raw_string_literal] = ACTIONS(2085), + }, + [529] = { + [sym_function_definition] = STATE(1779), + [sym_declaration] = STATE(1779), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3719), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1561), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2773), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(1779), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(1779), + [sym_operator_cast] = STATE(5139), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(1779), + [sym_operator_cast_declaration] = STATE(1779), + [sym_constructor_or_destructor_definition] = STATE(1779), + [sym_constructor_or_destructor_declaration] = STATE(1779), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(1779), + [sym_concept_definition] = STATE(1779), + [sym_requires_clause] = STATE(880), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2433), + [anon_sym_concept] = ACTIONS(2435), + [anon_sym_requires] = ACTIONS(2437), + }, + [530] = { + [ts_builtin_sym_end] = ACTIONS(1951), + [sym_identifier] = ACTIONS(1949), + [aux_sym_preproc_include_token1] = ACTIONS(1949), + [aux_sym_preproc_def_token1] = ACTIONS(1949), + [aux_sym_preproc_if_token1] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1949), + [sym_preproc_directive] = ACTIONS(1949), + [anon_sym_LPAREN2] = ACTIONS(1951), + [anon_sym_BANG] = ACTIONS(1951), + [anon_sym_TILDE] = ACTIONS(1951), + [anon_sym_DASH] = ACTIONS(1949), + [anon_sym_PLUS] = ACTIONS(1949), + [anon_sym_STAR] = ACTIONS(1951), + [anon_sym_AMP_AMP] = ACTIONS(1951), + [anon_sym_AMP] = ACTIONS(1949), + [anon_sym_SEMI] = ACTIONS(1951), + [anon_sym_typedef] = ACTIONS(1949), + [anon_sym_extern] = ACTIONS(1949), + [anon_sym___attribute__] = ACTIONS(1949), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1951), + [anon_sym___declspec] = ACTIONS(1949), + [anon_sym___based] = ACTIONS(1949), + [anon_sym___cdecl] = ACTIONS(1949), + [anon_sym___clrcall] = ACTIONS(1949), + [anon_sym___stdcall] = ACTIONS(1949), + [anon_sym___fastcall] = ACTIONS(1949), + [anon_sym___thiscall] = ACTIONS(1949), + [anon_sym___vectorcall] = ACTIONS(1949), + [anon_sym_LBRACE] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(1949), + [anon_sym_static] = ACTIONS(1949), + [anon_sym_register] = ACTIONS(1949), + [anon_sym_inline] = ACTIONS(1949), + [anon_sym_thread_local] = ACTIONS(1949), + [anon_sym_const] = ACTIONS(1949), + [anon_sym_volatile] = ACTIONS(1949), + [anon_sym_restrict] = ACTIONS(1949), + [anon_sym__Atomic] = ACTIONS(1949), + [anon_sym_mutable] = ACTIONS(1949), + [anon_sym_constexpr] = ACTIONS(1949), + [anon_sym_constinit] = ACTIONS(1949), + [anon_sym_consteval] = ACTIONS(1949), + [anon_sym_signed] = ACTIONS(1949), + [anon_sym_unsigned] = ACTIONS(1949), + [anon_sym_long] = ACTIONS(1949), + [anon_sym_short] = ACTIONS(1949), + [sym_primitive_type] = ACTIONS(1949), + [anon_sym_enum] = ACTIONS(1949), + [anon_sym_class] = ACTIONS(1949), + [anon_sym_struct] = ACTIONS(1949), + [anon_sym_union] = ACTIONS(1949), + [anon_sym_if] = ACTIONS(1949), + [anon_sym_else] = ACTIONS(1949), + [anon_sym_switch] = ACTIONS(1949), + [anon_sym_case] = ACTIONS(1949), + [anon_sym_default] = ACTIONS(1949), + [anon_sym_while] = ACTIONS(1949), + [anon_sym_do] = ACTIONS(1949), + [anon_sym_for] = ACTIONS(1949), + [anon_sym_return] = ACTIONS(1949), + [anon_sym_break] = ACTIONS(1949), + [anon_sym_continue] = ACTIONS(1949), + [anon_sym_goto] = ACTIONS(1949), + [anon_sym_DASH_DASH] = ACTIONS(1951), + [anon_sym_PLUS_PLUS] = ACTIONS(1951), + [anon_sym_sizeof] = ACTIONS(1949), + [sym_number_literal] = ACTIONS(1951), + [anon_sym_L_SQUOTE] = ACTIONS(1951), + [anon_sym_u_SQUOTE] = ACTIONS(1951), + [anon_sym_U_SQUOTE] = ACTIONS(1951), + [anon_sym_u8_SQUOTE] = ACTIONS(1951), + [anon_sym_SQUOTE] = ACTIONS(1951), + [anon_sym_L_DQUOTE] = ACTIONS(1951), + [anon_sym_u_DQUOTE] = ACTIONS(1951), + [anon_sym_U_DQUOTE] = ACTIONS(1951), + [anon_sym_u8_DQUOTE] = ACTIONS(1951), + [anon_sym_DQUOTE] = ACTIONS(1951), + [sym_true] = ACTIONS(1949), + [sym_false] = ACTIONS(1949), + [sym_null] = ACTIONS(1949), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1949), + [anon_sym_decltype] = ACTIONS(1949), + [anon_sym_virtual] = ACTIONS(1949), + [anon_sym_explicit] = ACTIONS(1949), + [anon_sym_typename] = ACTIONS(1949), + [anon_sym_template] = ACTIONS(1949), + [anon_sym_operator] = ACTIONS(1949), + [anon_sym_delete] = ACTIONS(1949), + [anon_sym_throw] = ACTIONS(1949), + [anon_sym_namespace] = ACTIONS(1949), + [anon_sym_using] = ACTIONS(1949), + [anon_sym_static_assert] = ACTIONS(1949), + [anon_sym_concept] = ACTIONS(1949), + [anon_sym_co_return] = ACTIONS(1949), + [anon_sym_co_yield] = ACTIONS(1949), + [anon_sym_try] = ACTIONS(1949), + [anon_sym_co_await] = ACTIONS(1949), + [anon_sym_new] = ACTIONS(1949), + [anon_sym_requires] = ACTIONS(1949), + [sym_this] = ACTIONS(1949), + [sym_nullptr] = ACTIONS(1949), + [sym_raw_string_literal] = ACTIONS(1951), + }, + [531] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [532] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [533] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [534] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [535] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [536] = { + [ts_builtin_sym_end] = ACTIONS(2093), + [sym_identifier] = ACTIONS(2091), + [aux_sym_preproc_include_token1] = ACTIONS(2091), + [aux_sym_preproc_def_token1] = ACTIONS(2091), + [aux_sym_preproc_if_token1] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2091), + [sym_preproc_directive] = ACTIONS(2091), + [anon_sym_LPAREN2] = ACTIONS(2093), + [anon_sym_BANG] = ACTIONS(2093), + [anon_sym_TILDE] = ACTIONS(2093), + [anon_sym_DASH] = ACTIONS(2091), + [anon_sym_PLUS] = ACTIONS(2091), + [anon_sym_STAR] = ACTIONS(2093), + [anon_sym_AMP_AMP] = ACTIONS(2093), + [anon_sym_AMP] = ACTIONS(2091), + [anon_sym_SEMI] = ACTIONS(2093), + [anon_sym_typedef] = ACTIONS(2091), + [anon_sym_extern] = ACTIONS(2091), + [anon_sym___attribute__] = ACTIONS(2091), + [anon_sym_COLON_COLON] = ACTIONS(2093), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2093), + [anon_sym___declspec] = ACTIONS(2091), + [anon_sym___based] = ACTIONS(2091), + [anon_sym___cdecl] = ACTIONS(2091), + [anon_sym___clrcall] = ACTIONS(2091), + [anon_sym___stdcall] = ACTIONS(2091), + [anon_sym___fastcall] = ACTIONS(2091), + [anon_sym___thiscall] = ACTIONS(2091), + [anon_sym___vectorcall] = ACTIONS(2091), + [anon_sym_LBRACE] = ACTIONS(2093), + [anon_sym_LBRACK] = ACTIONS(2091), + [anon_sym_static] = ACTIONS(2091), + [anon_sym_register] = ACTIONS(2091), + [anon_sym_inline] = ACTIONS(2091), + [anon_sym_thread_local] = ACTIONS(2091), + [anon_sym_const] = ACTIONS(2091), + [anon_sym_volatile] = ACTIONS(2091), + [anon_sym_restrict] = ACTIONS(2091), + [anon_sym__Atomic] = ACTIONS(2091), + [anon_sym_mutable] = ACTIONS(2091), + [anon_sym_constexpr] = ACTIONS(2091), + [anon_sym_constinit] = ACTIONS(2091), + [anon_sym_consteval] = ACTIONS(2091), + [anon_sym_signed] = ACTIONS(2091), + [anon_sym_unsigned] = ACTIONS(2091), + [anon_sym_long] = ACTIONS(2091), + [anon_sym_short] = ACTIONS(2091), + [sym_primitive_type] = ACTIONS(2091), + [anon_sym_enum] = ACTIONS(2091), + [anon_sym_class] = ACTIONS(2091), + [anon_sym_struct] = ACTIONS(2091), + [anon_sym_union] = ACTIONS(2091), + [anon_sym_if] = ACTIONS(2091), + [anon_sym_else] = ACTIONS(2091), + [anon_sym_switch] = ACTIONS(2091), + [anon_sym_case] = ACTIONS(2091), + [anon_sym_default] = ACTIONS(2091), + [anon_sym_while] = ACTIONS(2091), + [anon_sym_do] = ACTIONS(2091), + [anon_sym_for] = ACTIONS(2091), + [anon_sym_return] = ACTIONS(2091), + [anon_sym_break] = ACTIONS(2091), + [anon_sym_continue] = ACTIONS(2091), + [anon_sym_goto] = ACTIONS(2091), + [anon_sym_DASH_DASH] = ACTIONS(2093), + [anon_sym_PLUS_PLUS] = ACTIONS(2093), + [anon_sym_sizeof] = ACTIONS(2091), + [sym_number_literal] = ACTIONS(2093), + [anon_sym_L_SQUOTE] = ACTIONS(2093), + [anon_sym_u_SQUOTE] = ACTIONS(2093), + [anon_sym_U_SQUOTE] = ACTIONS(2093), + [anon_sym_u8_SQUOTE] = ACTIONS(2093), + [anon_sym_SQUOTE] = ACTIONS(2093), + [anon_sym_L_DQUOTE] = ACTIONS(2093), + [anon_sym_u_DQUOTE] = ACTIONS(2093), + [anon_sym_U_DQUOTE] = ACTIONS(2093), + [anon_sym_u8_DQUOTE] = ACTIONS(2093), + [anon_sym_DQUOTE] = ACTIONS(2093), + [sym_true] = ACTIONS(2091), + [sym_false] = ACTIONS(2091), + [sym_null] = ACTIONS(2091), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2091), + [anon_sym_decltype] = ACTIONS(2091), + [anon_sym_virtual] = ACTIONS(2091), + [anon_sym_explicit] = ACTIONS(2091), + [anon_sym_typename] = ACTIONS(2091), + [anon_sym_template] = ACTIONS(2091), + [anon_sym_operator] = ACTIONS(2091), + [anon_sym_delete] = ACTIONS(2091), + [anon_sym_throw] = ACTIONS(2091), + [anon_sym_namespace] = ACTIONS(2091), + [anon_sym_using] = ACTIONS(2091), + [anon_sym_static_assert] = ACTIONS(2091), + [anon_sym_concept] = ACTIONS(2091), + [anon_sym_co_return] = ACTIONS(2091), + [anon_sym_co_yield] = ACTIONS(2091), + [anon_sym_try] = ACTIONS(2091), + [anon_sym_co_await] = ACTIONS(2091), + [anon_sym_new] = ACTIONS(2091), + [anon_sym_requires] = ACTIONS(2091), + [sym_this] = ACTIONS(2091), + [sym_nullptr] = ACTIONS(2091), + [sym_raw_string_literal] = ACTIONS(2093), + }, + [537] = { + [sym_identifier] = ACTIONS(1929), + [aux_sym_preproc_include_token1] = ACTIONS(1929), + [aux_sym_preproc_def_token1] = ACTIONS(1929), + [aux_sym_preproc_if_token1] = ACTIONS(1929), + [aux_sym_preproc_if_token2] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1929), + [sym_preproc_directive] = ACTIONS(1929), + [anon_sym_LPAREN2] = ACTIONS(1931), + [anon_sym_BANG] = ACTIONS(1931), + [anon_sym_TILDE] = ACTIONS(1931), + [anon_sym_DASH] = ACTIONS(1929), + [anon_sym_PLUS] = ACTIONS(1929), + [anon_sym_STAR] = ACTIONS(1931), + [anon_sym_AMP_AMP] = ACTIONS(1931), + [anon_sym_AMP] = ACTIONS(1929), + [anon_sym_SEMI] = ACTIONS(1931), + [anon_sym_typedef] = ACTIONS(1929), + [anon_sym_extern] = ACTIONS(1929), + [anon_sym___attribute__] = ACTIONS(1929), + [anon_sym_COLON_COLON] = ACTIONS(1931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1931), + [anon_sym___declspec] = ACTIONS(1929), + [anon_sym___based] = ACTIONS(1929), + [anon_sym___cdecl] = ACTIONS(1929), + [anon_sym___clrcall] = ACTIONS(1929), + [anon_sym___stdcall] = ACTIONS(1929), + [anon_sym___fastcall] = ACTIONS(1929), + [anon_sym___thiscall] = ACTIONS(1929), + [anon_sym___vectorcall] = ACTIONS(1929), + [anon_sym_LBRACE] = ACTIONS(1931), + [anon_sym_LBRACK] = ACTIONS(1929), + [anon_sym_static] = ACTIONS(1929), + [anon_sym_register] = ACTIONS(1929), + [anon_sym_inline] = ACTIONS(1929), + [anon_sym_thread_local] = ACTIONS(1929), + [anon_sym_const] = ACTIONS(1929), + [anon_sym_volatile] = ACTIONS(1929), + [anon_sym_restrict] = ACTIONS(1929), + [anon_sym__Atomic] = ACTIONS(1929), + [anon_sym_mutable] = ACTIONS(1929), + [anon_sym_constexpr] = ACTIONS(1929), + [anon_sym_constinit] = ACTIONS(1929), + [anon_sym_consteval] = ACTIONS(1929), + [anon_sym_signed] = ACTIONS(1929), + [anon_sym_unsigned] = ACTIONS(1929), + [anon_sym_long] = ACTIONS(1929), + [anon_sym_short] = ACTIONS(1929), + [sym_primitive_type] = ACTIONS(1929), + [anon_sym_enum] = ACTIONS(1929), + [anon_sym_class] = ACTIONS(1929), + [anon_sym_struct] = ACTIONS(1929), + [anon_sym_union] = ACTIONS(1929), + [anon_sym_if] = ACTIONS(1929), + [anon_sym_else] = ACTIONS(1929), + [anon_sym_switch] = ACTIONS(1929), + [anon_sym_case] = ACTIONS(1929), + [anon_sym_default] = ACTIONS(1929), + [anon_sym_while] = ACTIONS(1929), + [anon_sym_do] = ACTIONS(1929), + [anon_sym_for] = ACTIONS(1929), + [anon_sym_return] = ACTIONS(1929), + [anon_sym_break] = ACTIONS(1929), + [anon_sym_continue] = ACTIONS(1929), + [anon_sym_goto] = ACTIONS(1929), + [anon_sym_DASH_DASH] = ACTIONS(1931), + [anon_sym_PLUS_PLUS] = ACTIONS(1931), + [anon_sym_sizeof] = ACTIONS(1929), + [sym_number_literal] = ACTIONS(1931), + [anon_sym_L_SQUOTE] = ACTIONS(1931), + [anon_sym_u_SQUOTE] = ACTIONS(1931), + [anon_sym_U_SQUOTE] = ACTIONS(1931), + [anon_sym_u8_SQUOTE] = ACTIONS(1931), + [anon_sym_SQUOTE] = ACTIONS(1931), + [anon_sym_L_DQUOTE] = ACTIONS(1931), + [anon_sym_u_DQUOTE] = ACTIONS(1931), + [anon_sym_U_DQUOTE] = ACTIONS(1931), + [anon_sym_u8_DQUOTE] = ACTIONS(1931), + [anon_sym_DQUOTE] = ACTIONS(1931), + [sym_true] = ACTIONS(1929), + [sym_false] = ACTIONS(1929), + [sym_null] = ACTIONS(1929), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1929), + [anon_sym_decltype] = ACTIONS(1929), + [anon_sym_virtual] = ACTIONS(1929), + [anon_sym_explicit] = ACTIONS(1929), + [anon_sym_typename] = ACTIONS(1929), + [anon_sym_template] = ACTIONS(1929), + [anon_sym_operator] = ACTIONS(1929), + [anon_sym_delete] = ACTIONS(1929), + [anon_sym_throw] = ACTIONS(1929), + [anon_sym_namespace] = ACTIONS(1929), + [anon_sym_using] = ACTIONS(1929), + [anon_sym_static_assert] = ACTIONS(1929), + [anon_sym_concept] = ACTIONS(1929), + [anon_sym_co_return] = ACTIONS(1929), + [anon_sym_co_yield] = ACTIONS(1929), + [anon_sym_try] = ACTIONS(1929), + [anon_sym_co_await] = ACTIONS(1929), + [anon_sym_new] = ACTIONS(1929), + [anon_sym_requires] = ACTIONS(1929), + [sym_this] = ACTIONS(1929), + [sym_nullptr] = ACTIONS(1929), + [sym_raw_string_literal] = ACTIONS(1931), + }, + [538] = { + [sym_identifier] = ACTIONS(1925), + [aux_sym_preproc_include_token1] = ACTIONS(1925), + [aux_sym_preproc_def_token1] = ACTIONS(1925), + [aux_sym_preproc_if_token1] = ACTIONS(1925), + [aux_sym_preproc_if_token2] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1925), + [sym_preproc_directive] = ACTIONS(1925), + [anon_sym_LPAREN2] = ACTIONS(1927), + [anon_sym_BANG] = ACTIONS(1927), + [anon_sym_TILDE] = ACTIONS(1927), + [anon_sym_DASH] = ACTIONS(1925), + [anon_sym_PLUS] = ACTIONS(1925), + [anon_sym_STAR] = ACTIONS(1927), + [anon_sym_AMP_AMP] = ACTIONS(1927), + [anon_sym_AMP] = ACTIONS(1925), + [anon_sym_SEMI] = ACTIONS(1927), + [anon_sym_typedef] = ACTIONS(1925), + [anon_sym_extern] = ACTIONS(1925), + [anon_sym___attribute__] = ACTIONS(1925), + [anon_sym_COLON_COLON] = ACTIONS(1927), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1927), + [anon_sym___declspec] = ACTIONS(1925), + [anon_sym___based] = ACTIONS(1925), + [anon_sym___cdecl] = ACTIONS(1925), + [anon_sym___clrcall] = ACTIONS(1925), + [anon_sym___stdcall] = ACTIONS(1925), + [anon_sym___fastcall] = ACTIONS(1925), + [anon_sym___thiscall] = ACTIONS(1925), + [anon_sym___vectorcall] = ACTIONS(1925), + [anon_sym_LBRACE] = ACTIONS(1927), + [anon_sym_LBRACK] = ACTIONS(1925), + [anon_sym_static] = ACTIONS(1925), + [anon_sym_register] = ACTIONS(1925), + [anon_sym_inline] = ACTIONS(1925), + [anon_sym_thread_local] = ACTIONS(1925), + [anon_sym_const] = ACTIONS(1925), + [anon_sym_volatile] = ACTIONS(1925), + [anon_sym_restrict] = ACTIONS(1925), + [anon_sym__Atomic] = ACTIONS(1925), + [anon_sym_mutable] = ACTIONS(1925), + [anon_sym_constexpr] = ACTIONS(1925), + [anon_sym_constinit] = ACTIONS(1925), + [anon_sym_consteval] = ACTIONS(1925), + [anon_sym_signed] = ACTIONS(1925), + [anon_sym_unsigned] = ACTIONS(1925), + [anon_sym_long] = ACTIONS(1925), + [anon_sym_short] = ACTIONS(1925), + [sym_primitive_type] = ACTIONS(1925), + [anon_sym_enum] = ACTIONS(1925), + [anon_sym_class] = ACTIONS(1925), + [anon_sym_struct] = ACTIONS(1925), + [anon_sym_union] = ACTIONS(1925), + [anon_sym_if] = ACTIONS(1925), + [anon_sym_else] = ACTIONS(1925), + [anon_sym_switch] = ACTIONS(1925), + [anon_sym_case] = ACTIONS(1925), + [anon_sym_default] = ACTIONS(1925), + [anon_sym_while] = ACTIONS(1925), + [anon_sym_do] = ACTIONS(1925), + [anon_sym_for] = ACTIONS(1925), + [anon_sym_return] = ACTIONS(1925), + [anon_sym_break] = ACTIONS(1925), + [anon_sym_continue] = ACTIONS(1925), + [anon_sym_goto] = ACTIONS(1925), + [anon_sym_DASH_DASH] = ACTIONS(1927), + [anon_sym_PLUS_PLUS] = ACTIONS(1927), + [anon_sym_sizeof] = ACTIONS(1925), + [sym_number_literal] = ACTIONS(1927), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1927), + [anon_sym_u_DQUOTE] = ACTIONS(1927), + [anon_sym_U_DQUOTE] = ACTIONS(1927), + [anon_sym_u8_DQUOTE] = ACTIONS(1927), + [anon_sym_DQUOTE] = ACTIONS(1927), + [sym_true] = ACTIONS(1925), + [sym_false] = ACTIONS(1925), + [sym_null] = ACTIONS(1925), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1925), + [anon_sym_decltype] = ACTIONS(1925), + [anon_sym_virtual] = ACTIONS(1925), + [anon_sym_explicit] = ACTIONS(1925), + [anon_sym_typename] = ACTIONS(1925), + [anon_sym_template] = ACTIONS(1925), + [anon_sym_operator] = ACTIONS(1925), + [anon_sym_delete] = ACTIONS(1925), + [anon_sym_throw] = ACTIONS(1925), + [anon_sym_namespace] = ACTIONS(1925), + [anon_sym_using] = ACTIONS(1925), + [anon_sym_static_assert] = ACTIONS(1925), + [anon_sym_concept] = ACTIONS(1925), + [anon_sym_co_return] = ACTIONS(1925), + [anon_sym_co_yield] = ACTIONS(1925), + [anon_sym_try] = ACTIONS(1925), + [anon_sym_co_await] = ACTIONS(1925), + [anon_sym_new] = ACTIONS(1925), + [anon_sym_requires] = ACTIONS(1925), + [sym_this] = ACTIONS(1925), + [sym_nullptr] = ACTIONS(1925), + [sym_raw_string_literal] = ACTIONS(1927), + }, + [539] = { + [ts_builtin_sym_end] = ACTIONS(2109), + [sym_identifier] = ACTIONS(2107), + [aux_sym_preproc_include_token1] = ACTIONS(2107), + [aux_sym_preproc_def_token1] = ACTIONS(2107), + [aux_sym_preproc_if_token1] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2107), + [sym_preproc_directive] = ACTIONS(2107), + [anon_sym_LPAREN2] = ACTIONS(2109), + [anon_sym_BANG] = ACTIONS(2109), + [anon_sym_TILDE] = ACTIONS(2109), + [anon_sym_DASH] = ACTIONS(2107), + [anon_sym_PLUS] = ACTIONS(2107), + [anon_sym_STAR] = ACTIONS(2109), + [anon_sym_AMP_AMP] = ACTIONS(2109), + [anon_sym_AMP] = ACTIONS(2107), + [anon_sym_SEMI] = ACTIONS(2109), + [anon_sym_typedef] = ACTIONS(2107), + [anon_sym_extern] = ACTIONS(2107), + [anon_sym___attribute__] = ACTIONS(2107), + [anon_sym_COLON_COLON] = ACTIONS(2109), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2109), + [anon_sym___declspec] = ACTIONS(2107), + [anon_sym___based] = ACTIONS(2107), + [anon_sym___cdecl] = ACTIONS(2107), + [anon_sym___clrcall] = ACTIONS(2107), + [anon_sym___stdcall] = ACTIONS(2107), + [anon_sym___fastcall] = ACTIONS(2107), + [anon_sym___thiscall] = ACTIONS(2107), + [anon_sym___vectorcall] = ACTIONS(2107), + [anon_sym_LBRACE] = ACTIONS(2109), + [anon_sym_LBRACK] = ACTIONS(2107), + [anon_sym_static] = ACTIONS(2107), + [anon_sym_register] = ACTIONS(2107), + [anon_sym_inline] = ACTIONS(2107), + [anon_sym_thread_local] = ACTIONS(2107), + [anon_sym_const] = ACTIONS(2107), + [anon_sym_volatile] = ACTIONS(2107), + [anon_sym_restrict] = ACTIONS(2107), + [anon_sym__Atomic] = ACTIONS(2107), + [anon_sym_mutable] = ACTIONS(2107), + [anon_sym_constexpr] = ACTIONS(2107), + [anon_sym_constinit] = ACTIONS(2107), + [anon_sym_consteval] = ACTIONS(2107), + [anon_sym_signed] = ACTIONS(2107), + [anon_sym_unsigned] = ACTIONS(2107), + [anon_sym_long] = ACTIONS(2107), + [anon_sym_short] = ACTIONS(2107), + [sym_primitive_type] = ACTIONS(2107), + [anon_sym_enum] = ACTIONS(2107), + [anon_sym_class] = ACTIONS(2107), + [anon_sym_struct] = ACTIONS(2107), + [anon_sym_union] = ACTIONS(2107), + [anon_sym_if] = ACTIONS(2107), + [anon_sym_else] = ACTIONS(2107), + [anon_sym_switch] = ACTIONS(2107), + [anon_sym_case] = ACTIONS(2107), + [anon_sym_default] = ACTIONS(2107), + [anon_sym_while] = ACTIONS(2107), + [anon_sym_do] = ACTIONS(2107), + [anon_sym_for] = ACTIONS(2107), + [anon_sym_return] = ACTIONS(2107), + [anon_sym_break] = ACTIONS(2107), + [anon_sym_continue] = ACTIONS(2107), + [anon_sym_goto] = ACTIONS(2107), + [anon_sym_DASH_DASH] = ACTIONS(2109), + [anon_sym_PLUS_PLUS] = ACTIONS(2109), + [anon_sym_sizeof] = ACTIONS(2107), + [sym_number_literal] = ACTIONS(2109), + [anon_sym_L_SQUOTE] = ACTIONS(2109), + [anon_sym_u_SQUOTE] = ACTIONS(2109), + [anon_sym_U_SQUOTE] = ACTIONS(2109), + [anon_sym_u8_SQUOTE] = ACTIONS(2109), + [anon_sym_SQUOTE] = ACTIONS(2109), + [anon_sym_L_DQUOTE] = ACTIONS(2109), + [anon_sym_u_DQUOTE] = ACTIONS(2109), + [anon_sym_U_DQUOTE] = ACTIONS(2109), + [anon_sym_u8_DQUOTE] = ACTIONS(2109), + [anon_sym_DQUOTE] = ACTIONS(2109), + [sym_true] = ACTIONS(2107), + [sym_false] = ACTIONS(2107), + [sym_null] = ACTIONS(2107), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2107), + [anon_sym_decltype] = ACTIONS(2107), + [anon_sym_virtual] = ACTIONS(2107), + [anon_sym_explicit] = ACTIONS(2107), + [anon_sym_typename] = ACTIONS(2107), + [anon_sym_template] = ACTIONS(2107), + [anon_sym_operator] = ACTIONS(2107), + [anon_sym_delete] = ACTIONS(2107), + [anon_sym_throw] = ACTIONS(2107), + [anon_sym_namespace] = ACTIONS(2107), + [anon_sym_using] = ACTIONS(2107), + [anon_sym_static_assert] = ACTIONS(2107), + [anon_sym_concept] = ACTIONS(2107), + [anon_sym_co_return] = ACTIONS(2107), + [anon_sym_co_yield] = ACTIONS(2107), + [anon_sym_try] = ACTIONS(2107), + [anon_sym_co_await] = ACTIONS(2107), + [anon_sym_new] = ACTIONS(2107), + [anon_sym_requires] = ACTIONS(2107), + [sym_this] = ACTIONS(2107), + [sym_nullptr] = ACTIONS(2107), + [sym_raw_string_literal] = ACTIONS(2109), + }, + [540] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [541] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [542] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [543] = { + [sym_identifier] = ACTIONS(2051), + [aux_sym_preproc_include_token1] = ACTIONS(2051), + [aux_sym_preproc_def_token1] = ACTIONS(2051), + [aux_sym_preproc_if_token1] = ACTIONS(2051), + [aux_sym_preproc_if_token2] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2051), + [sym_preproc_directive] = ACTIONS(2051), + [anon_sym_LPAREN2] = ACTIONS(2053), + [anon_sym_BANG] = ACTIONS(2053), + [anon_sym_TILDE] = ACTIONS(2053), + [anon_sym_DASH] = ACTIONS(2051), + [anon_sym_PLUS] = ACTIONS(2051), + [anon_sym_STAR] = ACTIONS(2053), + [anon_sym_AMP_AMP] = ACTIONS(2053), + [anon_sym_AMP] = ACTIONS(2051), + [anon_sym_SEMI] = ACTIONS(2053), + [anon_sym_typedef] = ACTIONS(2051), + [anon_sym_extern] = ACTIONS(2051), + [anon_sym___attribute__] = ACTIONS(2051), + [anon_sym_COLON_COLON] = ACTIONS(2053), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2053), + [anon_sym___declspec] = ACTIONS(2051), + [anon_sym___based] = ACTIONS(2051), + [anon_sym___cdecl] = ACTIONS(2051), + [anon_sym___clrcall] = ACTIONS(2051), + [anon_sym___stdcall] = ACTIONS(2051), + [anon_sym___fastcall] = ACTIONS(2051), + [anon_sym___thiscall] = ACTIONS(2051), + [anon_sym___vectorcall] = ACTIONS(2051), + [anon_sym_LBRACE] = ACTIONS(2053), + [anon_sym_LBRACK] = ACTIONS(2051), + [anon_sym_static] = ACTIONS(2051), + [anon_sym_register] = ACTIONS(2051), + [anon_sym_inline] = ACTIONS(2051), + [anon_sym_thread_local] = ACTIONS(2051), + [anon_sym_const] = ACTIONS(2051), + [anon_sym_volatile] = ACTIONS(2051), + [anon_sym_restrict] = ACTIONS(2051), + [anon_sym__Atomic] = ACTIONS(2051), + [anon_sym_mutable] = ACTIONS(2051), + [anon_sym_constexpr] = ACTIONS(2051), + [anon_sym_constinit] = ACTIONS(2051), + [anon_sym_consteval] = ACTIONS(2051), + [anon_sym_signed] = ACTIONS(2051), + [anon_sym_unsigned] = ACTIONS(2051), + [anon_sym_long] = ACTIONS(2051), + [anon_sym_short] = ACTIONS(2051), + [sym_primitive_type] = ACTIONS(2051), + [anon_sym_enum] = ACTIONS(2051), + [anon_sym_class] = ACTIONS(2051), + [anon_sym_struct] = ACTIONS(2051), + [anon_sym_union] = ACTIONS(2051), + [anon_sym_if] = ACTIONS(2051), + [anon_sym_else] = ACTIONS(2051), + [anon_sym_switch] = ACTIONS(2051), + [anon_sym_case] = ACTIONS(2051), + [anon_sym_default] = ACTIONS(2051), + [anon_sym_while] = ACTIONS(2051), + [anon_sym_do] = ACTIONS(2051), + [anon_sym_for] = ACTIONS(2051), + [anon_sym_return] = ACTIONS(2051), + [anon_sym_break] = ACTIONS(2051), + [anon_sym_continue] = ACTIONS(2051), + [anon_sym_goto] = ACTIONS(2051), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2051), + [sym_number_literal] = ACTIONS(2053), + [anon_sym_L_SQUOTE] = ACTIONS(2053), + [anon_sym_u_SQUOTE] = ACTIONS(2053), + [anon_sym_U_SQUOTE] = ACTIONS(2053), + [anon_sym_u8_SQUOTE] = ACTIONS(2053), + [anon_sym_SQUOTE] = ACTIONS(2053), + [anon_sym_L_DQUOTE] = ACTIONS(2053), + [anon_sym_u_DQUOTE] = ACTIONS(2053), + [anon_sym_U_DQUOTE] = ACTIONS(2053), + [anon_sym_u8_DQUOTE] = ACTIONS(2053), + [anon_sym_DQUOTE] = ACTIONS(2053), + [sym_true] = ACTIONS(2051), + [sym_false] = ACTIONS(2051), + [sym_null] = ACTIONS(2051), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2051), + [anon_sym_decltype] = ACTIONS(2051), + [anon_sym_virtual] = ACTIONS(2051), + [anon_sym_explicit] = ACTIONS(2051), + [anon_sym_typename] = ACTIONS(2051), + [anon_sym_template] = ACTIONS(2051), + [anon_sym_operator] = ACTIONS(2051), + [anon_sym_delete] = ACTIONS(2051), + [anon_sym_throw] = ACTIONS(2051), + [anon_sym_namespace] = ACTIONS(2051), + [anon_sym_using] = ACTIONS(2051), + [anon_sym_static_assert] = ACTIONS(2051), + [anon_sym_concept] = ACTIONS(2051), + [anon_sym_co_return] = ACTIONS(2051), + [anon_sym_co_yield] = ACTIONS(2051), + [anon_sym_try] = ACTIONS(2051), + [anon_sym_co_await] = ACTIONS(2051), + [anon_sym_new] = ACTIONS(2051), + [anon_sym_requires] = ACTIONS(2051), + [sym_this] = ACTIONS(2051), + [sym_nullptr] = ACTIONS(2051), + [sym_raw_string_literal] = ACTIONS(2053), + }, + [544] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [545] = { + [sym_identifier] = ACTIONS(2079), + [aux_sym_preproc_include_token1] = ACTIONS(2079), + [aux_sym_preproc_def_token1] = ACTIONS(2079), + [aux_sym_preproc_if_token1] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2079), + [sym_preproc_directive] = ACTIONS(2079), + [anon_sym_LPAREN2] = ACTIONS(2081), + [anon_sym_BANG] = ACTIONS(2081), + [anon_sym_TILDE] = ACTIONS(2081), + [anon_sym_DASH] = ACTIONS(2079), + [anon_sym_PLUS] = ACTIONS(2079), + [anon_sym_STAR] = ACTIONS(2081), + [anon_sym_AMP_AMP] = ACTIONS(2081), + [anon_sym_AMP] = ACTIONS(2079), + [anon_sym_SEMI] = ACTIONS(2081), + [anon_sym_typedef] = ACTIONS(2079), + [anon_sym_extern] = ACTIONS(2079), + [anon_sym___attribute__] = ACTIONS(2079), + [anon_sym_COLON_COLON] = ACTIONS(2081), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2081), + [anon_sym___declspec] = ACTIONS(2079), + [anon_sym___based] = ACTIONS(2079), + [anon_sym___cdecl] = ACTIONS(2079), + [anon_sym___clrcall] = ACTIONS(2079), + [anon_sym___stdcall] = ACTIONS(2079), + [anon_sym___fastcall] = ACTIONS(2079), + [anon_sym___thiscall] = ACTIONS(2079), + [anon_sym___vectorcall] = ACTIONS(2079), + [anon_sym_LBRACE] = ACTIONS(2081), + [anon_sym_RBRACE] = ACTIONS(2081), + [anon_sym_LBRACK] = ACTIONS(2079), + [anon_sym_static] = ACTIONS(2079), + [anon_sym_register] = ACTIONS(2079), + [anon_sym_inline] = ACTIONS(2079), + [anon_sym_thread_local] = ACTIONS(2079), + [anon_sym_const] = ACTIONS(2079), + [anon_sym_volatile] = ACTIONS(2079), + [anon_sym_restrict] = ACTIONS(2079), + [anon_sym__Atomic] = ACTIONS(2079), + [anon_sym_mutable] = ACTIONS(2079), + [anon_sym_constexpr] = ACTIONS(2079), + [anon_sym_constinit] = ACTIONS(2079), + [anon_sym_consteval] = ACTIONS(2079), + [anon_sym_signed] = ACTIONS(2079), + [anon_sym_unsigned] = ACTIONS(2079), + [anon_sym_long] = ACTIONS(2079), + [anon_sym_short] = ACTIONS(2079), + [sym_primitive_type] = ACTIONS(2079), + [anon_sym_enum] = ACTIONS(2079), + [anon_sym_class] = ACTIONS(2079), + [anon_sym_struct] = ACTIONS(2079), + [anon_sym_union] = ACTIONS(2079), + [anon_sym_if] = ACTIONS(2079), + [anon_sym_else] = ACTIONS(2079), + [anon_sym_switch] = ACTIONS(2079), + [anon_sym_case] = ACTIONS(2079), + [anon_sym_default] = ACTIONS(2079), + [anon_sym_while] = ACTIONS(2079), + [anon_sym_do] = ACTIONS(2079), + [anon_sym_for] = ACTIONS(2079), + [anon_sym_return] = ACTIONS(2079), + [anon_sym_break] = ACTIONS(2079), + [anon_sym_continue] = ACTIONS(2079), + [anon_sym_goto] = ACTIONS(2079), + [anon_sym_DASH_DASH] = ACTIONS(2081), + [anon_sym_PLUS_PLUS] = ACTIONS(2081), + [anon_sym_sizeof] = ACTIONS(2079), + [sym_number_literal] = ACTIONS(2081), + [anon_sym_L_SQUOTE] = ACTIONS(2081), + [anon_sym_u_SQUOTE] = ACTIONS(2081), + [anon_sym_U_SQUOTE] = ACTIONS(2081), + [anon_sym_u8_SQUOTE] = ACTIONS(2081), + [anon_sym_SQUOTE] = ACTIONS(2081), + [anon_sym_L_DQUOTE] = ACTIONS(2081), + [anon_sym_u_DQUOTE] = ACTIONS(2081), + [anon_sym_U_DQUOTE] = ACTIONS(2081), + [anon_sym_u8_DQUOTE] = ACTIONS(2081), + [anon_sym_DQUOTE] = ACTIONS(2081), + [sym_true] = ACTIONS(2079), + [sym_false] = ACTIONS(2079), + [sym_null] = ACTIONS(2079), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2079), + [anon_sym_decltype] = ACTIONS(2079), + [anon_sym_virtual] = ACTIONS(2079), + [anon_sym_explicit] = ACTIONS(2079), + [anon_sym_typename] = ACTIONS(2079), + [anon_sym_template] = ACTIONS(2079), + [anon_sym_operator] = ACTIONS(2079), + [anon_sym_delete] = ACTIONS(2079), + [anon_sym_throw] = ACTIONS(2079), + [anon_sym_namespace] = ACTIONS(2079), + [anon_sym_using] = ACTIONS(2079), + [anon_sym_static_assert] = ACTIONS(2079), + [anon_sym_concept] = ACTIONS(2079), + [anon_sym_co_return] = ACTIONS(2079), + [anon_sym_co_yield] = ACTIONS(2079), + [anon_sym_try] = ACTIONS(2079), + [anon_sym_co_await] = ACTIONS(2079), + [anon_sym_new] = ACTIONS(2079), + [anon_sym_requires] = ACTIONS(2079), + [sym_this] = ACTIONS(2079), + [sym_nullptr] = ACTIONS(2079), + [sym_raw_string_literal] = ACTIONS(2081), + }, + [546] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [547] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [548] = { + [sym_identifier] = ACTIONS(2095), + [aux_sym_preproc_include_token1] = ACTIONS(2095), + [aux_sym_preproc_def_token1] = ACTIONS(2095), + [aux_sym_preproc_if_token1] = ACTIONS(2095), + [aux_sym_preproc_if_token2] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2095), + [sym_preproc_directive] = ACTIONS(2095), + [anon_sym_LPAREN2] = ACTIONS(2097), + [anon_sym_BANG] = ACTIONS(2097), + [anon_sym_TILDE] = ACTIONS(2097), + [anon_sym_DASH] = ACTIONS(2095), + [anon_sym_PLUS] = ACTIONS(2095), + [anon_sym_STAR] = ACTIONS(2097), + [anon_sym_AMP_AMP] = ACTIONS(2097), + [anon_sym_AMP] = ACTIONS(2095), + [anon_sym_SEMI] = ACTIONS(2097), + [anon_sym_typedef] = ACTIONS(2095), + [anon_sym_extern] = ACTIONS(2095), + [anon_sym___attribute__] = ACTIONS(2095), + [anon_sym_COLON_COLON] = ACTIONS(2097), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2097), + [anon_sym___declspec] = ACTIONS(2095), + [anon_sym___based] = ACTIONS(2095), + [anon_sym___cdecl] = ACTIONS(2095), + [anon_sym___clrcall] = ACTIONS(2095), + [anon_sym___stdcall] = ACTIONS(2095), + [anon_sym___fastcall] = ACTIONS(2095), + [anon_sym___thiscall] = ACTIONS(2095), + [anon_sym___vectorcall] = ACTIONS(2095), + [anon_sym_LBRACE] = ACTIONS(2097), + [anon_sym_LBRACK] = ACTIONS(2095), + [anon_sym_static] = ACTIONS(2095), + [anon_sym_register] = ACTIONS(2095), + [anon_sym_inline] = ACTIONS(2095), + [anon_sym_thread_local] = ACTIONS(2095), + [anon_sym_const] = ACTIONS(2095), + [anon_sym_volatile] = ACTIONS(2095), + [anon_sym_restrict] = ACTIONS(2095), + [anon_sym__Atomic] = ACTIONS(2095), + [anon_sym_mutable] = ACTIONS(2095), + [anon_sym_constexpr] = ACTIONS(2095), + [anon_sym_constinit] = ACTIONS(2095), + [anon_sym_consteval] = ACTIONS(2095), + [anon_sym_signed] = ACTIONS(2095), + [anon_sym_unsigned] = ACTIONS(2095), + [anon_sym_long] = ACTIONS(2095), + [anon_sym_short] = ACTIONS(2095), + [sym_primitive_type] = ACTIONS(2095), + [anon_sym_enum] = ACTIONS(2095), + [anon_sym_class] = ACTIONS(2095), + [anon_sym_struct] = ACTIONS(2095), + [anon_sym_union] = ACTIONS(2095), + [anon_sym_if] = ACTIONS(2095), + [anon_sym_else] = ACTIONS(2095), + [anon_sym_switch] = ACTIONS(2095), + [anon_sym_case] = ACTIONS(2095), + [anon_sym_default] = ACTIONS(2095), + [anon_sym_while] = ACTIONS(2095), + [anon_sym_do] = ACTIONS(2095), + [anon_sym_for] = ACTIONS(2095), + [anon_sym_return] = ACTIONS(2095), + [anon_sym_break] = ACTIONS(2095), + [anon_sym_continue] = ACTIONS(2095), + [anon_sym_goto] = ACTIONS(2095), + [anon_sym_DASH_DASH] = ACTIONS(2097), + [anon_sym_PLUS_PLUS] = ACTIONS(2097), + [anon_sym_sizeof] = ACTIONS(2095), + [sym_number_literal] = ACTIONS(2097), + [anon_sym_L_SQUOTE] = ACTIONS(2097), + [anon_sym_u_SQUOTE] = ACTIONS(2097), + [anon_sym_U_SQUOTE] = ACTIONS(2097), + [anon_sym_u8_SQUOTE] = ACTIONS(2097), + [anon_sym_SQUOTE] = ACTIONS(2097), + [anon_sym_L_DQUOTE] = ACTIONS(2097), + [anon_sym_u_DQUOTE] = ACTIONS(2097), + [anon_sym_U_DQUOTE] = ACTIONS(2097), + [anon_sym_u8_DQUOTE] = ACTIONS(2097), + [anon_sym_DQUOTE] = ACTIONS(2097), + [sym_true] = ACTIONS(2095), + [sym_false] = ACTIONS(2095), + [sym_null] = ACTIONS(2095), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2095), + [anon_sym_decltype] = ACTIONS(2095), + [anon_sym_virtual] = ACTIONS(2095), + [anon_sym_explicit] = ACTIONS(2095), + [anon_sym_typename] = ACTIONS(2095), + [anon_sym_template] = ACTIONS(2095), + [anon_sym_operator] = ACTIONS(2095), + [anon_sym_delete] = ACTIONS(2095), + [anon_sym_throw] = ACTIONS(2095), + [anon_sym_namespace] = ACTIONS(2095), + [anon_sym_using] = ACTIONS(2095), + [anon_sym_static_assert] = ACTIONS(2095), + [anon_sym_concept] = ACTIONS(2095), + [anon_sym_co_return] = ACTIONS(2095), + [anon_sym_co_yield] = ACTIONS(2095), + [anon_sym_try] = ACTIONS(2095), + [anon_sym_co_await] = ACTIONS(2095), + [anon_sym_new] = ACTIONS(2095), + [anon_sym_requires] = ACTIONS(2095), + [sym_this] = ACTIONS(2095), + [sym_nullptr] = ACTIONS(2095), + [sym_raw_string_literal] = ACTIONS(2097), + }, + [549] = { + [sym_identifier] = ACTIONS(2099), + [aux_sym_preproc_include_token1] = ACTIONS(2099), + [aux_sym_preproc_def_token1] = ACTIONS(2099), + [aux_sym_preproc_if_token1] = ACTIONS(2099), + [aux_sym_preproc_if_token2] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2099), + [sym_preproc_directive] = ACTIONS(2099), + [anon_sym_LPAREN2] = ACTIONS(2101), + [anon_sym_BANG] = ACTIONS(2101), + [anon_sym_TILDE] = ACTIONS(2101), + [anon_sym_DASH] = ACTIONS(2099), + [anon_sym_PLUS] = ACTIONS(2099), + [anon_sym_STAR] = ACTIONS(2101), + [anon_sym_AMP_AMP] = ACTIONS(2101), + [anon_sym_AMP] = ACTIONS(2099), + [anon_sym_SEMI] = ACTIONS(2101), + [anon_sym_typedef] = ACTIONS(2099), + [anon_sym_extern] = ACTIONS(2099), + [anon_sym___attribute__] = ACTIONS(2099), + [anon_sym_COLON_COLON] = ACTIONS(2101), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2101), + [anon_sym___declspec] = ACTIONS(2099), + [anon_sym___based] = ACTIONS(2099), + [anon_sym___cdecl] = ACTIONS(2099), + [anon_sym___clrcall] = ACTIONS(2099), + [anon_sym___stdcall] = ACTIONS(2099), + [anon_sym___fastcall] = ACTIONS(2099), + [anon_sym___thiscall] = ACTIONS(2099), + [anon_sym___vectorcall] = ACTIONS(2099), + [anon_sym_LBRACE] = ACTIONS(2101), + [anon_sym_LBRACK] = ACTIONS(2099), + [anon_sym_static] = ACTIONS(2099), + [anon_sym_register] = ACTIONS(2099), + [anon_sym_inline] = ACTIONS(2099), + [anon_sym_thread_local] = ACTIONS(2099), + [anon_sym_const] = ACTIONS(2099), + [anon_sym_volatile] = ACTIONS(2099), + [anon_sym_restrict] = ACTIONS(2099), + [anon_sym__Atomic] = ACTIONS(2099), + [anon_sym_mutable] = ACTIONS(2099), + [anon_sym_constexpr] = ACTIONS(2099), + [anon_sym_constinit] = ACTIONS(2099), + [anon_sym_consteval] = ACTIONS(2099), + [anon_sym_signed] = ACTIONS(2099), + [anon_sym_unsigned] = ACTIONS(2099), + [anon_sym_long] = ACTIONS(2099), + [anon_sym_short] = ACTIONS(2099), + [sym_primitive_type] = ACTIONS(2099), + [anon_sym_enum] = ACTIONS(2099), + [anon_sym_class] = ACTIONS(2099), + [anon_sym_struct] = ACTIONS(2099), + [anon_sym_union] = ACTIONS(2099), + [anon_sym_if] = ACTIONS(2099), + [anon_sym_else] = ACTIONS(2099), + [anon_sym_switch] = ACTIONS(2099), + [anon_sym_case] = ACTIONS(2099), + [anon_sym_default] = ACTIONS(2099), + [anon_sym_while] = ACTIONS(2099), + [anon_sym_do] = ACTIONS(2099), + [anon_sym_for] = ACTIONS(2099), + [anon_sym_return] = ACTIONS(2099), + [anon_sym_break] = ACTIONS(2099), + [anon_sym_continue] = ACTIONS(2099), + [anon_sym_goto] = ACTIONS(2099), + [anon_sym_DASH_DASH] = ACTIONS(2101), + [anon_sym_PLUS_PLUS] = ACTIONS(2101), + [anon_sym_sizeof] = ACTIONS(2099), + [sym_number_literal] = ACTIONS(2101), + [anon_sym_L_SQUOTE] = ACTIONS(2101), + [anon_sym_u_SQUOTE] = ACTIONS(2101), + [anon_sym_U_SQUOTE] = ACTIONS(2101), + [anon_sym_u8_SQUOTE] = ACTIONS(2101), + [anon_sym_SQUOTE] = ACTIONS(2101), + [anon_sym_L_DQUOTE] = ACTIONS(2101), + [anon_sym_u_DQUOTE] = ACTIONS(2101), + [anon_sym_U_DQUOTE] = ACTIONS(2101), + [anon_sym_u8_DQUOTE] = ACTIONS(2101), + [anon_sym_DQUOTE] = ACTIONS(2101), + [sym_true] = ACTIONS(2099), + [sym_false] = ACTIONS(2099), + [sym_null] = ACTIONS(2099), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2099), + [anon_sym_decltype] = ACTIONS(2099), + [anon_sym_virtual] = ACTIONS(2099), + [anon_sym_explicit] = ACTIONS(2099), + [anon_sym_typename] = ACTIONS(2099), + [anon_sym_template] = ACTIONS(2099), + [anon_sym_operator] = ACTIONS(2099), + [anon_sym_delete] = ACTIONS(2099), + [anon_sym_throw] = ACTIONS(2099), + [anon_sym_namespace] = ACTIONS(2099), + [anon_sym_using] = ACTIONS(2099), + [anon_sym_static_assert] = ACTIONS(2099), + [anon_sym_concept] = ACTIONS(2099), + [anon_sym_co_return] = ACTIONS(2099), + [anon_sym_co_yield] = ACTIONS(2099), + [anon_sym_try] = ACTIONS(2099), + [anon_sym_co_await] = ACTIONS(2099), + [anon_sym_new] = ACTIONS(2099), + [anon_sym_requires] = ACTIONS(2099), + [sym_this] = ACTIONS(2099), + [sym_nullptr] = ACTIONS(2099), + [sym_raw_string_literal] = ACTIONS(2101), + }, + [550] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [551] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [552] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [553] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [554] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [555] = { + [sym_identifier] = ACTIONS(2103), + [aux_sym_preproc_include_token1] = ACTIONS(2103), + [aux_sym_preproc_def_token1] = ACTIONS(2103), + [aux_sym_preproc_if_token1] = ACTIONS(2103), + [aux_sym_preproc_if_token2] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2103), + [sym_preproc_directive] = ACTIONS(2103), + [anon_sym_LPAREN2] = ACTIONS(2105), + [anon_sym_BANG] = ACTIONS(2105), + [anon_sym_TILDE] = ACTIONS(2105), + [anon_sym_DASH] = ACTIONS(2103), + [anon_sym_PLUS] = ACTIONS(2103), + [anon_sym_STAR] = ACTIONS(2105), + [anon_sym_AMP_AMP] = ACTIONS(2105), + [anon_sym_AMP] = ACTIONS(2103), + [anon_sym_SEMI] = ACTIONS(2105), + [anon_sym_typedef] = ACTIONS(2103), + [anon_sym_extern] = ACTIONS(2103), + [anon_sym___attribute__] = ACTIONS(2103), + [anon_sym_COLON_COLON] = ACTIONS(2105), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2105), + [anon_sym___declspec] = ACTIONS(2103), + [anon_sym___based] = ACTIONS(2103), + [anon_sym___cdecl] = ACTIONS(2103), + [anon_sym___clrcall] = ACTIONS(2103), + [anon_sym___stdcall] = ACTIONS(2103), + [anon_sym___fastcall] = ACTIONS(2103), + [anon_sym___thiscall] = ACTIONS(2103), + [anon_sym___vectorcall] = ACTIONS(2103), + [anon_sym_LBRACE] = ACTIONS(2105), + [anon_sym_LBRACK] = ACTIONS(2103), + [anon_sym_static] = ACTIONS(2103), + [anon_sym_register] = ACTIONS(2103), + [anon_sym_inline] = ACTIONS(2103), + [anon_sym_thread_local] = ACTIONS(2103), + [anon_sym_const] = ACTIONS(2103), + [anon_sym_volatile] = ACTIONS(2103), + [anon_sym_restrict] = ACTIONS(2103), + [anon_sym__Atomic] = ACTIONS(2103), + [anon_sym_mutable] = ACTIONS(2103), + [anon_sym_constexpr] = ACTIONS(2103), + [anon_sym_constinit] = ACTIONS(2103), + [anon_sym_consteval] = ACTIONS(2103), + [anon_sym_signed] = ACTIONS(2103), + [anon_sym_unsigned] = ACTIONS(2103), + [anon_sym_long] = ACTIONS(2103), + [anon_sym_short] = ACTIONS(2103), + [sym_primitive_type] = ACTIONS(2103), + [anon_sym_enum] = ACTIONS(2103), + [anon_sym_class] = ACTIONS(2103), + [anon_sym_struct] = ACTIONS(2103), + [anon_sym_union] = ACTIONS(2103), + [anon_sym_if] = ACTIONS(2103), + [anon_sym_else] = ACTIONS(2103), + [anon_sym_switch] = ACTIONS(2103), + [anon_sym_case] = ACTIONS(2103), + [anon_sym_default] = ACTIONS(2103), + [anon_sym_while] = ACTIONS(2103), + [anon_sym_do] = ACTIONS(2103), + [anon_sym_for] = ACTIONS(2103), + [anon_sym_return] = ACTIONS(2103), + [anon_sym_break] = ACTIONS(2103), + [anon_sym_continue] = ACTIONS(2103), + [anon_sym_goto] = ACTIONS(2103), + [anon_sym_DASH_DASH] = ACTIONS(2105), + [anon_sym_PLUS_PLUS] = ACTIONS(2105), + [anon_sym_sizeof] = ACTIONS(2103), + [sym_number_literal] = ACTIONS(2105), + [anon_sym_L_SQUOTE] = ACTIONS(2105), + [anon_sym_u_SQUOTE] = ACTIONS(2105), + [anon_sym_U_SQUOTE] = ACTIONS(2105), + [anon_sym_u8_SQUOTE] = ACTIONS(2105), + [anon_sym_SQUOTE] = ACTIONS(2105), + [anon_sym_L_DQUOTE] = ACTIONS(2105), + [anon_sym_u_DQUOTE] = ACTIONS(2105), + [anon_sym_U_DQUOTE] = ACTIONS(2105), + [anon_sym_u8_DQUOTE] = ACTIONS(2105), + [anon_sym_DQUOTE] = ACTIONS(2105), + [sym_true] = ACTIONS(2103), + [sym_false] = ACTIONS(2103), + [sym_null] = ACTIONS(2103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2103), + [anon_sym_decltype] = ACTIONS(2103), + [anon_sym_virtual] = ACTIONS(2103), + [anon_sym_explicit] = ACTIONS(2103), + [anon_sym_typename] = ACTIONS(2103), + [anon_sym_template] = ACTIONS(2103), + [anon_sym_operator] = ACTIONS(2103), + [anon_sym_delete] = ACTIONS(2103), + [anon_sym_throw] = ACTIONS(2103), + [anon_sym_namespace] = ACTIONS(2103), + [anon_sym_using] = ACTIONS(2103), + [anon_sym_static_assert] = ACTIONS(2103), + [anon_sym_concept] = ACTIONS(2103), + [anon_sym_co_return] = ACTIONS(2103), + [anon_sym_co_yield] = ACTIONS(2103), + [anon_sym_try] = ACTIONS(2103), + [anon_sym_co_await] = ACTIONS(2103), + [anon_sym_new] = ACTIONS(2103), + [anon_sym_requires] = ACTIONS(2103), + [sym_this] = ACTIONS(2103), + [sym_nullptr] = ACTIONS(2103), + [sym_raw_string_literal] = ACTIONS(2105), + }, + [556] = { + [sym_identifier] = ACTIONS(2111), + [aux_sym_preproc_include_token1] = ACTIONS(2111), + [aux_sym_preproc_def_token1] = ACTIONS(2111), + [aux_sym_preproc_if_token1] = ACTIONS(2111), + [aux_sym_preproc_if_token2] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2111), + [sym_preproc_directive] = ACTIONS(2111), + [anon_sym_LPAREN2] = ACTIONS(2113), + [anon_sym_BANG] = ACTIONS(2113), + [anon_sym_TILDE] = ACTIONS(2113), + [anon_sym_DASH] = ACTIONS(2111), + [anon_sym_PLUS] = ACTIONS(2111), + [anon_sym_STAR] = ACTIONS(2113), + [anon_sym_AMP_AMP] = ACTIONS(2113), + [anon_sym_AMP] = ACTIONS(2111), + [anon_sym_SEMI] = ACTIONS(2113), + [anon_sym_typedef] = ACTIONS(2111), + [anon_sym_extern] = ACTIONS(2111), + [anon_sym___attribute__] = ACTIONS(2111), + [anon_sym_COLON_COLON] = ACTIONS(2113), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2113), + [anon_sym___declspec] = ACTIONS(2111), + [anon_sym___based] = ACTIONS(2111), + [anon_sym___cdecl] = ACTIONS(2111), + [anon_sym___clrcall] = ACTIONS(2111), + [anon_sym___stdcall] = ACTIONS(2111), + [anon_sym___fastcall] = ACTIONS(2111), + [anon_sym___thiscall] = ACTIONS(2111), + [anon_sym___vectorcall] = ACTIONS(2111), + [anon_sym_LBRACE] = ACTIONS(2113), + [anon_sym_LBRACK] = ACTIONS(2111), + [anon_sym_static] = ACTIONS(2111), + [anon_sym_register] = ACTIONS(2111), + [anon_sym_inline] = ACTIONS(2111), + [anon_sym_thread_local] = ACTIONS(2111), + [anon_sym_const] = ACTIONS(2111), + [anon_sym_volatile] = ACTIONS(2111), + [anon_sym_restrict] = ACTIONS(2111), + [anon_sym__Atomic] = ACTIONS(2111), + [anon_sym_mutable] = ACTIONS(2111), + [anon_sym_constexpr] = ACTIONS(2111), + [anon_sym_constinit] = ACTIONS(2111), + [anon_sym_consteval] = ACTIONS(2111), + [anon_sym_signed] = ACTIONS(2111), + [anon_sym_unsigned] = ACTIONS(2111), + [anon_sym_long] = ACTIONS(2111), + [anon_sym_short] = ACTIONS(2111), + [sym_primitive_type] = ACTIONS(2111), + [anon_sym_enum] = ACTIONS(2111), + [anon_sym_class] = ACTIONS(2111), + [anon_sym_struct] = ACTIONS(2111), + [anon_sym_union] = ACTIONS(2111), + [anon_sym_if] = ACTIONS(2111), + [anon_sym_else] = ACTIONS(2111), + [anon_sym_switch] = ACTIONS(2111), + [anon_sym_case] = ACTIONS(2111), + [anon_sym_default] = ACTIONS(2111), + [anon_sym_while] = ACTIONS(2111), + [anon_sym_do] = ACTIONS(2111), + [anon_sym_for] = ACTIONS(2111), + [anon_sym_return] = ACTIONS(2111), + [anon_sym_break] = ACTIONS(2111), + [anon_sym_continue] = ACTIONS(2111), + [anon_sym_goto] = ACTIONS(2111), + [anon_sym_DASH_DASH] = ACTIONS(2113), + [anon_sym_PLUS_PLUS] = ACTIONS(2113), + [anon_sym_sizeof] = ACTIONS(2111), + [sym_number_literal] = ACTIONS(2113), + [anon_sym_L_SQUOTE] = ACTIONS(2113), + [anon_sym_u_SQUOTE] = ACTIONS(2113), + [anon_sym_U_SQUOTE] = ACTIONS(2113), + [anon_sym_u8_SQUOTE] = ACTIONS(2113), + [anon_sym_SQUOTE] = ACTIONS(2113), + [anon_sym_L_DQUOTE] = ACTIONS(2113), + [anon_sym_u_DQUOTE] = ACTIONS(2113), + [anon_sym_U_DQUOTE] = ACTIONS(2113), + [anon_sym_u8_DQUOTE] = ACTIONS(2113), + [anon_sym_DQUOTE] = ACTIONS(2113), + [sym_true] = ACTIONS(2111), + [sym_false] = ACTIONS(2111), + [sym_null] = ACTIONS(2111), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2111), + [anon_sym_decltype] = ACTIONS(2111), + [anon_sym_virtual] = ACTIONS(2111), + [anon_sym_explicit] = ACTIONS(2111), + [anon_sym_typename] = ACTIONS(2111), + [anon_sym_template] = ACTIONS(2111), + [anon_sym_operator] = ACTIONS(2111), + [anon_sym_delete] = ACTIONS(2111), + [anon_sym_throw] = ACTIONS(2111), + [anon_sym_namespace] = ACTIONS(2111), + [anon_sym_using] = ACTIONS(2111), + [anon_sym_static_assert] = ACTIONS(2111), + [anon_sym_concept] = ACTIONS(2111), + [anon_sym_co_return] = ACTIONS(2111), + [anon_sym_co_yield] = ACTIONS(2111), + [anon_sym_try] = ACTIONS(2111), + [anon_sym_co_await] = ACTIONS(2111), + [anon_sym_new] = ACTIONS(2111), + [anon_sym_requires] = ACTIONS(2111), + [sym_this] = ACTIONS(2111), + [sym_nullptr] = ACTIONS(2111), + [sym_raw_string_literal] = ACTIONS(2113), + }, + [557] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [558] = { + [ts_builtin_sym_end] = ACTIONS(2117), + [sym_identifier] = ACTIONS(2115), + [aux_sym_preproc_include_token1] = ACTIONS(2115), + [aux_sym_preproc_def_token1] = ACTIONS(2115), + [aux_sym_preproc_if_token1] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2115), + [sym_preproc_directive] = ACTIONS(2115), + [anon_sym_LPAREN2] = ACTIONS(2117), + [anon_sym_BANG] = ACTIONS(2117), + [anon_sym_TILDE] = ACTIONS(2117), + [anon_sym_DASH] = ACTIONS(2115), + [anon_sym_PLUS] = ACTIONS(2115), + [anon_sym_STAR] = ACTIONS(2117), + [anon_sym_AMP_AMP] = ACTIONS(2117), + [anon_sym_AMP] = ACTIONS(2115), + [anon_sym_SEMI] = ACTIONS(2117), + [anon_sym_typedef] = ACTIONS(2115), + [anon_sym_extern] = ACTIONS(2115), + [anon_sym___attribute__] = ACTIONS(2115), + [anon_sym_COLON_COLON] = ACTIONS(2117), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2117), + [anon_sym___declspec] = ACTIONS(2115), + [anon_sym___based] = ACTIONS(2115), + [anon_sym___cdecl] = ACTIONS(2115), + [anon_sym___clrcall] = ACTIONS(2115), + [anon_sym___stdcall] = ACTIONS(2115), + [anon_sym___fastcall] = ACTIONS(2115), + [anon_sym___thiscall] = ACTIONS(2115), + [anon_sym___vectorcall] = ACTIONS(2115), + [anon_sym_LBRACE] = ACTIONS(2117), + [anon_sym_LBRACK] = ACTIONS(2115), + [anon_sym_static] = ACTIONS(2115), + [anon_sym_register] = ACTIONS(2115), + [anon_sym_inline] = ACTIONS(2115), + [anon_sym_thread_local] = ACTIONS(2115), + [anon_sym_const] = ACTIONS(2115), + [anon_sym_volatile] = ACTIONS(2115), + [anon_sym_restrict] = ACTIONS(2115), + [anon_sym__Atomic] = ACTIONS(2115), + [anon_sym_mutable] = ACTIONS(2115), + [anon_sym_constexpr] = ACTIONS(2115), + [anon_sym_constinit] = ACTIONS(2115), + [anon_sym_consteval] = ACTIONS(2115), + [anon_sym_signed] = ACTIONS(2115), + [anon_sym_unsigned] = ACTIONS(2115), + [anon_sym_long] = ACTIONS(2115), + [anon_sym_short] = ACTIONS(2115), + [sym_primitive_type] = ACTIONS(2115), + [anon_sym_enum] = ACTIONS(2115), + [anon_sym_class] = ACTIONS(2115), + [anon_sym_struct] = ACTIONS(2115), + [anon_sym_union] = ACTIONS(2115), + [anon_sym_if] = ACTIONS(2115), + [anon_sym_else] = ACTIONS(2115), + [anon_sym_switch] = ACTIONS(2115), + [anon_sym_case] = ACTIONS(2115), + [anon_sym_default] = ACTIONS(2115), + [anon_sym_while] = ACTIONS(2115), + [anon_sym_do] = ACTIONS(2115), + [anon_sym_for] = ACTIONS(2115), + [anon_sym_return] = ACTIONS(2115), + [anon_sym_break] = ACTIONS(2115), + [anon_sym_continue] = ACTIONS(2115), + [anon_sym_goto] = ACTIONS(2115), + [anon_sym_DASH_DASH] = ACTIONS(2117), + [anon_sym_PLUS_PLUS] = ACTIONS(2117), + [anon_sym_sizeof] = ACTIONS(2115), + [sym_number_literal] = ACTIONS(2117), + [anon_sym_L_SQUOTE] = ACTIONS(2117), + [anon_sym_u_SQUOTE] = ACTIONS(2117), + [anon_sym_U_SQUOTE] = ACTIONS(2117), + [anon_sym_u8_SQUOTE] = ACTIONS(2117), + [anon_sym_SQUOTE] = ACTIONS(2117), + [anon_sym_L_DQUOTE] = ACTIONS(2117), + [anon_sym_u_DQUOTE] = ACTIONS(2117), + [anon_sym_U_DQUOTE] = ACTIONS(2117), + [anon_sym_u8_DQUOTE] = ACTIONS(2117), + [anon_sym_DQUOTE] = ACTIONS(2117), + [sym_true] = ACTIONS(2115), + [sym_false] = ACTIONS(2115), + [sym_null] = ACTIONS(2115), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2115), + [anon_sym_decltype] = ACTIONS(2115), + [anon_sym_virtual] = ACTIONS(2115), + [anon_sym_explicit] = ACTIONS(2115), + [anon_sym_typename] = ACTIONS(2115), + [anon_sym_template] = ACTIONS(2115), + [anon_sym_operator] = ACTIONS(2115), + [anon_sym_delete] = ACTIONS(2115), + [anon_sym_throw] = ACTIONS(2115), + [anon_sym_namespace] = ACTIONS(2115), + [anon_sym_using] = ACTIONS(2115), + [anon_sym_static_assert] = ACTIONS(2115), + [anon_sym_concept] = ACTIONS(2115), + [anon_sym_co_return] = ACTIONS(2115), + [anon_sym_co_yield] = ACTIONS(2115), + [anon_sym_try] = ACTIONS(2115), + [anon_sym_co_await] = ACTIONS(2115), + [anon_sym_new] = ACTIONS(2115), + [anon_sym_requires] = ACTIONS(2115), + [sym_this] = ACTIONS(2115), + [sym_nullptr] = ACTIONS(2115), + [sym_raw_string_literal] = ACTIONS(2117), + }, + [559] = { + [sym_identifier] = ACTIONS(2095), + [aux_sym_preproc_include_token1] = ACTIONS(2095), + [aux_sym_preproc_def_token1] = ACTIONS(2095), + [aux_sym_preproc_if_token1] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2095), + [sym_preproc_directive] = ACTIONS(2095), + [anon_sym_LPAREN2] = ACTIONS(2097), + [anon_sym_BANG] = ACTIONS(2097), + [anon_sym_TILDE] = ACTIONS(2097), + [anon_sym_DASH] = ACTIONS(2095), + [anon_sym_PLUS] = ACTIONS(2095), + [anon_sym_STAR] = ACTIONS(2097), + [anon_sym_AMP_AMP] = ACTIONS(2097), + [anon_sym_AMP] = ACTIONS(2095), + [anon_sym_SEMI] = ACTIONS(2097), + [anon_sym_typedef] = ACTIONS(2095), + [anon_sym_extern] = ACTIONS(2095), + [anon_sym___attribute__] = ACTIONS(2095), + [anon_sym_COLON_COLON] = ACTIONS(2097), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2097), + [anon_sym___declspec] = ACTIONS(2095), + [anon_sym___based] = ACTIONS(2095), + [anon_sym___cdecl] = ACTIONS(2095), + [anon_sym___clrcall] = ACTIONS(2095), + [anon_sym___stdcall] = ACTIONS(2095), + [anon_sym___fastcall] = ACTIONS(2095), + [anon_sym___thiscall] = ACTIONS(2095), + [anon_sym___vectorcall] = ACTIONS(2095), + [anon_sym_LBRACE] = ACTIONS(2097), + [anon_sym_RBRACE] = ACTIONS(2097), + [anon_sym_LBRACK] = ACTIONS(2095), + [anon_sym_static] = ACTIONS(2095), + [anon_sym_register] = ACTIONS(2095), + [anon_sym_inline] = ACTIONS(2095), + [anon_sym_thread_local] = ACTIONS(2095), + [anon_sym_const] = ACTIONS(2095), + [anon_sym_volatile] = ACTIONS(2095), + [anon_sym_restrict] = ACTIONS(2095), + [anon_sym__Atomic] = ACTIONS(2095), + [anon_sym_mutable] = ACTIONS(2095), + [anon_sym_constexpr] = ACTIONS(2095), + [anon_sym_constinit] = ACTIONS(2095), + [anon_sym_consteval] = ACTIONS(2095), + [anon_sym_signed] = ACTIONS(2095), + [anon_sym_unsigned] = ACTIONS(2095), + [anon_sym_long] = ACTIONS(2095), + [anon_sym_short] = ACTIONS(2095), + [sym_primitive_type] = ACTIONS(2095), + [anon_sym_enum] = ACTIONS(2095), + [anon_sym_class] = ACTIONS(2095), + [anon_sym_struct] = ACTIONS(2095), + [anon_sym_union] = ACTIONS(2095), + [anon_sym_if] = ACTIONS(2095), + [anon_sym_else] = ACTIONS(2095), + [anon_sym_switch] = ACTIONS(2095), + [anon_sym_case] = ACTIONS(2095), + [anon_sym_default] = ACTIONS(2095), + [anon_sym_while] = ACTIONS(2095), + [anon_sym_do] = ACTIONS(2095), + [anon_sym_for] = ACTIONS(2095), + [anon_sym_return] = ACTIONS(2095), + [anon_sym_break] = ACTIONS(2095), + [anon_sym_continue] = ACTIONS(2095), + [anon_sym_goto] = ACTIONS(2095), + [anon_sym_DASH_DASH] = ACTIONS(2097), + [anon_sym_PLUS_PLUS] = ACTIONS(2097), + [anon_sym_sizeof] = ACTIONS(2095), + [sym_number_literal] = ACTIONS(2097), + [anon_sym_L_SQUOTE] = ACTIONS(2097), + [anon_sym_u_SQUOTE] = ACTIONS(2097), + [anon_sym_U_SQUOTE] = ACTIONS(2097), + [anon_sym_u8_SQUOTE] = ACTIONS(2097), + [anon_sym_SQUOTE] = ACTIONS(2097), + [anon_sym_L_DQUOTE] = ACTIONS(2097), + [anon_sym_u_DQUOTE] = ACTIONS(2097), + [anon_sym_U_DQUOTE] = ACTIONS(2097), + [anon_sym_u8_DQUOTE] = ACTIONS(2097), + [anon_sym_DQUOTE] = ACTIONS(2097), + [sym_true] = ACTIONS(2095), + [sym_false] = ACTIONS(2095), + [sym_null] = ACTIONS(2095), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2095), + [anon_sym_decltype] = ACTIONS(2095), + [anon_sym_virtual] = ACTIONS(2095), + [anon_sym_explicit] = ACTIONS(2095), + [anon_sym_typename] = ACTIONS(2095), + [anon_sym_template] = ACTIONS(2095), + [anon_sym_operator] = ACTIONS(2095), + [anon_sym_delete] = ACTIONS(2095), + [anon_sym_throw] = ACTIONS(2095), + [anon_sym_namespace] = ACTIONS(2095), + [anon_sym_using] = ACTIONS(2095), + [anon_sym_static_assert] = ACTIONS(2095), + [anon_sym_concept] = ACTIONS(2095), + [anon_sym_co_return] = ACTIONS(2095), + [anon_sym_co_yield] = ACTIONS(2095), + [anon_sym_try] = ACTIONS(2095), + [anon_sym_co_await] = ACTIONS(2095), + [anon_sym_new] = ACTIONS(2095), + [anon_sym_requires] = ACTIONS(2095), + [sym_this] = ACTIONS(2095), + [sym_nullptr] = ACTIONS(2095), + [sym_raw_string_literal] = ACTIONS(2097), + }, + [560] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [561] = { + [sym_identifier] = ACTIONS(1937), + [aux_sym_preproc_include_token1] = ACTIONS(1937), + [aux_sym_preproc_def_token1] = ACTIONS(1937), + [aux_sym_preproc_if_token1] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1937), + [sym_preproc_directive] = ACTIONS(1937), + [anon_sym_LPAREN2] = ACTIONS(1939), + [anon_sym_BANG] = ACTIONS(1939), + [anon_sym_TILDE] = ACTIONS(1939), + [anon_sym_DASH] = ACTIONS(1937), + [anon_sym_PLUS] = ACTIONS(1937), + [anon_sym_STAR] = ACTIONS(1939), + [anon_sym_AMP_AMP] = ACTIONS(1939), + [anon_sym_AMP] = ACTIONS(1937), + [anon_sym_SEMI] = ACTIONS(1939), + [anon_sym_typedef] = ACTIONS(1937), + [anon_sym_extern] = ACTIONS(1937), + [anon_sym___attribute__] = ACTIONS(1937), + [anon_sym_COLON_COLON] = ACTIONS(1939), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1939), + [anon_sym___declspec] = ACTIONS(1937), + [anon_sym___based] = ACTIONS(1937), + [anon_sym___cdecl] = ACTIONS(1937), + [anon_sym___clrcall] = ACTIONS(1937), + [anon_sym___stdcall] = ACTIONS(1937), + [anon_sym___fastcall] = ACTIONS(1937), + [anon_sym___thiscall] = ACTIONS(1937), + [anon_sym___vectorcall] = ACTIONS(1937), + [anon_sym_LBRACE] = ACTIONS(1939), + [anon_sym_RBRACE] = ACTIONS(1939), + [anon_sym_LBRACK] = ACTIONS(1937), + [anon_sym_static] = ACTIONS(1937), + [anon_sym_register] = ACTIONS(1937), + [anon_sym_inline] = ACTIONS(1937), + [anon_sym_thread_local] = ACTIONS(1937), + [anon_sym_const] = ACTIONS(1937), + [anon_sym_volatile] = ACTIONS(1937), + [anon_sym_restrict] = ACTIONS(1937), + [anon_sym__Atomic] = ACTIONS(1937), + [anon_sym_mutable] = ACTIONS(1937), + [anon_sym_constexpr] = ACTIONS(1937), + [anon_sym_constinit] = ACTIONS(1937), + [anon_sym_consteval] = ACTIONS(1937), + [anon_sym_signed] = ACTIONS(1937), + [anon_sym_unsigned] = ACTIONS(1937), + [anon_sym_long] = ACTIONS(1937), + [anon_sym_short] = ACTIONS(1937), + [sym_primitive_type] = ACTIONS(1937), + [anon_sym_enum] = ACTIONS(1937), + [anon_sym_class] = ACTIONS(1937), + [anon_sym_struct] = ACTIONS(1937), + [anon_sym_union] = ACTIONS(1937), + [anon_sym_if] = ACTIONS(1937), + [anon_sym_else] = ACTIONS(1937), + [anon_sym_switch] = ACTIONS(1937), + [anon_sym_case] = ACTIONS(1937), + [anon_sym_default] = ACTIONS(1937), + [anon_sym_while] = ACTIONS(1937), + [anon_sym_do] = ACTIONS(1937), + [anon_sym_for] = ACTIONS(1937), + [anon_sym_return] = ACTIONS(1937), + [anon_sym_break] = ACTIONS(1937), + [anon_sym_continue] = ACTIONS(1937), + [anon_sym_goto] = ACTIONS(1937), + [anon_sym_DASH_DASH] = ACTIONS(1939), + [anon_sym_PLUS_PLUS] = ACTIONS(1939), + [anon_sym_sizeof] = ACTIONS(1937), + [sym_number_literal] = ACTIONS(1939), + [anon_sym_L_SQUOTE] = ACTIONS(1939), + [anon_sym_u_SQUOTE] = ACTIONS(1939), + [anon_sym_U_SQUOTE] = ACTIONS(1939), + [anon_sym_u8_SQUOTE] = ACTIONS(1939), + [anon_sym_SQUOTE] = ACTIONS(1939), + [anon_sym_L_DQUOTE] = ACTIONS(1939), + [anon_sym_u_DQUOTE] = ACTIONS(1939), + [anon_sym_U_DQUOTE] = ACTIONS(1939), + [anon_sym_u8_DQUOTE] = ACTIONS(1939), + [anon_sym_DQUOTE] = ACTIONS(1939), + [sym_true] = ACTIONS(1937), + [sym_false] = ACTIONS(1937), + [sym_null] = ACTIONS(1937), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1937), + [anon_sym_decltype] = ACTIONS(1937), + [anon_sym_virtual] = ACTIONS(1937), + [anon_sym_explicit] = ACTIONS(1937), + [anon_sym_typename] = ACTIONS(1937), + [anon_sym_template] = ACTIONS(1937), + [anon_sym_operator] = ACTIONS(1937), + [anon_sym_delete] = ACTIONS(1937), + [anon_sym_throw] = ACTIONS(1937), + [anon_sym_namespace] = ACTIONS(1937), + [anon_sym_using] = ACTIONS(1937), + [anon_sym_static_assert] = ACTIONS(1937), + [anon_sym_concept] = ACTIONS(1937), + [anon_sym_co_return] = ACTIONS(1937), + [anon_sym_co_yield] = ACTIONS(1937), + [anon_sym_try] = ACTIONS(1937), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1937), + [anon_sym_requires] = ACTIONS(1937), + [sym_this] = ACTIONS(1937), + [sym_nullptr] = ACTIONS(1937), + [sym_raw_string_literal] = ACTIONS(1939), + }, + [562] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [563] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [564] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [565] = { + [sym_identifier] = ACTIONS(1941), + [aux_sym_preproc_include_token1] = ACTIONS(1941), + [aux_sym_preproc_def_token1] = ACTIONS(1941), + [aux_sym_preproc_if_token1] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1941), + [sym_preproc_directive] = ACTIONS(1941), + [anon_sym_LPAREN2] = ACTIONS(1943), + [anon_sym_BANG] = ACTIONS(1943), + [anon_sym_TILDE] = ACTIONS(1943), + [anon_sym_DASH] = ACTIONS(1941), + [anon_sym_PLUS] = ACTIONS(1941), + [anon_sym_STAR] = ACTIONS(1943), + [anon_sym_AMP_AMP] = ACTIONS(1943), + [anon_sym_AMP] = ACTIONS(1941), + [anon_sym_SEMI] = ACTIONS(1943), + [anon_sym_typedef] = ACTIONS(1941), + [anon_sym_extern] = ACTIONS(1941), + [anon_sym___attribute__] = ACTIONS(1941), + [anon_sym_COLON_COLON] = ACTIONS(1943), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1943), + [anon_sym___declspec] = ACTIONS(1941), + [anon_sym___based] = ACTIONS(1941), + [anon_sym___cdecl] = ACTIONS(1941), + [anon_sym___clrcall] = ACTIONS(1941), + [anon_sym___stdcall] = ACTIONS(1941), + [anon_sym___fastcall] = ACTIONS(1941), + [anon_sym___thiscall] = ACTIONS(1941), + [anon_sym___vectorcall] = ACTIONS(1941), + [anon_sym_LBRACE] = ACTIONS(1943), + [anon_sym_RBRACE] = ACTIONS(1943), + [anon_sym_LBRACK] = ACTIONS(1941), + [anon_sym_static] = ACTIONS(1941), + [anon_sym_register] = ACTIONS(1941), + [anon_sym_inline] = ACTIONS(1941), + [anon_sym_thread_local] = ACTIONS(1941), + [anon_sym_const] = ACTIONS(1941), + [anon_sym_volatile] = ACTIONS(1941), + [anon_sym_restrict] = ACTIONS(1941), + [anon_sym__Atomic] = ACTIONS(1941), + [anon_sym_mutable] = ACTIONS(1941), + [anon_sym_constexpr] = ACTIONS(1941), + [anon_sym_constinit] = ACTIONS(1941), + [anon_sym_consteval] = ACTIONS(1941), + [anon_sym_signed] = ACTIONS(1941), + [anon_sym_unsigned] = ACTIONS(1941), + [anon_sym_long] = ACTIONS(1941), + [anon_sym_short] = ACTIONS(1941), + [sym_primitive_type] = ACTIONS(1941), + [anon_sym_enum] = ACTIONS(1941), + [anon_sym_class] = ACTIONS(1941), + [anon_sym_struct] = ACTIONS(1941), + [anon_sym_union] = ACTIONS(1941), + [anon_sym_if] = ACTIONS(1941), + [anon_sym_else] = ACTIONS(1941), + [anon_sym_switch] = ACTIONS(1941), + [anon_sym_case] = ACTIONS(1941), + [anon_sym_default] = ACTIONS(1941), + [anon_sym_while] = ACTIONS(1941), + [anon_sym_do] = ACTIONS(1941), + [anon_sym_for] = ACTIONS(1941), + [anon_sym_return] = ACTIONS(1941), + [anon_sym_break] = ACTIONS(1941), + [anon_sym_continue] = ACTIONS(1941), + [anon_sym_goto] = ACTIONS(1941), + [anon_sym_DASH_DASH] = ACTIONS(1943), + [anon_sym_PLUS_PLUS] = ACTIONS(1943), + [anon_sym_sizeof] = ACTIONS(1941), + [sym_number_literal] = ACTIONS(1943), + [anon_sym_L_SQUOTE] = ACTIONS(1943), + [anon_sym_u_SQUOTE] = ACTIONS(1943), + [anon_sym_U_SQUOTE] = ACTIONS(1943), + [anon_sym_u8_SQUOTE] = ACTIONS(1943), + [anon_sym_SQUOTE] = ACTIONS(1943), + [anon_sym_L_DQUOTE] = ACTIONS(1943), + [anon_sym_u_DQUOTE] = ACTIONS(1943), + [anon_sym_U_DQUOTE] = ACTIONS(1943), + [anon_sym_u8_DQUOTE] = ACTIONS(1943), + [anon_sym_DQUOTE] = ACTIONS(1943), + [sym_true] = ACTIONS(1941), + [sym_false] = ACTIONS(1941), + [sym_null] = ACTIONS(1941), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1941), + [anon_sym_decltype] = ACTIONS(1941), + [anon_sym_virtual] = ACTIONS(1941), + [anon_sym_explicit] = ACTIONS(1941), + [anon_sym_typename] = ACTIONS(1941), + [anon_sym_template] = ACTIONS(1941), + [anon_sym_operator] = ACTIONS(1941), + [anon_sym_delete] = ACTIONS(1941), + [anon_sym_throw] = ACTIONS(1941), + [anon_sym_namespace] = ACTIONS(1941), + [anon_sym_using] = ACTIONS(1941), + [anon_sym_static_assert] = ACTIONS(1941), + [anon_sym_concept] = ACTIONS(1941), + [anon_sym_co_return] = ACTIONS(1941), + [anon_sym_co_yield] = ACTIONS(1941), + [anon_sym_try] = ACTIONS(1941), + [anon_sym_co_await] = ACTIONS(1941), + [anon_sym_new] = ACTIONS(1941), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1941), + [sym_nullptr] = ACTIONS(1941), + [sym_raw_string_literal] = ACTIONS(1943), + }, + [566] = { + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [anon_sym_COMMA] = ACTIONS(1963), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_if_token2] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1963), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [567] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [568] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token2] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [569] = { + [sym_identifier] = ACTIONS(2009), + [aux_sym_preproc_include_token1] = ACTIONS(2009), + [aux_sym_preproc_def_token1] = ACTIONS(2009), + [aux_sym_preproc_if_token1] = ACTIONS(2009), + [aux_sym_preproc_if_token2] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2009), + [sym_preproc_directive] = ACTIONS(2009), + [anon_sym_LPAREN2] = ACTIONS(2011), + [anon_sym_BANG] = ACTIONS(2011), + [anon_sym_TILDE] = ACTIONS(2011), + [anon_sym_DASH] = ACTIONS(2009), + [anon_sym_PLUS] = ACTIONS(2009), + [anon_sym_STAR] = ACTIONS(2011), + [anon_sym_AMP_AMP] = ACTIONS(2011), + [anon_sym_AMP] = ACTIONS(2009), + [anon_sym_SEMI] = ACTIONS(2011), + [anon_sym_typedef] = ACTIONS(2009), + [anon_sym_extern] = ACTIONS(2009), + [anon_sym___attribute__] = ACTIONS(2009), + [anon_sym_COLON_COLON] = ACTIONS(2011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2011), + [anon_sym___declspec] = ACTIONS(2009), + [anon_sym___based] = ACTIONS(2009), + [anon_sym___cdecl] = ACTIONS(2009), + [anon_sym___clrcall] = ACTIONS(2009), + [anon_sym___stdcall] = ACTIONS(2009), + [anon_sym___fastcall] = ACTIONS(2009), + [anon_sym___thiscall] = ACTIONS(2009), + [anon_sym___vectorcall] = ACTIONS(2009), + [anon_sym_LBRACE] = ACTIONS(2011), + [anon_sym_LBRACK] = ACTIONS(2009), + [anon_sym_static] = ACTIONS(2009), + [anon_sym_register] = ACTIONS(2009), + [anon_sym_inline] = ACTIONS(2009), + [anon_sym_thread_local] = ACTIONS(2009), + [anon_sym_const] = ACTIONS(2009), + [anon_sym_volatile] = ACTIONS(2009), + [anon_sym_restrict] = ACTIONS(2009), + [anon_sym__Atomic] = ACTIONS(2009), + [anon_sym_mutable] = ACTIONS(2009), + [anon_sym_constexpr] = ACTIONS(2009), + [anon_sym_constinit] = ACTIONS(2009), + [anon_sym_consteval] = ACTIONS(2009), + [anon_sym_signed] = ACTIONS(2009), + [anon_sym_unsigned] = ACTIONS(2009), + [anon_sym_long] = ACTIONS(2009), + [anon_sym_short] = ACTIONS(2009), + [sym_primitive_type] = ACTIONS(2009), + [anon_sym_enum] = ACTIONS(2009), + [anon_sym_class] = ACTIONS(2009), + [anon_sym_struct] = ACTIONS(2009), + [anon_sym_union] = ACTIONS(2009), + [anon_sym_if] = ACTIONS(2009), + [anon_sym_else] = ACTIONS(2009), + [anon_sym_switch] = ACTIONS(2009), + [anon_sym_case] = ACTIONS(2009), + [anon_sym_default] = ACTIONS(2009), + [anon_sym_while] = ACTIONS(2009), + [anon_sym_do] = ACTIONS(2009), + [anon_sym_for] = ACTIONS(2009), + [anon_sym_return] = ACTIONS(2009), + [anon_sym_break] = ACTIONS(2009), + [anon_sym_continue] = ACTIONS(2009), + [anon_sym_goto] = ACTIONS(2009), + [anon_sym_DASH_DASH] = ACTIONS(2011), + [anon_sym_PLUS_PLUS] = ACTIONS(2011), + [anon_sym_sizeof] = ACTIONS(2009), + [sym_number_literal] = ACTIONS(2011), + [anon_sym_L_SQUOTE] = ACTIONS(2011), + [anon_sym_u_SQUOTE] = ACTIONS(2011), + [anon_sym_U_SQUOTE] = ACTIONS(2011), + [anon_sym_u8_SQUOTE] = ACTIONS(2011), + [anon_sym_SQUOTE] = ACTIONS(2011), + [anon_sym_L_DQUOTE] = ACTIONS(2011), + [anon_sym_u_DQUOTE] = ACTIONS(2011), + [anon_sym_U_DQUOTE] = ACTIONS(2011), + [anon_sym_u8_DQUOTE] = ACTIONS(2011), + [anon_sym_DQUOTE] = ACTIONS(2011), + [sym_true] = ACTIONS(2009), + [sym_false] = ACTIONS(2009), + [sym_null] = ACTIONS(2009), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2009), + [anon_sym_decltype] = ACTIONS(2009), + [anon_sym_virtual] = ACTIONS(2009), + [anon_sym_explicit] = ACTIONS(2009), + [anon_sym_typename] = ACTIONS(2009), + [anon_sym_template] = ACTIONS(2009), + [anon_sym_operator] = ACTIONS(2009), + [anon_sym_delete] = ACTIONS(2009), + [anon_sym_throw] = ACTIONS(2009), + [anon_sym_namespace] = ACTIONS(2009), + [anon_sym_using] = ACTIONS(2009), + [anon_sym_static_assert] = ACTIONS(2009), + [anon_sym_concept] = ACTIONS(2009), + [anon_sym_co_return] = ACTIONS(2009), + [anon_sym_co_yield] = ACTIONS(2009), + [anon_sym_try] = ACTIONS(2009), + [anon_sym_co_await] = ACTIONS(2009), + [anon_sym_new] = ACTIONS(2009), + [anon_sym_requires] = ACTIONS(2009), + [sym_this] = ACTIONS(2009), + [sym_nullptr] = ACTIONS(2009), + [sym_raw_string_literal] = ACTIONS(2011), + }, + [570] = { + [ts_builtin_sym_end] = ACTIONS(2129), + [sym_identifier] = ACTIONS(2127), + [aux_sym_preproc_include_token1] = ACTIONS(2127), + [aux_sym_preproc_def_token1] = ACTIONS(2127), + [aux_sym_preproc_if_token1] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2127), + [sym_preproc_directive] = ACTIONS(2127), + [anon_sym_LPAREN2] = ACTIONS(2129), + [anon_sym_BANG] = ACTIONS(2129), + [anon_sym_TILDE] = ACTIONS(2129), + [anon_sym_DASH] = ACTIONS(2127), + [anon_sym_PLUS] = ACTIONS(2127), + [anon_sym_STAR] = ACTIONS(2129), + [anon_sym_AMP_AMP] = ACTIONS(2129), + [anon_sym_AMP] = ACTIONS(2127), + [anon_sym_SEMI] = ACTIONS(2129), + [anon_sym_typedef] = ACTIONS(2127), + [anon_sym_extern] = ACTIONS(2127), + [anon_sym___attribute__] = ACTIONS(2127), + [anon_sym_COLON_COLON] = ACTIONS(2129), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2129), + [anon_sym___declspec] = ACTIONS(2127), + [anon_sym___based] = ACTIONS(2127), + [anon_sym___cdecl] = ACTIONS(2127), + [anon_sym___clrcall] = ACTIONS(2127), + [anon_sym___stdcall] = ACTIONS(2127), + [anon_sym___fastcall] = ACTIONS(2127), + [anon_sym___thiscall] = ACTIONS(2127), + [anon_sym___vectorcall] = ACTIONS(2127), + [anon_sym_LBRACE] = ACTIONS(2129), + [anon_sym_LBRACK] = ACTIONS(2127), + [anon_sym_static] = ACTIONS(2127), + [anon_sym_register] = ACTIONS(2127), + [anon_sym_inline] = ACTIONS(2127), + [anon_sym_thread_local] = ACTIONS(2127), + [anon_sym_const] = ACTIONS(2127), + [anon_sym_volatile] = ACTIONS(2127), + [anon_sym_restrict] = ACTIONS(2127), + [anon_sym__Atomic] = ACTIONS(2127), + [anon_sym_mutable] = ACTIONS(2127), + [anon_sym_constexpr] = ACTIONS(2127), + [anon_sym_constinit] = ACTIONS(2127), + [anon_sym_consteval] = ACTIONS(2127), + [anon_sym_signed] = ACTIONS(2127), + [anon_sym_unsigned] = ACTIONS(2127), + [anon_sym_long] = ACTIONS(2127), + [anon_sym_short] = ACTIONS(2127), + [sym_primitive_type] = ACTIONS(2127), + [anon_sym_enum] = ACTIONS(2127), + [anon_sym_class] = ACTIONS(2127), + [anon_sym_struct] = ACTIONS(2127), + [anon_sym_union] = ACTIONS(2127), + [anon_sym_if] = ACTIONS(2127), + [anon_sym_else] = ACTIONS(2127), + [anon_sym_switch] = ACTIONS(2127), + [anon_sym_case] = ACTIONS(2127), + [anon_sym_default] = ACTIONS(2127), + [anon_sym_while] = ACTIONS(2127), + [anon_sym_do] = ACTIONS(2127), + [anon_sym_for] = ACTIONS(2127), + [anon_sym_return] = ACTIONS(2127), + [anon_sym_break] = ACTIONS(2127), + [anon_sym_continue] = ACTIONS(2127), + [anon_sym_goto] = ACTIONS(2127), + [anon_sym_DASH_DASH] = ACTIONS(2129), + [anon_sym_PLUS_PLUS] = ACTIONS(2129), + [anon_sym_sizeof] = ACTIONS(2127), + [sym_number_literal] = ACTIONS(2129), + [anon_sym_L_SQUOTE] = ACTIONS(2129), + [anon_sym_u_SQUOTE] = ACTIONS(2129), + [anon_sym_U_SQUOTE] = ACTIONS(2129), + [anon_sym_u8_SQUOTE] = ACTIONS(2129), + [anon_sym_SQUOTE] = ACTIONS(2129), + [anon_sym_L_DQUOTE] = ACTIONS(2129), + [anon_sym_u_DQUOTE] = ACTIONS(2129), + [anon_sym_U_DQUOTE] = ACTIONS(2129), + [anon_sym_u8_DQUOTE] = ACTIONS(2129), + [anon_sym_DQUOTE] = ACTIONS(2129), + [sym_true] = ACTIONS(2127), + [sym_false] = ACTIONS(2127), + [sym_null] = ACTIONS(2127), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2127), + [anon_sym_decltype] = ACTIONS(2127), + [anon_sym_virtual] = ACTIONS(2127), + [anon_sym_explicit] = ACTIONS(2127), + [anon_sym_typename] = ACTIONS(2127), + [anon_sym_template] = ACTIONS(2127), + [anon_sym_operator] = ACTIONS(2127), + [anon_sym_delete] = ACTIONS(2127), + [anon_sym_throw] = ACTIONS(2127), + [anon_sym_namespace] = ACTIONS(2127), + [anon_sym_using] = ACTIONS(2127), + [anon_sym_static_assert] = ACTIONS(2127), + [anon_sym_concept] = ACTIONS(2127), + [anon_sym_co_return] = ACTIONS(2127), + [anon_sym_co_yield] = ACTIONS(2127), + [anon_sym_try] = ACTIONS(2127), + [anon_sym_co_await] = ACTIONS(2127), + [anon_sym_new] = ACTIONS(2127), + [anon_sym_requires] = ACTIONS(2127), + [sym_this] = ACTIONS(2127), + [sym_nullptr] = ACTIONS(2127), + [sym_raw_string_literal] = ACTIONS(2129), + }, + [571] = { + [ts_builtin_sym_end] = ACTIONS(2125), + [sym_identifier] = ACTIONS(2123), + [aux_sym_preproc_include_token1] = ACTIONS(2123), + [aux_sym_preproc_def_token1] = ACTIONS(2123), + [aux_sym_preproc_if_token1] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2123), + [sym_preproc_directive] = ACTIONS(2123), + [anon_sym_LPAREN2] = ACTIONS(2125), + [anon_sym_BANG] = ACTIONS(2125), + [anon_sym_TILDE] = ACTIONS(2125), + [anon_sym_DASH] = ACTIONS(2123), + [anon_sym_PLUS] = ACTIONS(2123), + [anon_sym_STAR] = ACTIONS(2125), + [anon_sym_AMP_AMP] = ACTIONS(2125), + [anon_sym_AMP] = ACTIONS(2123), + [anon_sym_SEMI] = ACTIONS(2125), + [anon_sym_typedef] = ACTIONS(2123), + [anon_sym_extern] = ACTIONS(2123), + [anon_sym___attribute__] = ACTIONS(2123), + [anon_sym_COLON_COLON] = ACTIONS(2125), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2125), + [anon_sym___declspec] = ACTIONS(2123), + [anon_sym___based] = ACTIONS(2123), + [anon_sym___cdecl] = ACTIONS(2123), + [anon_sym___clrcall] = ACTIONS(2123), + [anon_sym___stdcall] = ACTIONS(2123), + [anon_sym___fastcall] = ACTIONS(2123), + [anon_sym___thiscall] = ACTIONS(2123), + [anon_sym___vectorcall] = ACTIONS(2123), + [anon_sym_LBRACE] = ACTIONS(2125), + [anon_sym_LBRACK] = ACTIONS(2123), + [anon_sym_static] = ACTIONS(2123), + [anon_sym_register] = ACTIONS(2123), + [anon_sym_inline] = ACTIONS(2123), + [anon_sym_thread_local] = ACTIONS(2123), + [anon_sym_const] = ACTIONS(2123), + [anon_sym_volatile] = ACTIONS(2123), + [anon_sym_restrict] = ACTIONS(2123), + [anon_sym__Atomic] = ACTIONS(2123), + [anon_sym_mutable] = ACTIONS(2123), + [anon_sym_constexpr] = ACTIONS(2123), + [anon_sym_constinit] = ACTIONS(2123), + [anon_sym_consteval] = ACTIONS(2123), + [anon_sym_signed] = ACTIONS(2123), + [anon_sym_unsigned] = ACTIONS(2123), + [anon_sym_long] = ACTIONS(2123), + [anon_sym_short] = ACTIONS(2123), + [sym_primitive_type] = ACTIONS(2123), + [anon_sym_enum] = ACTIONS(2123), + [anon_sym_class] = ACTIONS(2123), + [anon_sym_struct] = ACTIONS(2123), + [anon_sym_union] = ACTIONS(2123), + [anon_sym_if] = ACTIONS(2123), + [anon_sym_else] = ACTIONS(2123), + [anon_sym_switch] = ACTIONS(2123), + [anon_sym_case] = ACTIONS(2123), + [anon_sym_default] = ACTIONS(2123), + [anon_sym_while] = ACTIONS(2123), + [anon_sym_do] = ACTIONS(2123), + [anon_sym_for] = ACTIONS(2123), + [anon_sym_return] = ACTIONS(2123), + [anon_sym_break] = ACTIONS(2123), + [anon_sym_continue] = ACTIONS(2123), + [anon_sym_goto] = ACTIONS(2123), + [anon_sym_DASH_DASH] = ACTIONS(2125), + [anon_sym_PLUS_PLUS] = ACTIONS(2125), + [anon_sym_sizeof] = ACTIONS(2123), + [sym_number_literal] = ACTIONS(2125), + [anon_sym_L_SQUOTE] = ACTIONS(2125), + [anon_sym_u_SQUOTE] = ACTIONS(2125), + [anon_sym_U_SQUOTE] = ACTIONS(2125), + [anon_sym_u8_SQUOTE] = ACTIONS(2125), + [anon_sym_SQUOTE] = ACTIONS(2125), + [anon_sym_L_DQUOTE] = ACTIONS(2125), + [anon_sym_u_DQUOTE] = ACTIONS(2125), + [anon_sym_U_DQUOTE] = ACTIONS(2125), + [anon_sym_u8_DQUOTE] = ACTIONS(2125), + [anon_sym_DQUOTE] = ACTIONS(2125), + [sym_true] = ACTIONS(2123), + [sym_false] = ACTIONS(2123), + [sym_null] = ACTIONS(2123), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2123), + [anon_sym_decltype] = ACTIONS(2123), + [anon_sym_virtual] = ACTIONS(2123), + [anon_sym_explicit] = ACTIONS(2123), + [anon_sym_typename] = ACTIONS(2123), + [anon_sym_template] = ACTIONS(2123), + [anon_sym_operator] = ACTIONS(2123), + [anon_sym_delete] = ACTIONS(2123), + [anon_sym_throw] = ACTIONS(2123), + [anon_sym_namespace] = ACTIONS(2123), + [anon_sym_using] = ACTIONS(2123), + [anon_sym_static_assert] = ACTIONS(2123), + [anon_sym_concept] = ACTIONS(2123), + [anon_sym_co_return] = ACTIONS(2123), + [anon_sym_co_yield] = ACTIONS(2123), + [anon_sym_try] = ACTIONS(2123), + [anon_sym_co_await] = ACTIONS(2123), + [anon_sym_new] = ACTIONS(2123), + [anon_sym_requires] = ACTIONS(2123), + [sym_this] = ACTIONS(2123), + [sym_nullptr] = ACTIONS(2123), + [sym_raw_string_literal] = ACTIONS(2125), + }, + [572] = { + [sym_identifier] = ACTIONS(2055), + [aux_sym_preproc_include_token1] = ACTIONS(2055), + [aux_sym_preproc_def_token1] = ACTIONS(2055), + [aux_sym_preproc_if_token1] = ACTIONS(2055), + [aux_sym_preproc_if_token2] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2055), + [sym_preproc_directive] = ACTIONS(2055), + [anon_sym_LPAREN2] = ACTIONS(2057), + [anon_sym_BANG] = ACTIONS(2057), + [anon_sym_TILDE] = ACTIONS(2057), + [anon_sym_DASH] = ACTIONS(2055), + [anon_sym_PLUS] = ACTIONS(2055), + [anon_sym_STAR] = ACTIONS(2057), + [anon_sym_AMP_AMP] = ACTIONS(2057), + [anon_sym_AMP] = ACTIONS(2055), + [anon_sym_SEMI] = ACTIONS(2057), + [anon_sym_typedef] = ACTIONS(2055), + [anon_sym_extern] = ACTIONS(2055), + [anon_sym___attribute__] = ACTIONS(2055), + [anon_sym_COLON_COLON] = ACTIONS(2057), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2057), + [anon_sym___declspec] = ACTIONS(2055), + [anon_sym___based] = ACTIONS(2055), + [anon_sym___cdecl] = ACTIONS(2055), + [anon_sym___clrcall] = ACTIONS(2055), + [anon_sym___stdcall] = ACTIONS(2055), + [anon_sym___fastcall] = ACTIONS(2055), + [anon_sym___thiscall] = ACTIONS(2055), + [anon_sym___vectorcall] = ACTIONS(2055), + [anon_sym_LBRACE] = ACTIONS(2057), + [anon_sym_LBRACK] = ACTIONS(2055), + [anon_sym_static] = ACTIONS(2055), + [anon_sym_register] = ACTIONS(2055), + [anon_sym_inline] = ACTIONS(2055), + [anon_sym_thread_local] = ACTIONS(2055), + [anon_sym_const] = ACTIONS(2055), + [anon_sym_volatile] = ACTIONS(2055), + [anon_sym_restrict] = ACTIONS(2055), + [anon_sym__Atomic] = ACTIONS(2055), + [anon_sym_mutable] = ACTIONS(2055), + [anon_sym_constexpr] = ACTIONS(2055), + [anon_sym_constinit] = ACTIONS(2055), + [anon_sym_consteval] = ACTIONS(2055), + [anon_sym_signed] = ACTIONS(2055), + [anon_sym_unsigned] = ACTIONS(2055), + [anon_sym_long] = ACTIONS(2055), + [anon_sym_short] = ACTIONS(2055), + [sym_primitive_type] = ACTIONS(2055), + [anon_sym_enum] = ACTIONS(2055), + [anon_sym_class] = ACTIONS(2055), + [anon_sym_struct] = ACTIONS(2055), + [anon_sym_union] = ACTIONS(2055), + [anon_sym_if] = ACTIONS(2055), + [anon_sym_else] = ACTIONS(2055), + [anon_sym_switch] = ACTIONS(2055), + [anon_sym_case] = ACTIONS(2055), + [anon_sym_default] = ACTIONS(2055), + [anon_sym_while] = ACTIONS(2055), + [anon_sym_do] = ACTIONS(2055), + [anon_sym_for] = ACTIONS(2055), + [anon_sym_return] = ACTIONS(2055), + [anon_sym_break] = ACTIONS(2055), + [anon_sym_continue] = ACTIONS(2055), + [anon_sym_goto] = ACTIONS(2055), + [anon_sym_DASH_DASH] = ACTIONS(2057), + [anon_sym_PLUS_PLUS] = ACTIONS(2057), + [anon_sym_sizeof] = ACTIONS(2055), + [sym_number_literal] = ACTIONS(2057), + [anon_sym_L_SQUOTE] = ACTIONS(2057), + [anon_sym_u_SQUOTE] = ACTIONS(2057), + [anon_sym_U_SQUOTE] = ACTIONS(2057), + [anon_sym_u8_SQUOTE] = ACTIONS(2057), + [anon_sym_SQUOTE] = ACTIONS(2057), + [anon_sym_L_DQUOTE] = ACTIONS(2057), + [anon_sym_u_DQUOTE] = ACTIONS(2057), + [anon_sym_U_DQUOTE] = ACTIONS(2057), + [anon_sym_u8_DQUOTE] = ACTIONS(2057), + [anon_sym_DQUOTE] = ACTIONS(2057), + [sym_true] = ACTIONS(2055), + [sym_false] = ACTIONS(2055), + [sym_null] = ACTIONS(2055), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2055), + [anon_sym_decltype] = ACTIONS(2055), + [anon_sym_virtual] = ACTIONS(2055), + [anon_sym_explicit] = ACTIONS(2055), + [anon_sym_typename] = ACTIONS(2055), + [anon_sym_template] = ACTIONS(2055), + [anon_sym_operator] = ACTIONS(2055), + [anon_sym_delete] = ACTIONS(2055), + [anon_sym_throw] = ACTIONS(2055), + [anon_sym_namespace] = ACTIONS(2055), + [anon_sym_using] = ACTIONS(2055), + [anon_sym_static_assert] = ACTIONS(2055), + [anon_sym_concept] = ACTIONS(2055), + [anon_sym_co_return] = ACTIONS(2055), + [anon_sym_co_yield] = ACTIONS(2055), + [anon_sym_try] = ACTIONS(2055), + [anon_sym_co_await] = ACTIONS(2055), + [anon_sym_new] = ACTIONS(2055), + [anon_sym_requires] = ACTIONS(2055), + [sym_this] = ACTIONS(2055), + [sym_nullptr] = ACTIONS(2055), + [sym_raw_string_literal] = ACTIONS(2057), + }, + [573] = { + [sym_identifier] = ACTIONS(2013), + [aux_sym_preproc_include_token1] = ACTIONS(2013), + [aux_sym_preproc_def_token1] = ACTIONS(2013), + [aux_sym_preproc_if_token1] = ACTIONS(2013), + [aux_sym_preproc_if_token2] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2013), + [sym_preproc_directive] = ACTIONS(2013), + [anon_sym_LPAREN2] = ACTIONS(2015), + [anon_sym_BANG] = ACTIONS(2015), + [anon_sym_TILDE] = ACTIONS(2015), + [anon_sym_DASH] = ACTIONS(2013), + [anon_sym_PLUS] = ACTIONS(2013), + [anon_sym_STAR] = ACTIONS(2015), + [anon_sym_AMP_AMP] = ACTIONS(2015), + [anon_sym_AMP] = ACTIONS(2013), + [anon_sym_SEMI] = ACTIONS(2015), + [anon_sym_typedef] = ACTIONS(2013), + [anon_sym_extern] = ACTIONS(2013), + [anon_sym___attribute__] = ACTIONS(2013), + [anon_sym_COLON_COLON] = ACTIONS(2015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2015), + [anon_sym___declspec] = ACTIONS(2013), + [anon_sym___based] = ACTIONS(2013), + [anon_sym___cdecl] = ACTIONS(2013), + [anon_sym___clrcall] = ACTIONS(2013), + [anon_sym___stdcall] = ACTIONS(2013), + [anon_sym___fastcall] = ACTIONS(2013), + [anon_sym___thiscall] = ACTIONS(2013), + [anon_sym___vectorcall] = ACTIONS(2013), + [anon_sym_LBRACE] = ACTIONS(2015), + [anon_sym_LBRACK] = ACTIONS(2013), + [anon_sym_static] = ACTIONS(2013), + [anon_sym_register] = ACTIONS(2013), + [anon_sym_inline] = ACTIONS(2013), + [anon_sym_thread_local] = ACTIONS(2013), + [anon_sym_const] = ACTIONS(2013), + [anon_sym_volatile] = ACTIONS(2013), + [anon_sym_restrict] = ACTIONS(2013), + [anon_sym__Atomic] = ACTIONS(2013), + [anon_sym_mutable] = ACTIONS(2013), + [anon_sym_constexpr] = ACTIONS(2013), + [anon_sym_constinit] = ACTIONS(2013), + [anon_sym_consteval] = ACTIONS(2013), + [anon_sym_signed] = ACTIONS(2013), + [anon_sym_unsigned] = ACTIONS(2013), + [anon_sym_long] = ACTIONS(2013), + [anon_sym_short] = ACTIONS(2013), + [sym_primitive_type] = ACTIONS(2013), + [anon_sym_enum] = ACTIONS(2013), + [anon_sym_class] = ACTIONS(2013), + [anon_sym_struct] = ACTIONS(2013), + [anon_sym_union] = ACTIONS(2013), + [anon_sym_if] = ACTIONS(2013), + [anon_sym_else] = ACTIONS(2013), + [anon_sym_switch] = ACTIONS(2013), + [anon_sym_case] = ACTIONS(2013), + [anon_sym_default] = ACTIONS(2013), + [anon_sym_while] = ACTIONS(2013), + [anon_sym_do] = ACTIONS(2013), + [anon_sym_for] = ACTIONS(2013), + [anon_sym_return] = ACTIONS(2013), + [anon_sym_break] = ACTIONS(2013), + [anon_sym_continue] = ACTIONS(2013), + [anon_sym_goto] = ACTIONS(2013), + [anon_sym_DASH_DASH] = ACTIONS(2015), + [anon_sym_PLUS_PLUS] = ACTIONS(2015), + [anon_sym_sizeof] = ACTIONS(2013), + [sym_number_literal] = ACTIONS(2015), + [anon_sym_L_SQUOTE] = ACTIONS(2015), + [anon_sym_u_SQUOTE] = ACTIONS(2015), + [anon_sym_U_SQUOTE] = ACTIONS(2015), + [anon_sym_u8_SQUOTE] = ACTIONS(2015), + [anon_sym_SQUOTE] = ACTIONS(2015), + [anon_sym_L_DQUOTE] = ACTIONS(2015), + [anon_sym_u_DQUOTE] = ACTIONS(2015), + [anon_sym_U_DQUOTE] = ACTIONS(2015), + [anon_sym_u8_DQUOTE] = ACTIONS(2015), + [anon_sym_DQUOTE] = ACTIONS(2015), + [sym_true] = ACTIONS(2013), + [sym_false] = ACTIONS(2013), + [sym_null] = ACTIONS(2013), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2013), + [anon_sym_decltype] = ACTIONS(2013), + [anon_sym_virtual] = ACTIONS(2013), + [anon_sym_explicit] = ACTIONS(2013), + [anon_sym_typename] = ACTIONS(2013), + [anon_sym_template] = ACTIONS(2013), + [anon_sym_operator] = ACTIONS(2013), + [anon_sym_delete] = ACTIONS(2013), + [anon_sym_throw] = ACTIONS(2013), + [anon_sym_namespace] = ACTIONS(2013), + [anon_sym_using] = ACTIONS(2013), + [anon_sym_static_assert] = ACTIONS(2013), + [anon_sym_concept] = ACTIONS(2013), + [anon_sym_co_return] = ACTIONS(2013), + [anon_sym_co_yield] = ACTIONS(2013), + [anon_sym_try] = ACTIONS(2013), + [anon_sym_co_await] = ACTIONS(2013), + [anon_sym_new] = ACTIONS(2013), + [anon_sym_requires] = ACTIONS(2013), + [sym_this] = ACTIONS(2013), + [sym_nullptr] = ACTIONS(2013), + [sym_raw_string_literal] = ACTIONS(2015), + }, + [574] = { + [sym_identifier] = ACTIONS(2019), + [aux_sym_preproc_include_token1] = ACTIONS(2019), + [aux_sym_preproc_def_token1] = ACTIONS(2019), + [aux_sym_preproc_if_token1] = ACTIONS(2019), + [aux_sym_preproc_if_token2] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2019), + [sym_preproc_directive] = ACTIONS(2019), + [anon_sym_LPAREN2] = ACTIONS(2021), + [anon_sym_BANG] = ACTIONS(2021), + [anon_sym_TILDE] = ACTIONS(2021), + [anon_sym_DASH] = ACTIONS(2019), + [anon_sym_PLUS] = ACTIONS(2019), + [anon_sym_STAR] = ACTIONS(2021), + [anon_sym_AMP_AMP] = ACTIONS(2021), + [anon_sym_AMP] = ACTIONS(2019), + [anon_sym_SEMI] = ACTIONS(2021), + [anon_sym_typedef] = ACTIONS(2019), + [anon_sym_extern] = ACTIONS(2019), + [anon_sym___attribute__] = ACTIONS(2019), + [anon_sym_COLON_COLON] = ACTIONS(2021), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2021), + [anon_sym___declspec] = ACTIONS(2019), + [anon_sym___based] = ACTIONS(2019), + [anon_sym___cdecl] = ACTIONS(2019), + [anon_sym___clrcall] = ACTIONS(2019), + [anon_sym___stdcall] = ACTIONS(2019), + [anon_sym___fastcall] = ACTIONS(2019), + [anon_sym___thiscall] = ACTIONS(2019), + [anon_sym___vectorcall] = ACTIONS(2019), + [anon_sym_LBRACE] = ACTIONS(2021), + [anon_sym_LBRACK] = ACTIONS(2019), + [anon_sym_static] = ACTIONS(2019), + [anon_sym_register] = ACTIONS(2019), + [anon_sym_inline] = ACTIONS(2019), + [anon_sym_thread_local] = ACTIONS(2019), + [anon_sym_const] = ACTIONS(2019), + [anon_sym_volatile] = ACTIONS(2019), + [anon_sym_restrict] = ACTIONS(2019), + [anon_sym__Atomic] = ACTIONS(2019), + [anon_sym_mutable] = ACTIONS(2019), + [anon_sym_constexpr] = ACTIONS(2019), + [anon_sym_constinit] = ACTIONS(2019), + [anon_sym_consteval] = ACTIONS(2019), + [anon_sym_signed] = ACTIONS(2019), + [anon_sym_unsigned] = ACTIONS(2019), + [anon_sym_long] = ACTIONS(2019), + [anon_sym_short] = ACTIONS(2019), + [sym_primitive_type] = ACTIONS(2019), + [anon_sym_enum] = ACTIONS(2019), + [anon_sym_class] = ACTIONS(2019), + [anon_sym_struct] = ACTIONS(2019), + [anon_sym_union] = ACTIONS(2019), + [anon_sym_if] = ACTIONS(2019), + [anon_sym_else] = ACTIONS(2019), + [anon_sym_switch] = ACTIONS(2019), + [anon_sym_case] = ACTIONS(2019), + [anon_sym_default] = ACTIONS(2019), + [anon_sym_while] = ACTIONS(2019), + [anon_sym_do] = ACTIONS(2019), + [anon_sym_for] = ACTIONS(2019), + [anon_sym_return] = ACTIONS(2019), + [anon_sym_break] = ACTIONS(2019), + [anon_sym_continue] = ACTIONS(2019), + [anon_sym_goto] = ACTIONS(2019), + [anon_sym_DASH_DASH] = ACTIONS(2021), + [anon_sym_PLUS_PLUS] = ACTIONS(2021), + [anon_sym_sizeof] = ACTIONS(2019), + [sym_number_literal] = ACTIONS(2021), + [anon_sym_L_SQUOTE] = ACTIONS(2021), + [anon_sym_u_SQUOTE] = ACTIONS(2021), + [anon_sym_U_SQUOTE] = ACTIONS(2021), + [anon_sym_u8_SQUOTE] = ACTIONS(2021), + [anon_sym_SQUOTE] = ACTIONS(2021), + [anon_sym_L_DQUOTE] = ACTIONS(2021), + [anon_sym_u_DQUOTE] = ACTIONS(2021), + [anon_sym_U_DQUOTE] = ACTIONS(2021), + [anon_sym_u8_DQUOTE] = ACTIONS(2021), + [anon_sym_DQUOTE] = ACTIONS(2021), + [sym_true] = ACTIONS(2019), + [sym_false] = ACTIONS(2019), + [sym_null] = ACTIONS(2019), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2019), + [anon_sym_decltype] = ACTIONS(2019), + [anon_sym_virtual] = ACTIONS(2019), + [anon_sym_explicit] = ACTIONS(2019), + [anon_sym_typename] = ACTIONS(2019), + [anon_sym_template] = ACTIONS(2019), + [anon_sym_operator] = ACTIONS(2019), + [anon_sym_delete] = ACTIONS(2019), + [anon_sym_throw] = ACTIONS(2019), + [anon_sym_namespace] = ACTIONS(2019), + [anon_sym_using] = ACTIONS(2019), + [anon_sym_static_assert] = ACTIONS(2019), + [anon_sym_concept] = ACTIONS(2019), + [anon_sym_co_return] = ACTIONS(2019), + [anon_sym_co_yield] = ACTIONS(2019), + [anon_sym_try] = ACTIONS(2019), + [anon_sym_co_await] = ACTIONS(2019), + [anon_sym_new] = ACTIONS(2019), + [anon_sym_requires] = ACTIONS(2019), + [sym_this] = ACTIONS(2019), + [sym_nullptr] = ACTIONS(2019), + [sym_raw_string_literal] = ACTIONS(2021), + }, + [575] = { + [sym_identifier] = ACTIONS(2059), + [aux_sym_preproc_include_token1] = ACTIONS(2059), + [aux_sym_preproc_def_token1] = ACTIONS(2059), + [aux_sym_preproc_if_token1] = ACTIONS(2059), + [aux_sym_preproc_if_token2] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2059), + [sym_preproc_directive] = ACTIONS(2059), + [anon_sym_LPAREN2] = ACTIONS(2061), + [anon_sym_BANG] = ACTIONS(2061), + [anon_sym_TILDE] = ACTIONS(2061), + [anon_sym_DASH] = ACTIONS(2059), + [anon_sym_PLUS] = ACTIONS(2059), + [anon_sym_STAR] = ACTIONS(2061), + [anon_sym_AMP_AMP] = ACTIONS(2061), + [anon_sym_AMP] = ACTIONS(2059), + [anon_sym_SEMI] = ACTIONS(2061), + [anon_sym_typedef] = ACTIONS(2059), + [anon_sym_extern] = ACTIONS(2059), + [anon_sym___attribute__] = ACTIONS(2059), + [anon_sym_COLON_COLON] = ACTIONS(2061), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2061), + [anon_sym___declspec] = ACTIONS(2059), + [anon_sym___based] = ACTIONS(2059), + [anon_sym___cdecl] = ACTIONS(2059), + [anon_sym___clrcall] = ACTIONS(2059), + [anon_sym___stdcall] = ACTIONS(2059), + [anon_sym___fastcall] = ACTIONS(2059), + [anon_sym___thiscall] = ACTIONS(2059), + [anon_sym___vectorcall] = ACTIONS(2059), + [anon_sym_LBRACE] = ACTIONS(2061), + [anon_sym_LBRACK] = ACTIONS(2059), + [anon_sym_static] = ACTIONS(2059), + [anon_sym_register] = ACTIONS(2059), + [anon_sym_inline] = ACTIONS(2059), + [anon_sym_thread_local] = ACTIONS(2059), + [anon_sym_const] = ACTIONS(2059), + [anon_sym_volatile] = ACTIONS(2059), + [anon_sym_restrict] = ACTIONS(2059), + [anon_sym__Atomic] = ACTIONS(2059), + [anon_sym_mutable] = ACTIONS(2059), + [anon_sym_constexpr] = ACTIONS(2059), + [anon_sym_constinit] = ACTIONS(2059), + [anon_sym_consteval] = ACTIONS(2059), + [anon_sym_signed] = ACTIONS(2059), + [anon_sym_unsigned] = ACTIONS(2059), + [anon_sym_long] = ACTIONS(2059), + [anon_sym_short] = ACTIONS(2059), + [sym_primitive_type] = ACTIONS(2059), + [anon_sym_enum] = ACTIONS(2059), + [anon_sym_class] = ACTIONS(2059), + [anon_sym_struct] = ACTIONS(2059), + [anon_sym_union] = ACTIONS(2059), + [anon_sym_if] = ACTIONS(2059), + [anon_sym_else] = ACTIONS(2059), + [anon_sym_switch] = ACTIONS(2059), + [anon_sym_case] = ACTIONS(2059), + [anon_sym_default] = ACTIONS(2059), + [anon_sym_while] = ACTIONS(2059), + [anon_sym_do] = ACTIONS(2059), + [anon_sym_for] = ACTIONS(2059), + [anon_sym_return] = ACTIONS(2059), + [anon_sym_break] = ACTIONS(2059), + [anon_sym_continue] = ACTIONS(2059), + [anon_sym_goto] = ACTIONS(2059), + [anon_sym_DASH_DASH] = ACTIONS(2061), + [anon_sym_PLUS_PLUS] = ACTIONS(2061), + [anon_sym_sizeof] = ACTIONS(2059), + [sym_number_literal] = ACTIONS(2061), + [anon_sym_L_SQUOTE] = ACTIONS(2061), + [anon_sym_u_SQUOTE] = ACTIONS(2061), + [anon_sym_U_SQUOTE] = ACTIONS(2061), + [anon_sym_u8_SQUOTE] = ACTIONS(2061), + [anon_sym_SQUOTE] = ACTIONS(2061), + [anon_sym_L_DQUOTE] = ACTIONS(2061), + [anon_sym_u_DQUOTE] = ACTIONS(2061), + [anon_sym_U_DQUOTE] = ACTIONS(2061), + [anon_sym_u8_DQUOTE] = ACTIONS(2061), + [anon_sym_DQUOTE] = ACTIONS(2061), + [sym_true] = ACTIONS(2059), + [sym_false] = ACTIONS(2059), + [sym_null] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2059), + [anon_sym_decltype] = ACTIONS(2059), + [anon_sym_virtual] = ACTIONS(2059), + [anon_sym_explicit] = ACTIONS(2059), + [anon_sym_typename] = ACTIONS(2059), + [anon_sym_template] = ACTIONS(2059), + [anon_sym_operator] = ACTIONS(2059), + [anon_sym_delete] = ACTIONS(2059), + [anon_sym_throw] = ACTIONS(2059), + [anon_sym_namespace] = ACTIONS(2059), + [anon_sym_using] = ACTIONS(2059), + [anon_sym_static_assert] = ACTIONS(2059), + [anon_sym_concept] = ACTIONS(2059), + [anon_sym_co_return] = ACTIONS(2059), + [anon_sym_co_yield] = ACTIONS(2059), + [anon_sym_try] = ACTIONS(2059), + [anon_sym_co_await] = ACTIONS(2059), + [anon_sym_new] = ACTIONS(2059), + [anon_sym_requires] = ACTIONS(2059), + [sym_this] = ACTIONS(2059), + [sym_nullptr] = ACTIONS(2059), + [sym_raw_string_literal] = ACTIONS(2061), + }, + [576] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [577] = { + [sym_identifier] = ACTIONS(1949), + [aux_sym_preproc_include_token1] = ACTIONS(1949), + [aux_sym_preproc_def_token1] = ACTIONS(1949), + [aux_sym_preproc_if_token1] = ACTIONS(1949), + [aux_sym_preproc_if_token2] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1949), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1949), + [sym_preproc_directive] = ACTIONS(1949), + [anon_sym_LPAREN2] = ACTIONS(1951), + [anon_sym_BANG] = ACTIONS(1951), + [anon_sym_TILDE] = ACTIONS(1951), + [anon_sym_DASH] = ACTIONS(1949), + [anon_sym_PLUS] = ACTIONS(1949), + [anon_sym_STAR] = ACTIONS(1951), + [anon_sym_AMP_AMP] = ACTIONS(1951), + [anon_sym_AMP] = ACTIONS(1949), + [anon_sym_SEMI] = ACTIONS(1951), + [anon_sym_typedef] = ACTIONS(1949), + [anon_sym_extern] = ACTIONS(1949), + [anon_sym___attribute__] = ACTIONS(1949), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1951), + [anon_sym___declspec] = ACTIONS(1949), + [anon_sym___based] = ACTIONS(1949), + [anon_sym___cdecl] = ACTIONS(1949), + [anon_sym___clrcall] = ACTIONS(1949), + [anon_sym___stdcall] = ACTIONS(1949), + [anon_sym___fastcall] = ACTIONS(1949), + [anon_sym___thiscall] = ACTIONS(1949), + [anon_sym___vectorcall] = ACTIONS(1949), + [anon_sym_LBRACE] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(1949), + [anon_sym_static] = ACTIONS(1949), + [anon_sym_register] = ACTIONS(1949), + [anon_sym_inline] = ACTIONS(1949), + [anon_sym_thread_local] = ACTIONS(1949), + [anon_sym_const] = ACTIONS(1949), + [anon_sym_volatile] = ACTIONS(1949), + [anon_sym_restrict] = ACTIONS(1949), + [anon_sym__Atomic] = ACTIONS(1949), + [anon_sym_mutable] = ACTIONS(1949), + [anon_sym_constexpr] = ACTIONS(1949), + [anon_sym_constinit] = ACTIONS(1949), + [anon_sym_consteval] = ACTIONS(1949), + [anon_sym_signed] = ACTIONS(1949), + [anon_sym_unsigned] = ACTIONS(1949), + [anon_sym_long] = ACTIONS(1949), + [anon_sym_short] = ACTIONS(1949), + [sym_primitive_type] = ACTIONS(1949), + [anon_sym_enum] = ACTIONS(1949), + [anon_sym_class] = ACTIONS(1949), + [anon_sym_struct] = ACTIONS(1949), + [anon_sym_union] = ACTIONS(1949), + [anon_sym_if] = ACTIONS(1949), + [anon_sym_else] = ACTIONS(1949), + [anon_sym_switch] = ACTIONS(1949), + [anon_sym_case] = ACTIONS(1949), + [anon_sym_default] = ACTIONS(1949), + [anon_sym_while] = ACTIONS(1949), + [anon_sym_do] = ACTIONS(1949), + [anon_sym_for] = ACTIONS(1949), + [anon_sym_return] = ACTIONS(1949), + [anon_sym_break] = ACTIONS(1949), + [anon_sym_continue] = ACTIONS(1949), + [anon_sym_goto] = ACTIONS(1949), + [anon_sym_DASH_DASH] = ACTIONS(1951), + [anon_sym_PLUS_PLUS] = ACTIONS(1951), + [anon_sym_sizeof] = ACTIONS(1949), + [sym_number_literal] = ACTIONS(1951), + [anon_sym_L_SQUOTE] = ACTIONS(1951), + [anon_sym_u_SQUOTE] = ACTIONS(1951), + [anon_sym_U_SQUOTE] = ACTIONS(1951), + [anon_sym_u8_SQUOTE] = ACTIONS(1951), + [anon_sym_SQUOTE] = ACTIONS(1951), + [anon_sym_L_DQUOTE] = ACTIONS(1951), + [anon_sym_u_DQUOTE] = ACTIONS(1951), + [anon_sym_U_DQUOTE] = ACTIONS(1951), + [anon_sym_u8_DQUOTE] = ACTIONS(1951), + [anon_sym_DQUOTE] = ACTIONS(1951), + [sym_true] = ACTIONS(1949), + [sym_false] = ACTIONS(1949), + [sym_null] = ACTIONS(1949), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1949), + [anon_sym_decltype] = ACTIONS(1949), + [anon_sym_virtual] = ACTIONS(1949), + [anon_sym_explicit] = ACTIONS(1949), + [anon_sym_typename] = ACTIONS(1949), + [anon_sym_template] = ACTIONS(1949), + [anon_sym_operator] = ACTIONS(1949), + [anon_sym_delete] = ACTIONS(1949), + [anon_sym_throw] = ACTIONS(1949), + [anon_sym_namespace] = ACTIONS(1949), + [anon_sym_using] = ACTIONS(1949), + [anon_sym_static_assert] = ACTIONS(1949), + [anon_sym_concept] = ACTIONS(1949), + [anon_sym_co_return] = ACTIONS(1949), + [anon_sym_co_yield] = ACTIONS(1949), + [anon_sym_try] = ACTIONS(1949), + [anon_sym_co_await] = ACTIONS(1949), + [anon_sym_new] = ACTIONS(1949), + [anon_sym_requires] = ACTIONS(1949), + [sym_this] = ACTIONS(1949), + [sym_nullptr] = ACTIONS(1949), + [sym_raw_string_literal] = ACTIONS(1951), + }, + [578] = { + [ts_builtin_sym_end] = ACTIONS(2033), + [sym_identifier] = ACTIONS(2031), + [aux_sym_preproc_include_token1] = ACTIONS(2031), + [aux_sym_preproc_def_token1] = ACTIONS(2031), + [aux_sym_preproc_if_token1] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2031), + [sym_preproc_directive] = ACTIONS(2031), + [anon_sym_LPAREN2] = ACTIONS(2033), + [anon_sym_BANG] = ACTIONS(2033), + [anon_sym_TILDE] = ACTIONS(2033), + [anon_sym_DASH] = ACTIONS(2031), + [anon_sym_PLUS] = ACTIONS(2031), + [anon_sym_STAR] = ACTIONS(2033), + [anon_sym_AMP_AMP] = ACTIONS(2033), + [anon_sym_AMP] = ACTIONS(2031), + [anon_sym_SEMI] = ACTIONS(2033), + [anon_sym_typedef] = ACTIONS(2031), + [anon_sym_extern] = ACTIONS(2031), + [anon_sym___attribute__] = ACTIONS(2031), + [anon_sym_COLON_COLON] = ACTIONS(2033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2033), + [anon_sym___declspec] = ACTIONS(2031), + [anon_sym___based] = ACTIONS(2031), + [anon_sym___cdecl] = ACTIONS(2031), + [anon_sym___clrcall] = ACTIONS(2031), + [anon_sym___stdcall] = ACTIONS(2031), + [anon_sym___fastcall] = ACTIONS(2031), + [anon_sym___thiscall] = ACTIONS(2031), + [anon_sym___vectorcall] = ACTIONS(2031), + [anon_sym_LBRACE] = ACTIONS(2033), + [anon_sym_LBRACK] = ACTIONS(2031), + [anon_sym_static] = ACTIONS(2031), + [anon_sym_register] = ACTIONS(2031), + [anon_sym_inline] = ACTIONS(2031), + [anon_sym_thread_local] = ACTIONS(2031), + [anon_sym_const] = ACTIONS(2031), + [anon_sym_volatile] = ACTIONS(2031), + [anon_sym_restrict] = ACTIONS(2031), + [anon_sym__Atomic] = ACTIONS(2031), + [anon_sym_mutable] = ACTIONS(2031), + [anon_sym_constexpr] = ACTIONS(2031), + [anon_sym_constinit] = ACTIONS(2031), + [anon_sym_consteval] = ACTIONS(2031), + [anon_sym_signed] = ACTIONS(2031), + [anon_sym_unsigned] = ACTIONS(2031), + [anon_sym_long] = ACTIONS(2031), + [anon_sym_short] = ACTIONS(2031), + [sym_primitive_type] = ACTIONS(2031), + [anon_sym_enum] = ACTIONS(2031), + [anon_sym_class] = ACTIONS(2031), + [anon_sym_struct] = ACTIONS(2031), + [anon_sym_union] = ACTIONS(2031), + [anon_sym_if] = ACTIONS(2031), + [anon_sym_else] = ACTIONS(2031), + [anon_sym_switch] = ACTIONS(2031), + [anon_sym_case] = ACTIONS(2031), + [anon_sym_default] = ACTIONS(2031), + [anon_sym_while] = ACTIONS(2031), + [anon_sym_do] = ACTIONS(2031), + [anon_sym_for] = ACTIONS(2031), + [anon_sym_return] = ACTIONS(2031), + [anon_sym_break] = ACTIONS(2031), + [anon_sym_continue] = ACTIONS(2031), + [anon_sym_goto] = ACTIONS(2031), + [anon_sym_DASH_DASH] = ACTIONS(2033), + [anon_sym_PLUS_PLUS] = ACTIONS(2033), + [anon_sym_sizeof] = ACTIONS(2031), + [sym_number_literal] = ACTIONS(2033), + [anon_sym_L_SQUOTE] = ACTIONS(2033), + [anon_sym_u_SQUOTE] = ACTIONS(2033), + [anon_sym_U_SQUOTE] = ACTIONS(2033), + [anon_sym_u8_SQUOTE] = ACTIONS(2033), + [anon_sym_SQUOTE] = ACTIONS(2033), + [anon_sym_L_DQUOTE] = ACTIONS(2033), + [anon_sym_u_DQUOTE] = ACTIONS(2033), + [anon_sym_U_DQUOTE] = ACTIONS(2033), + [anon_sym_u8_DQUOTE] = ACTIONS(2033), + [anon_sym_DQUOTE] = ACTIONS(2033), + [sym_true] = ACTIONS(2031), + [sym_false] = ACTIONS(2031), + [sym_null] = ACTIONS(2031), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2031), + [anon_sym_decltype] = ACTIONS(2031), + [anon_sym_virtual] = ACTIONS(2031), + [anon_sym_explicit] = ACTIONS(2031), + [anon_sym_typename] = ACTIONS(2031), + [anon_sym_template] = ACTIONS(2031), + [anon_sym_operator] = ACTIONS(2031), + [anon_sym_delete] = ACTIONS(2031), + [anon_sym_throw] = ACTIONS(2031), + [anon_sym_namespace] = ACTIONS(2031), + [anon_sym_using] = ACTIONS(2031), + [anon_sym_static_assert] = ACTIONS(2031), + [anon_sym_concept] = ACTIONS(2031), + [anon_sym_co_return] = ACTIONS(2031), + [anon_sym_co_yield] = ACTIONS(2031), + [anon_sym_try] = ACTIONS(2031), + [anon_sym_co_await] = ACTIONS(2031), + [anon_sym_new] = ACTIONS(2031), + [anon_sym_requires] = ACTIONS(2031), + [sym_this] = ACTIONS(2031), + [sym_nullptr] = ACTIONS(2031), + [sym_raw_string_literal] = ACTIONS(2033), + }, + [579] = { + [sym_identifier] = ACTIONS(2091), + [aux_sym_preproc_include_token1] = ACTIONS(2091), + [aux_sym_preproc_def_token1] = ACTIONS(2091), + [aux_sym_preproc_if_token1] = ACTIONS(2091), + [aux_sym_preproc_if_token2] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2091), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2091), + [sym_preproc_directive] = ACTIONS(2091), + [anon_sym_LPAREN2] = ACTIONS(2093), + [anon_sym_BANG] = ACTIONS(2093), + [anon_sym_TILDE] = ACTIONS(2093), + [anon_sym_DASH] = ACTIONS(2091), + [anon_sym_PLUS] = ACTIONS(2091), + [anon_sym_STAR] = ACTIONS(2093), + [anon_sym_AMP_AMP] = ACTIONS(2093), + [anon_sym_AMP] = ACTIONS(2091), + [anon_sym_SEMI] = ACTIONS(2093), + [anon_sym_typedef] = ACTIONS(2091), + [anon_sym_extern] = ACTIONS(2091), + [anon_sym___attribute__] = ACTIONS(2091), + [anon_sym_COLON_COLON] = ACTIONS(2093), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2093), + [anon_sym___declspec] = ACTIONS(2091), + [anon_sym___based] = ACTIONS(2091), + [anon_sym___cdecl] = ACTIONS(2091), + [anon_sym___clrcall] = ACTIONS(2091), + [anon_sym___stdcall] = ACTIONS(2091), + [anon_sym___fastcall] = ACTIONS(2091), + [anon_sym___thiscall] = ACTIONS(2091), + [anon_sym___vectorcall] = ACTIONS(2091), + [anon_sym_LBRACE] = ACTIONS(2093), + [anon_sym_LBRACK] = ACTIONS(2091), + [anon_sym_static] = ACTIONS(2091), + [anon_sym_register] = ACTIONS(2091), + [anon_sym_inline] = ACTIONS(2091), + [anon_sym_thread_local] = ACTIONS(2091), + [anon_sym_const] = ACTIONS(2091), + [anon_sym_volatile] = ACTIONS(2091), + [anon_sym_restrict] = ACTIONS(2091), + [anon_sym__Atomic] = ACTIONS(2091), + [anon_sym_mutable] = ACTIONS(2091), + [anon_sym_constexpr] = ACTIONS(2091), + [anon_sym_constinit] = ACTIONS(2091), + [anon_sym_consteval] = ACTIONS(2091), + [anon_sym_signed] = ACTIONS(2091), + [anon_sym_unsigned] = ACTIONS(2091), + [anon_sym_long] = ACTIONS(2091), + [anon_sym_short] = ACTIONS(2091), + [sym_primitive_type] = ACTIONS(2091), + [anon_sym_enum] = ACTIONS(2091), + [anon_sym_class] = ACTIONS(2091), + [anon_sym_struct] = ACTIONS(2091), + [anon_sym_union] = ACTIONS(2091), + [anon_sym_if] = ACTIONS(2091), + [anon_sym_else] = ACTIONS(2091), + [anon_sym_switch] = ACTIONS(2091), + [anon_sym_case] = ACTIONS(2091), + [anon_sym_default] = ACTIONS(2091), + [anon_sym_while] = ACTIONS(2091), + [anon_sym_do] = ACTIONS(2091), + [anon_sym_for] = ACTIONS(2091), + [anon_sym_return] = ACTIONS(2091), + [anon_sym_break] = ACTIONS(2091), + [anon_sym_continue] = ACTIONS(2091), + [anon_sym_goto] = ACTIONS(2091), + [anon_sym_DASH_DASH] = ACTIONS(2093), + [anon_sym_PLUS_PLUS] = ACTIONS(2093), + [anon_sym_sizeof] = ACTIONS(2091), + [sym_number_literal] = ACTIONS(2093), + [anon_sym_L_SQUOTE] = ACTIONS(2093), + [anon_sym_u_SQUOTE] = ACTIONS(2093), + [anon_sym_U_SQUOTE] = ACTIONS(2093), + [anon_sym_u8_SQUOTE] = ACTIONS(2093), + [anon_sym_SQUOTE] = ACTIONS(2093), + [anon_sym_L_DQUOTE] = ACTIONS(2093), + [anon_sym_u_DQUOTE] = ACTIONS(2093), + [anon_sym_U_DQUOTE] = ACTIONS(2093), + [anon_sym_u8_DQUOTE] = ACTIONS(2093), + [anon_sym_DQUOTE] = ACTIONS(2093), + [sym_true] = ACTIONS(2091), + [sym_false] = ACTIONS(2091), + [sym_null] = ACTIONS(2091), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2091), + [anon_sym_decltype] = ACTIONS(2091), + [anon_sym_virtual] = ACTIONS(2091), + [anon_sym_explicit] = ACTIONS(2091), + [anon_sym_typename] = ACTIONS(2091), + [anon_sym_template] = ACTIONS(2091), + [anon_sym_operator] = ACTIONS(2091), + [anon_sym_delete] = ACTIONS(2091), + [anon_sym_throw] = ACTIONS(2091), + [anon_sym_namespace] = ACTIONS(2091), + [anon_sym_using] = ACTIONS(2091), + [anon_sym_static_assert] = ACTIONS(2091), + [anon_sym_concept] = ACTIONS(2091), + [anon_sym_co_return] = ACTIONS(2091), + [anon_sym_co_yield] = ACTIONS(2091), + [anon_sym_try] = ACTIONS(2091), + [anon_sym_co_await] = ACTIONS(2091), + [anon_sym_new] = ACTIONS(2091), + [anon_sym_requires] = ACTIONS(2091), + [sym_this] = ACTIONS(2091), + [sym_nullptr] = ACTIONS(2091), + [sym_raw_string_literal] = ACTIONS(2093), + }, + [580] = { + [sym_identifier] = ACTIONS(2079), + [aux_sym_preproc_include_token1] = ACTIONS(2079), + [aux_sym_preproc_def_token1] = ACTIONS(2079), + [aux_sym_preproc_if_token1] = ACTIONS(2079), + [aux_sym_preproc_if_token2] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2079), + [sym_preproc_directive] = ACTIONS(2079), + [anon_sym_LPAREN2] = ACTIONS(2081), + [anon_sym_BANG] = ACTIONS(2081), + [anon_sym_TILDE] = ACTIONS(2081), + [anon_sym_DASH] = ACTIONS(2079), + [anon_sym_PLUS] = ACTIONS(2079), + [anon_sym_STAR] = ACTIONS(2081), + [anon_sym_AMP_AMP] = ACTIONS(2081), + [anon_sym_AMP] = ACTIONS(2079), + [anon_sym_SEMI] = ACTIONS(2081), + [anon_sym_typedef] = ACTIONS(2079), + [anon_sym_extern] = ACTIONS(2079), + [anon_sym___attribute__] = ACTIONS(2079), + [anon_sym_COLON_COLON] = ACTIONS(2081), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2081), + [anon_sym___declspec] = ACTIONS(2079), + [anon_sym___based] = ACTIONS(2079), + [anon_sym___cdecl] = ACTIONS(2079), + [anon_sym___clrcall] = ACTIONS(2079), + [anon_sym___stdcall] = ACTIONS(2079), + [anon_sym___fastcall] = ACTIONS(2079), + [anon_sym___thiscall] = ACTIONS(2079), + [anon_sym___vectorcall] = ACTIONS(2079), + [anon_sym_LBRACE] = ACTIONS(2081), + [anon_sym_LBRACK] = ACTIONS(2079), + [anon_sym_static] = ACTIONS(2079), + [anon_sym_register] = ACTIONS(2079), + [anon_sym_inline] = ACTIONS(2079), + [anon_sym_thread_local] = ACTIONS(2079), + [anon_sym_const] = ACTIONS(2079), + [anon_sym_volatile] = ACTIONS(2079), + [anon_sym_restrict] = ACTIONS(2079), + [anon_sym__Atomic] = ACTIONS(2079), + [anon_sym_mutable] = ACTIONS(2079), + [anon_sym_constexpr] = ACTIONS(2079), + [anon_sym_constinit] = ACTIONS(2079), + [anon_sym_consteval] = ACTIONS(2079), + [anon_sym_signed] = ACTIONS(2079), + [anon_sym_unsigned] = ACTIONS(2079), + [anon_sym_long] = ACTIONS(2079), + [anon_sym_short] = ACTIONS(2079), + [sym_primitive_type] = ACTIONS(2079), + [anon_sym_enum] = ACTIONS(2079), + [anon_sym_class] = ACTIONS(2079), + [anon_sym_struct] = ACTIONS(2079), + [anon_sym_union] = ACTIONS(2079), + [anon_sym_if] = ACTIONS(2079), + [anon_sym_else] = ACTIONS(2079), + [anon_sym_switch] = ACTIONS(2079), + [anon_sym_case] = ACTIONS(2079), + [anon_sym_default] = ACTIONS(2079), + [anon_sym_while] = ACTIONS(2079), + [anon_sym_do] = ACTIONS(2079), + [anon_sym_for] = ACTIONS(2079), + [anon_sym_return] = ACTIONS(2079), + [anon_sym_break] = ACTIONS(2079), + [anon_sym_continue] = ACTIONS(2079), + [anon_sym_goto] = ACTIONS(2079), + [anon_sym_DASH_DASH] = ACTIONS(2081), + [anon_sym_PLUS_PLUS] = ACTIONS(2081), + [anon_sym_sizeof] = ACTIONS(2079), + [sym_number_literal] = ACTIONS(2081), + [anon_sym_L_SQUOTE] = ACTIONS(2081), + [anon_sym_u_SQUOTE] = ACTIONS(2081), + [anon_sym_U_SQUOTE] = ACTIONS(2081), + [anon_sym_u8_SQUOTE] = ACTIONS(2081), + [anon_sym_SQUOTE] = ACTIONS(2081), + [anon_sym_L_DQUOTE] = ACTIONS(2081), + [anon_sym_u_DQUOTE] = ACTIONS(2081), + [anon_sym_U_DQUOTE] = ACTIONS(2081), + [anon_sym_u8_DQUOTE] = ACTIONS(2081), + [anon_sym_DQUOTE] = ACTIONS(2081), + [sym_true] = ACTIONS(2079), + [sym_false] = ACTIONS(2079), + [sym_null] = ACTIONS(2079), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2079), + [anon_sym_decltype] = ACTIONS(2079), + [anon_sym_virtual] = ACTIONS(2079), + [anon_sym_explicit] = ACTIONS(2079), + [anon_sym_typename] = ACTIONS(2079), + [anon_sym_template] = ACTIONS(2079), + [anon_sym_operator] = ACTIONS(2079), + [anon_sym_delete] = ACTIONS(2079), + [anon_sym_throw] = ACTIONS(2079), + [anon_sym_namespace] = ACTIONS(2079), + [anon_sym_using] = ACTIONS(2079), + [anon_sym_static_assert] = ACTIONS(2079), + [anon_sym_concept] = ACTIONS(2079), + [anon_sym_co_return] = ACTIONS(2079), + [anon_sym_co_yield] = ACTIONS(2079), + [anon_sym_try] = ACTIONS(2079), + [anon_sym_co_await] = ACTIONS(2079), + [anon_sym_new] = ACTIONS(2079), + [anon_sym_requires] = ACTIONS(2079), + [sym_this] = ACTIONS(2079), + [sym_nullptr] = ACTIONS(2079), + [sym_raw_string_literal] = ACTIONS(2081), + }, + [581] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [582] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [583] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [584] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [585] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [586] = { + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_RBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [587] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [588] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [589] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [590] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [591] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [592] = { + [ts_builtin_sym_end] = ACTIONS(2049), + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [593] = { + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_RBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [594] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [595] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [596] = { + [ts_builtin_sym_end] = ACTIONS(2089), + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [597] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [598] = { + [ts_builtin_sym_end] = ACTIONS(2049), + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [599] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [600] = { + [ts_builtin_sym_end] = ACTIONS(2029), + [sym_identifier] = ACTIONS(2027), + [aux_sym_preproc_include_token1] = ACTIONS(2027), + [aux_sym_preproc_def_token1] = ACTIONS(2027), + [aux_sym_preproc_if_token1] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2027), + [sym_preproc_directive] = ACTIONS(2027), + [anon_sym_LPAREN2] = ACTIONS(2029), + [anon_sym_BANG] = ACTIONS(2029), + [anon_sym_TILDE] = ACTIONS(2029), + [anon_sym_DASH] = ACTIONS(2027), + [anon_sym_PLUS] = ACTIONS(2027), + [anon_sym_STAR] = ACTIONS(2029), + [anon_sym_AMP_AMP] = ACTIONS(2029), + [anon_sym_AMP] = ACTIONS(2027), + [anon_sym_SEMI] = ACTIONS(2029), + [anon_sym_typedef] = ACTIONS(2027), + [anon_sym_extern] = ACTIONS(2027), + [anon_sym___attribute__] = ACTIONS(2027), + [anon_sym_COLON_COLON] = ACTIONS(2029), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2029), + [anon_sym___declspec] = ACTIONS(2027), + [anon_sym___based] = ACTIONS(2027), + [anon_sym___cdecl] = ACTIONS(2027), + [anon_sym___clrcall] = ACTIONS(2027), + [anon_sym___stdcall] = ACTIONS(2027), + [anon_sym___fastcall] = ACTIONS(2027), + [anon_sym___thiscall] = ACTIONS(2027), + [anon_sym___vectorcall] = ACTIONS(2027), + [anon_sym_LBRACE] = ACTIONS(2029), + [anon_sym_LBRACK] = ACTIONS(2027), + [anon_sym_static] = ACTIONS(2027), + [anon_sym_register] = ACTIONS(2027), + [anon_sym_inline] = ACTIONS(2027), + [anon_sym_thread_local] = ACTIONS(2027), + [anon_sym_const] = ACTIONS(2027), + [anon_sym_volatile] = ACTIONS(2027), + [anon_sym_restrict] = ACTIONS(2027), + [anon_sym__Atomic] = ACTIONS(2027), + [anon_sym_mutable] = ACTIONS(2027), + [anon_sym_constexpr] = ACTIONS(2027), + [anon_sym_constinit] = ACTIONS(2027), + [anon_sym_consteval] = ACTIONS(2027), + [anon_sym_signed] = ACTIONS(2027), + [anon_sym_unsigned] = ACTIONS(2027), + [anon_sym_long] = ACTIONS(2027), + [anon_sym_short] = ACTIONS(2027), + [sym_primitive_type] = ACTIONS(2027), + [anon_sym_enum] = ACTIONS(2027), + [anon_sym_class] = ACTIONS(2027), + [anon_sym_struct] = ACTIONS(2027), + [anon_sym_union] = ACTIONS(2027), + [anon_sym_if] = ACTIONS(2027), + [anon_sym_else] = ACTIONS(2027), + [anon_sym_switch] = ACTIONS(2027), + [anon_sym_case] = ACTIONS(2027), + [anon_sym_default] = ACTIONS(2027), + [anon_sym_while] = ACTIONS(2027), + [anon_sym_do] = ACTIONS(2027), + [anon_sym_for] = ACTIONS(2027), + [anon_sym_return] = ACTIONS(2027), + [anon_sym_break] = ACTIONS(2027), + [anon_sym_continue] = ACTIONS(2027), + [anon_sym_goto] = ACTIONS(2027), + [anon_sym_DASH_DASH] = ACTIONS(2029), + [anon_sym_PLUS_PLUS] = ACTIONS(2029), + [anon_sym_sizeof] = ACTIONS(2027), + [sym_number_literal] = ACTIONS(2029), + [anon_sym_L_SQUOTE] = ACTIONS(2029), + [anon_sym_u_SQUOTE] = ACTIONS(2029), + [anon_sym_U_SQUOTE] = ACTIONS(2029), + [anon_sym_u8_SQUOTE] = ACTIONS(2029), + [anon_sym_SQUOTE] = ACTIONS(2029), + [anon_sym_L_DQUOTE] = ACTIONS(2029), + [anon_sym_u_DQUOTE] = ACTIONS(2029), + [anon_sym_U_DQUOTE] = ACTIONS(2029), + [anon_sym_u8_DQUOTE] = ACTIONS(2029), + [anon_sym_DQUOTE] = ACTIONS(2029), + [sym_true] = ACTIONS(2027), + [sym_false] = ACTIONS(2027), + [sym_null] = ACTIONS(2027), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2027), + [anon_sym_decltype] = ACTIONS(2027), + [anon_sym_virtual] = ACTIONS(2027), + [anon_sym_explicit] = ACTIONS(2027), + [anon_sym_typename] = ACTIONS(2027), + [anon_sym_template] = ACTIONS(2027), + [anon_sym_operator] = ACTIONS(2027), + [anon_sym_delete] = ACTIONS(2027), + [anon_sym_throw] = ACTIONS(2027), + [anon_sym_namespace] = ACTIONS(2027), + [anon_sym_using] = ACTIONS(2027), + [anon_sym_static_assert] = ACTIONS(2027), + [anon_sym_concept] = ACTIONS(2027), + [anon_sym_co_return] = ACTIONS(2027), + [anon_sym_co_yield] = ACTIONS(2027), + [anon_sym_try] = ACTIONS(2027), + [anon_sym_co_await] = ACTIONS(2027), + [anon_sym_new] = ACTIONS(2027), + [anon_sym_requires] = ACTIONS(2027), + [sym_this] = ACTIONS(2027), + [sym_nullptr] = ACTIONS(2027), + [sym_raw_string_literal] = ACTIONS(2029), + }, + [601] = { + [ts_builtin_sym_end] = ACTIONS(2025), + [sym_identifier] = ACTIONS(2023), + [aux_sym_preproc_include_token1] = ACTIONS(2023), + [aux_sym_preproc_def_token1] = ACTIONS(2023), + [aux_sym_preproc_if_token1] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2023), + [sym_preproc_directive] = ACTIONS(2023), + [anon_sym_LPAREN2] = ACTIONS(2025), + [anon_sym_BANG] = ACTIONS(2025), + [anon_sym_TILDE] = ACTIONS(2025), + [anon_sym_DASH] = ACTIONS(2023), + [anon_sym_PLUS] = ACTIONS(2023), + [anon_sym_STAR] = ACTIONS(2025), + [anon_sym_AMP_AMP] = ACTIONS(2025), + [anon_sym_AMP] = ACTIONS(2023), + [anon_sym_SEMI] = ACTIONS(2025), + [anon_sym_typedef] = ACTIONS(2023), + [anon_sym_extern] = ACTIONS(2023), + [anon_sym___attribute__] = ACTIONS(2023), + [anon_sym_COLON_COLON] = ACTIONS(2025), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2025), + [anon_sym___declspec] = ACTIONS(2023), + [anon_sym___based] = ACTIONS(2023), + [anon_sym___cdecl] = ACTIONS(2023), + [anon_sym___clrcall] = ACTIONS(2023), + [anon_sym___stdcall] = ACTIONS(2023), + [anon_sym___fastcall] = ACTIONS(2023), + [anon_sym___thiscall] = ACTIONS(2023), + [anon_sym___vectorcall] = ACTIONS(2023), + [anon_sym_LBRACE] = ACTIONS(2025), + [anon_sym_LBRACK] = ACTIONS(2023), + [anon_sym_static] = ACTIONS(2023), + [anon_sym_register] = ACTIONS(2023), + [anon_sym_inline] = ACTIONS(2023), + [anon_sym_thread_local] = ACTIONS(2023), + [anon_sym_const] = ACTIONS(2023), + [anon_sym_volatile] = ACTIONS(2023), + [anon_sym_restrict] = ACTIONS(2023), + [anon_sym__Atomic] = ACTIONS(2023), + [anon_sym_mutable] = ACTIONS(2023), + [anon_sym_constexpr] = ACTIONS(2023), + [anon_sym_constinit] = ACTIONS(2023), + [anon_sym_consteval] = ACTIONS(2023), + [anon_sym_signed] = ACTIONS(2023), + [anon_sym_unsigned] = ACTIONS(2023), + [anon_sym_long] = ACTIONS(2023), + [anon_sym_short] = ACTIONS(2023), + [sym_primitive_type] = ACTIONS(2023), + [anon_sym_enum] = ACTIONS(2023), + [anon_sym_class] = ACTIONS(2023), + [anon_sym_struct] = ACTIONS(2023), + [anon_sym_union] = ACTIONS(2023), + [anon_sym_if] = ACTIONS(2023), + [anon_sym_else] = ACTIONS(2023), + [anon_sym_switch] = ACTIONS(2023), + [anon_sym_case] = ACTIONS(2023), + [anon_sym_default] = ACTIONS(2023), + [anon_sym_while] = ACTIONS(2023), + [anon_sym_do] = ACTIONS(2023), + [anon_sym_for] = ACTIONS(2023), + [anon_sym_return] = ACTIONS(2023), + [anon_sym_break] = ACTIONS(2023), + [anon_sym_continue] = ACTIONS(2023), + [anon_sym_goto] = ACTIONS(2023), + [anon_sym_DASH_DASH] = ACTIONS(2025), + [anon_sym_PLUS_PLUS] = ACTIONS(2025), + [anon_sym_sizeof] = ACTIONS(2023), + [sym_number_literal] = ACTIONS(2025), + [anon_sym_L_SQUOTE] = ACTIONS(2025), + [anon_sym_u_SQUOTE] = ACTIONS(2025), + [anon_sym_U_SQUOTE] = ACTIONS(2025), + [anon_sym_u8_SQUOTE] = ACTIONS(2025), + [anon_sym_SQUOTE] = ACTIONS(2025), + [anon_sym_L_DQUOTE] = ACTIONS(2025), + [anon_sym_u_DQUOTE] = ACTIONS(2025), + [anon_sym_U_DQUOTE] = ACTIONS(2025), + [anon_sym_u8_DQUOTE] = ACTIONS(2025), + [anon_sym_DQUOTE] = ACTIONS(2025), + [sym_true] = ACTIONS(2023), + [sym_false] = ACTIONS(2023), + [sym_null] = ACTIONS(2023), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2023), + [anon_sym_decltype] = ACTIONS(2023), + [anon_sym_virtual] = ACTIONS(2023), + [anon_sym_explicit] = ACTIONS(2023), + [anon_sym_typename] = ACTIONS(2023), + [anon_sym_template] = ACTIONS(2023), + [anon_sym_operator] = ACTIONS(2023), + [anon_sym_delete] = ACTIONS(2023), + [anon_sym_throw] = ACTIONS(2023), + [anon_sym_namespace] = ACTIONS(2023), + [anon_sym_using] = ACTIONS(2023), + [anon_sym_static_assert] = ACTIONS(2023), + [anon_sym_concept] = ACTIONS(2023), + [anon_sym_co_return] = ACTIONS(2023), + [anon_sym_co_yield] = ACTIONS(2023), + [anon_sym_try] = ACTIONS(2023), + [anon_sym_co_await] = ACTIONS(2023), + [anon_sym_new] = ACTIONS(2023), + [anon_sym_requires] = ACTIONS(2023), + [sym_this] = ACTIONS(2023), + [sym_nullptr] = ACTIONS(2023), + [sym_raw_string_literal] = ACTIONS(2025), + }, + [602] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [603] = { + [sym_identifier] = ACTIONS(1937), + [aux_sym_preproc_include_token1] = ACTIONS(1937), + [aux_sym_preproc_def_token1] = ACTIONS(1937), + [aux_sym_preproc_if_token1] = ACTIONS(1937), + [aux_sym_preproc_if_token2] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1937), + [sym_preproc_directive] = ACTIONS(1937), + [anon_sym_LPAREN2] = ACTIONS(1939), + [anon_sym_BANG] = ACTIONS(1939), + [anon_sym_TILDE] = ACTIONS(1939), + [anon_sym_DASH] = ACTIONS(1937), + [anon_sym_PLUS] = ACTIONS(1937), + [anon_sym_STAR] = ACTIONS(1939), + [anon_sym_AMP_AMP] = ACTIONS(1939), + [anon_sym_AMP] = ACTIONS(1937), + [anon_sym_SEMI] = ACTIONS(1939), + [anon_sym_typedef] = ACTIONS(1937), + [anon_sym_extern] = ACTIONS(1937), + [anon_sym___attribute__] = ACTIONS(1937), + [anon_sym_COLON_COLON] = ACTIONS(1939), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1939), + [anon_sym___declspec] = ACTIONS(1937), + [anon_sym___based] = ACTIONS(1937), + [anon_sym___cdecl] = ACTIONS(1937), + [anon_sym___clrcall] = ACTIONS(1937), + [anon_sym___stdcall] = ACTIONS(1937), + [anon_sym___fastcall] = ACTIONS(1937), + [anon_sym___thiscall] = ACTIONS(1937), + [anon_sym___vectorcall] = ACTIONS(1937), + [anon_sym_LBRACE] = ACTIONS(1939), + [anon_sym_LBRACK] = ACTIONS(1937), + [anon_sym_static] = ACTIONS(1937), + [anon_sym_register] = ACTIONS(1937), + [anon_sym_inline] = ACTIONS(1937), + [anon_sym_thread_local] = ACTIONS(1937), + [anon_sym_const] = ACTIONS(1937), + [anon_sym_volatile] = ACTIONS(1937), + [anon_sym_restrict] = ACTIONS(1937), + [anon_sym__Atomic] = ACTIONS(1937), + [anon_sym_mutable] = ACTIONS(1937), + [anon_sym_constexpr] = ACTIONS(1937), + [anon_sym_constinit] = ACTIONS(1937), + [anon_sym_consteval] = ACTIONS(1937), + [anon_sym_signed] = ACTIONS(1937), + [anon_sym_unsigned] = ACTIONS(1937), + [anon_sym_long] = ACTIONS(1937), + [anon_sym_short] = ACTIONS(1937), + [sym_primitive_type] = ACTIONS(1937), + [anon_sym_enum] = ACTIONS(1937), + [anon_sym_class] = ACTIONS(1937), + [anon_sym_struct] = ACTIONS(1937), + [anon_sym_union] = ACTIONS(1937), + [anon_sym_if] = ACTIONS(1937), + [anon_sym_else] = ACTIONS(1937), + [anon_sym_switch] = ACTIONS(1937), + [anon_sym_case] = ACTIONS(1937), + [anon_sym_default] = ACTIONS(1937), + [anon_sym_while] = ACTIONS(1937), + [anon_sym_do] = ACTIONS(1937), + [anon_sym_for] = ACTIONS(1937), + [anon_sym_return] = ACTIONS(1937), + [anon_sym_break] = ACTIONS(1937), + [anon_sym_continue] = ACTIONS(1937), + [anon_sym_goto] = ACTIONS(1937), + [anon_sym_DASH_DASH] = ACTIONS(1939), + [anon_sym_PLUS_PLUS] = ACTIONS(1939), + [anon_sym_sizeof] = ACTIONS(1937), + [sym_number_literal] = ACTIONS(1939), + [anon_sym_L_SQUOTE] = ACTIONS(1939), + [anon_sym_u_SQUOTE] = ACTIONS(1939), + [anon_sym_U_SQUOTE] = ACTIONS(1939), + [anon_sym_u8_SQUOTE] = ACTIONS(1939), + [anon_sym_SQUOTE] = ACTIONS(1939), + [anon_sym_L_DQUOTE] = ACTIONS(1939), + [anon_sym_u_DQUOTE] = ACTIONS(1939), + [anon_sym_U_DQUOTE] = ACTIONS(1939), + [anon_sym_u8_DQUOTE] = ACTIONS(1939), + [anon_sym_DQUOTE] = ACTIONS(1939), + [sym_true] = ACTIONS(1937), + [sym_false] = ACTIONS(1937), + [sym_null] = ACTIONS(1937), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1937), + [anon_sym_decltype] = ACTIONS(1937), + [anon_sym_virtual] = ACTIONS(1937), + [anon_sym_explicit] = ACTIONS(1937), + [anon_sym_typename] = ACTIONS(1937), + [anon_sym_template] = ACTIONS(1937), + [anon_sym_operator] = ACTIONS(1937), + [anon_sym_delete] = ACTIONS(1937), + [anon_sym_throw] = ACTIONS(1937), + [anon_sym_namespace] = ACTIONS(1937), + [anon_sym_using] = ACTIONS(1937), + [anon_sym_static_assert] = ACTIONS(1937), + [anon_sym_concept] = ACTIONS(1937), + [anon_sym_co_return] = ACTIONS(1937), + [anon_sym_co_yield] = ACTIONS(1937), + [anon_sym_try] = ACTIONS(1937), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1937), + [anon_sym_requires] = ACTIONS(1937), + [sym_this] = ACTIONS(1937), + [sym_nullptr] = ACTIONS(1937), + [sym_raw_string_literal] = ACTIONS(1939), + }, + [604] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [605] = { + [sym_identifier] = ACTIONS(1941), + [aux_sym_preproc_include_token1] = ACTIONS(1941), + [aux_sym_preproc_def_token1] = ACTIONS(1941), + [aux_sym_preproc_if_token1] = ACTIONS(1941), + [aux_sym_preproc_if_token2] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1941), + [sym_preproc_directive] = ACTIONS(1941), + [anon_sym_LPAREN2] = ACTIONS(1943), + [anon_sym_BANG] = ACTIONS(1943), + [anon_sym_TILDE] = ACTIONS(1943), + [anon_sym_DASH] = ACTIONS(1941), + [anon_sym_PLUS] = ACTIONS(1941), + [anon_sym_STAR] = ACTIONS(1943), + [anon_sym_AMP_AMP] = ACTIONS(1943), + [anon_sym_AMP] = ACTIONS(1941), + [anon_sym_SEMI] = ACTIONS(1943), + [anon_sym_typedef] = ACTIONS(1941), + [anon_sym_extern] = ACTIONS(1941), + [anon_sym___attribute__] = ACTIONS(1941), + [anon_sym_COLON_COLON] = ACTIONS(1943), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1943), + [anon_sym___declspec] = ACTIONS(1941), + [anon_sym___based] = ACTIONS(1941), + [anon_sym___cdecl] = ACTIONS(1941), + [anon_sym___clrcall] = ACTIONS(1941), + [anon_sym___stdcall] = ACTIONS(1941), + [anon_sym___fastcall] = ACTIONS(1941), + [anon_sym___thiscall] = ACTIONS(1941), + [anon_sym___vectorcall] = ACTIONS(1941), + [anon_sym_LBRACE] = ACTIONS(1943), + [anon_sym_LBRACK] = ACTIONS(1941), + [anon_sym_static] = ACTIONS(1941), + [anon_sym_register] = ACTIONS(1941), + [anon_sym_inline] = ACTIONS(1941), + [anon_sym_thread_local] = ACTIONS(1941), + [anon_sym_const] = ACTIONS(1941), + [anon_sym_volatile] = ACTIONS(1941), + [anon_sym_restrict] = ACTIONS(1941), + [anon_sym__Atomic] = ACTIONS(1941), + [anon_sym_mutable] = ACTIONS(1941), + [anon_sym_constexpr] = ACTIONS(1941), + [anon_sym_constinit] = ACTIONS(1941), + [anon_sym_consteval] = ACTIONS(1941), + [anon_sym_signed] = ACTIONS(1941), + [anon_sym_unsigned] = ACTIONS(1941), + [anon_sym_long] = ACTIONS(1941), + [anon_sym_short] = ACTIONS(1941), + [sym_primitive_type] = ACTIONS(1941), + [anon_sym_enum] = ACTIONS(1941), + [anon_sym_class] = ACTIONS(1941), + [anon_sym_struct] = ACTIONS(1941), + [anon_sym_union] = ACTIONS(1941), + [anon_sym_if] = ACTIONS(1941), + [anon_sym_else] = ACTIONS(1941), + [anon_sym_switch] = ACTIONS(1941), + [anon_sym_case] = ACTIONS(1941), + [anon_sym_default] = ACTIONS(1941), + [anon_sym_while] = ACTIONS(1941), + [anon_sym_do] = ACTIONS(1941), + [anon_sym_for] = ACTIONS(1941), + [anon_sym_return] = ACTIONS(1941), + [anon_sym_break] = ACTIONS(1941), + [anon_sym_continue] = ACTIONS(1941), + [anon_sym_goto] = ACTIONS(1941), + [anon_sym_DASH_DASH] = ACTIONS(1943), + [anon_sym_PLUS_PLUS] = ACTIONS(1943), + [anon_sym_sizeof] = ACTIONS(1941), + [sym_number_literal] = ACTIONS(1943), + [anon_sym_L_SQUOTE] = ACTIONS(1943), + [anon_sym_u_SQUOTE] = ACTIONS(1943), + [anon_sym_U_SQUOTE] = ACTIONS(1943), + [anon_sym_u8_SQUOTE] = ACTIONS(1943), + [anon_sym_SQUOTE] = ACTIONS(1943), + [anon_sym_L_DQUOTE] = ACTIONS(1943), + [anon_sym_u_DQUOTE] = ACTIONS(1943), + [anon_sym_U_DQUOTE] = ACTIONS(1943), + [anon_sym_u8_DQUOTE] = ACTIONS(1943), + [anon_sym_DQUOTE] = ACTIONS(1943), + [sym_true] = ACTIONS(1941), + [sym_false] = ACTIONS(1941), + [sym_null] = ACTIONS(1941), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1941), + [anon_sym_decltype] = ACTIONS(1941), + [anon_sym_virtual] = ACTIONS(1941), + [anon_sym_explicit] = ACTIONS(1941), + [anon_sym_typename] = ACTIONS(1941), + [anon_sym_template] = ACTIONS(1941), + [anon_sym_operator] = ACTIONS(1941), + [anon_sym_delete] = ACTIONS(1941), + [anon_sym_throw] = ACTIONS(1941), + [anon_sym_namespace] = ACTIONS(1941), + [anon_sym_using] = ACTIONS(1941), + [anon_sym_static_assert] = ACTIONS(1941), + [anon_sym_concept] = ACTIONS(1941), + [anon_sym_co_return] = ACTIONS(1941), + [anon_sym_co_yield] = ACTIONS(1941), + [anon_sym_try] = ACTIONS(1941), + [anon_sym_co_await] = ACTIONS(1941), + [anon_sym_new] = ACTIONS(1941), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1941), + [sym_nullptr] = ACTIONS(1941), + [sym_raw_string_literal] = ACTIONS(1943), + }, + [606] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [607] = { + [ts_builtin_sym_end] = ACTIONS(1863), + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [anon_sym_COMMA] = ACTIONS(1963), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1963), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [608] = { + [sym_identifier] = ACTIONS(1953), + [aux_sym_preproc_include_token1] = ACTIONS(1953), + [aux_sym_preproc_def_token1] = ACTIONS(1953), + [aux_sym_preproc_if_token1] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1953), + [sym_preproc_directive] = ACTIONS(1953), + [anon_sym_LPAREN2] = ACTIONS(1955), + [anon_sym_BANG] = ACTIONS(1955), + [anon_sym_TILDE] = ACTIONS(1955), + [anon_sym_DASH] = ACTIONS(1953), + [anon_sym_PLUS] = ACTIONS(1953), + [anon_sym_STAR] = ACTIONS(1955), + [anon_sym_AMP_AMP] = ACTIONS(1955), + [anon_sym_AMP] = ACTIONS(1953), + [anon_sym_SEMI] = ACTIONS(1955), + [anon_sym_typedef] = ACTIONS(1953), + [anon_sym_extern] = ACTIONS(1953), + [anon_sym___attribute__] = ACTIONS(1953), + [anon_sym_COLON_COLON] = ACTIONS(1955), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1955), + [anon_sym___declspec] = ACTIONS(1953), + [anon_sym___based] = ACTIONS(1953), + [anon_sym___cdecl] = ACTIONS(1953), + [anon_sym___clrcall] = ACTIONS(1953), + [anon_sym___stdcall] = ACTIONS(1953), + [anon_sym___fastcall] = ACTIONS(1953), + [anon_sym___thiscall] = ACTIONS(1953), + [anon_sym___vectorcall] = ACTIONS(1953), + [anon_sym_LBRACE] = ACTIONS(1955), + [anon_sym_RBRACE] = ACTIONS(1955), + [anon_sym_LBRACK] = ACTIONS(1953), + [anon_sym_static] = ACTIONS(1953), + [anon_sym_register] = ACTIONS(1953), + [anon_sym_inline] = ACTIONS(1953), + [anon_sym_thread_local] = ACTIONS(1953), + [anon_sym_const] = ACTIONS(1953), + [anon_sym_volatile] = ACTIONS(1953), + [anon_sym_restrict] = ACTIONS(1953), + [anon_sym__Atomic] = ACTIONS(1953), + [anon_sym_mutable] = ACTIONS(1953), + [anon_sym_constexpr] = ACTIONS(1953), + [anon_sym_constinit] = ACTIONS(1953), + [anon_sym_consteval] = ACTIONS(1953), + [anon_sym_signed] = ACTIONS(1953), + [anon_sym_unsigned] = ACTIONS(1953), + [anon_sym_long] = ACTIONS(1953), + [anon_sym_short] = ACTIONS(1953), + [sym_primitive_type] = ACTIONS(1953), + [anon_sym_enum] = ACTIONS(1953), + [anon_sym_class] = ACTIONS(1953), + [anon_sym_struct] = ACTIONS(1953), + [anon_sym_union] = ACTIONS(1953), + [anon_sym_if] = ACTIONS(1953), + [anon_sym_else] = ACTIONS(1953), + [anon_sym_switch] = ACTIONS(1953), + [anon_sym_case] = ACTIONS(1953), + [anon_sym_default] = ACTIONS(1953), + [anon_sym_while] = ACTIONS(1953), + [anon_sym_do] = ACTIONS(1953), + [anon_sym_for] = ACTIONS(1953), + [anon_sym_return] = ACTIONS(1953), + [anon_sym_break] = ACTIONS(1953), + [anon_sym_continue] = ACTIONS(1953), + [anon_sym_goto] = ACTIONS(1953), + [anon_sym_DASH_DASH] = ACTIONS(1955), + [anon_sym_PLUS_PLUS] = ACTIONS(1955), + [anon_sym_sizeof] = ACTIONS(1953), + [sym_number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1955), + [anon_sym_u_SQUOTE] = ACTIONS(1955), + [anon_sym_U_SQUOTE] = ACTIONS(1955), + [anon_sym_u8_SQUOTE] = ACTIONS(1955), + [anon_sym_SQUOTE] = ACTIONS(1955), + [anon_sym_L_DQUOTE] = ACTIONS(1955), + [anon_sym_u_DQUOTE] = ACTIONS(1955), + [anon_sym_U_DQUOTE] = ACTIONS(1955), + [anon_sym_u8_DQUOTE] = ACTIONS(1955), + [anon_sym_DQUOTE] = ACTIONS(1955), + [sym_true] = ACTIONS(1953), + [sym_false] = ACTIONS(1953), + [sym_null] = ACTIONS(1953), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1953), + [anon_sym_decltype] = ACTIONS(1953), + [anon_sym_virtual] = ACTIONS(1953), + [anon_sym_explicit] = ACTIONS(1953), + [anon_sym_typename] = ACTIONS(1953), + [anon_sym_template] = ACTIONS(1953), + [anon_sym_operator] = ACTIONS(1953), + [anon_sym_delete] = ACTIONS(1953), + [anon_sym_throw] = ACTIONS(1953), + [anon_sym_namespace] = ACTIONS(1953), + [anon_sym_using] = ACTIONS(1953), + [anon_sym_static_assert] = ACTIONS(1953), + [anon_sym_concept] = ACTIONS(1953), + [anon_sym_co_return] = ACTIONS(1953), + [anon_sym_co_yield] = ACTIONS(1953), + [anon_sym_try] = ACTIONS(1953), + [anon_sym_co_await] = ACTIONS(1953), + [anon_sym_new] = ACTIONS(1953), + [anon_sym_requires] = ACTIONS(1953), + [sym_this] = ACTIONS(1953), + [sym_nullptr] = ACTIONS(1953), + [sym_raw_string_literal] = ACTIONS(1955), + }, + [609] = { + [sym_identifier] = ACTIONS(1953), + [aux_sym_preproc_include_token1] = ACTIONS(1953), + [aux_sym_preproc_def_token1] = ACTIONS(1953), + [aux_sym_preproc_if_token1] = ACTIONS(1953), + [aux_sym_preproc_if_token2] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1953), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1953), + [sym_preproc_directive] = ACTIONS(1953), + [anon_sym_LPAREN2] = ACTIONS(1955), + [anon_sym_BANG] = ACTIONS(1955), + [anon_sym_TILDE] = ACTIONS(1955), + [anon_sym_DASH] = ACTIONS(1953), + [anon_sym_PLUS] = ACTIONS(1953), + [anon_sym_STAR] = ACTIONS(1955), + [anon_sym_AMP_AMP] = ACTIONS(1955), + [anon_sym_AMP] = ACTIONS(1953), + [anon_sym_SEMI] = ACTIONS(1955), + [anon_sym_typedef] = ACTIONS(1953), + [anon_sym_extern] = ACTIONS(1953), + [anon_sym___attribute__] = ACTIONS(1953), + [anon_sym_COLON_COLON] = ACTIONS(1955), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1955), + [anon_sym___declspec] = ACTIONS(1953), + [anon_sym___based] = ACTIONS(1953), + [anon_sym___cdecl] = ACTIONS(1953), + [anon_sym___clrcall] = ACTIONS(1953), + [anon_sym___stdcall] = ACTIONS(1953), + [anon_sym___fastcall] = ACTIONS(1953), + [anon_sym___thiscall] = ACTIONS(1953), + [anon_sym___vectorcall] = ACTIONS(1953), + [anon_sym_LBRACE] = ACTIONS(1955), + [anon_sym_LBRACK] = ACTIONS(1953), + [anon_sym_static] = ACTIONS(1953), + [anon_sym_register] = ACTIONS(1953), + [anon_sym_inline] = ACTIONS(1953), + [anon_sym_thread_local] = ACTIONS(1953), + [anon_sym_const] = ACTIONS(1953), + [anon_sym_volatile] = ACTIONS(1953), + [anon_sym_restrict] = ACTIONS(1953), + [anon_sym__Atomic] = ACTIONS(1953), + [anon_sym_mutable] = ACTIONS(1953), + [anon_sym_constexpr] = ACTIONS(1953), + [anon_sym_constinit] = ACTIONS(1953), + [anon_sym_consteval] = ACTIONS(1953), + [anon_sym_signed] = ACTIONS(1953), + [anon_sym_unsigned] = ACTIONS(1953), + [anon_sym_long] = ACTIONS(1953), + [anon_sym_short] = ACTIONS(1953), + [sym_primitive_type] = ACTIONS(1953), + [anon_sym_enum] = ACTIONS(1953), + [anon_sym_class] = ACTIONS(1953), + [anon_sym_struct] = ACTIONS(1953), + [anon_sym_union] = ACTIONS(1953), + [anon_sym_if] = ACTIONS(1953), + [anon_sym_else] = ACTIONS(1953), + [anon_sym_switch] = ACTIONS(1953), + [anon_sym_case] = ACTIONS(1953), + [anon_sym_default] = ACTIONS(1953), + [anon_sym_while] = ACTIONS(1953), + [anon_sym_do] = ACTIONS(1953), + [anon_sym_for] = ACTIONS(1953), + [anon_sym_return] = ACTIONS(1953), + [anon_sym_break] = ACTIONS(1953), + [anon_sym_continue] = ACTIONS(1953), + [anon_sym_goto] = ACTIONS(1953), + [anon_sym_DASH_DASH] = ACTIONS(1955), + [anon_sym_PLUS_PLUS] = ACTIONS(1955), + [anon_sym_sizeof] = ACTIONS(1953), + [sym_number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1955), + [anon_sym_u_SQUOTE] = ACTIONS(1955), + [anon_sym_U_SQUOTE] = ACTIONS(1955), + [anon_sym_u8_SQUOTE] = ACTIONS(1955), + [anon_sym_SQUOTE] = ACTIONS(1955), + [anon_sym_L_DQUOTE] = ACTIONS(1955), + [anon_sym_u_DQUOTE] = ACTIONS(1955), + [anon_sym_U_DQUOTE] = ACTIONS(1955), + [anon_sym_u8_DQUOTE] = ACTIONS(1955), + [anon_sym_DQUOTE] = ACTIONS(1955), + [sym_true] = ACTIONS(1953), + [sym_false] = ACTIONS(1953), + [sym_null] = ACTIONS(1953), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1953), + [anon_sym_decltype] = ACTIONS(1953), + [anon_sym_virtual] = ACTIONS(1953), + [anon_sym_explicit] = ACTIONS(1953), + [anon_sym_typename] = ACTIONS(1953), + [anon_sym_template] = ACTIONS(1953), + [anon_sym_operator] = ACTIONS(1953), + [anon_sym_delete] = ACTIONS(1953), + [anon_sym_throw] = ACTIONS(1953), + [anon_sym_namespace] = ACTIONS(1953), + [anon_sym_using] = ACTIONS(1953), + [anon_sym_static_assert] = ACTIONS(1953), + [anon_sym_concept] = ACTIONS(1953), + [anon_sym_co_return] = ACTIONS(1953), + [anon_sym_co_yield] = ACTIONS(1953), + [anon_sym_try] = ACTIONS(1953), + [anon_sym_co_await] = ACTIONS(1953), + [anon_sym_new] = ACTIONS(1953), + [anon_sym_requires] = ACTIONS(1953), + [sym_this] = ACTIONS(1953), + [sym_nullptr] = ACTIONS(1953), + [sym_raw_string_literal] = ACTIONS(1955), + }, + [610] = { + [sym_identifier] = ACTIONS(1965), + [aux_sym_preproc_include_token1] = ACTIONS(1965), + [aux_sym_preproc_def_token1] = ACTIONS(1965), + [aux_sym_preproc_if_token1] = ACTIONS(1965), + [aux_sym_preproc_if_token2] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1965), + [sym_preproc_directive] = ACTIONS(1965), + [anon_sym_LPAREN2] = ACTIONS(1967), + [anon_sym_BANG] = ACTIONS(1967), + [anon_sym_TILDE] = ACTIONS(1967), + [anon_sym_DASH] = ACTIONS(1965), + [anon_sym_PLUS] = ACTIONS(1965), + [anon_sym_STAR] = ACTIONS(1967), + [anon_sym_AMP_AMP] = ACTIONS(1967), + [anon_sym_AMP] = ACTIONS(1965), + [anon_sym_SEMI] = ACTIONS(1967), + [anon_sym_typedef] = ACTIONS(1965), + [anon_sym_extern] = ACTIONS(1965), + [anon_sym___attribute__] = ACTIONS(1965), + [anon_sym_COLON_COLON] = ACTIONS(1967), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1967), + [anon_sym___declspec] = ACTIONS(1965), + [anon_sym___based] = ACTIONS(1965), + [anon_sym___cdecl] = ACTIONS(1965), + [anon_sym___clrcall] = ACTIONS(1965), + [anon_sym___stdcall] = ACTIONS(1965), + [anon_sym___fastcall] = ACTIONS(1965), + [anon_sym___thiscall] = ACTIONS(1965), + [anon_sym___vectorcall] = ACTIONS(1965), + [anon_sym_LBRACE] = ACTIONS(1967), + [anon_sym_LBRACK] = ACTIONS(1965), + [anon_sym_static] = ACTIONS(1965), + [anon_sym_register] = ACTIONS(1965), + [anon_sym_inline] = ACTIONS(1965), + [anon_sym_thread_local] = ACTIONS(1965), + [anon_sym_const] = ACTIONS(1965), + [anon_sym_volatile] = ACTIONS(1965), + [anon_sym_restrict] = ACTIONS(1965), + [anon_sym__Atomic] = ACTIONS(1965), + [anon_sym_mutable] = ACTIONS(1965), + [anon_sym_constexpr] = ACTIONS(1965), + [anon_sym_constinit] = ACTIONS(1965), + [anon_sym_consteval] = ACTIONS(1965), + [anon_sym_signed] = ACTIONS(1965), + [anon_sym_unsigned] = ACTIONS(1965), + [anon_sym_long] = ACTIONS(1965), + [anon_sym_short] = ACTIONS(1965), + [sym_primitive_type] = ACTIONS(1965), + [anon_sym_enum] = ACTIONS(1965), + [anon_sym_class] = ACTIONS(1965), + [anon_sym_struct] = ACTIONS(1965), + [anon_sym_union] = ACTIONS(1965), + [anon_sym_if] = ACTIONS(1965), + [anon_sym_else] = ACTIONS(1965), + [anon_sym_switch] = ACTIONS(1965), + [anon_sym_case] = ACTIONS(1965), + [anon_sym_default] = ACTIONS(1965), + [anon_sym_while] = ACTIONS(1965), + [anon_sym_do] = ACTIONS(1965), + [anon_sym_for] = ACTIONS(1965), + [anon_sym_return] = ACTIONS(1965), + [anon_sym_break] = ACTIONS(1965), + [anon_sym_continue] = ACTIONS(1965), + [anon_sym_goto] = ACTIONS(1965), + [anon_sym_DASH_DASH] = ACTIONS(1967), + [anon_sym_PLUS_PLUS] = ACTIONS(1967), + [anon_sym_sizeof] = ACTIONS(1965), + [sym_number_literal] = ACTIONS(1967), + [anon_sym_L_SQUOTE] = ACTIONS(1967), + [anon_sym_u_SQUOTE] = ACTIONS(1967), + [anon_sym_U_SQUOTE] = ACTIONS(1967), + [anon_sym_u8_SQUOTE] = ACTIONS(1967), + [anon_sym_SQUOTE] = ACTIONS(1967), + [anon_sym_L_DQUOTE] = ACTIONS(1967), + [anon_sym_u_DQUOTE] = ACTIONS(1967), + [anon_sym_U_DQUOTE] = ACTIONS(1967), + [anon_sym_u8_DQUOTE] = ACTIONS(1967), + [anon_sym_DQUOTE] = ACTIONS(1967), + [sym_true] = ACTIONS(1965), + [sym_false] = ACTIONS(1965), + [sym_null] = ACTIONS(1965), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1965), + [anon_sym_decltype] = ACTIONS(1965), + [anon_sym_virtual] = ACTIONS(1965), + [anon_sym_explicit] = ACTIONS(1965), + [anon_sym_typename] = ACTIONS(1965), + [anon_sym_template] = ACTIONS(1965), + [anon_sym_operator] = ACTIONS(1965), + [anon_sym_delete] = ACTIONS(1965), + [anon_sym_throw] = ACTIONS(1965), + [anon_sym_namespace] = ACTIONS(1965), + [anon_sym_using] = ACTIONS(1965), + [anon_sym_static_assert] = ACTIONS(1965), + [anon_sym_concept] = ACTIONS(1965), + [anon_sym_co_return] = ACTIONS(1965), + [anon_sym_co_yield] = ACTIONS(1965), + [anon_sym_try] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1965), + [anon_sym_new] = ACTIONS(1965), + [anon_sym_requires] = ACTIONS(1965), + [sym_this] = ACTIONS(1965), + [sym_nullptr] = ACTIONS(1965), + [sym_raw_string_literal] = ACTIONS(1967), + }, + [611] = { + [sym_identifier] = ACTIONS(1965), + [aux_sym_preproc_include_token1] = ACTIONS(1965), + [aux_sym_preproc_def_token1] = ACTIONS(1965), + [aux_sym_preproc_if_token1] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1965), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1965), + [sym_preproc_directive] = ACTIONS(1965), + [anon_sym_LPAREN2] = ACTIONS(1967), + [anon_sym_BANG] = ACTIONS(1967), + [anon_sym_TILDE] = ACTIONS(1967), + [anon_sym_DASH] = ACTIONS(1965), + [anon_sym_PLUS] = ACTIONS(1965), + [anon_sym_STAR] = ACTIONS(1967), + [anon_sym_AMP_AMP] = ACTIONS(1967), + [anon_sym_AMP] = ACTIONS(1965), + [anon_sym_SEMI] = ACTIONS(1967), + [anon_sym_typedef] = ACTIONS(1965), + [anon_sym_extern] = ACTIONS(1965), + [anon_sym___attribute__] = ACTIONS(1965), + [anon_sym_COLON_COLON] = ACTIONS(1967), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1967), + [anon_sym___declspec] = ACTIONS(1965), + [anon_sym___based] = ACTIONS(1965), + [anon_sym___cdecl] = ACTIONS(1965), + [anon_sym___clrcall] = ACTIONS(1965), + [anon_sym___stdcall] = ACTIONS(1965), + [anon_sym___fastcall] = ACTIONS(1965), + [anon_sym___thiscall] = ACTIONS(1965), + [anon_sym___vectorcall] = ACTIONS(1965), + [anon_sym_LBRACE] = ACTIONS(1967), + [anon_sym_RBRACE] = ACTIONS(1967), + [anon_sym_LBRACK] = ACTIONS(1965), + [anon_sym_static] = ACTIONS(1965), + [anon_sym_register] = ACTIONS(1965), + [anon_sym_inline] = ACTIONS(1965), + [anon_sym_thread_local] = ACTIONS(1965), + [anon_sym_const] = ACTIONS(1965), + [anon_sym_volatile] = ACTIONS(1965), + [anon_sym_restrict] = ACTIONS(1965), + [anon_sym__Atomic] = ACTIONS(1965), + [anon_sym_mutable] = ACTIONS(1965), + [anon_sym_constexpr] = ACTIONS(1965), + [anon_sym_constinit] = ACTIONS(1965), + [anon_sym_consteval] = ACTIONS(1965), + [anon_sym_signed] = ACTIONS(1965), + [anon_sym_unsigned] = ACTIONS(1965), + [anon_sym_long] = ACTIONS(1965), + [anon_sym_short] = ACTIONS(1965), + [sym_primitive_type] = ACTIONS(1965), + [anon_sym_enum] = ACTIONS(1965), + [anon_sym_class] = ACTIONS(1965), + [anon_sym_struct] = ACTIONS(1965), + [anon_sym_union] = ACTIONS(1965), + [anon_sym_if] = ACTIONS(1965), + [anon_sym_else] = ACTIONS(1965), + [anon_sym_switch] = ACTIONS(1965), + [anon_sym_case] = ACTIONS(1965), + [anon_sym_default] = ACTIONS(1965), + [anon_sym_while] = ACTIONS(1965), + [anon_sym_do] = ACTIONS(1965), + [anon_sym_for] = ACTIONS(1965), + [anon_sym_return] = ACTIONS(1965), + [anon_sym_break] = ACTIONS(1965), + [anon_sym_continue] = ACTIONS(1965), + [anon_sym_goto] = ACTIONS(1965), + [anon_sym_DASH_DASH] = ACTIONS(1967), + [anon_sym_PLUS_PLUS] = ACTIONS(1967), + [anon_sym_sizeof] = ACTIONS(1965), + [sym_number_literal] = ACTIONS(1967), + [anon_sym_L_SQUOTE] = ACTIONS(1967), + [anon_sym_u_SQUOTE] = ACTIONS(1967), + [anon_sym_U_SQUOTE] = ACTIONS(1967), + [anon_sym_u8_SQUOTE] = ACTIONS(1967), + [anon_sym_SQUOTE] = ACTIONS(1967), + [anon_sym_L_DQUOTE] = ACTIONS(1967), + [anon_sym_u_DQUOTE] = ACTIONS(1967), + [anon_sym_U_DQUOTE] = ACTIONS(1967), + [anon_sym_u8_DQUOTE] = ACTIONS(1967), + [anon_sym_DQUOTE] = ACTIONS(1967), + [sym_true] = ACTIONS(1965), + [sym_false] = ACTIONS(1965), + [sym_null] = ACTIONS(1965), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1965), + [anon_sym_decltype] = ACTIONS(1965), + [anon_sym_virtual] = ACTIONS(1965), + [anon_sym_explicit] = ACTIONS(1965), + [anon_sym_typename] = ACTIONS(1965), + [anon_sym_template] = ACTIONS(1965), + [anon_sym_operator] = ACTIONS(1965), + [anon_sym_delete] = ACTIONS(1965), + [anon_sym_throw] = ACTIONS(1965), + [anon_sym_namespace] = ACTIONS(1965), + [anon_sym_using] = ACTIONS(1965), + [anon_sym_static_assert] = ACTIONS(1965), + [anon_sym_concept] = ACTIONS(1965), + [anon_sym_co_return] = ACTIONS(1965), + [anon_sym_co_yield] = ACTIONS(1965), + [anon_sym_try] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1965), + [anon_sym_new] = ACTIONS(1965), + [anon_sym_requires] = ACTIONS(1965), + [sym_this] = ACTIONS(1965), + [sym_nullptr] = ACTIONS(1965), + [sym_raw_string_literal] = ACTIONS(1967), + }, + [612] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [613] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [614] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [615] = { + [sym_function_definition] = STATE(758), + [sym_declaration] = STATE(758), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3699), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1568), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4467), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2749), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(758), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1548), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(758), + [sym_operator_cast] = STATE(5080), + [sym__constructor_specifiers] = STATE(1548), + [sym_operator_cast_definition] = STATE(758), + [sym_operator_cast_declaration] = STATE(758), + [sym_constructor_or_destructor_definition] = STATE(758), + [sym_constructor_or_destructor_declaration] = STATE(758), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(758), + [sym_concept_definition] = STATE(758), + [sym_requires_clause] = STATE(875), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5080), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1548), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2439), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2441), + [anon_sym_concept] = ACTIONS(129), + [anon_sym_requires] = ACTIONS(2437), + }, + [616] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [617] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [618] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [619] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [620] = { + [sym_function_definition] = STATE(740), + [sym_declaration] = STATE(740), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3709), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1569), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4454), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2850), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(740), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1551), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(740), + [sym_operator_cast] = STATE(4930), + [sym__constructor_specifiers] = STATE(1551), + [sym_operator_cast_definition] = STATE(740), + [sym_operator_cast_declaration] = STATE(740), + [sym_constructor_or_destructor_definition] = STATE(740), + [sym_constructor_or_destructor_declaration] = STATE(740), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(740), + [sym_concept_definition] = STATE(740), + [sym_requires_clause] = STATE(882), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(4930), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1551), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2443), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2445), + [anon_sym_concept] = ACTIONS(598), + [anon_sym_requires] = ACTIONS(2437), + }, + [621] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [622] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [623] = { + [ts_builtin_sym_end] = ACTIONS(1947), + [sym_identifier] = ACTIONS(1945), + [aux_sym_preproc_include_token1] = ACTIONS(1945), + [aux_sym_preproc_def_token1] = ACTIONS(1945), + [aux_sym_preproc_if_token1] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1945), + [sym_preproc_directive] = ACTIONS(1945), + [anon_sym_LPAREN2] = ACTIONS(1947), + [anon_sym_BANG] = ACTIONS(1947), + [anon_sym_TILDE] = ACTIONS(1947), + [anon_sym_DASH] = ACTIONS(1945), + [anon_sym_PLUS] = ACTIONS(1945), + [anon_sym_STAR] = ACTIONS(1947), + [anon_sym_AMP_AMP] = ACTIONS(1947), + [anon_sym_AMP] = ACTIONS(1945), + [anon_sym_SEMI] = ACTIONS(1947), + [anon_sym_typedef] = ACTIONS(1945), + [anon_sym_extern] = ACTIONS(1945), + [anon_sym___attribute__] = ACTIONS(1945), + [anon_sym_COLON_COLON] = ACTIONS(1947), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1947), + [anon_sym___declspec] = ACTIONS(1945), + [anon_sym___based] = ACTIONS(1945), + [anon_sym___cdecl] = ACTIONS(1945), + [anon_sym___clrcall] = ACTIONS(1945), + [anon_sym___stdcall] = ACTIONS(1945), + [anon_sym___fastcall] = ACTIONS(1945), + [anon_sym___thiscall] = ACTIONS(1945), + [anon_sym___vectorcall] = ACTIONS(1945), + [anon_sym_LBRACE] = ACTIONS(1947), + [anon_sym_LBRACK] = ACTIONS(1945), + [anon_sym_static] = ACTIONS(1945), + [anon_sym_register] = ACTIONS(1945), + [anon_sym_inline] = ACTIONS(1945), + [anon_sym_thread_local] = ACTIONS(1945), + [anon_sym_const] = ACTIONS(1945), + [anon_sym_volatile] = ACTIONS(1945), + [anon_sym_restrict] = ACTIONS(1945), + [anon_sym__Atomic] = ACTIONS(1945), + [anon_sym_mutable] = ACTIONS(1945), + [anon_sym_constexpr] = ACTIONS(1945), + [anon_sym_constinit] = ACTIONS(1945), + [anon_sym_consteval] = ACTIONS(1945), + [anon_sym_signed] = ACTIONS(1945), + [anon_sym_unsigned] = ACTIONS(1945), + [anon_sym_long] = ACTIONS(1945), + [anon_sym_short] = ACTIONS(1945), + [sym_primitive_type] = ACTIONS(1945), + [anon_sym_enum] = ACTIONS(1945), + [anon_sym_class] = ACTIONS(1945), + [anon_sym_struct] = ACTIONS(1945), + [anon_sym_union] = ACTIONS(1945), + [anon_sym_if] = ACTIONS(1945), + [anon_sym_else] = ACTIONS(1945), + [anon_sym_switch] = ACTIONS(1945), + [anon_sym_case] = ACTIONS(1945), + [anon_sym_default] = ACTIONS(1945), + [anon_sym_while] = ACTIONS(1945), + [anon_sym_do] = ACTIONS(1945), + [anon_sym_for] = ACTIONS(1945), + [anon_sym_return] = ACTIONS(1945), + [anon_sym_break] = ACTIONS(1945), + [anon_sym_continue] = ACTIONS(1945), + [anon_sym_goto] = ACTIONS(1945), + [anon_sym_DASH_DASH] = ACTIONS(1947), + [anon_sym_PLUS_PLUS] = ACTIONS(1947), + [anon_sym_sizeof] = ACTIONS(1945), + [sym_number_literal] = ACTIONS(1947), + [anon_sym_L_SQUOTE] = ACTIONS(1947), + [anon_sym_u_SQUOTE] = ACTIONS(1947), + [anon_sym_U_SQUOTE] = ACTIONS(1947), + [anon_sym_u8_SQUOTE] = ACTIONS(1947), + [anon_sym_SQUOTE] = ACTIONS(1947), + [anon_sym_L_DQUOTE] = ACTIONS(1947), + [anon_sym_u_DQUOTE] = ACTIONS(1947), + [anon_sym_U_DQUOTE] = ACTIONS(1947), + [anon_sym_u8_DQUOTE] = ACTIONS(1947), + [anon_sym_DQUOTE] = ACTIONS(1947), + [sym_true] = ACTIONS(1945), + [sym_false] = ACTIONS(1945), + [sym_null] = ACTIONS(1945), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1945), + [anon_sym_virtual] = ACTIONS(1945), + [anon_sym_explicit] = ACTIONS(1945), + [anon_sym_typename] = ACTIONS(1945), + [anon_sym_template] = ACTIONS(1945), + [anon_sym_operator] = ACTIONS(1945), + [anon_sym_delete] = ACTIONS(1945), + [anon_sym_throw] = ACTIONS(1945), + [anon_sym_namespace] = ACTIONS(1945), + [anon_sym_using] = ACTIONS(1945), + [anon_sym_static_assert] = ACTIONS(1945), + [anon_sym_concept] = ACTIONS(1945), + [anon_sym_co_return] = ACTIONS(1945), + [anon_sym_co_yield] = ACTIONS(1945), + [anon_sym_try] = ACTIONS(1945), + [anon_sym_co_await] = ACTIONS(1945), + [anon_sym_new] = ACTIONS(1945), + [anon_sym_requires] = ACTIONS(1945), + [sym_this] = ACTIONS(1945), + [sym_nullptr] = ACTIONS(1945), + [sym_raw_string_literal] = ACTIONS(1947), + }, + [624] = { + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token2] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [625] = { + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token2] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [626] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [627] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [628] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [629] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [630] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [631] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [632] = { + [sym_identifier] = ACTIONS(2055), + [aux_sym_preproc_include_token1] = ACTIONS(2055), + [aux_sym_preproc_def_token1] = ACTIONS(2055), + [aux_sym_preproc_if_token1] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2055), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2055), + [sym_preproc_directive] = ACTIONS(2055), + [anon_sym_LPAREN2] = ACTIONS(2057), + [anon_sym_BANG] = ACTIONS(2057), + [anon_sym_TILDE] = ACTIONS(2057), + [anon_sym_DASH] = ACTIONS(2055), + [anon_sym_PLUS] = ACTIONS(2055), + [anon_sym_STAR] = ACTIONS(2057), + [anon_sym_AMP_AMP] = ACTIONS(2057), + [anon_sym_AMP] = ACTIONS(2055), + [anon_sym_SEMI] = ACTIONS(2057), + [anon_sym_typedef] = ACTIONS(2055), + [anon_sym_extern] = ACTIONS(2055), + [anon_sym___attribute__] = ACTIONS(2055), + [anon_sym_COLON_COLON] = ACTIONS(2057), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2057), + [anon_sym___declspec] = ACTIONS(2055), + [anon_sym___based] = ACTIONS(2055), + [anon_sym___cdecl] = ACTIONS(2055), + [anon_sym___clrcall] = ACTIONS(2055), + [anon_sym___stdcall] = ACTIONS(2055), + [anon_sym___fastcall] = ACTIONS(2055), + [anon_sym___thiscall] = ACTIONS(2055), + [anon_sym___vectorcall] = ACTIONS(2055), + [anon_sym_LBRACE] = ACTIONS(2057), + [anon_sym_RBRACE] = ACTIONS(2057), + [anon_sym_LBRACK] = ACTIONS(2055), + [anon_sym_static] = ACTIONS(2055), + [anon_sym_register] = ACTIONS(2055), + [anon_sym_inline] = ACTIONS(2055), + [anon_sym_thread_local] = ACTIONS(2055), + [anon_sym_const] = ACTIONS(2055), + [anon_sym_volatile] = ACTIONS(2055), + [anon_sym_restrict] = ACTIONS(2055), + [anon_sym__Atomic] = ACTIONS(2055), + [anon_sym_mutable] = ACTIONS(2055), + [anon_sym_constexpr] = ACTIONS(2055), + [anon_sym_constinit] = ACTIONS(2055), + [anon_sym_consteval] = ACTIONS(2055), + [anon_sym_signed] = ACTIONS(2055), + [anon_sym_unsigned] = ACTIONS(2055), + [anon_sym_long] = ACTIONS(2055), + [anon_sym_short] = ACTIONS(2055), + [sym_primitive_type] = ACTIONS(2055), + [anon_sym_enum] = ACTIONS(2055), + [anon_sym_class] = ACTIONS(2055), + [anon_sym_struct] = ACTIONS(2055), + [anon_sym_union] = ACTIONS(2055), + [anon_sym_if] = ACTIONS(2055), + [anon_sym_else] = ACTIONS(2055), + [anon_sym_switch] = ACTIONS(2055), + [anon_sym_case] = ACTIONS(2055), + [anon_sym_default] = ACTIONS(2055), + [anon_sym_while] = ACTIONS(2055), + [anon_sym_do] = ACTIONS(2055), + [anon_sym_for] = ACTIONS(2055), + [anon_sym_return] = ACTIONS(2055), + [anon_sym_break] = ACTIONS(2055), + [anon_sym_continue] = ACTIONS(2055), + [anon_sym_goto] = ACTIONS(2055), + [anon_sym_DASH_DASH] = ACTIONS(2057), + [anon_sym_PLUS_PLUS] = ACTIONS(2057), + [anon_sym_sizeof] = ACTIONS(2055), + [sym_number_literal] = ACTIONS(2057), + [anon_sym_L_SQUOTE] = ACTIONS(2057), + [anon_sym_u_SQUOTE] = ACTIONS(2057), + [anon_sym_U_SQUOTE] = ACTIONS(2057), + [anon_sym_u8_SQUOTE] = ACTIONS(2057), + [anon_sym_SQUOTE] = ACTIONS(2057), + [anon_sym_L_DQUOTE] = ACTIONS(2057), + [anon_sym_u_DQUOTE] = ACTIONS(2057), + [anon_sym_U_DQUOTE] = ACTIONS(2057), + [anon_sym_u8_DQUOTE] = ACTIONS(2057), + [anon_sym_DQUOTE] = ACTIONS(2057), + [sym_true] = ACTIONS(2055), + [sym_false] = ACTIONS(2055), + [sym_null] = ACTIONS(2055), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2055), + [anon_sym_decltype] = ACTIONS(2055), + [anon_sym_virtual] = ACTIONS(2055), + [anon_sym_explicit] = ACTIONS(2055), + [anon_sym_typename] = ACTIONS(2055), + [anon_sym_template] = ACTIONS(2055), + [anon_sym_operator] = ACTIONS(2055), + [anon_sym_delete] = ACTIONS(2055), + [anon_sym_throw] = ACTIONS(2055), + [anon_sym_namespace] = ACTIONS(2055), + [anon_sym_using] = ACTIONS(2055), + [anon_sym_static_assert] = ACTIONS(2055), + [anon_sym_concept] = ACTIONS(2055), + [anon_sym_co_return] = ACTIONS(2055), + [anon_sym_co_yield] = ACTIONS(2055), + [anon_sym_try] = ACTIONS(2055), + [anon_sym_co_await] = ACTIONS(2055), + [anon_sym_new] = ACTIONS(2055), + [anon_sym_requires] = ACTIONS(2055), + [sym_this] = ACTIONS(2055), + [sym_nullptr] = ACTIONS(2055), + [sym_raw_string_literal] = ACTIONS(2057), + }, + [633] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [634] = { + [sym__expression] = STATE(2666), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_initializer_list] = STATE(2800), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_COMMA] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2451), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2455), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1891), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1891), + [anon_sym_AMP] = ACTIONS(2455), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1891), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1891), + [anon_sym_GT_GT] = ACTIONS(1891), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACE] = ACTIONS(2459), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_EQ] = ACTIONS(1891), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_STAR_EQ] = ACTIONS(1883), + [anon_sym_SLASH_EQ] = ACTIONS(1883), + [anon_sym_PERCENT_EQ] = ACTIONS(1883), + [anon_sym_PLUS_EQ] = ACTIONS(1883), + [anon_sym_DASH_EQ] = ACTIONS(1883), + [anon_sym_LT_LT_EQ] = ACTIONS(1883), + [anon_sym_GT_GT_EQ] = ACTIONS(1891), + [anon_sym_AMP_EQ] = ACTIONS(1883), + [anon_sym_CARET_EQ] = ACTIONS(1883), + [anon_sym_PIPE_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1883), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(1883), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [635] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [636] = { + [sym_identifier] = ACTIONS(2043), + [aux_sym_preproc_include_token1] = ACTIONS(2043), + [aux_sym_preproc_def_token1] = ACTIONS(2043), + [aux_sym_preproc_if_token1] = ACTIONS(2043), + [aux_sym_preproc_if_token2] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2043), + [sym_preproc_directive] = ACTIONS(2043), + [anon_sym_LPAREN2] = ACTIONS(2045), + [anon_sym_BANG] = ACTIONS(2045), + [anon_sym_TILDE] = ACTIONS(2045), + [anon_sym_DASH] = ACTIONS(2043), + [anon_sym_PLUS] = ACTIONS(2043), + [anon_sym_STAR] = ACTIONS(2045), + [anon_sym_AMP_AMP] = ACTIONS(2045), + [anon_sym_AMP] = ACTIONS(2043), + [anon_sym_SEMI] = ACTIONS(2045), + [anon_sym_typedef] = ACTIONS(2043), + [anon_sym_extern] = ACTIONS(2043), + [anon_sym___attribute__] = ACTIONS(2043), + [anon_sym_COLON_COLON] = ACTIONS(2045), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2045), + [anon_sym___declspec] = ACTIONS(2043), + [anon_sym___based] = ACTIONS(2043), + [anon_sym___cdecl] = ACTIONS(2043), + [anon_sym___clrcall] = ACTIONS(2043), + [anon_sym___stdcall] = ACTIONS(2043), + [anon_sym___fastcall] = ACTIONS(2043), + [anon_sym___thiscall] = ACTIONS(2043), + [anon_sym___vectorcall] = ACTIONS(2043), + [anon_sym_LBRACE] = ACTIONS(2045), + [anon_sym_LBRACK] = ACTIONS(2043), + [anon_sym_static] = ACTIONS(2043), + [anon_sym_register] = ACTIONS(2043), + [anon_sym_inline] = ACTIONS(2043), + [anon_sym_thread_local] = ACTIONS(2043), + [anon_sym_const] = ACTIONS(2043), + [anon_sym_volatile] = ACTIONS(2043), + [anon_sym_restrict] = ACTIONS(2043), + [anon_sym__Atomic] = ACTIONS(2043), + [anon_sym_mutable] = ACTIONS(2043), + [anon_sym_constexpr] = ACTIONS(2043), + [anon_sym_constinit] = ACTIONS(2043), + [anon_sym_consteval] = ACTIONS(2043), + [anon_sym_signed] = ACTIONS(2043), + [anon_sym_unsigned] = ACTIONS(2043), + [anon_sym_long] = ACTIONS(2043), + [anon_sym_short] = ACTIONS(2043), + [sym_primitive_type] = ACTIONS(2043), + [anon_sym_enum] = ACTIONS(2043), + [anon_sym_class] = ACTIONS(2043), + [anon_sym_struct] = ACTIONS(2043), + [anon_sym_union] = ACTIONS(2043), + [anon_sym_if] = ACTIONS(2043), + [anon_sym_else] = ACTIONS(2043), + [anon_sym_switch] = ACTIONS(2043), + [anon_sym_case] = ACTIONS(2043), + [anon_sym_default] = ACTIONS(2043), + [anon_sym_while] = ACTIONS(2043), + [anon_sym_do] = ACTIONS(2043), + [anon_sym_for] = ACTIONS(2043), + [anon_sym_return] = ACTIONS(2043), + [anon_sym_break] = ACTIONS(2043), + [anon_sym_continue] = ACTIONS(2043), + [anon_sym_goto] = ACTIONS(2043), + [anon_sym_DASH_DASH] = ACTIONS(2045), + [anon_sym_PLUS_PLUS] = ACTIONS(2045), + [anon_sym_sizeof] = ACTIONS(2043), + [sym_number_literal] = ACTIONS(2045), + [anon_sym_L_SQUOTE] = ACTIONS(2045), + [anon_sym_u_SQUOTE] = ACTIONS(2045), + [anon_sym_U_SQUOTE] = ACTIONS(2045), + [anon_sym_u8_SQUOTE] = ACTIONS(2045), + [anon_sym_SQUOTE] = ACTIONS(2045), + [anon_sym_L_DQUOTE] = ACTIONS(2045), + [anon_sym_u_DQUOTE] = ACTIONS(2045), + [anon_sym_U_DQUOTE] = ACTIONS(2045), + [anon_sym_u8_DQUOTE] = ACTIONS(2045), + [anon_sym_DQUOTE] = ACTIONS(2045), + [sym_true] = ACTIONS(2043), + [sym_false] = ACTIONS(2043), + [sym_null] = ACTIONS(2043), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2043), + [anon_sym_decltype] = ACTIONS(2043), + [anon_sym_virtual] = ACTIONS(2043), + [anon_sym_explicit] = ACTIONS(2043), + [anon_sym_typename] = ACTIONS(2043), + [anon_sym_template] = ACTIONS(2043), + [anon_sym_operator] = ACTIONS(2043), + [anon_sym_delete] = ACTIONS(2043), + [anon_sym_throw] = ACTIONS(2043), + [anon_sym_namespace] = ACTIONS(2043), + [anon_sym_using] = ACTIONS(2043), + [anon_sym_static_assert] = ACTIONS(2043), + [anon_sym_concept] = ACTIONS(2043), + [anon_sym_co_return] = ACTIONS(2043), + [anon_sym_co_yield] = ACTIONS(2043), + [anon_sym_try] = ACTIONS(2043), + [anon_sym_co_await] = ACTIONS(2043), + [anon_sym_new] = ACTIONS(2043), + [anon_sym_requires] = ACTIONS(2043), + [sym_this] = ACTIONS(2043), + [sym_nullptr] = ACTIONS(2043), + [sym_raw_string_literal] = ACTIONS(2045), + }, + [637] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [638] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [639] = { + [ts_builtin_sym_end] = ACTIONS(2121), + [sym_identifier] = ACTIONS(2119), + [aux_sym_preproc_include_token1] = ACTIONS(2119), + [aux_sym_preproc_def_token1] = ACTIONS(2119), + [aux_sym_preproc_if_token1] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2119), + [sym_preproc_directive] = ACTIONS(2119), + [anon_sym_LPAREN2] = ACTIONS(2121), + [anon_sym_BANG] = ACTIONS(2121), + [anon_sym_TILDE] = ACTIONS(2121), + [anon_sym_DASH] = ACTIONS(2119), + [anon_sym_PLUS] = ACTIONS(2119), + [anon_sym_STAR] = ACTIONS(2121), + [anon_sym_AMP_AMP] = ACTIONS(2121), + [anon_sym_AMP] = ACTIONS(2119), + [anon_sym_SEMI] = ACTIONS(2121), + [anon_sym_typedef] = ACTIONS(2119), + [anon_sym_extern] = ACTIONS(2119), + [anon_sym___attribute__] = ACTIONS(2119), + [anon_sym_COLON_COLON] = ACTIONS(2121), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2121), + [anon_sym___declspec] = ACTIONS(2119), + [anon_sym___based] = ACTIONS(2119), + [anon_sym___cdecl] = ACTIONS(2119), + [anon_sym___clrcall] = ACTIONS(2119), + [anon_sym___stdcall] = ACTIONS(2119), + [anon_sym___fastcall] = ACTIONS(2119), + [anon_sym___thiscall] = ACTIONS(2119), + [anon_sym___vectorcall] = ACTIONS(2119), + [anon_sym_LBRACE] = ACTIONS(2121), + [anon_sym_LBRACK] = ACTIONS(2119), + [anon_sym_static] = ACTIONS(2119), + [anon_sym_register] = ACTIONS(2119), + [anon_sym_inline] = ACTIONS(2119), + [anon_sym_thread_local] = ACTIONS(2119), + [anon_sym_const] = ACTIONS(2119), + [anon_sym_volatile] = ACTIONS(2119), + [anon_sym_restrict] = ACTIONS(2119), + [anon_sym__Atomic] = ACTIONS(2119), + [anon_sym_mutable] = ACTIONS(2119), + [anon_sym_constexpr] = ACTIONS(2119), + [anon_sym_constinit] = ACTIONS(2119), + [anon_sym_consteval] = ACTIONS(2119), + [anon_sym_signed] = ACTIONS(2119), + [anon_sym_unsigned] = ACTIONS(2119), + [anon_sym_long] = ACTIONS(2119), + [anon_sym_short] = ACTIONS(2119), + [sym_primitive_type] = ACTIONS(2119), + [anon_sym_enum] = ACTIONS(2119), + [anon_sym_class] = ACTIONS(2119), + [anon_sym_struct] = ACTIONS(2119), + [anon_sym_union] = ACTIONS(2119), + [anon_sym_if] = ACTIONS(2119), + [anon_sym_else] = ACTIONS(2119), + [anon_sym_switch] = ACTIONS(2119), + [anon_sym_case] = ACTIONS(2119), + [anon_sym_default] = ACTIONS(2119), + [anon_sym_while] = ACTIONS(2119), + [anon_sym_do] = ACTIONS(2119), + [anon_sym_for] = ACTIONS(2119), + [anon_sym_return] = ACTIONS(2119), + [anon_sym_break] = ACTIONS(2119), + [anon_sym_continue] = ACTIONS(2119), + [anon_sym_goto] = ACTIONS(2119), + [anon_sym_DASH_DASH] = ACTIONS(2121), + [anon_sym_PLUS_PLUS] = ACTIONS(2121), + [anon_sym_sizeof] = ACTIONS(2119), + [sym_number_literal] = ACTIONS(2121), + [anon_sym_L_SQUOTE] = ACTIONS(2121), + [anon_sym_u_SQUOTE] = ACTIONS(2121), + [anon_sym_U_SQUOTE] = ACTIONS(2121), + [anon_sym_u8_SQUOTE] = ACTIONS(2121), + [anon_sym_SQUOTE] = ACTIONS(2121), + [anon_sym_L_DQUOTE] = ACTIONS(2121), + [anon_sym_u_DQUOTE] = ACTIONS(2121), + [anon_sym_U_DQUOTE] = ACTIONS(2121), + [anon_sym_u8_DQUOTE] = ACTIONS(2121), + [anon_sym_DQUOTE] = ACTIONS(2121), + [sym_true] = ACTIONS(2119), + [sym_false] = ACTIONS(2119), + [sym_null] = ACTIONS(2119), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2119), + [anon_sym_decltype] = ACTIONS(2119), + [anon_sym_virtual] = ACTIONS(2119), + [anon_sym_explicit] = ACTIONS(2119), + [anon_sym_typename] = ACTIONS(2119), + [anon_sym_template] = ACTIONS(2119), + [anon_sym_operator] = ACTIONS(2119), + [anon_sym_delete] = ACTIONS(2119), + [anon_sym_throw] = ACTIONS(2119), + [anon_sym_namespace] = ACTIONS(2119), + [anon_sym_using] = ACTIONS(2119), + [anon_sym_static_assert] = ACTIONS(2119), + [anon_sym_concept] = ACTIONS(2119), + [anon_sym_co_return] = ACTIONS(2119), + [anon_sym_co_yield] = ACTIONS(2119), + [anon_sym_try] = ACTIONS(2119), + [anon_sym_co_await] = ACTIONS(2119), + [anon_sym_new] = ACTIONS(2119), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2119), + [sym_nullptr] = ACTIONS(2119), + [sym_raw_string_literal] = ACTIONS(2121), + }, + [640] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [641] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [642] = { + [sym_identifier] = ACTIONS(1919), + [aux_sym_preproc_include_token1] = ACTIONS(1919), + [aux_sym_preproc_def_token1] = ACTIONS(1919), + [aux_sym_preproc_if_token1] = ACTIONS(1919), + [aux_sym_preproc_if_token2] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1919), + [sym_preproc_directive] = ACTIONS(1919), + [anon_sym_LPAREN2] = ACTIONS(1921), + [anon_sym_BANG] = ACTIONS(1921), + [anon_sym_TILDE] = ACTIONS(1921), + [anon_sym_DASH] = ACTIONS(1919), + [anon_sym_PLUS] = ACTIONS(1919), + [anon_sym_STAR] = ACTIONS(1921), + [anon_sym_AMP_AMP] = ACTIONS(1921), + [anon_sym_AMP] = ACTIONS(1919), + [anon_sym_SEMI] = ACTIONS(1921), + [anon_sym_typedef] = ACTIONS(1919), + [anon_sym_extern] = ACTIONS(1919), + [anon_sym___attribute__] = ACTIONS(1919), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1921), + [anon_sym___declspec] = ACTIONS(1919), + [anon_sym___based] = ACTIONS(1919), + [anon_sym___cdecl] = ACTIONS(1919), + [anon_sym___clrcall] = ACTIONS(1919), + [anon_sym___stdcall] = ACTIONS(1919), + [anon_sym___fastcall] = ACTIONS(1919), + [anon_sym___thiscall] = ACTIONS(1919), + [anon_sym___vectorcall] = ACTIONS(1919), + [anon_sym_LBRACE] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(1919), + [anon_sym_static] = ACTIONS(1919), + [anon_sym_register] = ACTIONS(1919), + [anon_sym_inline] = ACTIONS(1919), + [anon_sym_thread_local] = ACTIONS(1919), + [anon_sym_const] = ACTIONS(1919), + [anon_sym_volatile] = ACTIONS(1919), + [anon_sym_restrict] = ACTIONS(1919), + [anon_sym__Atomic] = ACTIONS(1919), + [anon_sym_mutable] = ACTIONS(1919), + [anon_sym_constexpr] = ACTIONS(1919), + [anon_sym_constinit] = ACTIONS(1919), + [anon_sym_consteval] = ACTIONS(1919), + [anon_sym_signed] = ACTIONS(1919), + [anon_sym_unsigned] = ACTIONS(1919), + [anon_sym_long] = ACTIONS(1919), + [anon_sym_short] = ACTIONS(1919), + [sym_primitive_type] = ACTIONS(1919), + [anon_sym_enum] = ACTIONS(1919), + [anon_sym_class] = ACTIONS(1919), + [anon_sym_struct] = ACTIONS(1919), + [anon_sym_union] = ACTIONS(1919), + [anon_sym_if] = ACTIONS(1919), + [anon_sym_else] = ACTIONS(2485), + [anon_sym_switch] = ACTIONS(1919), + [anon_sym_case] = ACTIONS(1919), + [anon_sym_default] = ACTIONS(1919), + [anon_sym_while] = ACTIONS(1919), + [anon_sym_do] = ACTIONS(1919), + [anon_sym_for] = ACTIONS(1919), + [anon_sym_return] = ACTIONS(1919), + [anon_sym_break] = ACTIONS(1919), + [anon_sym_continue] = ACTIONS(1919), + [anon_sym_goto] = ACTIONS(1919), + [anon_sym_DASH_DASH] = ACTIONS(1921), + [anon_sym_PLUS_PLUS] = ACTIONS(1921), + [anon_sym_sizeof] = ACTIONS(1919), + [sym_number_literal] = ACTIONS(1921), + [anon_sym_L_SQUOTE] = ACTIONS(1921), + [anon_sym_u_SQUOTE] = ACTIONS(1921), + [anon_sym_U_SQUOTE] = ACTIONS(1921), + [anon_sym_u8_SQUOTE] = ACTIONS(1921), + [anon_sym_SQUOTE] = ACTIONS(1921), + [anon_sym_L_DQUOTE] = ACTIONS(1921), + [anon_sym_u_DQUOTE] = ACTIONS(1921), + [anon_sym_U_DQUOTE] = ACTIONS(1921), + [anon_sym_u8_DQUOTE] = ACTIONS(1921), + [anon_sym_DQUOTE] = ACTIONS(1921), + [sym_true] = ACTIONS(1919), + [sym_false] = ACTIONS(1919), + [sym_null] = ACTIONS(1919), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1919), + [anon_sym_decltype] = ACTIONS(1919), + [anon_sym_virtual] = ACTIONS(1919), + [anon_sym_explicit] = ACTIONS(1919), + [anon_sym_typename] = ACTIONS(1919), + [anon_sym_template] = ACTIONS(1919), + [anon_sym_operator] = ACTIONS(1919), + [anon_sym_delete] = ACTIONS(1919), + [anon_sym_throw] = ACTIONS(1919), + [anon_sym_namespace] = ACTIONS(1919), + [anon_sym_using] = ACTIONS(1919), + [anon_sym_static_assert] = ACTIONS(1919), + [anon_sym_concept] = ACTIONS(1919), + [anon_sym_co_return] = ACTIONS(1919), + [anon_sym_co_yield] = ACTIONS(1919), + [anon_sym_try] = ACTIONS(1919), + [anon_sym_co_await] = ACTIONS(1919), + [anon_sym_new] = ACTIONS(1919), + [anon_sym_requires] = ACTIONS(1919), + [sym_this] = ACTIONS(1919), + [sym_nullptr] = ACTIONS(1919), + [sym_raw_string_literal] = ACTIONS(1921), + }, + [643] = { + [ts_builtin_sym_end] = ACTIONS(2081), + [sym_identifier] = ACTIONS(2079), + [aux_sym_preproc_include_token1] = ACTIONS(2079), + [aux_sym_preproc_def_token1] = ACTIONS(2079), + [aux_sym_preproc_if_token1] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2079), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2079), + [sym_preproc_directive] = ACTIONS(2079), + [anon_sym_LPAREN2] = ACTIONS(2081), + [anon_sym_BANG] = ACTIONS(2081), + [anon_sym_TILDE] = ACTIONS(2081), + [anon_sym_DASH] = ACTIONS(2079), + [anon_sym_PLUS] = ACTIONS(2079), + [anon_sym_STAR] = ACTIONS(2081), + [anon_sym_AMP_AMP] = ACTIONS(2081), + [anon_sym_AMP] = ACTIONS(2079), + [anon_sym_SEMI] = ACTIONS(2081), + [anon_sym_typedef] = ACTIONS(2079), + [anon_sym_extern] = ACTIONS(2079), + [anon_sym___attribute__] = ACTIONS(2079), + [anon_sym_COLON_COLON] = ACTIONS(2081), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2081), + [anon_sym___declspec] = ACTIONS(2079), + [anon_sym___based] = ACTIONS(2079), + [anon_sym___cdecl] = ACTIONS(2079), + [anon_sym___clrcall] = ACTIONS(2079), + [anon_sym___stdcall] = ACTIONS(2079), + [anon_sym___fastcall] = ACTIONS(2079), + [anon_sym___thiscall] = ACTIONS(2079), + [anon_sym___vectorcall] = ACTIONS(2079), + [anon_sym_LBRACE] = ACTIONS(2081), + [anon_sym_LBRACK] = ACTIONS(2079), + [anon_sym_static] = ACTIONS(2079), + [anon_sym_register] = ACTIONS(2079), + [anon_sym_inline] = ACTIONS(2079), + [anon_sym_thread_local] = ACTIONS(2079), + [anon_sym_const] = ACTIONS(2079), + [anon_sym_volatile] = ACTIONS(2079), + [anon_sym_restrict] = ACTIONS(2079), + [anon_sym__Atomic] = ACTIONS(2079), + [anon_sym_mutable] = ACTIONS(2079), + [anon_sym_constexpr] = ACTIONS(2079), + [anon_sym_constinit] = ACTIONS(2079), + [anon_sym_consteval] = ACTIONS(2079), + [anon_sym_signed] = ACTIONS(2079), + [anon_sym_unsigned] = ACTIONS(2079), + [anon_sym_long] = ACTIONS(2079), + [anon_sym_short] = ACTIONS(2079), + [sym_primitive_type] = ACTIONS(2079), + [anon_sym_enum] = ACTIONS(2079), + [anon_sym_class] = ACTIONS(2079), + [anon_sym_struct] = ACTIONS(2079), + [anon_sym_union] = ACTIONS(2079), + [anon_sym_if] = ACTIONS(2079), + [anon_sym_else] = ACTIONS(2079), + [anon_sym_switch] = ACTIONS(2079), + [anon_sym_case] = ACTIONS(2079), + [anon_sym_default] = ACTIONS(2079), + [anon_sym_while] = ACTIONS(2079), + [anon_sym_do] = ACTIONS(2079), + [anon_sym_for] = ACTIONS(2079), + [anon_sym_return] = ACTIONS(2079), + [anon_sym_break] = ACTIONS(2079), + [anon_sym_continue] = ACTIONS(2079), + [anon_sym_goto] = ACTIONS(2079), + [anon_sym_DASH_DASH] = ACTIONS(2081), + [anon_sym_PLUS_PLUS] = ACTIONS(2081), + [anon_sym_sizeof] = ACTIONS(2079), + [sym_number_literal] = ACTIONS(2081), + [anon_sym_L_SQUOTE] = ACTIONS(2081), + [anon_sym_u_SQUOTE] = ACTIONS(2081), + [anon_sym_U_SQUOTE] = ACTIONS(2081), + [anon_sym_u8_SQUOTE] = ACTIONS(2081), + [anon_sym_SQUOTE] = ACTIONS(2081), + [anon_sym_L_DQUOTE] = ACTIONS(2081), + [anon_sym_u_DQUOTE] = ACTIONS(2081), + [anon_sym_U_DQUOTE] = ACTIONS(2081), + [anon_sym_u8_DQUOTE] = ACTIONS(2081), + [anon_sym_DQUOTE] = ACTIONS(2081), + [sym_true] = ACTIONS(2079), + [sym_false] = ACTIONS(2079), + [sym_null] = ACTIONS(2079), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2079), + [anon_sym_decltype] = ACTIONS(2079), + [anon_sym_virtual] = ACTIONS(2079), + [anon_sym_explicit] = ACTIONS(2079), + [anon_sym_typename] = ACTIONS(2079), + [anon_sym_template] = ACTIONS(2079), + [anon_sym_operator] = ACTIONS(2079), + [anon_sym_delete] = ACTIONS(2079), + [anon_sym_throw] = ACTIONS(2079), + [anon_sym_namespace] = ACTIONS(2079), + [anon_sym_using] = ACTIONS(2079), + [anon_sym_static_assert] = ACTIONS(2079), + [anon_sym_concept] = ACTIONS(2079), + [anon_sym_co_return] = ACTIONS(2079), + [anon_sym_co_yield] = ACTIONS(2079), + [anon_sym_try] = ACTIONS(2079), + [anon_sym_co_await] = ACTIONS(2079), + [anon_sym_new] = ACTIONS(2079), + [anon_sym_requires] = ACTIONS(2079), + [sym_this] = ACTIONS(2079), + [sym_nullptr] = ACTIONS(2079), + [sym_raw_string_literal] = ACTIONS(2081), + }, + [644] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [645] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [646] = { + [ts_builtin_sym_end] = ACTIONS(2011), + [sym_identifier] = ACTIONS(2009), + [aux_sym_preproc_include_token1] = ACTIONS(2009), + [aux_sym_preproc_def_token1] = ACTIONS(2009), + [aux_sym_preproc_if_token1] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2009), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2009), + [sym_preproc_directive] = ACTIONS(2009), + [anon_sym_LPAREN2] = ACTIONS(2011), + [anon_sym_BANG] = ACTIONS(2011), + [anon_sym_TILDE] = ACTIONS(2011), + [anon_sym_DASH] = ACTIONS(2009), + [anon_sym_PLUS] = ACTIONS(2009), + [anon_sym_STAR] = ACTIONS(2011), + [anon_sym_AMP_AMP] = ACTIONS(2011), + [anon_sym_AMP] = ACTIONS(2009), + [anon_sym_SEMI] = ACTIONS(2011), + [anon_sym_typedef] = ACTIONS(2009), + [anon_sym_extern] = ACTIONS(2009), + [anon_sym___attribute__] = ACTIONS(2009), + [anon_sym_COLON_COLON] = ACTIONS(2011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2011), + [anon_sym___declspec] = ACTIONS(2009), + [anon_sym___based] = ACTIONS(2009), + [anon_sym___cdecl] = ACTIONS(2009), + [anon_sym___clrcall] = ACTIONS(2009), + [anon_sym___stdcall] = ACTIONS(2009), + [anon_sym___fastcall] = ACTIONS(2009), + [anon_sym___thiscall] = ACTIONS(2009), + [anon_sym___vectorcall] = ACTIONS(2009), + [anon_sym_LBRACE] = ACTIONS(2011), + [anon_sym_LBRACK] = ACTIONS(2009), + [anon_sym_static] = ACTIONS(2009), + [anon_sym_register] = ACTIONS(2009), + [anon_sym_inline] = ACTIONS(2009), + [anon_sym_thread_local] = ACTIONS(2009), + [anon_sym_const] = ACTIONS(2009), + [anon_sym_volatile] = ACTIONS(2009), + [anon_sym_restrict] = ACTIONS(2009), + [anon_sym__Atomic] = ACTIONS(2009), + [anon_sym_mutable] = ACTIONS(2009), + [anon_sym_constexpr] = ACTIONS(2009), + [anon_sym_constinit] = ACTIONS(2009), + [anon_sym_consteval] = ACTIONS(2009), + [anon_sym_signed] = ACTIONS(2009), + [anon_sym_unsigned] = ACTIONS(2009), + [anon_sym_long] = ACTIONS(2009), + [anon_sym_short] = ACTIONS(2009), + [sym_primitive_type] = ACTIONS(2009), + [anon_sym_enum] = ACTIONS(2009), + [anon_sym_class] = ACTIONS(2009), + [anon_sym_struct] = ACTIONS(2009), + [anon_sym_union] = ACTIONS(2009), + [anon_sym_if] = ACTIONS(2009), + [anon_sym_else] = ACTIONS(2009), + [anon_sym_switch] = ACTIONS(2009), + [anon_sym_case] = ACTIONS(2009), + [anon_sym_default] = ACTIONS(2009), + [anon_sym_while] = ACTIONS(2009), + [anon_sym_do] = ACTIONS(2009), + [anon_sym_for] = ACTIONS(2009), + [anon_sym_return] = ACTIONS(2009), + [anon_sym_break] = ACTIONS(2009), + [anon_sym_continue] = ACTIONS(2009), + [anon_sym_goto] = ACTIONS(2009), + [anon_sym_DASH_DASH] = ACTIONS(2011), + [anon_sym_PLUS_PLUS] = ACTIONS(2011), + [anon_sym_sizeof] = ACTIONS(2009), + [sym_number_literal] = ACTIONS(2011), + [anon_sym_L_SQUOTE] = ACTIONS(2011), + [anon_sym_u_SQUOTE] = ACTIONS(2011), + [anon_sym_U_SQUOTE] = ACTIONS(2011), + [anon_sym_u8_SQUOTE] = ACTIONS(2011), + [anon_sym_SQUOTE] = ACTIONS(2011), + [anon_sym_L_DQUOTE] = ACTIONS(2011), + [anon_sym_u_DQUOTE] = ACTIONS(2011), + [anon_sym_U_DQUOTE] = ACTIONS(2011), + [anon_sym_u8_DQUOTE] = ACTIONS(2011), + [anon_sym_DQUOTE] = ACTIONS(2011), + [sym_true] = ACTIONS(2009), + [sym_false] = ACTIONS(2009), + [sym_null] = ACTIONS(2009), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2009), + [anon_sym_decltype] = ACTIONS(2009), + [anon_sym_virtual] = ACTIONS(2009), + [anon_sym_explicit] = ACTIONS(2009), + [anon_sym_typename] = ACTIONS(2009), + [anon_sym_template] = ACTIONS(2009), + [anon_sym_operator] = ACTIONS(2009), + [anon_sym_delete] = ACTIONS(2009), + [anon_sym_throw] = ACTIONS(2009), + [anon_sym_namespace] = ACTIONS(2009), + [anon_sym_using] = ACTIONS(2009), + [anon_sym_static_assert] = ACTIONS(2009), + [anon_sym_concept] = ACTIONS(2009), + [anon_sym_co_return] = ACTIONS(2009), + [anon_sym_co_yield] = ACTIONS(2009), + [anon_sym_try] = ACTIONS(2009), + [anon_sym_co_await] = ACTIONS(2009), + [anon_sym_new] = ACTIONS(2009), + [anon_sym_requires] = ACTIONS(2009), + [sym_this] = ACTIONS(2009), + [sym_nullptr] = ACTIONS(2009), + [sym_raw_string_literal] = ACTIONS(2011), + }, + [647] = { + [ts_builtin_sym_end] = ACTIONS(1935), + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [648] = { + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_RBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [649] = { + [sym_identifier] = ACTIONS(2087), + [aux_sym_preproc_include_token1] = ACTIONS(2087), + [aux_sym_preproc_def_token1] = ACTIONS(2087), + [aux_sym_preproc_if_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2087), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2087), + [sym_preproc_directive] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP_AMP] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2087), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym___based] = ACTIONS(2087), + [anon_sym___cdecl] = ACTIONS(2087), + [anon_sym___clrcall] = ACTIONS(2087), + [anon_sym___stdcall] = ACTIONS(2087), + [anon_sym___fastcall] = ACTIONS(2087), + [anon_sym___thiscall] = ACTIONS(2087), + [anon_sym___vectorcall] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_RBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_case] = ACTIONS(2087), + [anon_sym_default] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_explicit] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_operator] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_namespace] = ACTIONS(2087), + [anon_sym_using] = ACTIONS(2087), + [anon_sym_static_assert] = ACTIONS(2087), + [anon_sym_concept] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [650] = { + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [anon_sym_COMMA] = ACTIONS(1963), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1963), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_RBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [651] = { + [sym_identifier] = ACTIONS(1861), + [aux_sym_preproc_include_token1] = ACTIONS(1861), + [aux_sym_preproc_def_token1] = ACTIONS(1861), + [anon_sym_COMMA] = ACTIONS(1963), + [aux_sym_preproc_if_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1861), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1861), + [sym_preproc_directive] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP_AMP] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1861), + [anon_sym_SEMI] = ACTIONS(1863), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym___based] = ACTIONS(1861), + [anon_sym___cdecl] = ACTIONS(1861), + [anon_sym___clrcall] = ACTIONS(1861), + [anon_sym___stdcall] = ACTIONS(1861), + [anon_sym___fastcall] = ACTIONS(1861), + [anon_sym___thiscall] = ACTIONS(1861), + [anon_sym___vectorcall] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_RBRACE] = ACTIONS(1963), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_case] = ACTIONS(1861), + [anon_sym_default] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_explicit] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_operator] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_namespace] = ACTIONS(1861), + [anon_sym_using] = ACTIONS(1861), + [anon_sym_static_assert] = ACTIONS(1861), + [anon_sym_concept] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [652] = { + [ts_builtin_sym_end] = ACTIONS(1931), + [sym_identifier] = ACTIONS(1929), + [aux_sym_preproc_include_token1] = ACTIONS(1929), + [aux_sym_preproc_def_token1] = ACTIONS(1929), + [aux_sym_preproc_if_token1] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1929), + [sym_preproc_directive] = ACTIONS(1929), + [anon_sym_LPAREN2] = ACTIONS(1931), + [anon_sym_BANG] = ACTIONS(1931), + [anon_sym_TILDE] = ACTIONS(1931), + [anon_sym_DASH] = ACTIONS(1929), + [anon_sym_PLUS] = ACTIONS(1929), + [anon_sym_STAR] = ACTIONS(1931), + [anon_sym_AMP_AMP] = ACTIONS(1931), + [anon_sym_AMP] = ACTIONS(1929), + [anon_sym_SEMI] = ACTIONS(1931), + [anon_sym_typedef] = ACTIONS(1929), + [anon_sym_extern] = ACTIONS(1929), + [anon_sym___attribute__] = ACTIONS(1929), + [anon_sym_COLON_COLON] = ACTIONS(1931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1931), + [anon_sym___declspec] = ACTIONS(1929), + [anon_sym___based] = ACTIONS(1929), + [anon_sym___cdecl] = ACTIONS(1929), + [anon_sym___clrcall] = ACTIONS(1929), + [anon_sym___stdcall] = ACTIONS(1929), + [anon_sym___fastcall] = ACTIONS(1929), + [anon_sym___thiscall] = ACTIONS(1929), + [anon_sym___vectorcall] = ACTIONS(1929), + [anon_sym_LBRACE] = ACTIONS(1931), + [anon_sym_LBRACK] = ACTIONS(1929), + [anon_sym_static] = ACTIONS(1929), + [anon_sym_register] = ACTIONS(1929), + [anon_sym_inline] = ACTIONS(1929), + [anon_sym_thread_local] = ACTIONS(1929), + [anon_sym_const] = ACTIONS(1929), + [anon_sym_volatile] = ACTIONS(1929), + [anon_sym_restrict] = ACTIONS(1929), + [anon_sym__Atomic] = ACTIONS(1929), + [anon_sym_mutable] = ACTIONS(1929), + [anon_sym_constexpr] = ACTIONS(1929), + [anon_sym_constinit] = ACTIONS(1929), + [anon_sym_consteval] = ACTIONS(1929), + [anon_sym_signed] = ACTIONS(1929), + [anon_sym_unsigned] = ACTIONS(1929), + [anon_sym_long] = ACTIONS(1929), + [anon_sym_short] = ACTIONS(1929), + [sym_primitive_type] = ACTIONS(1929), + [anon_sym_enum] = ACTIONS(1929), + [anon_sym_class] = ACTIONS(1929), + [anon_sym_struct] = ACTIONS(1929), + [anon_sym_union] = ACTIONS(1929), + [anon_sym_if] = ACTIONS(1929), + [anon_sym_else] = ACTIONS(1929), + [anon_sym_switch] = ACTIONS(1929), + [anon_sym_case] = ACTIONS(1929), + [anon_sym_default] = ACTIONS(1929), + [anon_sym_while] = ACTIONS(1929), + [anon_sym_do] = ACTIONS(1929), + [anon_sym_for] = ACTIONS(1929), + [anon_sym_return] = ACTIONS(1929), + [anon_sym_break] = ACTIONS(1929), + [anon_sym_continue] = ACTIONS(1929), + [anon_sym_goto] = ACTIONS(1929), + [anon_sym_DASH_DASH] = ACTIONS(1931), + [anon_sym_PLUS_PLUS] = ACTIONS(1931), + [anon_sym_sizeof] = ACTIONS(1929), + [sym_number_literal] = ACTIONS(1931), + [anon_sym_L_SQUOTE] = ACTIONS(1931), + [anon_sym_u_SQUOTE] = ACTIONS(1931), + [anon_sym_U_SQUOTE] = ACTIONS(1931), + [anon_sym_u8_SQUOTE] = ACTIONS(1931), + [anon_sym_SQUOTE] = ACTIONS(1931), + [anon_sym_L_DQUOTE] = ACTIONS(1931), + [anon_sym_u_DQUOTE] = ACTIONS(1931), + [anon_sym_U_DQUOTE] = ACTIONS(1931), + [anon_sym_u8_DQUOTE] = ACTIONS(1931), + [anon_sym_DQUOTE] = ACTIONS(1931), + [sym_true] = ACTIONS(1929), + [sym_false] = ACTIONS(1929), + [sym_null] = ACTIONS(1929), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1929), + [anon_sym_decltype] = ACTIONS(1929), + [anon_sym_virtual] = ACTIONS(1929), + [anon_sym_explicit] = ACTIONS(1929), + [anon_sym_typename] = ACTIONS(1929), + [anon_sym_template] = ACTIONS(1929), + [anon_sym_operator] = ACTIONS(1929), + [anon_sym_delete] = ACTIONS(1929), + [anon_sym_throw] = ACTIONS(1929), + [anon_sym_namespace] = ACTIONS(1929), + [anon_sym_using] = ACTIONS(1929), + [anon_sym_static_assert] = ACTIONS(1929), + [anon_sym_concept] = ACTIONS(1929), + [anon_sym_co_return] = ACTIONS(1929), + [anon_sym_co_yield] = ACTIONS(1929), + [anon_sym_try] = ACTIONS(1929), + [anon_sym_co_await] = ACTIONS(1929), + [anon_sym_new] = ACTIONS(1929), + [anon_sym_requires] = ACTIONS(1929), + [sym_this] = ACTIONS(1929), + [sym_nullptr] = ACTIONS(1929), + [sym_raw_string_literal] = ACTIONS(1931), + }, + [653] = { + [ts_builtin_sym_end] = ACTIONS(2015), + [sym_identifier] = ACTIONS(2013), + [aux_sym_preproc_include_token1] = ACTIONS(2013), + [aux_sym_preproc_def_token1] = ACTIONS(2013), + [aux_sym_preproc_if_token1] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2013), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2013), + [sym_preproc_directive] = ACTIONS(2013), + [anon_sym_LPAREN2] = ACTIONS(2015), + [anon_sym_BANG] = ACTIONS(2015), + [anon_sym_TILDE] = ACTIONS(2015), + [anon_sym_DASH] = ACTIONS(2013), + [anon_sym_PLUS] = ACTIONS(2013), + [anon_sym_STAR] = ACTIONS(2015), + [anon_sym_AMP_AMP] = ACTIONS(2015), + [anon_sym_AMP] = ACTIONS(2013), + [anon_sym_SEMI] = ACTIONS(2015), + [anon_sym_typedef] = ACTIONS(2013), + [anon_sym_extern] = ACTIONS(2013), + [anon_sym___attribute__] = ACTIONS(2013), + [anon_sym_COLON_COLON] = ACTIONS(2015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2015), + [anon_sym___declspec] = ACTIONS(2013), + [anon_sym___based] = ACTIONS(2013), + [anon_sym___cdecl] = ACTIONS(2013), + [anon_sym___clrcall] = ACTIONS(2013), + [anon_sym___stdcall] = ACTIONS(2013), + [anon_sym___fastcall] = ACTIONS(2013), + [anon_sym___thiscall] = ACTIONS(2013), + [anon_sym___vectorcall] = ACTIONS(2013), + [anon_sym_LBRACE] = ACTIONS(2015), + [anon_sym_LBRACK] = ACTIONS(2013), + [anon_sym_static] = ACTIONS(2013), + [anon_sym_register] = ACTIONS(2013), + [anon_sym_inline] = ACTIONS(2013), + [anon_sym_thread_local] = ACTIONS(2013), + [anon_sym_const] = ACTIONS(2013), + [anon_sym_volatile] = ACTIONS(2013), + [anon_sym_restrict] = ACTIONS(2013), + [anon_sym__Atomic] = ACTIONS(2013), + [anon_sym_mutable] = ACTIONS(2013), + [anon_sym_constexpr] = ACTIONS(2013), + [anon_sym_constinit] = ACTIONS(2013), + [anon_sym_consteval] = ACTIONS(2013), + [anon_sym_signed] = ACTIONS(2013), + [anon_sym_unsigned] = ACTIONS(2013), + [anon_sym_long] = ACTIONS(2013), + [anon_sym_short] = ACTIONS(2013), + [sym_primitive_type] = ACTIONS(2013), + [anon_sym_enum] = ACTIONS(2013), + [anon_sym_class] = ACTIONS(2013), + [anon_sym_struct] = ACTIONS(2013), + [anon_sym_union] = ACTIONS(2013), + [anon_sym_if] = ACTIONS(2013), + [anon_sym_else] = ACTIONS(2013), + [anon_sym_switch] = ACTIONS(2013), + [anon_sym_case] = ACTIONS(2013), + [anon_sym_default] = ACTIONS(2013), + [anon_sym_while] = ACTIONS(2013), + [anon_sym_do] = ACTIONS(2013), + [anon_sym_for] = ACTIONS(2013), + [anon_sym_return] = ACTIONS(2013), + [anon_sym_break] = ACTIONS(2013), + [anon_sym_continue] = ACTIONS(2013), + [anon_sym_goto] = ACTIONS(2013), + [anon_sym_DASH_DASH] = ACTIONS(2015), + [anon_sym_PLUS_PLUS] = ACTIONS(2015), + [anon_sym_sizeof] = ACTIONS(2013), + [sym_number_literal] = ACTIONS(2015), + [anon_sym_L_SQUOTE] = ACTIONS(2015), + [anon_sym_u_SQUOTE] = ACTIONS(2015), + [anon_sym_U_SQUOTE] = ACTIONS(2015), + [anon_sym_u8_SQUOTE] = ACTIONS(2015), + [anon_sym_SQUOTE] = ACTIONS(2015), + [anon_sym_L_DQUOTE] = ACTIONS(2015), + [anon_sym_u_DQUOTE] = ACTIONS(2015), + [anon_sym_U_DQUOTE] = ACTIONS(2015), + [anon_sym_u8_DQUOTE] = ACTIONS(2015), + [anon_sym_DQUOTE] = ACTIONS(2015), + [sym_true] = ACTIONS(2013), + [sym_false] = ACTIONS(2013), + [sym_null] = ACTIONS(2013), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2013), + [anon_sym_decltype] = ACTIONS(2013), + [anon_sym_virtual] = ACTIONS(2013), + [anon_sym_explicit] = ACTIONS(2013), + [anon_sym_typename] = ACTIONS(2013), + [anon_sym_template] = ACTIONS(2013), + [anon_sym_operator] = ACTIONS(2013), + [anon_sym_delete] = ACTIONS(2013), + [anon_sym_throw] = ACTIONS(2013), + [anon_sym_namespace] = ACTIONS(2013), + [anon_sym_using] = ACTIONS(2013), + [anon_sym_static_assert] = ACTIONS(2013), + [anon_sym_concept] = ACTIONS(2013), + [anon_sym_co_return] = ACTIONS(2013), + [anon_sym_co_yield] = ACTIONS(2013), + [anon_sym_try] = ACTIONS(2013), + [anon_sym_co_await] = ACTIONS(2013), + [anon_sym_new] = ACTIONS(2013), + [anon_sym_requires] = ACTIONS(2013), + [sym_this] = ACTIONS(2013), + [sym_nullptr] = ACTIONS(2013), + [sym_raw_string_literal] = ACTIONS(2015), + }, + [654] = { + [ts_builtin_sym_end] = ACTIONS(2021), + [sym_identifier] = ACTIONS(2019), + [aux_sym_preproc_include_token1] = ACTIONS(2019), + [aux_sym_preproc_def_token1] = ACTIONS(2019), + [aux_sym_preproc_if_token1] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2019), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2019), + [sym_preproc_directive] = ACTIONS(2019), + [anon_sym_LPAREN2] = ACTIONS(2021), + [anon_sym_BANG] = ACTIONS(2021), + [anon_sym_TILDE] = ACTIONS(2021), + [anon_sym_DASH] = ACTIONS(2019), + [anon_sym_PLUS] = ACTIONS(2019), + [anon_sym_STAR] = ACTIONS(2021), + [anon_sym_AMP_AMP] = ACTIONS(2021), + [anon_sym_AMP] = ACTIONS(2019), + [anon_sym_SEMI] = ACTIONS(2021), + [anon_sym_typedef] = ACTIONS(2019), + [anon_sym_extern] = ACTIONS(2019), + [anon_sym___attribute__] = ACTIONS(2019), + [anon_sym_COLON_COLON] = ACTIONS(2021), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2021), + [anon_sym___declspec] = ACTIONS(2019), + [anon_sym___based] = ACTIONS(2019), + [anon_sym___cdecl] = ACTIONS(2019), + [anon_sym___clrcall] = ACTIONS(2019), + [anon_sym___stdcall] = ACTIONS(2019), + [anon_sym___fastcall] = ACTIONS(2019), + [anon_sym___thiscall] = ACTIONS(2019), + [anon_sym___vectorcall] = ACTIONS(2019), + [anon_sym_LBRACE] = ACTIONS(2021), + [anon_sym_LBRACK] = ACTIONS(2019), + [anon_sym_static] = ACTIONS(2019), + [anon_sym_register] = ACTIONS(2019), + [anon_sym_inline] = ACTIONS(2019), + [anon_sym_thread_local] = ACTIONS(2019), + [anon_sym_const] = ACTIONS(2019), + [anon_sym_volatile] = ACTIONS(2019), + [anon_sym_restrict] = ACTIONS(2019), + [anon_sym__Atomic] = ACTIONS(2019), + [anon_sym_mutable] = ACTIONS(2019), + [anon_sym_constexpr] = ACTIONS(2019), + [anon_sym_constinit] = ACTIONS(2019), + [anon_sym_consteval] = ACTIONS(2019), + [anon_sym_signed] = ACTIONS(2019), + [anon_sym_unsigned] = ACTIONS(2019), + [anon_sym_long] = ACTIONS(2019), + [anon_sym_short] = ACTIONS(2019), + [sym_primitive_type] = ACTIONS(2019), + [anon_sym_enum] = ACTIONS(2019), + [anon_sym_class] = ACTIONS(2019), + [anon_sym_struct] = ACTIONS(2019), + [anon_sym_union] = ACTIONS(2019), + [anon_sym_if] = ACTIONS(2019), + [anon_sym_else] = ACTIONS(2019), + [anon_sym_switch] = ACTIONS(2019), + [anon_sym_case] = ACTIONS(2019), + [anon_sym_default] = ACTIONS(2019), + [anon_sym_while] = ACTIONS(2019), + [anon_sym_do] = ACTIONS(2019), + [anon_sym_for] = ACTIONS(2019), + [anon_sym_return] = ACTIONS(2019), + [anon_sym_break] = ACTIONS(2019), + [anon_sym_continue] = ACTIONS(2019), + [anon_sym_goto] = ACTIONS(2019), + [anon_sym_DASH_DASH] = ACTIONS(2021), + [anon_sym_PLUS_PLUS] = ACTIONS(2021), + [anon_sym_sizeof] = ACTIONS(2019), + [sym_number_literal] = ACTIONS(2021), + [anon_sym_L_SQUOTE] = ACTIONS(2021), + [anon_sym_u_SQUOTE] = ACTIONS(2021), + [anon_sym_U_SQUOTE] = ACTIONS(2021), + [anon_sym_u8_SQUOTE] = ACTIONS(2021), + [anon_sym_SQUOTE] = ACTIONS(2021), + [anon_sym_L_DQUOTE] = ACTIONS(2021), + [anon_sym_u_DQUOTE] = ACTIONS(2021), + [anon_sym_U_DQUOTE] = ACTIONS(2021), + [anon_sym_u8_DQUOTE] = ACTIONS(2021), + [anon_sym_DQUOTE] = ACTIONS(2021), + [sym_true] = ACTIONS(2019), + [sym_false] = ACTIONS(2019), + [sym_null] = ACTIONS(2019), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2019), + [anon_sym_decltype] = ACTIONS(2019), + [anon_sym_virtual] = ACTIONS(2019), + [anon_sym_explicit] = ACTIONS(2019), + [anon_sym_typename] = ACTIONS(2019), + [anon_sym_template] = ACTIONS(2019), + [anon_sym_operator] = ACTIONS(2019), + [anon_sym_delete] = ACTIONS(2019), + [anon_sym_throw] = ACTIONS(2019), + [anon_sym_namespace] = ACTIONS(2019), + [anon_sym_using] = ACTIONS(2019), + [anon_sym_static_assert] = ACTIONS(2019), + [anon_sym_concept] = ACTIONS(2019), + [anon_sym_co_return] = ACTIONS(2019), + [anon_sym_co_yield] = ACTIONS(2019), + [anon_sym_try] = ACTIONS(2019), + [anon_sym_co_await] = ACTIONS(2019), + [anon_sym_new] = ACTIONS(2019), + [anon_sym_requires] = ACTIONS(2019), + [sym_this] = ACTIONS(2019), + [sym_nullptr] = ACTIONS(2019), + [sym_raw_string_literal] = ACTIONS(2021), + }, + [655] = { + [sym_identifier] = ACTIONS(2111), + [aux_sym_preproc_include_token1] = ACTIONS(2111), + [aux_sym_preproc_def_token1] = ACTIONS(2111), + [aux_sym_preproc_if_token1] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2111), + [sym_preproc_directive] = ACTIONS(2111), + [anon_sym_LPAREN2] = ACTIONS(2113), + [anon_sym_BANG] = ACTIONS(2113), + [anon_sym_TILDE] = ACTIONS(2113), + [anon_sym_DASH] = ACTIONS(2111), + [anon_sym_PLUS] = ACTIONS(2111), + [anon_sym_STAR] = ACTIONS(2113), + [anon_sym_AMP_AMP] = ACTIONS(2113), + [anon_sym_AMP] = ACTIONS(2111), + [anon_sym_SEMI] = ACTIONS(2113), + [anon_sym_typedef] = ACTIONS(2111), + [anon_sym_extern] = ACTIONS(2111), + [anon_sym___attribute__] = ACTIONS(2111), + [anon_sym_COLON_COLON] = ACTIONS(2113), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2113), + [anon_sym___declspec] = ACTIONS(2111), + [anon_sym___based] = ACTIONS(2111), + [anon_sym___cdecl] = ACTIONS(2111), + [anon_sym___clrcall] = ACTIONS(2111), + [anon_sym___stdcall] = ACTIONS(2111), + [anon_sym___fastcall] = ACTIONS(2111), + [anon_sym___thiscall] = ACTIONS(2111), + [anon_sym___vectorcall] = ACTIONS(2111), + [anon_sym_LBRACE] = ACTIONS(2113), + [anon_sym_RBRACE] = ACTIONS(2113), + [anon_sym_LBRACK] = ACTIONS(2111), + [anon_sym_static] = ACTIONS(2111), + [anon_sym_register] = ACTIONS(2111), + [anon_sym_inline] = ACTIONS(2111), + [anon_sym_thread_local] = ACTIONS(2111), + [anon_sym_const] = ACTIONS(2111), + [anon_sym_volatile] = ACTIONS(2111), + [anon_sym_restrict] = ACTIONS(2111), + [anon_sym__Atomic] = ACTIONS(2111), + [anon_sym_mutable] = ACTIONS(2111), + [anon_sym_constexpr] = ACTIONS(2111), + [anon_sym_constinit] = ACTIONS(2111), + [anon_sym_consteval] = ACTIONS(2111), + [anon_sym_signed] = ACTIONS(2111), + [anon_sym_unsigned] = ACTIONS(2111), + [anon_sym_long] = ACTIONS(2111), + [anon_sym_short] = ACTIONS(2111), + [sym_primitive_type] = ACTIONS(2111), + [anon_sym_enum] = ACTIONS(2111), + [anon_sym_class] = ACTIONS(2111), + [anon_sym_struct] = ACTIONS(2111), + [anon_sym_union] = ACTIONS(2111), + [anon_sym_if] = ACTIONS(2111), + [anon_sym_else] = ACTIONS(2111), + [anon_sym_switch] = ACTIONS(2111), + [anon_sym_case] = ACTIONS(2111), + [anon_sym_default] = ACTIONS(2111), + [anon_sym_while] = ACTIONS(2111), + [anon_sym_do] = ACTIONS(2111), + [anon_sym_for] = ACTIONS(2111), + [anon_sym_return] = ACTIONS(2111), + [anon_sym_break] = ACTIONS(2111), + [anon_sym_continue] = ACTIONS(2111), + [anon_sym_goto] = ACTIONS(2111), + [anon_sym_DASH_DASH] = ACTIONS(2113), + [anon_sym_PLUS_PLUS] = ACTIONS(2113), + [anon_sym_sizeof] = ACTIONS(2111), + [sym_number_literal] = ACTIONS(2113), + [anon_sym_L_SQUOTE] = ACTIONS(2113), + [anon_sym_u_SQUOTE] = ACTIONS(2113), + [anon_sym_U_SQUOTE] = ACTIONS(2113), + [anon_sym_u8_SQUOTE] = ACTIONS(2113), + [anon_sym_SQUOTE] = ACTIONS(2113), + [anon_sym_L_DQUOTE] = ACTIONS(2113), + [anon_sym_u_DQUOTE] = ACTIONS(2113), + [anon_sym_U_DQUOTE] = ACTIONS(2113), + [anon_sym_u8_DQUOTE] = ACTIONS(2113), + [anon_sym_DQUOTE] = ACTIONS(2113), + [sym_true] = ACTIONS(2111), + [sym_false] = ACTIONS(2111), + [sym_null] = ACTIONS(2111), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2111), + [anon_sym_decltype] = ACTIONS(2111), + [anon_sym_virtual] = ACTIONS(2111), + [anon_sym_explicit] = ACTIONS(2111), + [anon_sym_typename] = ACTIONS(2111), + [anon_sym_template] = ACTIONS(2111), + [anon_sym_operator] = ACTIONS(2111), + [anon_sym_delete] = ACTIONS(2111), + [anon_sym_throw] = ACTIONS(2111), + [anon_sym_namespace] = ACTIONS(2111), + [anon_sym_using] = ACTIONS(2111), + [anon_sym_static_assert] = ACTIONS(2111), + [anon_sym_concept] = ACTIONS(2111), + [anon_sym_co_return] = ACTIONS(2111), + [anon_sym_co_yield] = ACTIONS(2111), + [anon_sym_try] = ACTIONS(2111), + [anon_sym_co_await] = ACTIONS(2111), + [anon_sym_new] = ACTIONS(2111), + [anon_sym_requires] = ACTIONS(2111), + [sym_this] = ACTIONS(2111), + [sym_nullptr] = ACTIONS(2111), + [sym_raw_string_literal] = ACTIONS(2113), + }, + [656] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [657] = { + [sym_identifier] = ACTIONS(2059), + [aux_sym_preproc_include_token1] = ACTIONS(2059), + [aux_sym_preproc_def_token1] = ACTIONS(2059), + [aux_sym_preproc_if_token1] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2059), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2059), + [sym_preproc_directive] = ACTIONS(2059), + [anon_sym_LPAREN2] = ACTIONS(2061), + [anon_sym_BANG] = ACTIONS(2061), + [anon_sym_TILDE] = ACTIONS(2061), + [anon_sym_DASH] = ACTIONS(2059), + [anon_sym_PLUS] = ACTIONS(2059), + [anon_sym_STAR] = ACTIONS(2061), + [anon_sym_AMP_AMP] = ACTIONS(2061), + [anon_sym_AMP] = ACTIONS(2059), + [anon_sym_SEMI] = ACTIONS(2061), + [anon_sym_typedef] = ACTIONS(2059), + [anon_sym_extern] = ACTIONS(2059), + [anon_sym___attribute__] = ACTIONS(2059), + [anon_sym_COLON_COLON] = ACTIONS(2061), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2061), + [anon_sym___declspec] = ACTIONS(2059), + [anon_sym___based] = ACTIONS(2059), + [anon_sym___cdecl] = ACTIONS(2059), + [anon_sym___clrcall] = ACTIONS(2059), + [anon_sym___stdcall] = ACTIONS(2059), + [anon_sym___fastcall] = ACTIONS(2059), + [anon_sym___thiscall] = ACTIONS(2059), + [anon_sym___vectorcall] = ACTIONS(2059), + [anon_sym_LBRACE] = ACTIONS(2061), + [anon_sym_RBRACE] = ACTIONS(2061), + [anon_sym_LBRACK] = ACTIONS(2059), + [anon_sym_static] = ACTIONS(2059), + [anon_sym_register] = ACTIONS(2059), + [anon_sym_inline] = ACTIONS(2059), + [anon_sym_thread_local] = ACTIONS(2059), + [anon_sym_const] = ACTIONS(2059), + [anon_sym_volatile] = ACTIONS(2059), + [anon_sym_restrict] = ACTIONS(2059), + [anon_sym__Atomic] = ACTIONS(2059), + [anon_sym_mutable] = ACTIONS(2059), + [anon_sym_constexpr] = ACTIONS(2059), + [anon_sym_constinit] = ACTIONS(2059), + [anon_sym_consteval] = ACTIONS(2059), + [anon_sym_signed] = ACTIONS(2059), + [anon_sym_unsigned] = ACTIONS(2059), + [anon_sym_long] = ACTIONS(2059), + [anon_sym_short] = ACTIONS(2059), + [sym_primitive_type] = ACTIONS(2059), + [anon_sym_enum] = ACTIONS(2059), + [anon_sym_class] = ACTIONS(2059), + [anon_sym_struct] = ACTIONS(2059), + [anon_sym_union] = ACTIONS(2059), + [anon_sym_if] = ACTIONS(2059), + [anon_sym_else] = ACTIONS(2059), + [anon_sym_switch] = ACTIONS(2059), + [anon_sym_case] = ACTIONS(2059), + [anon_sym_default] = ACTIONS(2059), + [anon_sym_while] = ACTIONS(2059), + [anon_sym_do] = ACTIONS(2059), + [anon_sym_for] = ACTIONS(2059), + [anon_sym_return] = ACTIONS(2059), + [anon_sym_break] = ACTIONS(2059), + [anon_sym_continue] = ACTIONS(2059), + [anon_sym_goto] = ACTIONS(2059), + [anon_sym_DASH_DASH] = ACTIONS(2061), + [anon_sym_PLUS_PLUS] = ACTIONS(2061), + [anon_sym_sizeof] = ACTIONS(2059), + [sym_number_literal] = ACTIONS(2061), + [anon_sym_L_SQUOTE] = ACTIONS(2061), + [anon_sym_u_SQUOTE] = ACTIONS(2061), + [anon_sym_U_SQUOTE] = ACTIONS(2061), + [anon_sym_u8_SQUOTE] = ACTIONS(2061), + [anon_sym_SQUOTE] = ACTIONS(2061), + [anon_sym_L_DQUOTE] = ACTIONS(2061), + [anon_sym_u_DQUOTE] = ACTIONS(2061), + [anon_sym_U_DQUOTE] = ACTIONS(2061), + [anon_sym_u8_DQUOTE] = ACTIONS(2061), + [anon_sym_DQUOTE] = ACTIONS(2061), + [sym_true] = ACTIONS(2059), + [sym_false] = ACTIONS(2059), + [sym_null] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2059), + [anon_sym_decltype] = ACTIONS(2059), + [anon_sym_virtual] = ACTIONS(2059), + [anon_sym_explicit] = ACTIONS(2059), + [anon_sym_typename] = ACTIONS(2059), + [anon_sym_template] = ACTIONS(2059), + [anon_sym_operator] = ACTIONS(2059), + [anon_sym_delete] = ACTIONS(2059), + [anon_sym_throw] = ACTIONS(2059), + [anon_sym_namespace] = ACTIONS(2059), + [anon_sym_using] = ACTIONS(2059), + [anon_sym_static_assert] = ACTIONS(2059), + [anon_sym_concept] = ACTIONS(2059), + [anon_sym_co_return] = ACTIONS(2059), + [anon_sym_co_yield] = ACTIONS(2059), + [anon_sym_try] = ACTIONS(2059), + [anon_sym_co_await] = ACTIONS(2059), + [anon_sym_new] = ACTIONS(2059), + [anon_sym_requires] = ACTIONS(2059), + [sym_this] = ACTIONS(2059), + [sym_nullptr] = ACTIONS(2059), + [sym_raw_string_literal] = ACTIONS(2061), + }, + [658] = { + [sym_type_qualifier] = STATE(2718), + [sym__type_specifier] = STATE(3495), + [sym_sized_type_specifier] = STATE(2620), + [sym_enum_specifier] = STATE(2620), + [sym_struct_specifier] = STATE(2620), + [sym_union_specifier] = STATE(2620), + [sym__expression] = STATE(3368), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_type_descriptor] = STATE(5266), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym_placeholder_type_specifier] = STATE(2620), + [sym_decltype_auto] = STATE(2594), + [sym_decltype] = STATE(2620), + [sym_class_specifier] = STATE(2620), + [sym__class_name] = STATE(5780), + [sym_dependent_type] = STATE(2620), + [sym_template_type] = STATE(3898), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_type_parameter_pack_expansion] = STATE(5570), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4323), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(3974), + [sym_user_defined_literal] = STATE(3558), + [aux_sym_type_definition_repeat1] = STATE(2718), + [aux_sym_sized_type_specifier_repeat1] = STATE(1955), + [sym_identifier] = ACTIONS(2131), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2143), + [anon_sym_unsigned] = ACTIONS(2143), + [anon_sym_long] = ACTIONS(2143), + [anon_sym_short] = ACTIONS(2143), + [sym_primitive_type] = ACTIONS(2145), + [anon_sym_enum] = ACTIONS(2147), + [anon_sym_class] = ACTIONS(2149), + [anon_sym_struct] = ACTIONS(2151), + [anon_sym_union] = ACTIONS(2153), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2167), + [anon_sym_decltype] = ACTIONS(2169), + [anon_sym_typename] = ACTIONS(2171), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [659] = { + [ts_builtin_sym_end] = ACTIONS(1927), + [sym_identifier] = ACTIONS(1925), + [aux_sym_preproc_include_token1] = ACTIONS(1925), + [aux_sym_preproc_def_token1] = ACTIONS(1925), + [aux_sym_preproc_if_token1] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1925), + [sym_preproc_directive] = ACTIONS(1925), + [anon_sym_LPAREN2] = ACTIONS(1927), + [anon_sym_BANG] = ACTIONS(1927), + [anon_sym_TILDE] = ACTIONS(1927), + [anon_sym_DASH] = ACTIONS(1925), + [anon_sym_PLUS] = ACTIONS(1925), + [anon_sym_STAR] = ACTIONS(1927), + [anon_sym_AMP_AMP] = ACTIONS(1927), + [anon_sym_AMP] = ACTIONS(1925), + [anon_sym_SEMI] = ACTIONS(1927), + [anon_sym_typedef] = ACTIONS(1925), + [anon_sym_extern] = ACTIONS(1925), + [anon_sym___attribute__] = ACTIONS(1925), + [anon_sym_COLON_COLON] = ACTIONS(1927), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1927), + [anon_sym___declspec] = ACTIONS(1925), + [anon_sym___based] = ACTIONS(1925), + [anon_sym___cdecl] = ACTIONS(1925), + [anon_sym___clrcall] = ACTIONS(1925), + [anon_sym___stdcall] = ACTIONS(1925), + [anon_sym___fastcall] = ACTIONS(1925), + [anon_sym___thiscall] = ACTIONS(1925), + [anon_sym___vectorcall] = ACTIONS(1925), + [anon_sym_LBRACE] = ACTIONS(1927), + [anon_sym_LBRACK] = ACTIONS(1925), + [anon_sym_static] = ACTIONS(1925), + [anon_sym_register] = ACTIONS(1925), + [anon_sym_inline] = ACTIONS(1925), + [anon_sym_thread_local] = ACTIONS(1925), + [anon_sym_const] = ACTIONS(1925), + [anon_sym_volatile] = ACTIONS(1925), + [anon_sym_restrict] = ACTIONS(1925), + [anon_sym__Atomic] = ACTIONS(1925), + [anon_sym_mutable] = ACTIONS(1925), + [anon_sym_constexpr] = ACTIONS(1925), + [anon_sym_constinit] = ACTIONS(1925), + [anon_sym_consteval] = ACTIONS(1925), + [anon_sym_signed] = ACTIONS(1925), + [anon_sym_unsigned] = ACTIONS(1925), + [anon_sym_long] = ACTIONS(1925), + [anon_sym_short] = ACTIONS(1925), + [sym_primitive_type] = ACTIONS(1925), + [anon_sym_enum] = ACTIONS(1925), + [anon_sym_class] = ACTIONS(1925), + [anon_sym_struct] = ACTIONS(1925), + [anon_sym_union] = ACTIONS(1925), + [anon_sym_if] = ACTIONS(1925), + [anon_sym_else] = ACTIONS(1925), + [anon_sym_switch] = ACTIONS(1925), + [anon_sym_case] = ACTIONS(1925), + [anon_sym_default] = ACTIONS(1925), + [anon_sym_while] = ACTIONS(1925), + [anon_sym_do] = ACTIONS(1925), + [anon_sym_for] = ACTIONS(1925), + [anon_sym_return] = ACTIONS(1925), + [anon_sym_break] = ACTIONS(1925), + [anon_sym_continue] = ACTIONS(1925), + [anon_sym_goto] = ACTIONS(1925), + [anon_sym_DASH_DASH] = ACTIONS(1927), + [anon_sym_PLUS_PLUS] = ACTIONS(1927), + [anon_sym_sizeof] = ACTIONS(1925), + [sym_number_literal] = ACTIONS(1927), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1927), + [anon_sym_u_DQUOTE] = ACTIONS(1927), + [anon_sym_U_DQUOTE] = ACTIONS(1927), + [anon_sym_u8_DQUOTE] = ACTIONS(1927), + [anon_sym_DQUOTE] = ACTIONS(1927), + [sym_true] = ACTIONS(1925), + [sym_false] = ACTIONS(1925), + [sym_null] = ACTIONS(1925), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1925), + [anon_sym_decltype] = ACTIONS(1925), + [anon_sym_virtual] = ACTIONS(1925), + [anon_sym_explicit] = ACTIONS(1925), + [anon_sym_typename] = ACTIONS(1925), + [anon_sym_template] = ACTIONS(1925), + [anon_sym_operator] = ACTIONS(1925), + [anon_sym_delete] = ACTIONS(1925), + [anon_sym_throw] = ACTIONS(1925), + [anon_sym_namespace] = ACTIONS(1925), + [anon_sym_using] = ACTIONS(1925), + [anon_sym_static_assert] = ACTIONS(1925), + [anon_sym_concept] = ACTIONS(1925), + [anon_sym_co_return] = ACTIONS(1925), + [anon_sym_co_yield] = ACTIONS(1925), + [anon_sym_try] = ACTIONS(1925), + [anon_sym_co_await] = ACTIONS(1925), + [anon_sym_new] = ACTIONS(1925), + [anon_sym_requires] = ACTIONS(1925), + [sym_this] = ACTIONS(1925), + [sym_nullptr] = ACTIONS(1925), + [sym_raw_string_literal] = ACTIONS(1927), + }, + [660] = { + [sym_identifier] = ACTIONS(2103), + [aux_sym_preproc_include_token1] = ACTIONS(2103), + [aux_sym_preproc_def_token1] = ACTIONS(2103), + [aux_sym_preproc_if_token1] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2103), + [sym_preproc_directive] = ACTIONS(2103), + [anon_sym_LPAREN2] = ACTIONS(2105), + [anon_sym_BANG] = ACTIONS(2105), + [anon_sym_TILDE] = ACTIONS(2105), + [anon_sym_DASH] = ACTIONS(2103), + [anon_sym_PLUS] = ACTIONS(2103), + [anon_sym_STAR] = ACTIONS(2105), + [anon_sym_AMP_AMP] = ACTIONS(2105), + [anon_sym_AMP] = ACTIONS(2103), + [anon_sym_SEMI] = ACTIONS(2105), + [anon_sym_typedef] = ACTIONS(2103), + [anon_sym_extern] = ACTIONS(2103), + [anon_sym___attribute__] = ACTIONS(2103), + [anon_sym_COLON_COLON] = ACTIONS(2105), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2105), + [anon_sym___declspec] = ACTIONS(2103), + [anon_sym___based] = ACTIONS(2103), + [anon_sym___cdecl] = ACTIONS(2103), + [anon_sym___clrcall] = ACTIONS(2103), + [anon_sym___stdcall] = ACTIONS(2103), + [anon_sym___fastcall] = ACTIONS(2103), + [anon_sym___thiscall] = ACTIONS(2103), + [anon_sym___vectorcall] = ACTIONS(2103), + [anon_sym_LBRACE] = ACTIONS(2105), + [anon_sym_RBRACE] = ACTIONS(2105), + [anon_sym_LBRACK] = ACTIONS(2103), + [anon_sym_static] = ACTIONS(2103), + [anon_sym_register] = ACTIONS(2103), + [anon_sym_inline] = ACTIONS(2103), + [anon_sym_thread_local] = ACTIONS(2103), + [anon_sym_const] = ACTIONS(2103), + [anon_sym_volatile] = ACTIONS(2103), + [anon_sym_restrict] = ACTIONS(2103), + [anon_sym__Atomic] = ACTIONS(2103), + [anon_sym_mutable] = ACTIONS(2103), + [anon_sym_constexpr] = ACTIONS(2103), + [anon_sym_constinit] = ACTIONS(2103), + [anon_sym_consteval] = ACTIONS(2103), + [anon_sym_signed] = ACTIONS(2103), + [anon_sym_unsigned] = ACTIONS(2103), + [anon_sym_long] = ACTIONS(2103), + [anon_sym_short] = ACTIONS(2103), + [sym_primitive_type] = ACTIONS(2103), + [anon_sym_enum] = ACTIONS(2103), + [anon_sym_class] = ACTIONS(2103), + [anon_sym_struct] = ACTIONS(2103), + [anon_sym_union] = ACTIONS(2103), + [anon_sym_if] = ACTIONS(2103), + [anon_sym_else] = ACTIONS(2103), + [anon_sym_switch] = ACTIONS(2103), + [anon_sym_case] = ACTIONS(2103), + [anon_sym_default] = ACTIONS(2103), + [anon_sym_while] = ACTIONS(2103), + [anon_sym_do] = ACTIONS(2103), + [anon_sym_for] = ACTIONS(2103), + [anon_sym_return] = ACTIONS(2103), + [anon_sym_break] = ACTIONS(2103), + [anon_sym_continue] = ACTIONS(2103), + [anon_sym_goto] = ACTIONS(2103), + [anon_sym_DASH_DASH] = ACTIONS(2105), + [anon_sym_PLUS_PLUS] = ACTIONS(2105), + [anon_sym_sizeof] = ACTIONS(2103), + [sym_number_literal] = ACTIONS(2105), + [anon_sym_L_SQUOTE] = ACTIONS(2105), + [anon_sym_u_SQUOTE] = ACTIONS(2105), + [anon_sym_U_SQUOTE] = ACTIONS(2105), + [anon_sym_u8_SQUOTE] = ACTIONS(2105), + [anon_sym_SQUOTE] = ACTIONS(2105), + [anon_sym_L_DQUOTE] = ACTIONS(2105), + [anon_sym_u_DQUOTE] = ACTIONS(2105), + [anon_sym_U_DQUOTE] = ACTIONS(2105), + [anon_sym_u8_DQUOTE] = ACTIONS(2105), + [anon_sym_DQUOTE] = ACTIONS(2105), + [sym_true] = ACTIONS(2103), + [sym_false] = ACTIONS(2103), + [sym_null] = ACTIONS(2103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2103), + [anon_sym_decltype] = ACTIONS(2103), + [anon_sym_virtual] = ACTIONS(2103), + [anon_sym_explicit] = ACTIONS(2103), + [anon_sym_typename] = ACTIONS(2103), + [anon_sym_template] = ACTIONS(2103), + [anon_sym_operator] = ACTIONS(2103), + [anon_sym_delete] = ACTIONS(2103), + [anon_sym_throw] = ACTIONS(2103), + [anon_sym_namespace] = ACTIONS(2103), + [anon_sym_using] = ACTIONS(2103), + [anon_sym_static_assert] = ACTIONS(2103), + [anon_sym_concept] = ACTIONS(2103), + [anon_sym_co_return] = ACTIONS(2103), + [anon_sym_co_yield] = ACTIONS(2103), + [anon_sym_try] = ACTIONS(2103), + [anon_sym_co_await] = ACTIONS(2103), + [anon_sym_new] = ACTIONS(2103), + [anon_sym_requires] = ACTIONS(2103), + [sym_this] = ACTIONS(2103), + [sym_nullptr] = ACTIONS(2103), + [sym_raw_string_literal] = ACTIONS(2105), + }, + [661] = { + [ts_builtin_sym_end] = ACTIONS(2045), + [sym_identifier] = ACTIONS(2043), + [aux_sym_preproc_include_token1] = ACTIONS(2043), + [aux_sym_preproc_def_token1] = ACTIONS(2043), + [aux_sym_preproc_if_token1] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2043), + [sym_preproc_directive] = ACTIONS(2043), + [anon_sym_LPAREN2] = ACTIONS(2045), + [anon_sym_BANG] = ACTIONS(2045), + [anon_sym_TILDE] = ACTIONS(2045), + [anon_sym_DASH] = ACTIONS(2043), + [anon_sym_PLUS] = ACTIONS(2043), + [anon_sym_STAR] = ACTIONS(2045), + [anon_sym_AMP_AMP] = ACTIONS(2045), + [anon_sym_AMP] = ACTIONS(2043), + [anon_sym_SEMI] = ACTIONS(2045), + [anon_sym_typedef] = ACTIONS(2043), + [anon_sym_extern] = ACTIONS(2043), + [anon_sym___attribute__] = ACTIONS(2043), + [anon_sym_COLON_COLON] = ACTIONS(2045), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2045), + [anon_sym___declspec] = ACTIONS(2043), + [anon_sym___based] = ACTIONS(2043), + [anon_sym___cdecl] = ACTIONS(2043), + [anon_sym___clrcall] = ACTIONS(2043), + [anon_sym___stdcall] = ACTIONS(2043), + [anon_sym___fastcall] = ACTIONS(2043), + [anon_sym___thiscall] = ACTIONS(2043), + [anon_sym___vectorcall] = ACTIONS(2043), + [anon_sym_LBRACE] = ACTIONS(2045), + [anon_sym_LBRACK] = ACTIONS(2043), + [anon_sym_static] = ACTIONS(2043), + [anon_sym_register] = ACTIONS(2043), + [anon_sym_inline] = ACTIONS(2043), + [anon_sym_thread_local] = ACTIONS(2043), + [anon_sym_const] = ACTIONS(2043), + [anon_sym_volatile] = ACTIONS(2043), + [anon_sym_restrict] = ACTIONS(2043), + [anon_sym__Atomic] = ACTIONS(2043), + [anon_sym_mutable] = ACTIONS(2043), + [anon_sym_constexpr] = ACTIONS(2043), + [anon_sym_constinit] = ACTIONS(2043), + [anon_sym_consteval] = ACTIONS(2043), + [anon_sym_signed] = ACTIONS(2043), + [anon_sym_unsigned] = ACTIONS(2043), + [anon_sym_long] = ACTIONS(2043), + [anon_sym_short] = ACTIONS(2043), + [sym_primitive_type] = ACTIONS(2043), + [anon_sym_enum] = ACTIONS(2043), + [anon_sym_class] = ACTIONS(2043), + [anon_sym_struct] = ACTIONS(2043), + [anon_sym_union] = ACTIONS(2043), + [anon_sym_if] = ACTIONS(2043), + [anon_sym_else] = ACTIONS(2043), + [anon_sym_switch] = ACTIONS(2043), + [anon_sym_case] = ACTIONS(2043), + [anon_sym_default] = ACTIONS(2043), + [anon_sym_while] = ACTIONS(2043), + [anon_sym_do] = ACTIONS(2043), + [anon_sym_for] = ACTIONS(2043), + [anon_sym_return] = ACTIONS(2043), + [anon_sym_break] = ACTIONS(2043), + [anon_sym_continue] = ACTIONS(2043), + [anon_sym_goto] = ACTIONS(2043), + [anon_sym_DASH_DASH] = ACTIONS(2045), + [anon_sym_PLUS_PLUS] = ACTIONS(2045), + [anon_sym_sizeof] = ACTIONS(2043), + [sym_number_literal] = ACTIONS(2045), + [anon_sym_L_SQUOTE] = ACTIONS(2045), + [anon_sym_u_SQUOTE] = ACTIONS(2045), + [anon_sym_U_SQUOTE] = ACTIONS(2045), + [anon_sym_u8_SQUOTE] = ACTIONS(2045), + [anon_sym_SQUOTE] = ACTIONS(2045), + [anon_sym_L_DQUOTE] = ACTIONS(2045), + [anon_sym_u_DQUOTE] = ACTIONS(2045), + [anon_sym_U_DQUOTE] = ACTIONS(2045), + [anon_sym_u8_DQUOTE] = ACTIONS(2045), + [anon_sym_DQUOTE] = ACTIONS(2045), + [sym_true] = ACTIONS(2043), + [sym_false] = ACTIONS(2043), + [sym_null] = ACTIONS(2043), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2043), + [anon_sym_decltype] = ACTIONS(2043), + [anon_sym_virtual] = ACTIONS(2043), + [anon_sym_explicit] = ACTIONS(2043), + [anon_sym_typename] = ACTIONS(2043), + [anon_sym_template] = ACTIONS(2043), + [anon_sym_operator] = ACTIONS(2043), + [anon_sym_delete] = ACTIONS(2043), + [anon_sym_throw] = ACTIONS(2043), + [anon_sym_namespace] = ACTIONS(2043), + [anon_sym_using] = ACTIONS(2043), + [anon_sym_static_assert] = ACTIONS(2043), + [anon_sym_concept] = ACTIONS(2043), + [anon_sym_co_return] = ACTIONS(2043), + [anon_sym_co_yield] = ACTIONS(2043), + [anon_sym_try] = ACTIONS(2043), + [anon_sym_co_await] = ACTIONS(2043), + [anon_sym_new] = ACTIONS(2043), + [anon_sym_requires] = ACTIONS(2043), + [sym_this] = ACTIONS(2043), + [sym_nullptr] = ACTIONS(2043), + [sym_raw_string_literal] = ACTIONS(2045), + }, + [662] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [663] = { + [ts_builtin_sym_end] = ACTIONS(1921), + [sym_identifier] = ACTIONS(1919), + [aux_sym_preproc_include_token1] = ACTIONS(1919), + [aux_sym_preproc_def_token1] = ACTIONS(1919), + [aux_sym_preproc_if_token1] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1919), + [sym_preproc_directive] = ACTIONS(1919), + [anon_sym_LPAREN2] = ACTIONS(1921), + [anon_sym_BANG] = ACTIONS(1921), + [anon_sym_TILDE] = ACTIONS(1921), + [anon_sym_DASH] = ACTIONS(1919), + [anon_sym_PLUS] = ACTIONS(1919), + [anon_sym_STAR] = ACTIONS(1921), + [anon_sym_AMP_AMP] = ACTIONS(1921), + [anon_sym_AMP] = ACTIONS(1919), + [anon_sym_SEMI] = ACTIONS(1921), + [anon_sym_typedef] = ACTIONS(1919), + [anon_sym_extern] = ACTIONS(1919), + [anon_sym___attribute__] = ACTIONS(1919), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1921), + [anon_sym___declspec] = ACTIONS(1919), + [anon_sym___based] = ACTIONS(1919), + [anon_sym___cdecl] = ACTIONS(1919), + [anon_sym___clrcall] = ACTIONS(1919), + [anon_sym___stdcall] = ACTIONS(1919), + [anon_sym___fastcall] = ACTIONS(1919), + [anon_sym___thiscall] = ACTIONS(1919), + [anon_sym___vectorcall] = ACTIONS(1919), + [anon_sym_LBRACE] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(1919), + [anon_sym_static] = ACTIONS(1919), + [anon_sym_register] = ACTIONS(1919), + [anon_sym_inline] = ACTIONS(1919), + [anon_sym_thread_local] = ACTIONS(1919), + [anon_sym_const] = ACTIONS(1919), + [anon_sym_volatile] = ACTIONS(1919), + [anon_sym_restrict] = ACTIONS(1919), + [anon_sym__Atomic] = ACTIONS(1919), + [anon_sym_mutable] = ACTIONS(1919), + [anon_sym_constexpr] = ACTIONS(1919), + [anon_sym_constinit] = ACTIONS(1919), + [anon_sym_consteval] = ACTIONS(1919), + [anon_sym_signed] = ACTIONS(1919), + [anon_sym_unsigned] = ACTIONS(1919), + [anon_sym_long] = ACTIONS(1919), + [anon_sym_short] = ACTIONS(1919), + [sym_primitive_type] = ACTIONS(1919), + [anon_sym_enum] = ACTIONS(1919), + [anon_sym_class] = ACTIONS(1919), + [anon_sym_struct] = ACTIONS(1919), + [anon_sym_union] = ACTIONS(1919), + [anon_sym_if] = ACTIONS(1919), + [anon_sym_else] = ACTIONS(2487), + [anon_sym_switch] = ACTIONS(1919), + [anon_sym_case] = ACTIONS(1919), + [anon_sym_default] = ACTIONS(1919), + [anon_sym_while] = ACTIONS(1919), + [anon_sym_do] = ACTIONS(1919), + [anon_sym_for] = ACTIONS(1919), + [anon_sym_return] = ACTIONS(1919), + [anon_sym_break] = ACTIONS(1919), + [anon_sym_continue] = ACTIONS(1919), + [anon_sym_goto] = ACTIONS(1919), + [anon_sym_DASH_DASH] = ACTIONS(1921), + [anon_sym_PLUS_PLUS] = ACTIONS(1921), + [anon_sym_sizeof] = ACTIONS(1919), + [sym_number_literal] = ACTIONS(1921), + [anon_sym_L_SQUOTE] = ACTIONS(1921), + [anon_sym_u_SQUOTE] = ACTIONS(1921), + [anon_sym_U_SQUOTE] = ACTIONS(1921), + [anon_sym_u8_SQUOTE] = ACTIONS(1921), + [anon_sym_SQUOTE] = ACTIONS(1921), + [anon_sym_L_DQUOTE] = ACTIONS(1921), + [anon_sym_u_DQUOTE] = ACTIONS(1921), + [anon_sym_U_DQUOTE] = ACTIONS(1921), + [anon_sym_u8_DQUOTE] = ACTIONS(1921), + [anon_sym_DQUOTE] = ACTIONS(1921), + [sym_true] = ACTIONS(1919), + [sym_false] = ACTIONS(1919), + [sym_null] = ACTIONS(1919), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1919), + [anon_sym_decltype] = ACTIONS(1919), + [anon_sym_virtual] = ACTIONS(1919), + [anon_sym_explicit] = ACTIONS(1919), + [anon_sym_typename] = ACTIONS(1919), + [anon_sym_template] = ACTIONS(1919), + [anon_sym_operator] = ACTIONS(1919), + [anon_sym_delete] = ACTIONS(1919), + [anon_sym_throw] = ACTIONS(1919), + [anon_sym_namespace] = ACTIONS(1919), + [anon_sym_using] = ACTIONS(1919), + [anon_sym_static_assert] = ACTIONS(1919), + [anon_sym_concept] = ACTIONS(1919), + [anon_sym_co_return] = ACTIONS(1919), + [anon_sym_co_yield] = ACTIONS(1919), + [anon_sym_try] = ACTIONS(1919), + [anon_sym_co_await] = ACTIONS(1919), + [anon_sym_new] = ACTIONS(1919), + [anon_sym_requires] = ACTIONS(1919), + [sym_this] = ACTIONS(1919), + [sym_nullptr] = ACTIONS(1919), + [sym_raw_string_literal] = ACTIONS(1921), + }, + [664] = { + [sym_identifier] = ACTIONS(2043), + [aux_sym_preproc_include_token1] = ACTIONS(2043), + [aux_sym_preproc_def_token1] = ACTIONS(2043), + [aux_sym_preproc_if_token1] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2043), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2043), + [sym_preproc_directive] = ACTIONS(2043), + [anon_sym_LPAREN2] = ACTIONS(2045), + [anon_sym_BANG] = ACTIONS(2045), + [anon_sym_TILDE] = ACTIONS(2045), + [anon_sym_DASH] = ACTIONS(2043), + [anon_sym_PLUS] = ACTIONS(2043), + [anon_sym_STAR] = ACTIONS(2045), + [anon_sym_AMP_AMP] = ACTIONS(2045), + [anon_sym_AMP] = ACTIONS(2043), + [anon_sym_SEMI] = ACTIONS(2045), + [anon_sym_typedef] = ACTIONS(2043), + [anon_sym_extern] = ACTIONS(2043), + [anon_sym___attribute__] = ACTIONS(2043), + [anon_sym_COLON_COLON] = ACTIONS(2045), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2045), + [anon_sym___declspec] = ACTIONS(2043), + [anon_sym___based] = ACTIONS(2043), + [anon_sym___cdecl] = ACTIONS(2043), + [anon_sym___clrcall] = ACTIONS(2043), + [anon_sym___stdcall] = ACTIONS(2043), + [anon_sym___fastcall] = ACTIONS(2043), + [anon_sym___thiscall] = ACTIONS(2043), + [anon_sym___vectorcall] = ACTIONS(2043), + [anon_sym_LBRACE] = ACTIONS(2045), + [anon_sym_RBRACE] = ACTIONS(2045), + [anon_sym_LBRACK] = ACTIONS(2043), + [anon_sym_static] = ACTIONS(2043), + [anon_sym_register] = ACTIONS(2043), + [anon_sym_inline] = ACTIONS(2043), + [anon_sym_thread_local] = ACTIONS(2043), + [anon_sym_const] = ACTIONS(2043), + [anon_sym_volatile] = ACTIONS(2043), + [anon_sym_restrict] = ACTIONS(2043), + [anon_sym__Atomic] = ACTIONS(2043), + [anon_sym_mutable] = ACTIONS(2043), + [anon_sym_constexpr] = ACTIONS(2043), + [anon_sym_constinit] = ACTIONS(2043), + [anon_sym_consteval] = ACTIONS(2043), + [anon_sym_signed] = ACTIONS(2043), + [anon_sym_unsigned] = ACTIONS(2043), + [anon_sym_long] = ACTIONS(2043), + [anon_sym_short] = ACTIONS(2043), + [sym_primitive_type] = ACTIONS(2043), + [anon_sym_enum] = ACTIONS(2043), + [anon_sym_class] = ACTIONS(2043), + [anon_sym_struct] = ACTIONS(2043), + [anon_sym_union] = ACTIONS(2043), + [anon_sym_if] = ACTIONS(2043), + [anon_sym_else] = ACTIONS(2043), + [anon_sym_switch] = ACTIONS(2043), + [anon_sym_case] = ACTIONS(2043), + [anon_sym_default] = ACTIONS(2043), + [anon_sym_while] = ACTIONS(2043), + [anon_sym_do] = ACTIONS(2043), + [anon_sym_for] = ACTIONS(2043), + [anon_sym_return] = ACTIONS(2043), + [anon_sym_break] = ACTIONS(2043), + [anon_sym_continue] = ACTIONS(2043), + [anon_sym_goto] = ACTIONS(2043), + [anon_sym_DASH_DASH] = ACTIONS(2045), + [anon_sym_PLUS_PLUS] = ACTIONS(2045), + [anon_sym_sizeof] = ACTIONS(2043), + [sym_number_literal] = ACTIONS(2045), + [anon_sym_L_SQUOTE] = ACTIONS(2045), + [anon_sym_u_SQUOTE] = ACTIONS(2045), + [anon_sym_U_SQUOTE] = ACTIONS(2045), + [anon_sym_u8_SQUOTE] = ACTIONS(2045), + [anon_sym_SQUOTE] = ACTIONS(2045), + [anon_sym_L_DQUOTE] = ACTIONS(2045), + [anon_sym_u_DQUOTE] = ACTIONS(2045), + [anon_sym_U_DQUOTE] = ACTIONS(2045), + [anon_sym_u8_DQUOTE] = ACTIONS(2045), + [anon_sym_DQUOTE] = ACTIONS(2045), + [sym_true] = ACTIONS(2043), + [sym_false] = ACTIONS(2043), + [sym_null] = ACTIONS(2043), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2043), + [anon_sym_decltype] = ACTIONS(2043), + [anon_sym_virtual] = ACTIONS(2043), + [anon_sym_explicit] = ACTIONS(2043), + [anon_sym_typename] = ACTIONS(2043), + [anon_sym_template] = ACTIONS(2043), + [anon_sym_operator] = ACTIONS(2043), + [anon_sym_delete] = ACTIONS(2043), + [anon_sym_throw] = ACTIONS(2043), + [anon_sym_namespace] = ACTIONS(2043), + [anon_sym_using] = ACTIONS(2043), + [anon_sym_static_assert] = ACTIONS(2043), + [anon_sym_concept] = ACTIONS(2043), + [anon_sym_co_return] = ACTIONS(2043), + [anon_sym_co_yield] = ACTIONS(2043), + [anon_sym_try] = ACTIONS(2043), + [anon_sym_co_await] = ACTIONS(2043), + [anon_sym_new] = ACTIONS(2043), + [anon_sym_requires] = ACTIONS(2043), + [sym_this] = ACTIONS(2043), + [sym_nullptr] = ACTIONS(2043), + [sym_raw_string_literal] = ACTIONS(2045), + }, + [665] = { + [sym_identifier] = ACTIONS(1919), + [aux_sym_preproc_include_token1] = ACTIONS(1919), + [aux_sym_preproc_def_token1] = ACTIONS(1919), + [aux_sym_preproc_if_token1] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1919), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1919), + [sym_preproc_directive] = ACTIONS(1919), + [anon_sym_LPAREN2] = ACTIONS(1921), + [anon_sym_BANG] = ACTIONS(1921), + [anon_sym_TILDE] = ACTIONS(1921), + [anon_sym_DASH] = ACTIONS(1919), + [anon_sym_PLUS] = ACTIONS(1919), + [anon_sym_STAR] = ACTIONS(1921), + [anon_sym_AMP_AMP] = ACTIONS(1921), + [anon_sym_AMP] = ACTIONS(1919), + [anon_sym_SEMI] = ACTIONS(1921), + [anon_sym_typedef] = ACTIONS(1919), + [anon_sym_extern] = ACTIONS(1919), + [anon_sym___attribute__] = ACTIONS(1919), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1921), + [anon_sym___declspec] = ACTIONS(1919), + [anon_sym___based] = ACTIONS(1919), + [anon_sym___cdecl] = ACTIONS(1919), + [anon_sym___clrcall] = ACTIONS(1919), + [anon_sym___stdcall] = ACTIONS(1919), + [anon_sym___fastcall] = ACTIONS(1919), + [anon_sym___thiscall] = ACTIONS(1919), + [anon_sym___vectorcall] = ACTIONS(1919), + [anon_sym_LBRACE] = ACTIONS(1921), + [anon_sym_RBRACE] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(1919), + [anon_sym_static] = ACTIONS(1919), + [anon_sym_register] = ACTIONS(1919), + [anon_sym_inline] = ACTIONS(1919), + [anon_sym_thread_local] = ACTIONS(1919), + [anon_sym_const] = ACTIONS(1919), + [anon_sym_volatile] = ACTIONS(1919), + [anon_sym_restrict] = ACTIONS(1919), + [anon_sym__Atomic] = ACTIONS(1919), + [anon_sym_mutable] = ACTIONS(1919), + [anon_sym_constexpr] = ACTIONS(1919), + [anon_sym_constinit] = ACTIONS(1919), + [anon_sym_consteval] = ACTIONS(1919), + [anon_sym_signed] = ACTIONS(1919), + [anon_sym_unsigned] = ACTIONS(1919), + [anon_sym_long] = ACTIONS(1919), + [anon_sym_short] = ACTIONS(1919), + [sym_primitive_type] = ACTIONS(1919), + [anon_sym_enum] = ACTIONS(1919), + [anon_sym_class] = ACTIONS(1919), + [anon_sym_struct] = ACTIONS(1919), + [anon_sym_union] = ACTIONS(1919), + [anon_sym_if] = ACTIONS(1919), + [anon_sym_else] = ACTIONS(2489), + [anon_sym_switch] = ACTIONS(1919), + [anon_sym_case] = ACTIONS(1919), + [anon_sym_default] = ACTIONS(1919), + [anon_sym_while] = ACTIONS(1919), + [anon_sym_do] = ACTIONS(1919), + [anon_sym_for] = ACTIONS(1919), + [anon_sym_return] = ACTIONS(1919), + [anon_sym_break] = ACTIONS(1919), + [anon_sym_continue] = ACTIONS(1919), + [anon_sym_goto] = ACTIONS(1919), + [anon_sym_DASH_DASH] = ACTIONS(1921), + [anon_sym_PLUS_PLUS] = ACTIONS(1921), + [anon_sym_sizeof] = ACTIONS(1919), + [sym_number_literal] = ACTIONS(1921), + [anon_sym_L_SQUOTE] = ACTIONS(1921), + [anon_sym_u_SQUOTE] = ACTIONS(1921), + [anon_sym_U_SQUOTE] = ACTIONS(1921), + [anon_sym_u8_SQUOTE] = ACTIONS(1921), + [anon_sym_SQUOTE] = ACTIONS(1921), + [anon_sym_L_DQUOTE] = ACTIONS(1921), + [anon_sym_u_DQUOTE] = ACTIONS(1921), + [anon_sym_U_DQUOTE] = ACTIONS(1921), + [anon_sym_u8_DQUOTE] = ACTIONS(1921), + [anon_sym_DQUOTE] = ACTIONS(1921), + [sym_true] = ACTIONS(1919), + [sym_false] = ACTIONS(1919), + [sym_null] = ACTIONS(1919), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1919), + [anon_sym_decltype] = ACTIONS(1919), + [anon_sym_virtual] = ACTIONS(1919), + [anon_sym_explicit] = ACTIONS(1919), + [anon_sym_typename] = ACTIONS(1919), + [anon_sym_template] = ACTIONS(1919), + [anon_sym_operator] = ACTIONS(1919), + [anon_sym_delete] = ACTIONS(1919), + [anon_sym_throw] = ACTIONS(1919), + [anon_sym_namespace] = ACTIONS(1919), + [anon_sym_using] = ACTIONS(1919), + [anon_sym_static_assert] = ACTIONS(1919), + [anon_sym_concept] = ACTIONS(1919), + [anon_sym_co_return] = ACTIONS(1919), + [anon_sym_co_yield] = ACTIONS(1919), + [anon_sym_try] = ACTIONS(1919), + [anon_sym_co_await] = ACTIONS(1919), + [anon_sym_new] = ACTIONS(1919), + [anon_sym_requires] = ACTIONS(1919), + [sym_this] = ACTIONS(1919), + [sym_nullptr] = ACTIONS(1919), + [sym_raw_string_literal] = ACTIONS(1921), + }, + [666] = { + [sym_identifier] = ACTIONS(2123), + [aux_sym_preproc_include_token1] = ACTIONS(2123), + [aux_sym_preproc_def_token1] = ACTIONS(2123), + [aux_sym_preproc_if_token1] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2123), + [sym_preproc_directive] = ACTIONS(2123), + [anon_sym_LPAREN2] = ACTIONS(2125), + [anon_sym_BANG] = ACTIONS(2125), + [anon_sym_TILDE] = ACTIONS(2125), + [anon_sym_DASH] = ACTIONS(2123), + [anon_sym_PLUS] = ACTIONS(2123), + [anon_sym_STAR] = ACTIONS(2125), + [anon_sym_AMP_AMP] = ACTIONS(2125), + [anon_sym_AMP] = ACTIONS(2123), + [anon_sym_SEMI] = ACTIONS(2125), + [anon_sym_typedef] = ACTIONS(2123), + [anon_sym_extern] = ACTIONS(2123), + [anon_sym___attribute__] = ACTIONS(2123), + [anon_sym_COLON_COLON] = ACTIONS(2125), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2125), + [anon_sym___declspec] = ACTIONS(2123), + [anon_sym___based] = ACTIONS(2123), + [anon_sym___cdecl] = ACTIONS(2123), + [anon_sym___clrcall] = ACTIONS(2123), + [anon_sym___stdcall] = ACTIONS(2123), + [anon_sym___fastcall] = ACTIONS(2123), + [anon_sym___thiscall] = ACTIONS(2123), + [anon_sym___vectorcall] = ACTIONS(2123), + [anon_sym_LBRACE] = ACTIONS(2125), + [anon_sym_RBRACE] = ACTIONS(2125), + [anon_sym_LBRACK] = ACTIONS(2123), + [anon_sym_static] = ACTIONS(2123), + [anon_sym_register] = ACTIONS(2123), + [anon_sym_inline] = ACTIONS(2123), + [anon_sym_thread_local] = ACTIONS(2123), + [anon_sym_const] = ACTIONS(2123), + [anon_sym_volatile] = ACTIONS(2123), + [anon_sym_restrict] = ACTIONS(2123), + [anon_sym__Atomic] = ACTIONS(2123), + [anon_sym_mutable] = ACTIONS(2123), + [anon_sym_constexpr] = ACTIONS(2123), + [anon_sym_constinit] = ACTIONS(2123), + [anon_sym_consteval] = ACTIONS(2123), + [anon_sym_signed] = ACTIONS(2123), + [anon_sym_unsigned] = ACTIONS(2123), + [anon_sym_long] = ACTIONS(2123), + [anon_sym_short] = ACTIONS(2123), + [sym_primitive_type] = ACTIONS(2123), + [anon_sym_enum] = ACTIONS(2123), + [anon_sym_class] = ACTIONS(2123), + [anon_sym_struct] = ACTIONS(2123), + [anon_sym_union] = ACTIONS(2123), + [anon_sym_if] = ACTIONS(2123), + [anon_sym_else] = ACTIONS(2123), + [anon_sym_switch] = ACTIONS(2123), + [anon_sym_case] = ACTIONS(2123), + [anon_sym_default] = ACTIONS(2123), + [anon_sym_while] = ACTIONS(2123), + [anon_sym_do] = ACTIONS(2123), + [anon_sym_for] = ACTIONS(2123), + [anon_sym_return] = ACTIONS(2123), + [anon_sym_break] = ACTIONS(2123), + [anon_sym_continue] = ACTIONS(2123), + [anon_sym_goto] = ACTIONS(2123), + [anon_sym_DASH_DASH] = ACTIONS(2125), + [anon_sym_PLUS_PLUS] = ACTIONS(2125), + [anon_sym_sizeof] = ACTIONS(2123), + [sym_number_literal] = ACTIONS(2125), + [anon_sym_L_SQUOTE] = ACTIONS(2125), + [anon_sym_u_SQUOTE] = ACTIONS(2125), + [anon_sym_U_SQUOTE] = ACTIONS(2125), + [anon_sym_u8_SQUOTE] = ACTIONS(2125), + [anon_sym_SQUOTE] = ACTIONS(2125), + [anon_sym_L_DQUOTE] = ACTIONS(2125), + [anon_sym_u_DQUOTE] = ACTIONS(2125), + [anon_sym_U_DQUOTE] = ACTIONS(2125), + [anon_sym_u8_DQUOTE] = ACTIONS(2125), + [anon_sym_DQUOTE] = ACTIONS(2125), + [sym_true] = ACTIONS(2123), + [sym_false] = ACTIONS(2123), + [sym_null] = ACTIONS(2123), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2123), + [anon_sym_decltype] = ACTIONS(2123), + [anon_sym_virtual] = ACTIONS(2123), + [anon_sym_explicit] = ACTIONS(2123), + [anon_sym_typename] = ACTIONS(2123), + [anon_sym_template] = ACTIONS(2123), + [anon_sym_operator] = ACTIONS(2123), + [anon_sym_delete] = ACTIONS(2123), + [anon_sym_throw] = ACTIONS(2123), + [anon_sym_namespace] = ACTIONS(2123), + [anon_sym_using] = ACTIONS(2123), + [anon_sym_static_assert] = ACTIONS(2123), + [anon_sym_concept] = ACTIONS(2123), + [anon_sym_co_return] = ACTIONS(2123), + [anon_sym_co_yield] = ACTIONS(2123), + [anon_sym_try] = ACTIONS(2123), + [anon_sym_co_await] = ACTIONS(2123), + [anon_sym_new] = ACTIONS(2123), + [anon_sym_requires] = ACTIONS(2123), + [sym_this] = ACTIONS(2123), + [sym_nullptr] = ACTIONS(2123), + [sym_raw_string_literal] = ACTIONS(2125), + }, + [667] = { + [ts_builtin_sym_end] = ACTIONS(1971), + [sym_identifier] = ACTIONS(1969), + [aux_sym_preproc_include_token1] = ACTIONS(1969), + [aux_sym_preproc_def_token1] = ACTIONS(1969), + [aux_sym_preproc_if_token1] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1969), + [sym_preproc_directive] = ACTIONS(1969), + [anon_sym_LPAREN2] = ACTIONS(1971), + [anon_sym_BANG] = ACTIONS(1971), + [anon_sym_TILDE] = ACTIONS(1971), + [anon_sym_DASH] = ACTIONS(1969), + [anon_sym_PLUS] = ACTIONS(1969), + [anon_sym_STAR] = ACTIONS(1971), + [anon_sym_AMP_AMP] = ACTIONS(1971), + [anon_sym_AMP] = ACTIONS(1969), + [anon_sym_SEMI] = ACTIONS(1971), + [anon_sym_typedef] = ACTIONS(1969), + [anon_sym_extern] = ACTIONS(1969), + [anon_sym___attribute__] = ACTIONS(1969), + [anon_sym_COLON_COLON] = ACTIONS(1971), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1971), + [anon_sym___declspec] = ACTIONS(1969), + [anon_sym___based] = ACTIONS(1969), + [anon_sym___cdecl] = ACTIONS(1969), + [anon_sym___clrcall] = ACTIONS(1969), + [anon_sym___stdcall] = ACTIONS(1969), + [anon_sym___fastcall] = ACTIONS(1969), + [anon_sym___thiscall] = ACTIONS(1969), + [anon_sym___vectorcall] = ACTIONS(1969), + [anon_sym_LBRACE] = ACTIONS(1971), + [anon_sym_LBRACK] = ACTIONS(1969), + [anon_sym_static] = ACTIONS(1969), + [anon_sym_register] = ACTIONS(1969), + [anon_sym_inline] = ACTIONS(1969), + [anon_sym_thread_local] = ACTIONS(1969), + [anon_sym_const] = ACTIONS(1969), + [anon_sym_volatile] = ACTIONS(1969), + [anon_sym_restrict] = ACTIONS(1969), + [anon_sym__Atomic] = ACTIONS(1969), + [anon_sym_mutable] = ACTIONS(1969), + [anon_sym_constexpr] = ACTIONS(1969), + [anon_sym_constinit] = ACTIONS(1969), + [anon_sym_consteval] = ACTIONS(1969), + [anon_sym_signed] = ACTIONS(1969), + [anon_sym_unsigned] = ACTIONS(1969), + [anon_sym_long] = ACTIONS(1969), + [anon_sym_short] = ACTIONS(1969), + [sym_primitive_type] = ACTIONS(1969), + [anon_sym_enum] = ACTIONS(1969), + [anon_sym_class] = ACTIONS(1969), + [anon_sym_struct] = ACTIONS(1969), + [anon_sym_union] = ACTIONS(1969), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_else] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(1969), + [anon_sym_case] = ACTIONS(1969), + [anon_sym_default] = ACTIONS(1969), + [anon_sym_while] = ACTIONS(1969), + [anon_sym_do] = ACTIONS(1969), + [anon_sym_for] = ACTIONS(1969), + [anon_sym_return] = ACTIONS(1969), + [anon_sym_break] = ACTIONS(1969), + [anon_sym_continue] = ACTIONS(1969), + [anon_sym_goto] = ACTIONS(1969), + [anon_sym_DASH_DASH] = ACTIONS(1971), + [anon_sym_PLUS_PLUS] = ACTIONS(1971), + [anon_sym_sizeof] = ACTIONS(1969), + [sym_number_literal] = ACTIONS(1971), + [anon_sym_L_SQUOTE] = ACTIONS(1971), + [anon_sym_u_SQUOTE] = ACTIONS(1971), + [anon_sym_U_SQUOTE] = ACTIONS(1971), + [anon_sym_u8_SQUOTE] = ACTIONS(1971), + [anon_sym_SQUOTE] = ACTIONS(1971), + [anon_sym_L_DQUOTE] = ACTIONS(1971), + [anon_sym_u_DQUOTE] = ACTIONS(1971), + [anon_sym_U_DQUOTE] = ACTIONS(1971), + [anon_sym_u8_DQUOTE] = ACTIONS(1971), + [anon_sym_DQUOTE] = ACTIONS(1971), + [sym_true] = ACTIONS(1969), + [sym_false] = ACTIONS(1969), + [sym_null] = ACTIONS(1969), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1969), + [anon_sym_decltype] = ACTIONS(1969), + [anon_sym_virtual] = ACTIONS(1969), + [anon_sym_explicit] = ACTIONS(1969), + [anon_sym_typename] = ACTIONS(1969), + [anon_sym_template] = ACTIONS(1969), + [anon_sym_operator] = ACTIONS(1969), + [anon_sym_delete] = ACTIONS(1969), + [anon_sym_throw] = ACTIONS(1969), + [anon_sym_namespace] = ACTIONS(1969), + [anon_sym_using] = ACTIONS(1969), + [anon_sym_static_assert] = ACTIONS(1969), + [anon_sym_concept] = ACTIONS(1969), + [anon_sym_co_return] = ACTIONS(1969), + [anon_sym_co_yield] = ACTIONS(1969), + [anon_sym_try] = ACTIONS(1969), + [anon_sym_co_await] = ACTIONS(1969), + [anon_sym_new] = ACTIONS(1969), + [anon_sym_requires] = ACTIONS(1969), + [sym_this] = ACTIONS(1969), + [sym_nullptr] = ACTIONS(1969), + [sym_raw_string_literal] = ACTIONS(1971), + }, + [668] = { + [ts_builtin_sym_end] = ACTIONS(1943), + [sym_identifier] = ACTIONS(1941), + [aux_sym_preproc_include_token1] = ACTIONS(1941), + [aux_sym_preproc_def_token1] = ACTIONS(1941), + [aux_sym_preproc_if_token1] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1941), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1941), + [sym_preproc_directive] = ACTIONS(1941), + [anon_sym_LPAREN2] = ACTIONS(1943), + [anon_sym_BANG] = ACTIONS(1943), + [anon_sym_TILDE] = ACTIONS(1943), + [anon_sym_DASH] = ACTIONS(1941), + [anon_sym_PLUS] = ACTIONS(1941), + [anon_sym_STAR] = ACTIONS(1943), + [anon_sym_AMP_AMP] = ACTIONS(1943), + [anon_sym_AMP] = ACTIONS(1941), + [anon_sym_SEMI] = ACTIONS(1943), + [anon_sym_typedef] = ACTIONS(1941), + [anon_sym_extern] = ACTIONS(1941), + [anon_sym___attribute__] = ACTIONS(1941), + [anon_sym_COLON_COLON] = ACTIONS(1943), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1943), + [anon_sym___declspec] = ACTIONS(1941), + [anon_sym___based] = ACTIONS(1941), + [anon_sym___cdecl] = ACTIONS(1941), + [anon_sym___clrcall] = ACTIONS(1941), + [anon_sym___stdcall] = ACTIONS(1941), + [anon_sym___fastcall] = ACTIONS(1941), + [anon_sym___thiscall] = ACTIONS(1941), + [anon_sym___vectorcall] = ACTIONS(1941), + [anon_sym_LBRACE] = ACTIONS(1943), + [anon_sym_LBRACK] = ACTIONS(1941), + [anon_sym_static] = ACTIONS(1941), + [anon_sym_register] = ACTIONS(1941), + [anon_sym_inline] = ACTIONS(1941), + [anon_sym_thread_local] = ACTIONS(1941), + [anon_sym_const] = ACTIONS(1941), + [anon_sym_volatile] = ACTIONS(1941), + [anon_sym_restrict] = ACTIONS(1941), + [anon_sym__Atomic] = ACTIONS(1941), + [anon_sym_mutable] = ACTIONS(1941), + [anon_sym_constexpr] = ACTIONS(1941), + [anon_sym_constinit] = ACTIONS(1941), + [anon_sym_consteval] = ACTIONS(1941), + [anon_sym_signed] = ACTIONS(1941), + [anon_sym_unsigned] = ACTIONS(1941), + [anon_sym_long] = ACTIONS(1941), + [anon_sym_short] = ACTIONS(1941), + [sym_primitive_type] = ACTIONS(1941), + [anon_sym_enum] = ACTIONS(1941), + [anon_sym_class] = ACTIONS(1941), + [anon_sym_struct] = ACTIONS(1941), + [anon_sym_union] = ACTIONS(1941), + [anon_sym_if] = ACTIONS(1941), + [anon_sym_else] = ACTIONS(1941), + [anon_sym_switch] = ACTIONS(1941), + [anon_sym_case] = ACTIONS(1941), + [anon_sym_default] = ACTIONS(1941), + [anon_sym_while] = ACTIONS(1941), + [anon_sym_do] = ACTIONS(1941), + [anon_sym_for] = ACTIONS(1941), + [anon_sym_return] = ACTIONS(1941), + [anon_sym_break] = ACTIONS(1941), + [anon_sym_continue] = ACTIONS(1941), + [anon_sym_goto] = ACTIONS(1941), + [anon_sym_DASH_DASH] = ACTIONS(1943), + [anon_sym_PLUS_PLUS] = ACTIONS(1943), + [anon_sym_sizeof] = ACTIONS(1941), + [sym_number_literal] = ACTIONS(1943), + [anon_sym_L_SQUOTE] = ACTIONS(1943), + [anon_sym_u_SQUOTE] = ACTIONS(1943), + [anon_sym_U_SQUOTE] = ACTIONS(1943), + [anon_sym_u8_SQUOTE] = ACTIONS(1943), + [anon_sym_SQUOTE] = ACTIONS(1943), + [anon_sym_L_DQUOTE] = ACTIONS(1943), + [anon_sym_u_DQUOTE] = ACTIONS(1943), + [anon_sym_U_DQUOTE] = ACTIONS(1943), + [anon_sym_u8_DQUOTE] = ACTIONS(1943), + [anon_sym_DQUOTE] = ACTIONS(1943), + [sym_true] = ACTIONS(1941), + [sym_false] = ACTIONS(1941), + [sym_null] = ACTIONS(1941), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1941), + [anon_sym_decltype] = ACTIONS(1941), + [anon_sym_virtual] = ACTIONS(1941), + [anon_sym_explicit] = ACTIONS(1941), + [anon_sym_typename] = ACTIONS(1941), + [anon_sym_template] = ACTIONS(1941), + [anon_sym_operator] = ACTIONS(1941), + [anon_sym_delete] = ACTIONS(1941), + [anon_sym_throw] = ACTIONS(1941), + [anon_sym_namespace] = ACTIONS(1941), + [anon_sym_using] = ACTIONS(1941), + [anon_sym_static_assert] = ACTIONS(1941), + [anon_sym_concept] = ACTIONS(1941), + [anon_sym_co_return] = ACTIONS(1941), + [anon_sym_co_yield] = ACTIONS(1941), + [anon_sym_try] = ACTIONS(1941), + [anon_sym_co_await] = ACTIONS(1941), + [anon_sym_new] = ACTIONS(1941), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1941), + [sym_nullptr] = ACTIONS(1941), + [sym_raw_string_literal] = ACTIONS(1943), + }, + [669] = { + [sym_identifier] = ACTIONS(2031), + [aux_sym_preproc_include_token1] = ACTIONS(2031), + [aux_sym_preproc_def_token1] = ACTIONS(2031), + [aux_sym_preproc_if_token1] = ACTIONS(2031), + [aux_sym_preproc_if_token2] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2031), + [sym_preproc_directive] = ACTIONS(2031), + [anon_sym_LPAREN2] = ACTIONS(2033), + [anon_sym_BANG] = ACTIONS(2033), + [anon_sym_TILDE] = ACTIONS(2033), + [anon_sym_DASH] = ACTIONS(2031), + [anon_sym_PLUS] = ACTIONS(2031), + [anon_sym_STAR] = ACTIONS(2033), + [anon_sym_AMP_AMP] = ACTIONS(2033), + [anon_sym_AMP] = ACTIONS(2031), + [anon_sym_SEMI] = ACTIONS(2033), + [anon_sym_typedef] = ACTIONS(2031), + [anon_sym_extern] = ACTIONS(2031), + [anon_sym___attribute__] = ACTIONS(2031), + [anon_sym_COLON_COLON] = ACTIONS(2033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2033), + [anon_sym___declspec] = ACTIONS(2031), + [anon_sym___based] = ACTIONS(2031), + [anon_sym___cdecl] = ACTIONS(2031), + [anon_sym___clrcall] = ACTIONS(2031), + [anon_sym___stdcall] = ACTIONS(2031), + [anon_sym___fastcall] = ACTIONS(2031), + [anon_sym___thiscall] = ACTIONS(2031), + [anon_sym___vectorcall] = ACTIONS(2031), + [anon_sym_LBRACE] = ACTIONS(2033), + [anon_sym_LBRACK] = ACTIONS(2031), + [anon_sym_static] = ACTIONS(2031), + [anon_sym_register] = ACTIONS(2031), + [anon_sym_inline] = ACTIONS(2031), + [anon_sym_thread_local] = ACTIONS(2031), + [anon_sym_const] = ACTIONS(2031), + [anon_sym_volatile] = ACTIONS(2031), + [anon_sym_restrict] = ACTIONS(2031), + [anon_sym__Atomic] = ACTIONS(2031), + [anon_sym_mutable] = ACTIONS(2031), + [anon_sym_constexpr] = ACTIONS(2031), + [anon_sym_constinit] = ACTIONS(2031), + [anon_sym_consteval] = ACTIONS(2031), + [anon_sym_signed] = ACTIONS(2031), + [anon_sym_unsigned] = ACTIONS(2031), + [anon_sym_long] = ACTIONS(2031), + [anon_sym_short] = ACTIONS(2031), + [sym_primitive_type] = ACTIONS(2031), + [anon_sym_enum] = ACTIONS(2031), + [anon_sym_class] = ACTIONS(2031), + [anon_sym_struct] = ACTIONS(2031), + [anon_sym_union] = ACTIONS(2031), + [anon_sym_if] = ACTIONS(2031), + [anon_sym_else] = ACTIONS(2031), + [anon_sym_switch] = ACTIONS(2031), + [anon_sym_case] = ACTIONS(2031), + [anon_sym_default] = ACTIONS(2031), + [anon_sym_while] = ACTIONS(2031), + [anon_sym_do] = ACTIONS(2031), + [anon_sym_for] = ACTIONS(2031), + [anon_sym_return] = ACTIONS(2031), + [anon_sym_break] = ACTIONS(2031), + [anon_sym_continue] = ACTIONS(2031), + [anon_sym_goto] = ACTIONS(2031), + [anon_sym_DASH_DASH] = ACTIONS(2033), + [anon_sym_PLUS_PLUS] = ACTIONS(2033), + [anon_sym_sizeof] = ACTIONS(2031), + [sym_number_literal] = ACTIONS(2033), + [anon_sym_L_SQUOTE] = ACTIONS(2033), + [anon_sym_u_SQUOTE] = ACTIONS(2033), + [anon_sym_U_SQUOTE] = ACTIONS(2033), + [anon_sym_u8_SQUOTE] = ACTIONS(2033), + [anon_sym_SQUOTE] = ACTIONS(2033), + [anon_sym_L_DQUOTE] = ACTIONS(2033), + [anon_sym_u_DQUOTE] = ACTIONS(2033), + [anon_sym_U_DQUOTE] = ACTIONS(2033), + [anon_sym_u8_DQUOTE] = ACTIONS(2033), + [anon_sym_DQUOTE] = ACTIONS(2033), + [sym_true] = ACTIONS(2031), + [sym_false] = ACTIONS(2031), + [sym_null] = ACTIONS(2031), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2031), + [anon_sym_decltype] = ACTIONS(2031), + [anon_sym_virtual] = ACTIONS(2031), + [anon_sym_explicit] = ACTIONS(2031), + [anon_sym_typename] = ACTIONS(2031), + [anon_sym_template] = ACTIONS(2031), + [anon_sym_operator] = ACTIONS(2031), + [anon_sym_delete] = ACTIONS(2031), + [anon_sym_throw] = ACTIONS(2031), + [anon_sym_namespace] = ACTIONS(2031), + [anon_sym_using] = ACTIONS(2031), + [anon_sym_static_assert] = ACTIONS(2031), + [anon_sym_concept] = ACTIONS(2031), + [anon_sym_co_return] = ACTIONS(2031), + [anon_sym_co_yield] = ACTIONS(2031), + [anon_sym_try] = ACTIONS(2031), + [anon_sym_co_await] = ACTIONS(2031), + [anon_sym_new] = ACTIONS(2031), + [anon_sym_requires] = ACTIONS(2031), + [sym_this] = ACTIONS(2031), + [sym_nullptr] = ACTIONS(2031), + [sym_raw_string_literal] = ACTIONS(2033), + }, + [670] = { + [sym_identifier] = ACTIONS(2027), + [aux_sym_preproc_include_token1] = ACTIONS(2027), + [aux_sym_preproc_def_token1] = ACTIONS(2027), + [aux_sym_preproc_if_token1] = ACTIONS(2027), + [aux_sym_preproc_if_token2] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2027), + [sym_preproc_directive] = ACTIONS(2027), + [anon_sym_LPAREN2] = ACTIONS(2029), + [anon_sym_BANG] = ACTIONS(2029), + [anon_sym_TILDE] = ACTIONS(2029), + [anon_sym_DASH] = ACTIONS(2027), + [anon_sym_PLUS] = ACTIONS(2027), + [anon_sym_STAR] = ACTIONS(2029), + [anon_sym_AMP_AMP] = ACTIONS(2029), + [anon_sym_AMP] = ACTIONS(2027), + [anon_sym_SEMI] = ACTIONS(2029), + [anon_sym_typedef] = ACTIONS(2027), + [anon_sym_extern] = ACTIONS(2027), + [anon_sym___attribute__] = ACTIONS(2027), + [anon_sym_COLON_COLON] = ACTIONS(2029), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2029), + [anon_sym___declspec] = ACTIONS(2027), + [anon_sym___based] = ACTIONS(2027), + [anon_sym___cdecl] = ACTIONS(2027), + [anon_sym___clrcall] = ACTIONS(2027), + [anon_sym___stdcall] = ACTIONS(2027), + [anon_sym___fastcall] = ACTIONS(2027), + [anon_sym___thiscall] = ACTIONS(2027), + [anon_sym___vectorcall] = ACTIONS(2027), + [anon_sym_LBRACE] = ACTIONS(2029), + [anon_sym_LBRACK] = ACTIONS(2027), + [anon_sym_static] = ACTIONS(2027), + [anon_sym_register] = ACTIONS(2027), + [anon_sym_inline] = ACTIONS(2027), + [anon_sym_thread_local] = ACTIONS(2027), + [anon_sym_const] = ACTIONS(2027), + [anon_sym_volatile] = ACTIONS(2027), + [anon_sym_restrict] = ACTIONS(2027), + [anon_sym__Atomic] = ACTIONS(2027), + [anon_sym_mutable] = ACTIONS(2027), + [anon_sym_constexpr] = ACTIONS(2027), + [anon_sym_constinit] = ACTIONS(2027), + [anon_sym_consteval] = ACTIONS(2027), + [anon_sym_signed] = ACTIONS(2027), + [anon_sym_unsigned] = ACTIONS(2027), + [anon_sym_long] = ACTIONS(2027), + [anon_sym_short] = ACTIONS(2027), + [sym_primitive_type] = ACTIONS(2027), + [anon_sym_enum] = ACTIONS(2027), + [anon_sym_class] = ACTIONS(2027), + [anon_sym_struct] = ACTIONS(2027), + [anon_sym_union] = ACTIONS(2027), + [anon_sym_if] = ACTIONS(2027), + [anon_sym_else] = ACTIONS(2027), + [anon_sym_switch] = ACTIONS(2027), + [anon_sym_case] = ACTIONS(2027), + [anon_sym_default] = ACTIONS(2027), + [anon_sym_while] = ACTIONS(2027), + [anon_sym_do] = ACTIONS(2027), + [anon_sym_for] = ACTIONS(2027), + [anon_sym_return] = ACTIONS(2027), + [anon_sym_break] = ACTIONS(2027), + [anon_sym_continue] = ACTIONS(2027), + [anon_sym_goto] = ACTIONS(2027), + [anon_sym_DASH_DASH] = ACTIONS(2029), + [anon_sym_PLUS_PLUS] = ACTIONS(2029), + [anon_sym_sizeof] = ACTIONS(2027), + [sym_number_literal] = ACTIONS(2029), + [anon_sym_L_SQUOTE] = ACTIONS(2029), + [anon_sym_u_SQUOTE] = ACTIONS(2029), + [anon_sym_U_SQUOTE] = ACTIONS(2029), + [anon_sym_u8_SQUOTE] = ACTIONS(2029), + [anon_sym_SQUOTE] = ACTIONS(2029), + [anon_sym_L_DQUOTE] = ACTIONS(2029), + [anon_sym_u_DQUOTE] = ACTIONS(2029), + [anon_sym_U_DQUOTE] = ACTIONS(2029), + [anon_sym_u8_DQUOTE] = ACTIONS(2029), + [anon_sym_DQUOTE] = ACTIONS(2029), + [sym_true] = ACTIONS(2027), + [sym_false] = ACTIONS(2027), + [sym_null] = ACTIONS(2027), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2027), + [anon_sym_decltype] = ACTIONS(2027), + [anon_sym_virtual] = ACTIONS(2027), + [anon_sym_explicit] = ACTIONS(2027), + [anon_sym_typename] = ACTIONS(2027), + [anon_sym_template] = ACTIONS(2027), + [anon_sym_operator] = ACTIONS(2027), + [anon_sym_delete] = ACTIONS(2027), + [anon_sym_throw] = ACTIONS(2027), + [anon_sym_namespace] = ACTIONS(2027), + [anon_sym_using] = ACTIONS(2027), + [anon_sym_static_assert] = ACTIONS(2027), + [anon_sym_concept] = ACTIONS(2027), + [anon_sym_co_return] = ACTIONS(2027), + [anon_sym_co_yield] = ACTIONS(2027), + [anon_sym_try] = ACTIONS(2027), + [anon_sym_co_await] = ACTIONS(2027), + [anon_sym_new] = ACTIONS(2027), + [anon_sym_requires] = ACTIONS(2027), + [sym_this] = ACTIONS(2027), + [sym_nullptr] = ACTIONS(2027), + [sym_raw_string_literal] = ACTIONS(2029), + }, + [671] = { + [ts_builtin_sym_end] = ACTIONS(1939), + [sym_identifier] = ACTIONS(1937), + [aux_sym_preproc_include_token1] = ACTIONS(1937), + [aux_sym_preproc_def_token1] = ACTIONS(1937), + [aux_sym_preproc_if_token1] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1937), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1937), + [sym_preproc_directive] = ACTIONS(1937), + [anon_sym_LPAREN2] = ACTIONS(1939), + [anon_sym_BANG] = ACTIONS(1939), + [anon_sym_TILDE] = ACTIONS(1939), + [anon_sym_DASH] = ACTIONS(1937), + [anon_sym_PLUS] = ACTIONS(1937), + [anon_sym_STAR] = ACTIONS(1939), + [anon_sym_AMP_AMP] = ACTIONS(1939), + [anon_sym_AMP] = ACTIONS(1937), + [anon_sym_SEMI] = ACTIONS(1939), + [anon_sym_typedef] = ACTIONS(1937), + [anon_sym_extern] = ACTIONS(1937), + [anon_sym___attribute__] = ACTIONS(1937), + [anon_sym_COLON_COLON] = ACTIONS(1939), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1939), + [anon_sym___declspec] = ACTIONS(1937), + [anon_sym___based] = ACTIONS(1937), + [anon_sym___cdecl] = ACTIONS(1937), + [anon_sym___clrcall] = ACTIONS(1937), + [anon_sym___stdcall] = ACTIONS(1937), + [anon_sym___fastcall] = ACTIONS(1937), + [anon_sym___thiscall] = ACTIONS(1937), + [anon_sym___vectorcall] = ACTIONS(1937), + [anon_sym_LBRACE] = ACTIONS(1939), + [anon_sym_LBRACK] = ACTIONS(1937), + [anon_sym_static] = ACTIONS(1937), + [anon_sym_register] = ACTIONS(1937), + [anon_sym_inline] = ACTIONS(1937), + [anon_sym_thread_local] = ACTIONS(1937), + [anon_sym_const] = ACTIONS(1937), + [anon_sym_volatile] = ACTIONS(1937), + [anon_sym_restrict] = ACTIONS(1937), + [anon_sym__Atomic] = ACTIONS(1937), + [anon_sym_mutable] = ACTIONS(1937), + [anon_sym_constexpr] = ACTIONS(1937), + [anon_sym_constinit] = ACTIONS(1937), + [anon_sym_consteval] = ACTIONS(1937), + [anon_sym_signed] = ACTIONS(1937), + [anon_sym_unsigned] = ACTIONS(1937), + [anon_sym_long] = ACTIONS(1937), + [anon_sym_short] = ACTIONS(1937), + [sym_primitive_type] = ACTIONS(1937), + [anon_sym_enum] = ACTIONS(1937), + [anon_sym_class] = ACTIONS(1937), + [anon_sym_struct] = ACTIONS(1937), + [anon_sym_union] = ACTIONS(1937), + [anon_sym_if] = ACTIONS(1937), + [anon_sym_else] = ACTIONS(1937), + [anon_sym_switch] = ACTIONS(1937), + [anon_sym_case] = ACTIONS(1937), + [anon_sym_default] = ACTIONS(1937), + [anon_sym_while] = ACTIONS(1937), + [anon_sym_do] = ACTIONS(1937), + [anon_sym_for] = ACTIONS(1937), + [anon_sym_return] = ACTIONS(1937), + [anon_sym_break] = ACTIONS(1937), + [anon_sym_continue] = ACTIONS(1937), + [anon_sym_goto] = ACTIONS(1937), + [anon_sym_DASH_DASH] = ACTIONS(1939), + [anon_sym_PLUS_PLUS] = ACTIONS(1939), + [anon_sym_sizeof] = ACTIONS(1937), + [sym_number_literal] = ACTIONS(1939), + [anon_sym_L_SQUOTE] = ACTIONS(1939), + [anon_sym_u_SQUOTE] = ACTIONS(1939), + [anon_sym_U_SQUOTE] = ACTIONS(1939), + [anon_sym_u8_SQUOTE] = ACTIONS(1939), + [anon_sym_SQUOTE] = ACTIONS(1939), + [anon_sym_L_DQUOTE] = ACTIONS(1939), + [anon_sym_u_DQUOTE] = ACTIONS(1939), + [anon_sym_U_DQUOTE] = ACTIONS(1939), + [anon_sym_u8_DQUOTE] = ACTIONS(1939), + [anon_sym_DQUOTE] = ACTIONS(1939), + [sym_true] = ACTIONS(1937), + [sym_false] = ACTIONS(1937), + [sym_null] = ACTIONS(1937), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1937), + [anon_sym_decltype] = ACTIONS(1937), + [anon_sym_virtual] = ACTIONS(1937), + [anon_sym_explicit] = ACTIONS(1937), + [anon_sym_typename] = ACTIONS(1937), + [anon_sym_template] = ACTIONS(1937), + [anon_sym_operator] = ACTIONS(1937), + [anon_sym_delete] = ACTIONS(1937), + [anon_sym_throw] = ACTIONS(1937), + [anon_sym_namespace] = ACTIONS(1937), + [anon_sym_using] = ACTIONS(1937), + [anon_sym_static_assert] = ACTIONS(1937), + [anon_sym_concept] = ACTIONS(1937), + [anon_sym_co_return] = ACTIONS(1937), + [anon_sym_co_yield] = ACTIONS(1937), + [anon_sym_try] = ACTIONS(1937), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1937), + [anon_sym_requires] = ACTIONS(1937), + [sym_this] = ACTIONS(1937), + [sym_nullptr] = ACTIONS(1937), + [sym_raw_string_literal] = ACTIONS(1939), + }, + [672] = { + [sym_identifier] = ACTIONS(2023), + [aux_sym_preproc_include_token1] = ACTIONS(2023), + [aux_sym_preproc_def_token1] = ACTIONS(2023), + [aux_sym_preproc_if_token1] = ACTIONS(2023), + [aux_sym_preproc_if_token2] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2023), + [sym_preproc_directive] = ACTIONS(2023), + [anon_sym_LPAREN2] = ACTIONS(2025), + [anon_sym_BANG] = ACTIONS(2025), + [anon_sym_TILDE] = ACTIONS(2025), + [anon_sym_DASH] = ACTIONS(2023), + [anon_sym_PLUS] = ACTIONS(2023), + [anon_sym_STAR] = ACTIONS(2025), + [anon_sym_AMP_AMP] = ACTIONS(2025), + [anon_sym_AMP] = ACTIONS(2023), + [anon_sym_SEMI] = ACTIONS(2025), + [anon_sym_typedef] = ACTIONS(2023), + [anon_sym_extern] = ACTIONS(2023), + [anon_sym___attribute__] = ACTIONS(2023), + [anon_sym_COLON_COLON] = ACTIONS(2025), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2025), + [anon_sym___declspec] = ACTIONS(2023), + [anon_sym___based] = ACTIONS(2023), + [anon_sym___cdecl] = ACTIONS(2023), + [anon_sym___clrcall] = ACTIONS(2023), + [anon_sym___stdcall] = ACTIONS(2023), + [anon_sym___fastcall] = ACTIONS(2023), + [anon_sym___thiscall] = ACTIONS(2023), + [anon_sym___vectorcall] = ACTIONS(2023), + [anon_sym_LBRACE] = ACTIONS(2025), + [anon_sym_LBRACK] = ACTIONS(2023), + [anon_sym_static] = ACTIONS(2023), + [anon_sym_register] = ACTIONS(2023), + [anon_sym_inline] = ACTIONS(2023), + [anon_sym_thread_local] = ACTIONS(2023), + [anon_sym_const] = ACTIONS(2023), + [anon_sym_volatile] = ACTIONS(2023), + [anon_sym_restrict] = ACTIONS(2023), + [anon_sym__Atomic] = ACTIONS(2023), + [anon_sym_mutable] = ACTIONS(2023), + [anon_sym_constexpr] = ACTIONS(2023), + [anon_sym_constinit] = ACTIONS(2023), + [anon_sym_consteval] = ACTIONS(2023), + [anon_sym_signed] = ACTIONS(2023), + [anon_sym_unsigned] = ACTIONS(2023), + [anon_sym_long] = ACTIONS(2023), + [anon_sym_short] = ACTIONS(2023), + [sym_primitive_type] = ACTIONS(2023), + [anon_sym_enum] = ACTIONS(2023), + [anon_sym_class] = ACTIONS(2023), + [anon_sym_struct] = ACTIONS(2023), + [anon_sym_union] = ACTIONS(2023), + [anon_sym_if] = ACTIONS(2023), + [anon_sym_else] = ACTIONS(2023), + [anon_sym_switch] = ACTIONS(2023), + [anon_sym_case] = ACTIONS(2023), + [anon_sym_default] = ACTIONS(2023), + [anon_sym_while] = ACTIONS(2023), + [anon_sym_do] = ACTIONS(2023), + [anon_sym_for] = ACTIONS(2023), + [anon_sym_return] = ACTIONS(2023), + [anon_sym_break] = ACTIONS(2023), + [anon_sym_continue] = ACTIONS(2023), + [anon_sym_goto] = ACTIONS(2023), + [anon_sym_DASH_DASH] = ACTIONS(2025), + [anon_sym_PLUS_PLUS] = ACTIONS(2025), + [anon_sym_sizeof] = ACTIONS(2023), + [sym_number_literal] = ACTIONS(2025), + [anon_sym_L_SQUOTE] = ACTIONS(2025), + [anon_sym_u_SQUOTE] = ACTIONS(2025), + [anon_sym_U_SQUOTE] = ACTIONS(2025), + [anon_sym_u8_SQUOTE] = ACTIONS(2025), + [anon_sym_SQUOTE] = ACTIONS(2025), + [anon_sym_L_DQUOTE] = ACTIONS(2025), + [anon_sym_u_DQUOTE] = ACTIONS(2025), + [anon_sym_U_DQUOTE] = ACTIONS(2025), + [anon_sym_u8_DQUOTE] = ACTIONS(2025), + [anon_sym_DQUOTE] = ACTIONS(2025), + [sym_true] = ACTIONS(2023), + [sym_false] = ACTIONS(2023), + [sym_null] = ACTIONS(2023), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2023), + [anon_sym_decltype] = ACTIONS(2023), + [anon_sym_virtual] = ACTIONS(2023), + [anon_sym_explicit] = ACTIONS(2023), + [anon_sym_typename] = ACTIONS(2023), + [anon_sym_template] = ACTIONS(2023), + [anon_sym_operator] = ACTIONS(2023), + [anon_sym_delete] = ACTIONS(2023), + [anon_sym_throw] = ACTIONS(2023), + [anon_sym_namespace] = ACTIONS(2023), + [anon_sym_using] = ACTIONS(2023), + [anon_sym_static_assert] = ACTIONS(2023), + [anon_sym_concept] = ACTIONS(2023), + [anon_sym_co_return] = ACTIONS(2023), + [anon_sym_co_yield] = ACTIONS(2023), + [anon_sym_try] = ACTIONS(2023), + [anon_sym_co_await] = ACTIONS(2023), + [anon_sym_new] = ACTIONS(2023), + [anon_sym_requires] = ACTIONS(2023), + [sym_this] = ACTIONS(2023), + [sym_nullptr] = ACTIONS(2023), + [sym_raw_string_literal] = ACTIONS(2025), + }, + [673] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [674] = { + [sym_identifier] = ACTIONS(1969), + [aux_sym_preproc_include_token1] = ACTIONS(1969), + [aux_sym_preproc_def_token1] = ACTIONS(1969), + [aux_sym_preproc_if_token1] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1969), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1969), + [sym_preproc_directive] = ACTIONS(1969), + [anon_sym_LPAREN2] = ACTIONS(1971), + [anon_sym_BANG] = ACTIONS(1971), + [anon_sym_TILDE] = ACTIONS(1971), + [anon_sym_DASH] = ACTIONS(1969), + [anon_sym_PLUS] = ACTIONS(1969), + [anon_sym_STAR] = ACTIONS(1971), + [anon_sym_AMP_AMP] = ACTIONS(1971), + [anon_sym_AMP] = ACTIONS(1969), + [anon_sym_SEMI] = ACTIONS(1971), + [anon_sym_typedef] = ACTIONS(1969), + [anon_sym_extern] = ACTIONS(1969), + [anon_sym___attribute__] = ACTIONS(1969), + [anon_sym_COLON_COLON] = ACTIONS(1971), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1971), + [anon_sym___declspec] = ACTIONS(1969), + [anon_sym___based] = ACTIONS(1969), + [anon_sym___cdecl] = ACTIONS(1969), + [anon_sym___clrcall] = ACTIONS(1969), + [anon_sym___stdcall] = ACTIONS(1969), + [anon_sym___fastcall] = ACTIONS(1969), + [anon_sym___thiscall] = ACTIONS(1969), + [anon_sym___vectorcall] = ACTIONS(1969), + [anon_sym_LBRACE] = ACTIONS(1971), + [anon_sym_RBRACE] = ACTIONS(1971), + [anon_sym_LBRACK] = ACTIONS(1969), + [anon_sym_static] = ACTIONS(1969), + [anon_sym_register] = ACTIONS(1969), + [anon_sym_inline] = ACTIONS(1969), + [anon_sym_thread_local] = ACTIONS(1969), + [anon_sym_const] = ACTIONS(1969), + [anon_sym_volatile] = ACTIONS(1969), + [anon_sym_restrict] = ACTIONS(1969), + [anon_sym__Atomic] = ACTIONS(1969), + [anon_sym_mutable] = ACTIONS(1969), + [anon_sym_constexpr] = ACTIONS(1969), + [anon_sym_constinit] = ACTIONS(1969), + [anon_sym_consteval] = ACTIONS(1969), + [anon_sym_signed] = ACTIONS(1969), + [anon_sym_unsigned] = ACTIONS(1969), + [anon_sym_long] = ACTIONS(1969), + [anon_sym_short] = ACTIONS(1969), + [sym_primitive_type] = ACTIONS(1969), + [anon_sym_enum] = ACTIONS(1969), + [anon_sym_class] = ACTIONS(1969), + [anon_sym_struct] = ACTIONS(1969), + [anon_sym_union] = ACTIONS(1969), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_else] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(1969), + [anon_sym_case] = ACTIONS(1969), + [anon_sym_default] = ACTIONS(1969), + [anon_sym_while] = ACTIONS(1969), + [anon_sym_do] = ACTIONS(1969), + [anon_sym_for] = ACTIONS(1969), + [anon_sym_return] = ACTIONS(1969), + [anon_sym_break] = ACTIONS(1969), + [anon_sym_continue] = ACTIONS(1969), + [anon_sym_goto] = ACTIONS(1969), + [anon_sym_DASH_DASH] = ACTIONS(1971), + [anon_sym_PLUS_PLUS] = ACTIONS(1971), + [anon_sym_sizeof] = ACTIONS(1969), + [sym_number_literal] = ACTIONS(1971), + [anon_sym_L_SQUOTE] = ACTIONS(1971), + [anon_sym_u_SQUOTE] = ACTIONS(1971), + [anon_sym_U_SQUOTE] = ACTIONS(1971), + [anon_sym_u8_SQUOTE] = ACTIONS(1971), + [anon_sym_SQUOTE] = ACTIONS(1971), + [anon_sym_L_DQUOTE] = ACTIONS(1971), + [anon_sym_u_DQUOTE] = ACTIONS(1971), + [anon_sym_U_DQUOTE] = ACTIONS(1971), + [anon_sym_u8_DQUOTE] = ACTIONS(1971), + [anon_sym_DQUOTE] = ACTIONS(1971), + [sym_true] = ACTIONS(1969), + [sym_false] = ACTIONS(1969), + [sym_null] = ACTIONS(1969), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1969), + [anon_sym_decltype] = ACTIONS(1969), + [anon_sym_virtual] = ACTIONS(1969), + [anon_sym_explicit] = ACTIONS(1969), + [anon_sym_typename] = ACTIONS(1969), + [anon_sym_template] = ACTIONS(1969), + [anon_sym_operator] = ACTIONS(1969), + [anon_sym_delete] = ACTIONS(1969), + [anon_sym_throw] = ACTIONS(1969), + [anon_sym_namespace] = ACTIONS(1969), + [anon_sym_using] = ACTIONS(1969), + [anon_sym_static_assert] = ACTIONS(1969), + [anon_sym_concept] = ACTIONS(1969), + [anon_sym_co_return] = ACTIONS(1969), + [anon_sym_co_yield] = ACTIONS(1969), + [anon_sym_try] = ACTIONS(1969), + [anon_sym_co_await] = ACTIONS(1969), + [anon_sym_new] = ACTIONS(1969), + [anon_sym_requires] = ACTIONS(1969), + [sym_this] = ACTIONS(1969), + [sym_nullptr] = ACTIONS(1969), + [sym_raw_string_literal] = ACTIONS(1971), + }, + [675] = { + [sym_identifier] = ACTIONS(1945), + [aux_sym_preproc_include_token1] = ACTIONS(1945), + [aux_sym_preproc_def_token1] = ACTIONS(1945), + [aux_sym_preproc_if_token1] = ACTIONS(1945), + [aux_sym_preproc_if_token2] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1945), + [sym_preproc_directive] = ACTIONS(1945), + [anon_sym_LPAREN2] = ACTIONS(1947), + [anon_sym_BANG] = ACTIONS(1947), + [anon_sym_TILDE] = ACTIONS(1947), + [anon_sym_DASH] = ACTIONS(1945), + [anon_sym_PLUS] = ACTIONS(1945), + [anon_sym_STAR] = ACTIONS(1947), + [anon_sym_AMP_AMP] = ACTIONS(1947), + [anon_sym_AMP] = ACTIONS(1945), + [anon_sym_SEMI] = ACTIONS(1947), + [anon_sym_typedef] = ACTIONS(1945), + [anon_sym_extern] = ACTIONS(1945), + [anon_sym___attribute__] = ACTIONS(1945), + [anon_sym_COLON_COLON] = ACTIONS(1947), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1947), + [anon_sym___declspec] = ACTIONS(1945), + [anon_sym___based] = ACTIONS(1945), + [anon_sym___cdecl] = ACTIONS(1945), + [anon_sym___clrcall] = ACTIONS(1945), + [anon_sym___stdcall] = ACTIONS(1945), + [anon_sym___fastcall] = ACTIONS(1945), + [anon_sym___thiscall] = ACTIONS(1945), + [anon_sym___vectorcall] = ACTIONS(1945), + [anon_sym_LBRACE] = ACTIONS(1947), + [anon_sym_LBRACK] = ACTIONS(1945), + [anon_sym_static] = ACTIONS(1945), + [anon_sym_register] = ACTIONS(1945), + [anon_sym_inline] = ACTIONS(1945), + [anon_sym_thread_local] = ACTIONS(1945), + [anon_sym_const] = ACTIONS(1945), + [anon_sym_volatile] = ACTIONS(1945), + [anon_sym_restrict] = ACTIONS(1945), + [anon_sym__Atomic] = ACTIONS(1945), + [anon_sym_mutable] = ACTIONS(1945), + [anon_sym_constexpr] = ACTIONS(1945), + [anon_sym_constinit] = ACTIONS(1945), + [anon_sym_consteval] = ACTIONS(1945), + [anon_sym_signed] = ACTIONS(1945), + [anon_sym_unsigned] = ACTIONS(1945), + [anon_sym_long] = ACTIONS(1945), + [anon_sym_short] = ACTIONS(1945), + [sym_primitive_type] = ACTIONS(1945), + [anon_sym_enum] = ACTIONS(1945), + [anon_sym_class] = ACTIONS(1945), + [anon_sym_struct] = ACTIONS(1945), + [anon_sym_union] = ACTIONS(1945), + [anon_sym_if] = ACTIONS(1945), + [anon_sym_else] = ACTIONS(1945), + [anon_sym_switch] = ACTIONS(1945), + [anon_sym_case] = ACTIONS(1945), + [anon_sym_default] = ACTIONS(1945), + [anon_sym_while] = ACTIONS(1945), + [anon_sym_do] = ACTIONS(1945), + [anon_sym_for] = ACTIONS(1945), + [anon_sym_return] = ACTIONS(1945), + [anon_sym_break] = ACTIONS(1945), + [anon_sym_continue] = ACTIONS(1945), + [anon_sym_goto] = ACTIONS(1945), + [anon_sym_DASH_DASH] = ACTIONS(1947), + [anon_sym_PLUS_PLUS] = ACTIONS(1947), + [anon_sym_sizeof] = ACTIONS(1945), + [sym_number_literal] = ACTIONS(1947), + [anon_sym_L_SQUOTE] = ACTIONS(1947), + [anon_sym_u_SQUOTE] = ACTIONS(1947), + [anon_sym_U_SQUOTE] = ACTIONS(1947), + [anon_sym_u8_SQUOTE] = ACTIONS(1947), + [anon_sym_SQUOTE] = ACTIONS(1947), + [anon_sym_L_DQUOTE] = ACTIONS(1947), + [anon_sym_u_DQUOTE] = ACTIONS(1947), + [anon_sym_U_DQUOTE] = ACTIONS(1947), + [anon_sym_u8_DQUOTE] = ACTIONS(1947), + [anon_sym_DQUOTE] = ACTIONS(1947), + [sym_true] = ACTIONS(1945), + [sym_false] = ACTIONS(1945), + [sym_null] = ACTIONS(1945), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1945), + [anon_sym_virtual] = ACTIONS(1945), + [anon_sym_explicit] = ACTIONS(1945), + [anon_sym_typename] = ACTIONS(1945), + [anon_sym_template] = ACTIONS(1945), + [anon_sym_operator] = ACTIONS(1945), + [anon_sym_delete] = ACTIONS(1945), + [anon_sym_throw] = ACTIONS(1945), + [anon_sym_namespace] = ACTIONS(1945), + [anon_sym_using] = ACTIONS(1945), + [anon_sym_static_assert] = ACTIONS(1945), + [anon_sym_concept] = ACTIONS(1945), + [anon_sym_co_return] = ACTIONS(1945), + [anon_sym_co_yield] = ACTIONS(1945), + [anon_sym_try] = ACTIONS(1945), + [anon_sym_co_await] = ACTIONS(1945), + [anon_sym_new] = ACTIONS(1945), + [anon_sym_requires] = ACTIONS(1945), + [sym_this] = ACTIONS(1945), + [sym_nullptr] = ACTIONS(1945), + [sym_raw_string_literal] = ACTIONS(1947), + }, + [676] = { + [sym_identifier] = ACTIONS(2119), + [aux_sym_preproc_include_token1] = ACTIONS(2119), + [aux_sym_preproc_def_token1] = ACTIONS(2119), + [aux_sym_preproc_if_token1] = ACTIONS(2119), + [aux_sym_preproc_if_token2] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2119), + [sym_preproc_directive] = ACTIONS(2119), + [anon_sym_LPAREN2] = ACTIONS(2121), + [anon_sym_BANG] = ACTIONS(2121), + [anon_sym_TILDE] = ACTIONS(2121), + [anon_sym_DASH] = ACTIONS(2119), + [anon_sym_PLUS] = ACTIONS(2119), + [anon_sym_STAR] = ACTIONS(2121), + [anon_sym_AMP_AMP] = ACTIONS(2121), + [anon_sym_AMP] = ACTIONS(2119), + [anon_sym_SEMI] = ACTIONS(2121), + [anon_sym_typedef] = ACTIONS(2119), + [anon_sym_extern] = ACTIONS(2119), + [anon_sym___attribute__] = ACTIONS(2119), + [anon_sym_COLON_COLON] = ACTIONS(2121), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2121), + [anon_sym___declspec] = ACTIONS(2119), + [anon_sym___based] = ACTIONS(2119), + [anon_sym___cdecl] = ACTIONS(2119), + [anon_sym___clrcall] = ACTIONS(2119), + [anon_sym___stdcall] = ACTIONS(2119), + [anon_sym___fastcall] = ACTIONS(2119), + [anon_sym___thiscall] = ACTIONS(2119), + [anon_sym___vectorcall] = ACTIONS(2119), + [anon_sym_LBRACE] = ACTIONS(2121), + [anon_sym_LBRACK] = ACTIONS(2119), + [anon_sym_static] = ACTIONS(2119), + [anon_sym_register] = ACTIONS(2119), + [anon_sym_inline] = ACTIONS(2119), + [anon_sym_thread_local] = ACTIONS(2119), + [anon_sym_const] = ACTIONS(2119), + [anon_sym_volatile] = ACTIONS(2119), + [anon_sym_restrict] = ACTIONS(2119), + [anon_sym__Atomic] = ACTIONS(2119), + [anon_sym_mutable] = ACTIONS(2119), + [anon_sym_constexpr] = ACTIONS(2119), + [anon_sym_constinit] = ACTIONS(2119), + [anon_sym_consteval] = ACTIONS(2119), + [anon_sym_signed] = ACTIONS(2119), + [anon_sym_unsigned] = ACTIONS(2119), + [anon_sym_long] = ACTIONS(2119), + [anon_sym_short] = ACTIONS(2119), + [sym_primitive_type] = ACTIONS(2119), + [anon_sym_enum] = ACTIONS(2119), + [anon_sym_class] = ACTIONS(2119), + [anon_sym_struct] = ACTIONS(2119), + [anon_sym_union] = ACTIONS(2119), + [anon_sym_if] = ACTIONS(2119), + [anon_sym_else] = ACTIONS(2119), + [anon_sym_switch] = ACTIONS(2119), + [anon_sym_case] = ACTIONS(2119), + [anon_sym_default] = ACTIONS(2119), + [anon_sym_while] = ACTIONS(2119), + [anon_sym_do] = ACTIONS(2119), + [anon_sym_for] = ACTIONS(2119), + [anon_sym_return] = ACTIONS(2119), + [anon_sym_break] = ACTIONS(2119), + [anon_sym_continue] = ACTIONS(2119), + [anon_sym_goto] = ACTIONS(2119), + [anon_sym_DASH_DASH] = ACTIONS(2121), + [anon_sym_PLUS_PLUS] = ACTIONS(2121), + [anon_sym_sizeof] = ACTIONS(2119), + [sym_number_literal] = ACTIONS(2121), + [anon_sym_L_SQUOTE] = ACTIONS(2121), + [anon_sym_u_SQUOTE] = ACTIONS(2121), + [anon_sym_U_SQUOTE] = ACTIONS(2121), + [anon_sym_u8_SQUOTE] = ACTIONS(2121), + [anon_sym_SQUOTE] = ACTIONS(2121), + [anon_sym_L_DQUOTE] = ACTIONS(2121), + [anon_sym_u_DQUOTE] = ACTIONS(2121), + [anon_sym_U_DQUOTE] = ACTIONS(2121), + [anon_sym_u8_DQUOTE] = ACTIONS(2121), + [anon_sym_DQUOTE] = ACTIONS(2121), + [sym_true] = ACTIONS(2119), + [sym_false] = ACTIONS(2119), + [sym_null] = ACTIONS(2119), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2119), + [anon_sym_decltype] = ACTIONS(2119), + [anon_sym_virtual] = ACTIONS(2119), + [anon_sym_explicit] = ACTIONS(2119), + [anon_sym_typename] = ACTIONS(2119), + [anon_sym_template] = ACTIONS(2119), + [anon_sym_operator] = ACTIONS(2119), + [anon_sym_delete] = ACTIONS(2119), + [anon_sym_throw] = ACTIONS(2119), + [anon_sym_namespace] = ACTIONS(2119), + [anon_sym_using] = ACTIONS(2119), + [anon_sym_static_assert] = ACTIONS(2119), + [anon_sym_concept] = ACTIONS(2119), + [anon_sym_co_return] = ACTIONS(2119), + [anon_sym_co_yield] = ACTIONS(2119), + [anon_sym_try] = ACTIONS(2119), + [anon_sym_co_await] = ACTIONS(2119), + [anon_sym_new] = ACTIONS(2119), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2119), + [sym_nullptr] = ACTIONS(2119), + [sym_raw_string_literal] = ACTIONS(2121), + }, + [677] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [678] = { + [sym_identifier] = ACTIONS(2075), + [aux_sym_preproc_include_token1] = ACTIONS(2075), + [aux_sym_preproc_def_token1] = ACTIONS(2075), + [aux_sym_preproc_if_token1] = ACTIONS(2075), + [aux_sym_preproc_if_token2] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2075), + [sym_preproc_directive] = ACTIONS(2075), + [anon_sym_LPAREN2] = ACTIONS(2077), + [anon_sym_BANG] = ACTIONS(2077), + [anon_sym_TILDE] = ACTIONS(2077), + [anon_sym_DASH] = ACTIONS(2075), + [anon_sym_PLUS] = ACTIONS(2075), + [anon_sym_STAR] = ACTIONS(2077), + [anon_sym_AMP_AMP] = ACTIONS(2077), + [anon_sym_AMP] = ACTIONS(2075), + [anon_sym_SEMI] = ACTIONS(2077), + [anon_sym_typedef] = ACTIONS(2075), + [anon_sym_extern] = ACTIONS(2075), + [anon_sym___attribute__] = ACTIONS(2075), + [anon_sym_COLON_COLON] = ACTIONS(2077), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2077), + [anon_sym___declspec] = ACTIONS(2075), + [anon_sym___based] = ACTIONS(2075), + [anon_sym___cdecl] = ACTIONS(2075), + [anon_sym___clrcall] = ACTIONS(2075), + [anon_sym___stdcall] = ACTIONS(2075), + [anon_sym___fastcall] = ACTIONS(2075), + [anon_sym___thiscall] = ACTIONS(2075), + [anon_sym___vectorcall] = ACTIONS(2075), + [anon_sym_LBRACE] = ACTIONS(2077), + [anon_sym_LBRACK] = ACTIONS(2075), + [anon_sym_static] = ACTIONS(2075), + [anon_sym_register] = ACTIONS(2075), + [anon_sym_inline] = ACTIONS(2075), + [anon_sym_thread_local] = ACTIONS(2075), + [anon_sym_const] = ACTIONS(2075), + [anon_sym_volatile] = ACTIONS(2075), + [anon_sym_restrict] = ACTIONS(2075), + [anon_sym__Atomic] = ACTIONS(2075), + [anon_sym_mutable] = ACTIONS(2075), + [anon_sym_constexpr] = ACTIONS(2075), + [anon_sym_constinit] = ACTIONS(2075), + [anon_sym_consteval] = ACTIONS(2075), + [anon_sym_signed] = ACTIONS(2075), + [anon_sym_unsigned] = ACTIONS(2075), + [anon_sym_long] = ACTIONS(2075), + [anon_sym_short] = ACTIONS(2075), + [sym_primitive_type] = ACTIONS(2075), + [anon_sym_enum] = ACTIONS(2075), + [anon_sym_class] = ACTIONS(2075), + [anon_sym_struct] = ACTIONS(2075), + [anon_sym_union] = ACTIONS(2075), + [anon_sym_if] = ACTIONS(2075), + [anon_sym_else] = ACTIONS(2075), + [anon_sym_switch] = ACTIONS(2075), + [anon_sym_case] = ACTIONS(2075), + [anon_sym_default] = ACTIONS(2075), + [anon_sym_while] = ACTIONS(2075), + [anon_sym_do] = ACTIONS(2075), + [anon_sym_for] = ACTIONS(2075), + [anon_sym_return] = ACTIONS(2075), + [anon_sym_break] = ACTIONS(2075), + [anon_sym_continue] = ACTIONS(2075), + [anon_sym_goto] = ACTIONS(2075), + [anon_sym_DASH_DASH] = ACTIONS(2077), + [anon_sym_PLUS_PLUS] = ACTIONS(2077), + [anon_sym_sizeof] = ACTIONS(2075), + [sym_number_literal] = ACTIONS(2077), + [anon_sym_L_SQUOTE] = ACTIONS(2077), + [anon_sym_u_SQUOTE] = ACTIONS(2077), + [anon_sym_U_SQUOTE] = ACTIONS(2077), + [anon_sym_u8_SQUOTE] = ACTIONS(2077), + [anon_sym_SQUOTE] = ACTIONS(2077), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2075), + [sym_false] = ACTIONS(2075), + [sym_null] = ACTIONS(2075), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2075), + [anon_sym_decltype] = ACTIONS(2075), + [anon_sym_virtual] = ACTIONS(2075), + [anon_sym_explicit] = ACTIONS(2075), + [anon_sym_typename] = ACTIONS(2075), + [anon_sym_template] = ACTIONS(2075), + [anon_sym_operator] = ACTIONS(2075), + [anon_sym_delete] = ACTIONS(2075), + [anon_sym_throw] = ACTIONS(2075), + [anon_sym_namespace] = ACTIONS(2075), + [anon_sym_using] = ACTIONS(2075), + [anon_sym_static_assert] = ACTIONS(2075), + [anon_sym_concept] = ACTIONS(2075), + [anon_sym_co_return] = ACTIONS(2075), + [anon_sym_co_yield] = ACTIONS(2075), + [anon_sym_try] = ACTIONS(2075), + [anon_sym_co_await] = ACTIONS(2075), + [anon_sym_new] = ACTIONS(2075), + [anon_sym_requires] = ACTIONS(2075), + [sym_this] = ACTIONS(2075), + [sym_nullptr] = ACTIONS(2075), + [sym_raw_string_literal] = ACTIONS(2077), + }, + [679] = { + [sym_function_definition] = STATE(1644), + [sym_declaration] = STATE(1644), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3688), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1560), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2831), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(1644), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(1644), + [sym_operator_cast] = STATE(5135), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(1644), + [sym_operator_cast_declaration] = STATE(1644), + [sym_constructor_or_destructor_definition] = STATE(1644), + [sym_constructor_or_destructor_declaration] = STATE(1644), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(1644), + [sym_concept_definition] = STATE(1644), + [sym_requires_clause] = STATE(881), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2491), + [anon_sym_concept] = ACTIONS(2493), + [anon_sym_requires] = ACTIONS(2437), + }, + [680] = { + [sym_identifier] = ACTIONS(2099), + [aux_sym_preproc_include_token1] = ACTIONS(2099), + [aux_sym_preproc_def_token1] = ACTIONS(2099), + [aux_sym_preproc_if_token1] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2099), + [sym_preproc_directive] = ACTIONS(2099), + [anon_sym_LPAREN2] = ACTIONS(2101), + [anon_sym_BANG] = ACTIONS(2101), + [anon_sym_TILDE] = ACTIONS(2101), + [anon_sym_DASH] = ACTIONS(2099), + [anon_sym_PLUS] = ACTIONS(2099), + [anon_sym_STAR] = ACTIONS(2101), + [anon_sym_AMP_AMP] = ACTIONS(2101), + [anon_sym_AMP] = ACTIONS(2099), + [anon_sym_SEMI] = ACTIONS(2101), + [anon_sym_typedef] = ACTIONS(2099), + [anon_sym_extern] = ACTIONS(2099), + [anon_sym___attribute__] = ACTIONS(2099), + [anon_sym_COLON_COLON] = ACTIONS(2101), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2101), + [anon_sym___declspec] = ACTIONS(2099), + [anon_sym___based] = ACTIONS(2099), + [anon_sym___cdecl] = ACTIONS(2099), + [anon_sym___clrcall] = ACTIONS(2099), + [anon_sym___stdcall] = ACTIONS(2099), + [anon_sym___fastcall] = ACTIONS(2099), + [anon_sym___thiscall] = ACTIONS(2099), + [anon_sym___vectorcall] = ACTIONS(2099), + [anon_sym_LBRACE] = ACTIONS(2101), + [anon_sym_RBRACE] = ACTIONS(2101), + [anon_sym_LBRACK] = ACTIONS(2099), + [anon_sym_static] = ACTIONS(2099), + [anon_sym_register] = ACTIONS(2099), + [anon_sym_inline] = ACTIONS(2099), + [anon_sym_thread_local] = ACTIONS(2099), + [anon_sym_const] = ACTIONS(2099), + [anon_sym_volatile] = ACTIONS(2099), + [anon_sym_restrict] = ACTIONS(2099), + [anon_sym__Atomic] = ACTIONS(2099), + [anon_sym_mutable] = ACTIONS(2099), + [anon_sym_constexpr] = ACTIONS(2099), + [anon_sym_constinit] = ACTIONS(2099), + [anon_sym_consteval] = ACTIONS(2099), + [anon_sym_signed] = ACTIONS(2099), + [anon_sym_unsigned] = ACTIONS(2099), + [anon_sym_long] = ACTIONS(2099), + [anon_sym_short] = ACTIONS(2099), + [sym_primitive_type] = ACTIONS(2099), + [anon_sym_enum] = ACTIONS(2099), + [anon_sym_class] = ACTIONS(2099), + [anon_sym_struct] = ACTIONS(2099), + [anon_sym_union] = ACTIONS(2099), + [anon_sym_if] = ACTIONS(2099), + [anon_sym_else] = ACTIONS(2099), + [anon_sym_switch] = ACTIONS(2099), + [anon_sym_case] = ACTIONS(2099), + [anon_sym_default] = ACTIONS(2099), + [anon_sym_while] = ACTIONS(2099), + [anon_sym_do] = ACTIONS(2099), + [anon_sym_for] = ACTIONS(2099), + [anon_sym_return] = ACTIONS(2099), + [anon_sym_break] = ACTIONS(2099), + [anon_sym_continue] = ACTIONS(2099), + [anon_sym_goto] = ACTIONS(2099), + [anon_sym_DASH_DASH] = ACTIONS(2101), + [anon_sym_PLUS_PLUS] = ACTIONS(2101), + [anon_sym_sizeof] = ACTIONS(2099), + [sym_number_literal] = ACTIONS(2101), + [anon_sym_L_SQUOTE] = ACTIONS(2101), + [anon_sym_u_SQUOTE] = ACTIONS(2101), + [anon_sym_U_SQUOTE] = ACTIONS(2101), + [anon_sym_u8_SQUOTE] = ACTIONS(2101), + [anon_sym_SQUOTE] = ACTIONS(2101), + [anon_sym_L_DQUOTE] = ACTIONS(2101), + [anon_sym_u_DQUOTE] = ACTIONS(2101), + [anon_sym_U_DQUOTE] = ACTIONS(2101), + [anon_sym_u8_DQUOTE] = ACTIONS(2101), + [anon_sym_DQUOTE] = ACTIONS(2101), + [sym_true] = ACTIONS(2099), + [sym_false] = ACTIONS(2099), + [sym_null] = ACTIONS(2099), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2099), + [anon_sym_decltype] = ACTIONS(2099), + [anon_sym_virtual] = ACTIONS(2099), + [anon_sym_explicit] = ACTIONS(2099), + [anon_sym_typename] = ACTIONS(2099), + [anon_sym_template] = ACTIONS(2099), + [anon_sym_operator] = ACTIONS(2099), + [anon_sym_delete] = ACTIONS(2099), + [anon_sym_throw] = ACTIONS(2099), + [anon_sym_namespace] = ACTIONS(2099), + [anon_sym_using] = ACTIONS(2099), + [anon_sym_static_assert] = ACTIONS(2099), + [anon_sym_concept] = ACTIONS(2099), + [anon_sym_co_return] = ACTIONS(2099), + [anon_sym_co_yield] = ACTIONS(2099), + [anon_sym_try] = ACTIONS(2099), + [anon_sym_co_await] = ACTIONS(2099), + [anon_sym_new] = ACTIONS(2099), + [anon_sym_requires] = ACTIONS(2099), + [sym_this] = ACTIONS(2099), + [sym_nullptr] = ACTIONS(2099), + [sym_raw_string_literal] = ACTIONS(2101), + }, + [681] = { + [ts_builtin_sym_end] = ACTIONS(2053), + [sym_identifier] = ACTIONS(2051), + [aux_sym_preproc_include_token1] = ACTIONS(2051), + [aux_sym_preproc_def_token1] = ACTIONS(2051), + [aux_sym_preproc_if_token1] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2051), + [sym_preproc_directive] = ACTIONS(2051), + [anon_sym_LPAREN2] = ACTIONS(2053), + [anon_sym_BANG] = ACTIONS(2053), + [anon_sym_TILDE] = ACTIONS(2053), + [anon_sym_DASH] = ACTIONS(2051), + [anon_sym_PLUS] = ACTIONS(2051), + [anon_sym_STAR] = ACTIONS(2053), + [anon_sym_AMP_AMP] = ACTIONS(2053), + [anon_sym_AMP] = ACTIONS(2051), + [anon_sym_SEMI] = ACTIONS(2053), + [anon_sym_typedef] = ACTIONS(2051), + [anon_sym_extern] = ACTIONS(2051), + [anon_sym___attribute__] = ACTIONS(2051), + [anon_sym_COLON_COLON] = ACTIONS(2053), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2053), + [anon_sym___declspec] = ACTIONS(2051), + [anon_sym___based] = ACTIONS(2051), + [anon_sym___cdecl] = ACTIONS(2051), + [anon_sym___clrcall] = ACTIONS(2051), + [anon_sym___stdcall] = ACTIONS(2051), + [anon_sym___fastcall] = ACTIONS(2051), + [anon_sym___thiscall] = ACTIONS(2051), + [anon_sym___vectorcall] = ACTIONS(2051), + [anon_sym_LBRACE] = ACTIONS(2053), + [anon_sym_LBRACK] = ACTIONS(2051), + [anon_sym_static] = ACTIONS(2051), + [anon_sym_register] = ACTIONS(2051), + [anon_sym_inline] = ACTIONS(2051), + [anon_sym_thread_local] = ACTIONS(2051), + [anon_sym_const] = ACTIONS(2051), + [anon_sym_volatile] = ACTIONS(2051), + [anon_sym_restrict] = ACTIONS(2051), + [anon_sym__Atomic] = ACTIONS(2051), + [anon_sym_mutable] = ACTIONS(2051), + [anon_sym_constexpr] = ACTIONS(2051), + [anon_sym_constinit] = ACTIONS(2051), + [anon_sym_consteval] = ACTIONS(2051), + [anon_sym_signed] = ACTIONS(2051), + [anon_sym_unsigned] = ACTIONS(2051), + [anon_sym_long] = ACTIONS(2051), + [anon_sym_short] = ACTIONS(2051), + [sym_primitive_type] = ACTIONS(2051), + [anon_sym_enum] = ACTIONS(2051), + [anon_sym_class] = ACTIONS(2051), + [anon_sym_struct] = ACTIONS(2051), + [anon_sym_union] = ACTIONS(2051), + [anon_sym_if] = ACTIONS(2051), + [anon_sym_else] = ACTIONS(2051), + [anon_sym_switch] = ACTIONS(2051), + [anon_sym_case] = ACTIONS(2051), + [anon_sym_default] = ACTIONS(2051), + [anon_sym_while] = ACTIONS(2051), + [anon_sym_do] = ACTIONS(2051), + [anon_sym_for] = ACTIONS(2051), + [anon_sym_return] = ACTIONS(2051), + [anon_sym_break] = ACTIONS(2051), + [anon_sym_continue] = ACTIONS(2051), + [anon_sym_goto] = ACTIONS(2051), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2051), + [sym_number_literal] = ACTIONS(2053), + [anon_sym_L_SQUOTE] = ACTIONS(2053), + [anon_sym_u_SQUOTE] = ACTIONS(2053), + [anon_sym_U_SQUOTE] = ACTIONS(2053), + [anon_sym_u8_SQUOTE] = ACTIONS(2053), + [anon_sym_SQUOTE] = ACTIONS(2053), + [anon_sym_L_DQUOTE] = ACTIONS(2053), + [anon_sym_u_DQUOTE] = ACTIONS(2053), + [anon_sym_U_DQUOTE] = ACTIONS(2053), + [anon_sym_u8_DQUOTE] = ACTIONS(2053), + [anon_sym_DQUOTE] = ACTIONS(2053), + [sym_true] = ACTIONS(2051), + [sym_false] = ACTIONS(2051), + [sym_null] = ACTIONS(2051), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2051), + [anon_sym_decltype] = ACTIONS(2051), + [anon_sym_virtual] = ACTIONS(2051), + [anon_sym_explicit] = ACTIONS(2051), + [anon_sym_typename] = ACTIONS(2051), + [anon_sym_template] = ACTIONS(2051), + [anon_sym_operator] = ACTIONS(2051), + [anon_sym_delete] = ACTIONS(2051), + [anon_sym_throw] = ACTIONS(2051), + [anon_sym_namespace] = ACTIONS(2051), + [anon_sym_using] = ACTIONS(2051), + [anon_sym_static_assert] = ACTIONS(2051), + [anon_sym_concept] = ACTIONS(2051), + [anon_sym_co_return] = ACTIONS(2051), + [anon_sym_co_yield] = ACTIONS(2051), + [anon_sym_try] = ACTIONS(2051), + [anon_sym_co_await] = ACTIONS(2051), + [anon_sym_new] = ACTIONS(2051), + [anon_sym_requires] = ACTIONS(2051), + [sym_this] = ACTIONS(2051), + [sym_nullptr] = ACTIONS(2051), + [sym_raw_string_literal] = ACTIONS(2053), + }, + [682] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [683] = { + [ts_builtin_sym_end] = ACTIONS(2097), + [sym_identifier] = ACTIONS(2095), + [aux_sym_preproc_include_token1] = ACTIONS(2095), + [aux_sym_preproc_def_token1] = ACTIONS(2095), + [aux_sym_preproc_if_token1] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2095), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2095), + [sym_preproc_directive] = ACTIONS(2095), + [anon_sym_LPAREN2] = ACTIONS(2097), + [anon_sym_BANG] = ACTIONS(2097), + [anon_sym_TILDE] = ACTIONS(2097), + [anon_sym_DASH] = ACTIONS(2095), + [anon_sym_PLUS] = ACTIONS(2095), + [anon_sym_STAR] = ACTIONS(2097), + [anon_sym_AMP_AMP] = ACTIONS(2097), + [anon_sym_AMP] = ACTIONS(2095), + [anon_sym_SEMI] = ACTIONS(2097), + [anon_sym_typedef] = ACTIONS(2095), + [anon_sym_extern] = ACTIONS(2095), + [anon_sym___attribute__] = ACTIONS(2095), + [anon_sym_COLON_COLON] = ACTIONS(2097), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2097), + [anon_sym___declspec] = ACTIONS(2095), + [anon_sym___based] = ACTIONS(2095), + [anon_sym___cdecl] = ACTIONS(2095), + [anon_sym___clrcall] = ACTIONS(2095), + [anon_sym___stdcall] = ACTIONS(2095), + [anon_sym___fastcall] = ACTIONS(2095), + [anon_sym___thiscall] = ACTIONS(2095), + [anon_sym___vectorcall] = ACTIONS(2095), + [anon_sym_LBRACE] = ACTIONS(2097), + [anon_sym_LBRACK] = ACTIONS(2095), + [anon_sym_static] = ACTIONS(2095), + [anon_sym_register] = ACTIONS(2095), + [anon_sym_inline] = ACTIONS(2095), + [anon_sym_thread_local] = ACTIONS(2095), + [anon_sym_const] = ACTIONS(2095), + [anon_sym_volatile] = ACTIONS(2095), + [anon_sym_restrict] = ACTIONS(2095), + [anon_sym__Atomic] = ACTIONS(2095), + [anon_sym_mutable] = ACTIONS(2095), + [anon_sym_constexpr] = ACTIONS(2095), + [anon_sym_constinit] = ACTIONS(2095), + [anon_sym_consteval] = ACTIONS(2095), + [anon_sym_signed] = ACTIONS(2095), + [anon_sym_unsigned] = ACTIONS(2095), + [anon_sym_long] = ACTIONS(2095), + [anon_sym_short] = ACTIONS(2095), + [sym_primitive_type] = ACTIONS(2095), + [anon_sym_enum] = ACTIONS(2095), + [anon_sym_class] = ACTIONS(2095), + [anon_sym_struct] = ACTIONS(2095), + [anon_sym_union] = ACTIONS(2095), + [anon_sym_if] = ACTIONS(2095), + [anon_sym_else] = ACTIONS(2095), + [anon_sym_switch] = ACTIONS(2095), + [anon_sym_case] = ACTIONS(2095), + [anon_sym_default] = ACTIONS(2095), + [anon_sym_while] = ACTIONS(2095), + [anon_sym_do] = ACTIONS(2095), + [anon_sym_for] = ACTIONS(2095), + [anon_sym_return] = ACTIONS(2095), + [anon_sym_break] = ACTIONS(2095), + [anon_sym_continue] = ACTIONS(2095), + [anon_sym_goto] = ACTIONS(2095), + [anon_sym_DASH_DASH] = ACTIONS(2097), + [anon_sym_PLUS_PLUS] = ACTIONS(2097), + [anon_sym_sizeof] = ACTIONS(2095), + [sym_number_literal] = ACTIONS(2097), + [anon_sym_L_SQUOTE] = ACTIONS(2097), + [anon_sym_u_SQUOTE] = ACTIONS(2097), + [anon_sym_U_SQUOTE] = ACTIONS(2097), + [anon_sym_u8_SQUOTE] = ACTIONS(2097), + [anon_sym_SQUOTE] = ACTIONS(2097), + [anon_sym_L_DQUOTE] = ACTIONS(2097), + [anon_sym_u_DQUOTE] = ACTIONS(2097), + [anon_sym_U_DQUOTE] = ACTIONS(2097), + [anon_sym_u8_DQUOTE] = ACTIONS(2097), + [anon_sym_DQUOTE] = ACTIONS(2097), + [sym_true] = ACTIONS(2095), + [sym_false] = ACTIONS(2095), + [sym_null] = ACTIONS(2095), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2095), + [anon_sym_decltype] = ACTIONS(2095), + [anon_sym_virtual] = ACTIONS(2095), + [anon_sym_explicit] = ACTIONS(2095), + [anon_sym_typename] = ACTIONS(2095), + [anon_sym_template] = ACTIONS(2095), + [anon_sym_operator] = ACTIONS(2095), + [anon_sym_delete] = ACTIONS(2095), + [anon_sym_throw] = ACTIONS(2095), + [anon_sym_namespace] = ACTIONS(2095), + [anon_sym_using] = ACTIONS(2095), + [anon_sym_static_assert] = ACTIONS(2095), + [anon_sym_concept] = ACTIONS(2095), + [anon_sym_co_return] = ACTIONS(2095), + [anon_sym_co_yield] = ACTIONS(2095), + [anon_sym_try] = ACTIONS(2095), + [anon_sym_co_await] = ACTIONS(2095), + [anon_sym_new] = ACTIONS(2095), + [anon_sym_requires] = ACTIONS(2095), + [sym_this] = ACTIONS(2095), + [sym_nullptr] = ACTIONS(2095), + [sym_raw_string_literal] = ACTIONS(2097), + }, + [684] = { + [ts_builtin_sym_end] = ACTIONS(2101), + [sym_identifier] = ACTIONS(2099), + [aux_sym_preproc_include_token1] = ACTIONS(2099), + [aux_sym_preproc_def_token1] = ACTIONS(2099), + [aux_sym_preproc_if_token1] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2099), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2099), + [sym_preproc_directive] = ACTIONS(2099), + [anon_sym_LPAREN2] = ACTIONS(2101), + [anon_sym_BANG] = ACTIONS(2101), + [anon_sym_TILDE] = ACTIONS(2101), + [anon_sym_DASH] = ACTIONS(2099), + [anon_sym_PLUS] = ACTIONS(2099), + [anon_sym_STAR] = ACTIONS(2101), + [anon_sym_AMP_AMP] = ACTIONS(2101), + [anon_sym_AMP] = ACTIONS(2099), + [anon_sym_SEMI] = ACTIONS(2101), + [anon_sym_typedef] = ACTIONS(2099), + [anon_sym_extern] = ACTIONS(2099), + [anon_sym___attribute__] = ACTIONS(2099), + [anon_sym_COLON_COLON] = ACTIONS(2101), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2101), + [anon_sym___declspec] = ACTIONS(2099), + [anon_sym___based] = ACTIONS(2099), + [anon_sym___cdecl] = ACTIONS(2099), + [anon_sym___clrcall] = ACTIONS(2099), + [anon_sym___stdcall] = ACTIONS(2099), + [anon_sym___fastcall] = ACTIONS(2099), + [anon_sym___thiscall] = ACTIONS(2099), + [anon_sym___vectorcall] = ACTIONS(2099), + [anon_sym_LBRACE] = ACTIONS(2101), + [anon_sym_LBRACK] = ACTIONS(2099), + [anon_sym_static] = ACTIONS(2099), + [anon_sym_register] = ACTIONS(2099), + [anon_sym_inline] = ACTIONS(2099), + [anon_sym_thread_local] = ACTIONS(2099), + [anon_sym_const] = ACTIONS(2099), + [anon_sym_volatile] = ACTIONS(2099), + [anon_sym_restrict] = ACTIONS(2099), + [anon_sym__Atomic] = ACTIONS(2099), + [anon_sym_mutable] = ACTIONS(2099), + [anon_sym_constexpr] = ACTIONS(2099), + [anon_sym_constinit] = ACTIONS(2099), + [anon_sym_consteval] = ACTIONS(2099), + [anon_sym_signed] = ACTIONS(2099), + [anon_sym_unsigned] = ACTIONS(2099), + [anon_sym_long] = ACTIONS(2099), + [anon_sym_short] = ACTIONS(2099), + [sym_primitive_type] = ACTIONS(2099), + [anon_sym_enum] = ACTIONS(2099), + [anon_sym_class] = ACTIONS(2099), + [anon_sym_struct] = ACTIONS(2099), + [anon_sym_union] = ACTIONS(2099), + [anon_sym_if] = ACTIONS(2099), + [anon_sym_else] = ACTIONS(2099), + [anon_sym_switch] = ACTIONS(2099), + [anon_sym_case] = ACTIONS(2099), + [anon_sym_default] = ACTIONS(2099), + [anon_sym_while] = ACTIONS(2099), + [anon_sym_do] = ACTIONS(2099), + [anon_sym_for] = ACTIONS(2099), + [anon_sym_return] = ACTIONS(2099), + [anon_sym_break] = ACTIONS(2099), + [anon_sym_continue] = ACTIONS(2099), + [anon_sym_goto] = ACTIONS(2099), + [anon_sym_DASH_DASH] = ACTIONS(2101), + [anon_sym_PLUS_PLUS] = ACTIONS(2101), + [anon_sym_sizeof] = ACTIONS(2099), + [sym_number_literal] = ACTIONS(2101), + [anon_sym_L_SQUOTE] = ACTIONS(2101), + [anon_sym_u_SQUOTE] = ACTIONS(2101), + [anon_sym_U_SQUOTE] = ACTIONS(2101), + [anon_sym_u8_SQUOTE] = ACTIONS(2101), + [anon_sym_SQUOTE] = ACTIONS(2101), + [anon_sym_L_DQUOTE] = ACTIONS(2101), + [anon_sym_u_DQUOTE] = ACTIONS(2101), + [anon_sym_U_DQUOTE] = ACTIONS(2101), + [anon_sym_u8_DQUOTE] = ACTIONS(2101), + [anon_sym_DQUOTE] = ACTIONS(2101), + [sym_true] = ACTIONS(2099), + [sym_false] = ACTIONS(2099), + [sym_null] = ACTIONS(2099), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2099), + [anon_sym_decltype] = ACTIONS(2099), + [anon_sym_virtual] = ACTIONS(2099), + [anon_sym_explicit] = ACTIONS(2099), + [anon_sym_typename] = ACTIONS(2099), + [anon_sym_template] = ACTIONS(2099), + [anon_sym_operator] = ACTIONS(2099), + [anon_sym_delete] = ACTIONS(2099), + [anon_sym_throw] = ACTIONS(2099), + [anon_sym_namespace] = ACTIONS(2099), + [anon_sym_using] = ACTIONS(2099), + [anon_sym_static_assert] = ACTIONS(2099), + [anon_sym_concept] = ACTIONS(2099), + [anon_sym_co_return] = ACTIONS(2099), + [anon_sym_co_yield] = ACTIONS(2099), + [anon_sym_try] = ACTIONS(2099), + [anon_sym_co_await] = ACTIONS(2099), + [anon_sym_new] = ACTIONS(2099), + [anon_sym_requires] = ACTIONS(2099), + [sym_this] = ACTIONS(2099), + [sym_nullptr] = ACTIONS(2099), + [sym_raw_string_literal] = ACTIONS(2101), + }, + [685] = { + [sym_identifier] = ACTIONS(2031), + [aux_sym_preproc_include_token1] = ACTIONS(2031), + [aux_sym_preproc_def_token1] = ACTIONS(2031), + [aux_sym_preproc_if_token1] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2031), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2031), + [sym_preproc_directive] = ACTIONS(2031), + [anon_sym_LPAREN2] = ACTIONS(2033), + [anon_sym_BANG] = ACTIONS(2033), + [anon_sym_TILDE] = ACTIONS(2033), + [anon_sym_DASH] = ACTIONS(2031), + [anon_sym_PLUS] = ACTIONS(2031), + [anon_sym_STAR] = ACTIONS(2033), + [anon_sym_AMP_AMP] = ACTIONS(2033), + [anon_sym_AMP] = ACTIONS(2031), + [anon_sym_SEMI] = ACTIONS(2033), + [anon_sym_typedef] = ACTIONS(2031), + [anon_sym_extern] = ACTIONS(2031), + [anon_sym___attribute__] = ACTIONS(2031), + [anon_sym_COLON_COLON] = ACTIONS(2033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2033), + [anon_sym___declspec] = ACTIONS(2031), + [anon_sym___based] = ACTIONS(2031), + [anon_sym___cdecl] = ACTIONS(2031), + [anon_sym___clrcall] = ACTIONS(2031), + [anon_sym___stdcall] = ACTIONS(2031), + [anon_sym___fastcall] = ACTIONS(2031), + [anon_sym___thiscall] = ACTIONS(2031), + [anon_sym___vectorcall] = ACTIONS(2031), + [anon_sym_LBRACE] = ACTIONS(2033), + [anon_sym_RBRACE] = ACTIONS(2033), + [anon_sym_LBRACK] = ACTIONS(2031), + [anon_sym_static] = ACTIONS(2031), + [anon_sym_register] = ACTIONS(2031), + [anon_sym_inline] = ACTIONS(2031), + [anon_sym_thread_local] = ACTIONS(2031), + [anon_sym_const] = ACTIONS(2031), + [anon_sym_volatile] = ACTIONS(2031), + [anon_sym_restrict] = ACTIONS(2031), + [anon_sym__Atomic] = ACTIONS(2031), + [anon_sym_mutable] = ACTIONS(2031), + [anon_sym_constexpr] = ACTIONS(2031), + [anon_sym_constinit] = ACTIONS(2031), + [anon_sym_consteval] = ACTIONS(2031), + [anon_sym_signed] = ACTIONS(2031), + [anon_sym_unsigned] = ACTIONS(2031), + [anon_sym_long] = ACTIONS(2031), + [anon_sym_short] = ACTIONS(2031), + [sym_primitive_type] = ACTIONS(2031), + [anon_sym_enum] = ACTIONS(2031), + [anon_sym_class] = ACTIONS(2031), + [anon_sym_struct] = ACTIONS(2031), + [anon_sym_union] = ACTIONS(2031), + [anon_sym_if] = ACTIONS(2031), + [anon_sym_else] = ACTIONS(2031), + [anon_sym_switch] = ACTIONS(2031), + [anon_sym_case] = ACTIONS(2031), + [anon_sym_default] = ACTIONS(2031), + [anon_sym_while] = ACTIONS(2031), + [anon_sym_do] = ACTIONS(2031), + [anon_sym_for] = ACTIONS(2031), + [anon_sym_return] = ACTIONS(2031), + [anon_sym_break] = ACTIONS(2031), + [anon_sym_continue] = ACTIONS(2031), + [anon_sym_goto] = ACTIONS(2031), + [anon_sym_DASH_DASH] = ACTIONS(2033), + [anon_sym_PLUS_PLUS] = ACTIONS(2033), + [anon_sym_sizeof] = ACTIONS(2031), + [sym_number_literal] = ACTIONS(2033), + [anon_sym_L_SQUOTE] = ACTIONS(2033), + [anon_sym_u_SQUOTE] = ACTIONS(2033), + [anon_sym_U_SQUOTE] = ACTIONS(2033), + [anon_sym_u8_SQUOTE] = ACTIONS(2033), + [anon_sym_SQUOTE] = ACTIONS(2033), + [anon_sym_L_DQUOTE] = ACTIONS(2033), + [anon_sym_u_DQUOTE] = ACTIONS(2033), + [anon_sym_U_DQUOTE] = ACTIONS(2033), + [anon_sym_u8_DQUOTE] = ACTIONS(2033), + [anon_sym_DQUOTE] = ACTIONS(2033), + [sym_true] = ACTIONS(2031), + [sym_false] = ACTIONS(2031), + [sym_null] = ACTIONS(2031), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2031), + [anon_sym_decltype] = ACTIONS(2031), + [anon_sym_virtual] = ACTIONS(2031), + [anon_sym_explicit] = ACTIONS(2031), + [anon_sym_typename] = ACTIONS(2031), + [anon_sym_template] = ACTIONS(2031), + [anon_sym_operator] = ACTIONS(2031), + [anon_sym_delete] = ACTIONS(2031), + [anon_sym_throw] = ACTIONS(2031), + [anon_sym_namespace] = ACTIONS(2031), + [anon_sym_using] = ACTIONS(2031), + [anon_sym_static_assert] = ACTIONS(2031), + [anon_sym_concept] = ACTIONS(2031), + [anon_sym_co_return] = ACTIONS(2031), + [anon_sym_co_yield] = ACTIONS(2031), + [anon_sym_try] = ACTIONS(2031), + [anon_sym_co_await] = ACTIONS(2031), + [anon_sym_new] = ACTIONS(2031), + [anon_sym_requires] = ACTIONS(2031), + [sym_this] = ACTIONS(2031), + [sym_nullptr] = ACTIONS(2031), + [sym_raw_string_literal] = ACTIONS(2033), + }, + [686] = { + [sym_identifier] = ACTIONS(2027), + [aux_sym_preproc_include_token1] = ACTIONS(2027), + [aux_sym_preproc_def_token1] = ACTIONS(2027), + [aux_sym_preproc_if_token1] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2027), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2027), + [sym_preproc_directive] = ACTIONS(2027), + [anon_sym_LPAREN2] = ACTIONS(2029), + [anon_sym_BANG] = ACTIONS(2029), + [anon_sym_TILDE] = ACTIONS(2029), + [anon_sym_DASH] = ACTIONS(2027), + [anon_sym_PLUS] = ACTIONS(2027), + [anon_sym_STAR] = ACTIONS(2029), + [anon_sym_AMP_AMP] = ACTIONS(2029), + [anon_sym_AMP] = ACTIONS(2027), + [anon_sym_SEMI] = ACTIONS(2029), + [anon_sym_typedef] = ACTIONS(2027), + [anon_sym_extern] = ACTIONS(2027), + [anon_sym___attribute__] = ACTIONS(2027), + [anon_sym_COLON_COLON] = ACTIONS(2029), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2029), + [anon_sym___declspec] = ACTIONS(2027), + [anon_sym___based] = ACTIONS(2027), + [anon_sym___cdecl] = ACTIONS(2027), + [anon_sym___clrcall] = ACTIONS(2027), + [anon_sym___stdcall] = ACTIONS(2027), + [anon_sym___fastcall] = ACTIONS(2027), + [anon_sym___thiscall] = ACTIONS(2027), + [anon_sym___vectorcall] = ACTIONS(2027), + [anon_sym_LBRACE] = ACTIONS(2029), + [anon_sym_RBRACE] = ACTIONS(2029), + [anon_sym_LBRACK] = ACTIONS(2027), + [anon_sym_static] = ACTIONS(2027), + [anon_sym_register] = ACTIONS(2027), + [anon_sym_inline] = ACTIONS(2027), + [anon_sym_thread_local] = ACTIONS(2027), + [anon_sym_const] = ACTIONS(2027), + [anon_sym_volatile] = ACTIONS(2027), + [anon_sym_restrict] = ACTIONS(2027), + [anon_sym__Atomic] = ACTIONS(2027), + [anon_sym_mutable] = ACTIONS(2027), + [anon_sym_constexpr] = ACTIONS(2027), + [anon_sym_constinit] = ACTIONS(2027), + [anon_sym_consteval] = ACTIONS(2027), + [anon_sym_signed] = ACTIONS(2027), + [anon_sym_unsigned] = ACTIONS(2027), + [anon_sym_long] = ACTIONS(2027), + [anon_sym_short] = ACTIONS(2027), + [sym_primitive_type] = ACTIONS(2027), + [anon_sym_enum] = ACTIONS(2027), + [anon_sym_class] = ACTIONS(2027), + [anon_sym_struct] = ACTIONS(2027), + [anon_sym_union] = ACTIONS(2027), + [anon_sym_if] = ACTIONS(2027), + [anon_sym_else] = ACTIONS(2027), + [anon_sym_switch] = ACTIONS(2027), + [anon_sym_case] = ACTIONS(2027), + [anon_sym_default] = ACTIONS(2027), + [anon_sym_while] = ACTIONS(2027), + [anon_sym_do] = ACTIONS(2027), + [anon_sym_for] = ACTIONS(2027), + [anon_sym_return] = ACTIONS(2027), + [anon_sym_break] = ACTIONS(2027), + [anon_sym_continue] = ACTIONS(2027), + [anon_sym_goto] = ACTIONS(2027), + [anon_sym_DASH_DASH] = ACTIONS(2029), + [anon_sym_PLUS_PLUS] = ACTIONS(2029), + [anon_sym_sizeof] = ACTIONS(2027), + [sym_number_literal] = ACTIONS(2029), + [anon_sym_L_SQUOTE] = ACTIONS(2029), + [anon_sym_u_SQUOTE] = ACTIONS(2029), + [anon_sym_U_SQUOTE] = ACTIONS(2029), + [anon_sym_u8_SQUOTE] = ACTIONS(2029), + [anon_sym_SQUOTE] = ACTIONS(2029), + [anon_sym_L_DQUOTE] = ACTIONS(2029), + [anon_sym_u_DQUOTE] = ACTIONS(2029), + [anon_sym_U_DQUOTE] = ACTIONS(2029), + [anon_sym_u8_DQUOTE] = ACTIONS(2029), + [anon_sym_DQUOTE] = ACTIONS(2029), + [sym_true] = ACTIONS(2027), + [sym_false] = ACTIONS(2027), + [sym_null] = ACTIONS(2027), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2027), + [anon_sym_decltype] = ACTIONS(2027), + [anon_sym_virtual] = ACTIONS(2027), + [anon_sym_explicit] = ACTIONS(2027), + [anon_sym_typename] = ACTIONS(2027), + [anon_sym_template] = ACTIONS(2027), + [anon_sym_operator] = ACTIONS(2027), + [anon_sym_delete] = ACTIONS(2027), + [anon_sym_throw] = ACTIONS(2027), + [anon_sym_namespace] = ACTIONS(2027), + [anon_sym_using] = ACTIONS(2027), + [anon_sym_static_assert] = ACTIONS(2027), + [anon_sym_concept] = ACTIONS(2027), + [anon_sym_co_return] = ACTIONS(2027), + [anon_sym_co_yield] = ACTIONS(2027), + [anon_sym_try] = ACTIONS(2027), + [anon_sym_co_await] = ACTIONS(2027), + [anon_sym_new] = ACTIONS(2027), + [anon_sym_requires] = ACTIONS(2027), + [sym_this] = ACTIONS(2027), + [sym_nullptr] = ACTIONS(2027), + [sym_raw_string_literal] = ACTIONS(2029), + }, + [687] = { + [sym_identifier] = ACTIONS(2023), + [aux_sym_preproc_include_token1] = ACTIONS(2023), + [aux_sym_preproc_def_token1] = ACTIONS(2023), + [aux_sym_preproc_if_token1] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2023), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2023), + [sym_preproc_directive] = ACTIONS(2023), + [anon_sym_LPAREN2] = ACTIONS(2025), + [anon_sym_BANG] = ACTIONS(2025), + [anon_sym_TILDE] = ACTIONS(2025), + [anon_sym_DASH] = ACTIONS(2023), + [anon_sym_PLUS] = ACTIONS(2023), + [anon_sym_STAR] = ACTIONS(2025), + [anon_sym_AMP_AMP] = ACTIONS(2025), + [anon_sym_AMP] = ACTIONS(2023), + [anon_sym_SEMI] = ACTIONS(2025), + [anon_sym_typedef] = ACTIONS(2023), + [anon_sym_extern] = ACTIONS(2023), + [anon_sym___attribute__] = ACTIONS(2023), + [anon_sym_COLON_COLON] = ACTIONS(2025), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2025), + [anon_sym___declspec] = ACTIONS(2023), + [anon_sym___based] = ACTIONS(2023), + [anon_sym___cdecl] = ACTIONS(2023), + [anon_sym___clrcall] = ACTIONS(2023), + [anon_sym___stdcall] = ACTIONS(2023), + [anon_sym___fastcall] = ACTIONS(2023), + [anon_sym___thiscall] = ACTIONS(2023), + [anon_sym___vectorcall] = ACTIONS(2023), + [anon_sym_LBRACE] = ACTIONS(2025), + [anon_sym_RBRACE] = ACTIONS(2025), + [anon_sym_LBRACK] = ACTIONS(2023), + [anon_sym_static] = ACTIONS(2023), + [anon_sym_register] = ACTIONS(2023), + [anon_sym_inline] = ACTIONS(2023), + [anon_sym_thread_local] = ACTIONS(2023), + [anon_sym_const] = ACTIONS(2023), + [anon_sym_volatile] = ACTIONS(2023), + [anon_sym_restrict] = ACTIONS(2023), + [anon_sym__Atomic] = ACTIONS(2023), + [anon_sym_mutable] = ACTIONS(2023), + [anon_sym_constexpr] = ACTIONS(2023), + [anon_sym_constinit] = ACTIONS(2023), + [anon_sym_consteval] = ACTIONS(2023), + [anon_sym_signed] = ACTIONS(2023), + [anon_sym_unsigned] = ACTIONS(2023), + [anon_sym_long] = ACTIONS(2023), + [anon_sym_short] = ACTIONS(2023), + [sym_primitive_type] = ACTIONS(2023), + [anon_sym_enum] = ACTIONS(2023), + [anon_sym_class] = ACTIONS(2023), + [anon_sym_struct] = ACTIONS(2023), + [anon_sym_union] = ACTIONS(2023), + [anon_sym_if] = ACTIONS(2023), + [anon_sym_else] = ACTIONS(2023), + [anon_sym_switch] = ACTIONS(2023), + [anon_sym_case] = ACTIONS(2023), + [anon_sym_default] = ACTIONS(2023), + [anon_sym_while] = ACTIONS(2023), + [anon_sym_do] = ACTIONS(2023), + [anon_sym_for] = ACTIONS(2023), + [anon_sym_return] = ACTIONS(2023), + [anon_sym_break] = ACTIONS(2023), + [anon_sym_continue] = ACTIONS(2023), + [anon_sym_goto] = ACTIONS(2023), + [anon_sym_DASH_DASH] = ACTIONS(2025), + [anon_sym_PLUS_PLUS] = ACTIONS(2025), + [anon_sym_sizeof] = ACTIONS(2023), + [sym_number_literal] = ACTIONS(2025), + [anon_sym_L_SQUOTE] = ACTIONS(2025), + [anon_sym_u_SQUOTE] = ACTIONS(2025), + [anon_sym_U_SQUOTE] = ACTIONS(2025), + [anon_sym_u8_SQUOTE] = ACTIONS(2025), + [anon_sym_SQUOTE] = ACTIONS(2025), + [anon_sym_L_DQUOTE] = ACTIONS(2025), + [anon_sym_u_DQUOTE] = ACTIONS(2025), + [anon_sym_U_DQUOTE] = ACTIONS(2025), + [anon_sym_u8_DQUOTE] = ACTIONS(2025), + [anon_sym_DQUOTE] = ACTIONS(2025), + [sym_true] = ACTIONS(2023), + [sym_false] = ACTIONS(2023), + [sym_null] = ACTIONS(2023), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2023), + [anon_sym_decltype] = ACTIONS(2023), + [anon_sym_virtual] = ACTIONS(2023), + [anon_sym_explicit] = ACTIONS(2023), + [anon_sym_typename] = ACTIONS(2023), + [anon_sym_template] = ACTIONS(2023), + [anon_sym_operator] = ACTIONS(2023), + [anon_sym_delete] = ACTIONS(2023), + [anon_sym_throw] = ACTIONS(2023), + [anon_sym_namespace] = ACTIONS(2023), + [anon_sym_using] = ACTIONS(2023), + [anon_sym_static_assert] = ACTIONS(2023), + [anon_sym_concept] = ACTIONS(2023), + [anon_sym_co_return] = ACTIONS(2023), + [anon_sym_co_yield] = ACTIONS(2023), + [anon_sym_try] = ACTIONS(2023), + [anon_sym_co_await] = ACTIONS(2023), + [anon_sym_new] = ACTIONS(2023), + [anon_sym_requires] = ACTIONS(2023), + [sym_this] = ACTIONS(2023), + [sym_nullptr] = ACTIONS(2023), + [sym_raw_string_literal] = ACTIONS(2025), + }, + [688] = { + [sym_identifier] = ACTIONS(2075), + [aux_sym_preproc_include_token1] = ACTIONS(2075), + [aux_sym_preproc_def_token1] = ACTIONS(2075), + [aux_sym_preproc_if_token1] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2075), + [sym_preproc_directive] = ACTIONS(2075), + [anon_sym_LPAREN2] = ACTIONS(2077), + [anon_sym_BANG] = ACTIONS(2077), + [anon_sym_TILDE] = ACTIONS(2077), + [anon_sym_DASH] = ACTIONS(2075), + [anon_sym_PLUS] = ACTIONS(2075), + [anon_sym_STAR] = ACTIONS(2077), + [anon_sym_AMP_AMP] = ACTIONS(2077), + [anon_sym_AMP] = ACTIONS(2075), + [anon_sym_SEMI] = ACTIONS(2077), + [anon_sym_typedef] = ACTIONS(2075), + [anon_sym_extern] = ACTIONS(2075), + [anon_sym___attribute__] = ACTIONS(2075), + [anon_sym_COLON_COLON] = ACTIONS(2077), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2077), + [anon_sym___declspec] = ACTIONS(2075), + [anon_sym___based] = ACTIONS(2075), + [anon_sym___cdecl] = ACTIONS(2075), + [anon_sym___clrcall] = ACTIONS(2075), + [anon_sym___stdcall] = ACTIONS(2075), + [anon_sym___fastcall] = ACTIONS(2075), + [anon_sym___thiscall] = ACTIONS(2075), + [anon_sym___vectorcall] = ACTIONS(2075), + [anon_sym_LBRACE] = ACTIONS(2077), + [anon_sym_RBRACE] = ACTIONS(2077), + [anon_sym_LBRACK] = ACTIONS(2075), + [anon_sym_static] = ACTIONS(2075), + [anon_sym_register] = ACTIONS(2075), + [anon_sym_inline] = ACTIONS(2075), + [anon_sym_thread_local] = ACTIONS(2075), + [anon_sym_const] = ACTIONS(2075), + [anon_sym_volatile] = ACTIONS(2075), + [anon_sym_restrict] = ACTIONS(2075), + [anon_sym__Atomic] = ACTIONS(2075), + [anon_sym_mutable] = ACTIONS(2075), + [anon_sym_constexpr] = ACTIONS(2075), + [anon_sym_constinit] = ACTIONS(2075), + [anon_sym_consteval] = ACTIONS(2075), + [anon_sym_signed] = ACTIONS(2075), + [anon_sym_unsigned] = ACTIONS(2075), + [anon_sym_long] = ACTIONS(2075), + [anon_sym_short] = ACTIONS(2075), + [sym_primitive_type] = ACTIONS(2075), + [anon_sym_enum] = ACTIONS(2075), + [anon_sym_class] = ACTIONS(2075), + [anon_sym_struct] = ACTIONS(2075), + [anon_sym_union] = ACTIONS(2075), + [anon_sym_if] = ACTIONS(2075), + [anon_sym_else] = ACTIONS(2075), + [anon_sym_switch] = ACTIONS(2075), + [anon_sym_case] = ACTIONS(2075), + [anon_sym_default] = ACTIONS(2075), + [anon_sym_while] = ACTIONS(2075), + [anon_sym_do] = ACTIONS(2075), + [anon_sym_for] = ACTIONS(2075), + [anon_sym_return] = ACTIONS(2075), + [anon_sym_break] = ACTIONS(2075), + [anon_sym_continue] = ACTIONS(2075), + [anon_sym_goto] = ACTIONS(2075), + [anon_sym_DASH_DASH] = ACTIONS(2077), + [anon_sym_PLUS_PLUS] = ACTIONS(2077), + [anon_sym_sizeof] = ACTIONS(2075), + [sym_number_literal] = ACTIONS(2077), + [anon_sym_L_SQUOTE] = ACTIONS(2077), + [anon_sym_u_SQUOTE] = ACTIONS(2077), + [anon_sym_U_SQUOTE] = ACTIONS(2077), + [anon_sym_u8_SQUOTE] = ACTIONS(2077), + [anon_sym_SQUOTE] = ACTIONS(2077), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2075), + [sym_false] = ACTIONS(2075), + [sym_null] = ACTIONS(2075), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2075), + [anon_sym_decltype] = ACTIONS(2075), + [anon_sym_virtual] = ACTIONS(2075), + [anon_sym_explicit] = ACTIONS(2075), + [anon_sym_typename] = ACTIONS(2075), + [anon_sym_template] = ACTIONS(2075), + [anon_sym_operator] = ACTIONS(2075), + [anon_sym_delete] = ACTIONS(2075), + [anon_sym_throw] = ACTIONS(2075), + [anon_sym_namespace] = ACTIONS(2075), + [anon_sym_using] = ACTIONS(2075), + [anon_sym_static_assert] = ACTIONS(2075), + [anon_sym_concept] = ACTIONS(2075), + [anon_sym_co_return] = ACTIONS(2075), + [anon_sym_co_yield] = ACTIONS(2075), + [anon_sym_try] = ACTIONS(2075), + [anon_sym_co_await] = ACTIONS(2075), + [anon_sym_new] = ACTIONS(2075), + [anon_sym_requires] = ACTIONS(2075), + [sym_this] = ACTIONS(2075), + [sym_nullptr] = ACTIONS(2075), + [sym_raw_string_literal] = ACTIONS(2077), + }, + [689] = { + [ts_builtin_sym_end] = ACTIONS(2105), + [sym_identifier] = ACTIONS(2103), + [aux_sym_preproc_include_token1] = ACTIONS(2103), + [aux_sym_preproc_def_token1] = ACTIONS(2103), + [aux_sym_preproc_if_token1] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2103), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2103), + [sym_preproc_directive] = ACTIONS(2103), + [anon_sym_LPAREN2] = ACTIONS(2105), + [anon_sym_BANG] = ACTIONS(2105), + [anon_sym_TILDE] = ACTIONS(2105), + [anon_sym_DASH] = ACTIONS(2103), + [anon_sym_PLUS] = ACTIONS(2103), + [anon_sym_STAR] = ACTIONS(2105), + [anon_sym_AMP_AMP] = ACTIONS(2105), + [anon_sym_AMP] = ACTIONS(2103), + [anon_sym_SEMI] = ACTIONS(2105), + [anon_sym_typedef] = ACTIONS(2103), + [anon_sym_extern] = ACTIONS(2103), + [anon_sym___attribute__] = ACTIONS(2103), + [anon_sym_COLON_COLON] = ACTIONS(2105), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2105), + [anon_sym___declspec] = ACTIONS(2103), + [anon_sym___based] = ACTIONS(2103), + [anon_sym___cdecl] = ACTIONS(2103), + [anon_sym___clrcall] = ACTIONS(2103), + [anon_sym___stdcall] = ACTIONS(2103), + [anon_sym___fastcall] = ACTIONS(2103), + [anon_sym___thiscall] = ACTIONS(2103), + [anon_sym___vectorcall] = ACTIONS(2103), + [anon_sym_LBRACE] = ACTIONS(2105), + [anon_sym_LBRACK] = ACTIONS(2103), + [anon_sym_static] = ACTIONS(2103), + [anon_sym_register] = ACTIONS(2103), + [anon_sym_inline] = ACTIONS(2103), + [anon_sym_thread_local] = ACTIONS(2103), + [anon_sym_const] = ACTIONS(2103), + [anon_sym_volatile] = ACTIONS(2103), + [anon_sym_restrict] = ACTIONS(2103), + [anon_sym__Atomic] = ACTIONS(2103), + [anon_sym_mutable] = ACTIONS(2103), + [anon_sym_constexpr] = ACTIONS(2103), + [anon_sym_constinit] = ACTIONS(2103), + [anon_sym_consteval] = ACTIONS(2103), + [anon_sym_signed] = ACTIONS(2103), + [anon_sym_unsigned] = ACTIONS(2103), + [anon_sym_long] = ACTIONS(2103), + [anon_sym_short] = ACTIONS(2103), + [sym_primitive_type] = ACTIONS(2103), + [anon_sym_enum] = ACTIONS(2103), + [anon_sym_class] = ACTIONS(2103), + [anon_sym_struct] = ACTIONS(2103), + [anon_sym_union] = ACTIONS(2103), + [anon_sym_if] = ACTIONS(2103), + [anon_sym_else] = ACTIONS(2103), + [anon_sym_switch] = ACTIONS(2103), + [anon_sym_case] = ACTIONS(2103), + [anon_sym_default] = ACTIONS(2103), + [anon_sym_while] = ACTIONS(2103), + [anon_sym_do] = ACTIONS(2103), + [anon_sym_for] = ACTIONS(2103), + [anon_sym_return] = ACTIONS(2103), + [anon_sym_break] = ACTIONS(2103), + [anon_sym_continue] = ACTIONS(2103), + [anon_sym_goto] = ACTIONS(2103), + [anon_sym_DASH_DASH] = ACTIONS(2105), + [anon_sym_PLUS_PLUS] = ACTIONS(2105), + [anon_sym_sizeof] = ACTIONS(2103), + [sym_number_literal] = ACTIONS(2105), + [anon_sym_L_SQUOTE] = ACTIONS(2105), + [anon_sym_u_SQUOTE] = ACTIONS(2105), + [anon_sym_U_SQUOTE] = ACTIONS(2105), + [anon_sym_u8_SQUOTE] = ACTIONS(2105), + [anon_sym_SQUOTE] = ACTIONS(2105), + [anon_sym_L_DQUOTE] = ACTIONS(2105), + [anon_sym_u_DQUOTE] = ACTIONS(2105), + [anon_sym_U_DQUOTE] = ACTIONS(2105), + [anon_sym_u8_DQUOTE] = ACTIONS(2105), + [anon_sym_DQUOTE] = ACTIONS(2105), + [sym_true] = ACTIONS(2103), + [sym_false] = ACTIONS(2103), + [sym_null] = ACTIONS(2103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2103), + [anon_sym_decltype] = ACTIONS(2103), + [anon_sym_virtual] = ACTIONS(2103), + [anon_sym_explicit] = ACTIONS(2103), + [anon_sym_typename] = ACTIONS(2103), + [anon_sym_template] = ACTIONS(2103), + [anon_sym_operator] = ACTIONS(2103), + [anon_sym_delete] = ACTIONS(2103), + [anon_sym_throw] = ACTIONS(2103), + [anon_sym_namespace] = ACTIONS(2103), + [anon_sym_using] = ACTIONS(2103), + [anon_sym_static_assert] = ACTIONS(2103), + [anon_sym_concept] = ACTIONS(2103), + [anon_sym_co_return] = ACTIONS(2103), + [anon_sym_co_yield] = ACTIONS(2103), + [anon_sym_try] = ACTIONS(2103), + [anon_sym_co_await] = ACTIONS(2103), + [anon_sym_new] = ACTIONS(2103), + [anon_sym_requires] = ACTIONS(2103), + [sym_this] = ACTIONS(2103), + [sym_nullptr] = ACTIONS(2103), + [sym_raw_string_literal] = ACTIONS(2105), + }, + [690] = { + [ts_builtin_sym_end] = ACTIONS(2113), + [sym_identifier] = ACTIONS(2111), + [aux_sym_preproc_include_token1] = ACTIONS(2111), + [aux_sym_preproc_def_token1] = ACTIONS(2111), + [aux_sym_preproc_if_token1] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2111), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2111), + [sym_preproc_directive] = ACTIONS(2111), + [anon_sym_LPAREN2] = ACTIONS(2113), + [anon_sym_BANG] = ACTIONS(2113), + [anon_sym_TILDE] = ACTIONS(2113), + [anon_sym_DASH] = ACTIONS(2111), + [anon_sym_PLUS] = ACTIONS(2111), + [anon_sym_STAR] = ACTIONS(2113), + [anon_sym_AMP_AMP] = ACTIONS(2113), + [anon_sym_AMP] = ACTIONS(2111), + [anon_sym_SEMI] = ACTIONS(2113), + [anon_sym_typedef] = ACTIONS(2111), + [anon_sym_extern] = ACTIONS(2111), + [anon_sym___attribute__] = ACTIONS(2111), + [anon_sym_COLON_COLON] = ACTIONS(2113), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2113), + [anon_sym___declspec] = ACTIONS(2111), + [anon_sym___based] = ACTIONS(2111), + [anon_sym___cdecl] = ACTIONS(2111), + [anon_sym___clrcall] = ACTIONS(2111), + [anon_sym___stdcall] = ACTIONS(2111), + [anon_sym___fastcall] = ACTIONS(2111), + [anon_sym___thiscall] = ACTIONS(2111), + [anon_sym___vectorcall] = ACTIONS(2111), + [anon_sym_LBRACE] = ACTIONS(2113), + [anon_sym_LBRACK] = ACTIONS(2111), + [anon_sym_static] = ACTIONS(2111), + [anon_sym_register] = ACTIONS(2111), + [anon_sym_inline] = ACTIONS(2111), + [anon_sym_thread_local] = ACTIONS(2111), + [anon_sym_const] = ACTIONS(2111), + [anon_sym_volatile] = ACTIONS(2111), + [anon_sym_restrict] = ACTIONS(2111), + [anon_sym__Atomic] = ACTIONS(2111), + [anon_sym_mutable] = ACTIONS(2111), + [anon_sym_constexpr] = ACTIONS(2111), + [anon_sym_constinit] = ACTIONS(2111), + [anon_sym_consteval] = ACTIONS(2111), + [anon_sym_signed] = ACTIONS(2111), + [anon_sym_unsigned] = ACTIONS(2111), + [anon_sym_long] = ACTIONS(2111), + [anon_sym_short] = ACTIONS(2111), + [sym_primitive_type] = ACTIONS(2111), + [anon_sym_enum] = ACTIONS(2111), + [anon_sym_class] = ACTIONS(2111), + [anon_sym_struct] = ACTIONS(2111), + [anon_sym_union] = ACTIONS(2111), + [anon_sym_if] = ACTIONS(2111), + [anon_sym_else] = ACTIONS(2111), + [anon_sym_switch] = ACTIONS(2111), + [anon_sym_case] = ACTIONS(2111), + [anon_sym_default] = ACTIONS(2111), + [anon_sym_while] = ACTIONS(2111), + [anon_sym_do] = ACTIONS(2111), + [anon_sym_for] = ACTIONS(2111), + [anon_sym_return] = ACTIONS(2111), + [anon_sym_break] = ACTIONS(2111), + [anon_sym_continue] = ACTIONS(2111), + [anon_sym_goto] = ACTIONS(2111), + [anon_sym_DASH_DASH] = ACTIONS(2113), + [anon_sym_PLUS_PLUS] = ACTIONS(2113), + [anon_sym_sizeof] = ACTIONS(2111), + [sym_number_literal] = ACTIONS(2113), + [anon_sym_L_SQUOTE] = ACTIONS(2113), + [anon_sym_u_SQUOTE] = ACTIONS(2113), + [anon_sym_U_SQUOTE] = ACTIONS(2113), + [anon_sym_u8_SQUOTE] = ACTIONS(2113), + [anon_sym_SQUOTE] = ACTIONS(2113), + [anon_sym_L_DQUOTE] = ACTIONS(2113), + [anon_sym_u_DQUOTE] = ACTIONS(2113), + [anon_sym_U_DQUOTE] = ACTIONS(2113), + [anon_sym_u8_DQUOTE] = ACTIONS(2113), + [anon_sym_DQUOTE] = ACTIONS(2113), + [sym_true] = ACTIONS(2111), + [sym_false] = ACTIONS(2111), + [sym_null] = ACTIONS(2111), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2111), + [anon_sym_decltype] = ACTIONS(2111), + [anon_sym_virtual] = ACTIONS(2111), + [anon_sym_explicit] = ACTIONS(2111), + [anon_sym_typename] = ACTIONS(2111), + [anon_sym_template] = ACTIONS(2111), + [anon_sym_operator] = ACTIONS(2111), + [anon_sym_delete] = ACTIONS(2111), + [anon_sym_throw] = ACTIONS(2111), + [anon_sym_namespace] = ACTIONS(2111), + [anon_sym_using] = ACTIONS(2111), + [anon_sym_static_assert] = ACTIONS(2111), + [anon_sym_concept] = ACTIONS(2111), + [anon_sym_co_return] = ACTIONS(2111), + [anon_sym_co_yield] = ACTIONS(2111), + [anon_sym_try] = ACTIONS(2111), + [anon_sym_co_await] = ACTIONS(2111), + [anon_sym_new] = ACTIONS(2111), + [anon_sym_requires] = ACTIONS(2111), + [sym_this] = ACTIONS(2111), + [sym_nullptr] = ACTIONS(2111), + [sym_raw_string_literal] = ACTIONS(2113), + }, + [691] = { + [sym_identifier] = ACTIONS(1945), + [aux_sym_preproc_include_token1] = ACTIONS(1945), + [aux_sym_preproc_def_token1] = ACTIONS(1945), + [aux_sym_preproc_if_token1] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1945), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1945), + [sym_preproc_directive] = ACTIONS(1945), + [anon_sym_LPAREN2] = ACTIONS(1947), + [anon_sym_BANG] = ACTIONS(1947), + [anon_sym_TILDE] = ACTIONS(1947), + [anon_sym_DASH] = ACTIONS(1945), + [anon_sym_PLUS] = ACTIONS(1945), + [anon_sym_STAR] = ACTIONS(1947), + [anon_sym_AMP_AMP] = ACTIONS(1947), + [anon_sym_AMP] = ACTIONS(1945), + [anon_sym_SEMI] = ACTIONS(1947), + [anon_sym_typedef] = ACTIONS(1945), + [anon_sym_extern] = ACTIONS(1945), + [anon_sym___attribute__] = ACTIONS(1945), + [anon_sym_COLON_COLON] = ACTIONS(1947), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1947), + [anon_sym___declspec] = ACTIONS(1945), + [anon_sym___based] = ACTIONS(1945), + [anon_sym___cdecl] = ACTIONS(1945), + [anon_sym___clrcall] = ACTIONS(1945), + [anon_sym___stdcall] = ACTIONS(1945), + [anon_sym___fastcall] = ACTIONS(1945), + [anon_sym___thiscall] = ACTIONS(1945), + [anon_sym___vectorcall] = ACTIONS(1945), + [anon_sym_LBRACE] = ACTIONS(1947), + [anon_sym_RBRACE] = ACTIONS(1947), + [anon_sym_LBRACK] = ACTIONS(1945), + [anon_sym_static] = ACTIONS(1945), + [anon_sym_register] = ACTIONS(1945), + [anon_sym_inline] = ACTIONS(1945), + [anon_sym_thread_local] = ACTIONS(1945), + [anon_sym_const] = ACTIONS(1945), + [anon_sym_volatile] = ACTIONS(1945), + [anon_sym_restrict] = ACTIONS(1945), + [anon_sym__Atomic] = ACTIONS(1945), + [anon_sym_mutable] = ACTIONS(1945), + [anon_sym_constexpr] = ACTIONS(1945), + [anon_sym_constinit] = ACTIONS(1945), + [anon_sym_consteval] = ACTIONS(1945), + [anon_sym_signed] = ACTIONS(1945), + [anon_sym_unsigned] = ACTIONS(1945), + [anon_sym_long] = ACTIONS(1945), + [anon_sym_short] = ACTIONS(1945), + [sym_primitive_type] = ACTIONS(1945), + [anon_sym_enum] = ACTIONS(1945), + [anon_sym_class] = ACTIONS(1945), + [anon_sym_struct] = ACTIONS(1945), + [anon_sym_union] = ACTIONS(1945), + [anon_sym_if] = ACTIONS(1945), + [anon_sym_else] = ACTIONS(1945), + [anon_sym_switch] = ACTIONS(1945), + [anon_sym_case] = ACTIONS(1945), + [anon_sym_default] = ACTIONS(1945), + [anon_sym_while] = ACTIONS(1945), + [anon_sym_do] = ACTIONS(1945), + [anon_sym_for] = ACTIONS(1945), + [anon_sym_return] = ACTIONS(1945), + [anon_sym_break] = ACTIONS(1945), + [anon_sym_continue] = ACTIONS(1945), + [anon_sym_goto] = ACTIONS(1945), + [anon_sym_DASH_DASH] = ACTIONS(1947), + [anon_sym_PLUS_PLUS] = ACTIONS(1947), + [anon_sym_sizeof] = ACTIONS(1945), + [sym_number_literal] = ACTIONS(1947), + [anon_sym_L_SQUOTE] = ACTIONS(1947), + [anon_sym_u_SQUOTE] = ACTIONS(1947), + [anon_sym_U_SQUOTE] = ACTIONS(1947), + [anon_sym_u8_SQUOTE] = ACTIONS(1947), + [anon_sym_SQUOTE] = ACTIONS(1947), + [anon_sym_L_DQUOTE] = ACTIONS(1947), + [anon_sym_u_DQUOTE] = ACTIONS(1947), + [anon_sym_U_DQUOTE] = ACTIONS(1947), + [anon_sym_u8_DQUOTE] = ACTIONS(1947), + [anon_sym_DQUOTE] = ACTIONS(1947), + [sym_true] = ACTIONS(1945), + [sym_false] = ACTIONS(1945), + [sym_null] = ACTIONS(1945), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1945), + [anon_sym_virtual] = ACTIONS(1945), + [anon_sym_explicit] = ACTIONS(1945), + [anon_sym_typename] = ACTIONS(1945), + [anon_sym_template] = ACTIONS(1945), + [anon_sym_operator] = ACTIONS(1945), + [anon_sym_delete] = ACTIONS(1945), + [anon_sym_throw] = ACTIONS(1945), + [anon_sym_namespace] = ACTIONS(1945), + [anon_sym_using] = ACTIONS(1945), + [anon_sym_static_assert] = ACTIONS(1945), + [anon_sym_concept] = ACTIONS(1945), + [anon_sym_co_return] = ACTIONS(1945), + [anon_sym_co_yield] = ACTIONS(1945), + [anon_sym_try] = ACTIONS(1945), + [anon_sym_co_await] = ACTIONS(1945), + [anon_sym_new] = ACTIONS(1945), + [anon_sym_requires] = ACTIONS(1945), + [sym_this] = ACTIONS(1945), + [sym_nullptr] = ACTIONS(1945), + [sym_raw_string_literal] = ACTIONS(1947), + }, + [692] = { + [sym_identifier] = ACTIONS(2119), + [aux_sym_preproc_include_token1] = ACTIONS(2119), + [aux_sym_preproc_def_token1] = ACTIONS(2119), + [aux_sym_preproc_if_token1] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2119), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2119), + [sym_preproc_directive] = ACTIONS(2119), + [anon_sym_LPAREN2] = ACTIONS(2121), + [anon_sym_BANG] = ACTIONS(2121), + [anon_sym_TILDE] = ACTIONS(2121), + [anon_sym_DASH] = ACTIONS(2119), + [anon_sym_PLUS] = ACTIONS(2119), + [anon_sym_STAR] = ACTIONS(2121), + [anon_sym_AMP_AMP] = ACTIONS(2121), + [anon_sym_AMP] = ACTIONS(2119), + [anon_sym_SEMI] = ACTIONS(2121), + [anon_sym_typedef] = ACTIONS(2119), + [anon_sym_extern] = ACTIONS(2119), + [anon_sym___attribute__] = ACTIONS(2119), + [anon_sym_COLON_COLON] = ACTIONS(2121), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2121), + [anon_sym___declspec] = ACTIONS(2119), + [anon_sym___based] = ACTIONS(2119), + [anon_sym___cdecl] = ACTIONS(2119), + [anon_sym___clrcall] = ACTIONS(2119), + [anon_sym___stdcall] = ACTIONS(2119), + [anon_sym___fastcall] = ACTIONS(2119), + [anon_sym___thiscall] = ACTIONS(2119), + [anon_sym___vectorcall] = ACTIONS(2119), + [anon_sym_LBRACE] = ACTIONS(2121), + [anon_sym_RBRACE] = ACTIONS(2121), + [anon_sym_LBRACK] = ACTIONS(2119), + [anon_sym_static] = ACTIONS(2119), + [anon_sym_register] = ACTIONS(2119), + [anon_sym_inline] = ACTIONS(2119), + [anon_sym_thread_local] = ACTIONS(2119), + [anon_sym_const] = ACTIONS(2119), + [anon_sym_volatile] = ACTIONS(2119), + [anon_sym_restrict] = ACTIONS(2119), + [anon_sym__Atomic] = ACTIONS(2119), + [anon_sym_mutable] = ACTIONS(2119), + [anon_sym_constexpr] = ACTIONS(2119), + [anon_sym_constinit] = ACTIONS(2119), + [anon_sym_consteval] = ACTIONS(2119), + [anon_sym_signed] = ACTIONS(2119), + [anon_sym_unsigned] = ACTIONS(2119), + [anon_sym_long] = ACTIONS(2119), + [anon_sym_short] = ACTIONS(2119), + [sym_primitive_type] = ACTIONS(2119), + [anon_sym_enum] = ACTIONS(2119), + [anon_sym_class] = ACTIONS(2119), + [anon_sym_struct] = ACTIONS(2119), + [anon_sym_union] = ACTIONS(2119), + [anon_sym_if] = ACTIONS(2119), + [anon_sym_else] = ACTIONS(2119), + [anon_sym_switch] = ACTIONS(2119), + [anon_sym_case] = ACTIONS(2119), + [anon_sym_default] = ACTIONS(2119), + [anon_sym_while] = ACTIONS(2119), + [anon_sym_do] = ACTIONS(2119), + [anon_sym_for] = ACTIONS(2119), + [anon_sym_return] = ACTIONS(2119), + [anon_sym_break] = ACTIONS(2119), + [anon_sym_continue] = ACTIONS(2119), + [anon_sym_goto] = ACTIONS(2119), + [anon_sym_DASH_DASH] = ACTIONS(2121), + [anon_sym_PLUS_PLUS] = ACTIONS(2121), + [anon_sym_sizeof] = ACTIONS(2119), + [sym_number_literal] = ACTIONS(2121), + [anon_sym_L_SQUOTE] = ACTIONS(2121), + [anon_sym_u_SQUOTE] = ACTIONS(2121), + [anon_sym_U_SQUOTE] = ACTIONS(2121), + [anon_sym_u8_SQUOTE] = ACTIONS(2121), + [anon_sym_SQUOTE] = ACTIONS(2121), + [anon_sym_L_DQUOTE] = ACTIONS(2121), + [anon_sym_u_DQUOTE] = ACTIONS(2121), + [anon_sym_U_DQUOTE] = ACTIONS(2121), + [anon_sym_u8_DQUOTE] = ACTIONS(2121), + [anon_sym_DQUOTE] = ACTIONS(2121), + [sym_true] = ACTIONS(2119), + [sym_false] = ACTIONS(2119), + [sym_null] = ACTIONS(2119), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2119), + [anon_sym_decltype] = ACTIONS(2119), + [anon_sym_virtual] = ACTIONS(2119), + [anon_sym_explicit] = ACTIONS(2119), + [anon_sym_typename] = ACTIONS(2119), + [anon_sym_template] = ACTIONS(2119), + [anon_sym_operator] = ACTIONS(2119), + [anon_sym_delete] = ACTIONS(2119), + [anon_sym_throw] = ACTIONS(2119), + [anon_sym_namespace] = ACTIONS(2119), + [anon_sym_using] = ACTIONS(2119), + [anon_sym_static_assert] = ACTIONS(2119), + [anon_sym_concept] = ACTIONS(2119), + [anon_sym_co_return] = ACTIONS(2119), + [anon_sym_co_yield] = ACTIONS(2119), + [anon_sym_try] = ACTIONS(2119), + [anon_sym_co_await] = ACTIONS(2119), + [anon_sym_new] = ACTIONS(2119), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2119), + [sym_nullptr] = ACTIONS(2119), + [sym_raw_string_literal] = ACTIONS(2121), + }, + [693] = { + [sym_identifier] = ACTIONS(1957), + [aux_sym_preproc_include_token1] = ACTIONS(1957), + [aux_sym_preproc_def_token1] = ACTIONS(1957), + [aux_sym_preproc_if_token1] = ACTIONS(1957), + [aux_sym_preproc_if_token2] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1957), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1957), + [sym_preproc_directive] = ACTIONS(1957), + [anon_sym_LPAREN2] = ACTIONS(1959), + [anon_sym_BANG] = ACTIONS(1959), + [anon_sym_TILDE] = ACTIONS(1959), + [anon_sym_DASH] = ACTIONS(1957), + [anon_sym_PLUS] = ACTIONS(1957), + [anon_sym_STAR] = ACTIONS(1959), + [anon_sym_AMP_AMP] = ACTIONS(1959), + [anon_sym_AMP] = ACTIONS(1957), + [anon_sym_SEMI] = ACTIONS(1959), + [anon_sym_typedef] = ACTIONS(1957), + [anon_sym_extern] = ACTIONS(1957), + [anon_sym___attribute__] = ACTIONS(1957), + [anon_sym_COLON_COLON] = ACTIONS(1959), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1959), + [anon_sym___declspec] = ACTIONS(1957), + [anon_sym___based] = ACTIONS(1957), + [anon_sym___cdecl] = ACTIONS(1957), + [anon_sym___clrcall] = ACTIONS(1957), + [anon_sym___stdcall] = ACTIONS(1957), + [anon_sym___fastcall] = ACTIONS(1957), + [anon_sym___thiscall] = ACTIONS(1957), + [anon_sym___vectorcall] = ACTIONS(1957), + [anon_sym_LBRACE] = ACTIONS(1959), + [anon_sym_LBRACK] = ACTIONS(1957), + [anon_sym_static] = ACTIONS(1957), + [anon_sym_register] = ACTIONS(1957), + [anon_sym_inline] = ACTIONS(1957), + [anon_sym_thread_local] = ACTIONS(1957), + [anon_sym_const] = ACTIONS(1957), + [anon_sym_volatile] = ACTIONS(1957), + [anon_sym_restrict] = ACTIONS(1957), + [anon_sym__Atomic] = ACTIONS(1957), + [anon_sym_mutable] = ACTIONS(1957), + [anon_sym_constexpr] = ACTIONS(1957), + [anon_sym_constinit] = ACTIONS(1957), + [anon_sym_consteval] = ACTIONS(1957), + [anon_sym_signed] = ACTIONS(1957), + [anon_sym_unsigned] = ACTIONS(1957), + [anon_sym_long] = ACTIONS(1957), + [anon_sym_short] = ACTIONS(1957), + [sym_primitive_type] = ACTIONS(1957), + [anon_sym_enum] = ACTIONS(1957), + [anon_sym_class] = ACTIONS(1957), + [anon_sym_struct] = ACTIONS(1957), + [anon_sym_union] = ACTIONS(1957), + [anon_sym_if] = ACTIONS(1957), + [anon_sym_else] = ACTIONS(2495), + [anon_sym_switch] = ACTIONS(1957), + [anon_sym_case] = ACTIONS(1957), + [anon_sym_default] = ACTIONS(1957), + [anon_sym_while] = ACTIONS(1957), + [anon_sym_do] = ACTIONS(1957), + [anon_sym_for] = ACTIONS(1957), + [anon_sym_return] = ACTIONS(1957), + [anon_sym_break] = ACTIONS(1957), + [anon_sym_continue] = ACTIONS(1957), + [anon_sym_goto] = ACTIONS(1957), + [anon_sym_DASH_DASH] = ACTIONS(1959), + [anon_sym_PLUS_PLUS] = ACTIONS(1959), + [anon_sym_sizeof] = ACTIONS(1957), + [sym_number_literal] = ACTIONS(1959), + [anon_sym_L_SQUOTE] = ACTIONS(1959), + [anon_sym_u_SQUOTE] = ACTIONS(1959), + [anon_sym_U_SQUOTE] = ACTIONS(1959), + [anon_sym_u8_SQUOTE] = ACTIONS(1959), + [anon_sym_SQUOTE] = ACTIONS(1959), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1957), + [sym_false] = ACTIONS(1957), + [sym_null] = ACTIONS(1957), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1957), + [anon_sym_decltype] = ACTIONS(1957), + [anon_sym_virtual] = ACTIONS(1957), + [anon_sym_explicit] = ACTIONS(1957), + [anon_sym_typename] = ACTIONS(1957), + [anon_sym_template] = ACTIONS(1957), + [anon_sym_operator] = ACTIONS(1957), + [anon_sym_delete] = ACTIONS(1957), + [anon_sym_throw] = ACTIONS(1957), + [anon_sym_namespace] = ACTIONS(1957), + [anon_sym_using] = ACTIONS(1957), + [anon_sym_static_assert] = ACTIONS(1957), + [anon_sym_concept] = ACTIONS(1957), + [anon_sym_co_return] = ACTIONS(1957), + [anon_sym_co_yield] = ACTIONS(1957), + [anon_sym_try] = ACTIONS(1957), + [anon_sym_co_await] = ACTIONS(1957), + [anon_sym_new] = ACTIONS(1957), + [anon_sym_requires] = ACTIONS(1957), + [sym_this] = ACTIONS(1957), + [sym_nullptr] = ACTIONS(1957), + [sym_raw_string_literal] = ACTIONS(1959), + }, + [694] = { + [sym_identifier] = ACTIONS(2063), + [aux_sym_preproc_include_token1] = ACTIONS(2063), + [aux_sym_preproc_def_token1] = ACTIONS(2063), + [aux_sym_preproc_if_token1] = ACTIONS(2063), + [aux_sym_preproc_if_token2] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2063), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2063), + [sym_preproc_directive] = ACTIONS(2063), + [anon_sym_LPAREN2] = ACTIONS(2065), + [anon_sym_BANG] = ACTIONS(2065), + [anon_sym_TILDE] = ACTIONS(2065), + [anon_sym_DASH] = ACTIONS(2063), + [anon_sym_PLUS] = ACTIONS(2063), + [anon_sym_STAR] = ACTIONS(2065), + [anon_sym_AMP_AMP] = ACTIONS(2065), + [anon_sym_AMP] = ACTIONS(2063), + [anon_sym_SEMI] = ACTIONS(2065), + [anon_sym_typedef] = ACTIONS(2063), + [anon_sym_extern] = ACTIONS(2063), + [anon_sym___attribute__] = ACTIONS(2063), + [anon_sym_COLON_COLON] = ACTIONS(2065), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2065), + [anon_sym___declspec] = ACTIONS(2063), + [anon_sym___based] = ACTIONS(2063), + [anon_sym___cdecl] = ACTIONS(2063), + [anon_sym___clrcall] = ACTIONS(2063), + [anon_sym___stdcall] = ACTIONS(2063), + [anon_sym___fastcall] = ACTIONS(2063), + [anon_sym___thiscall] = ACTIONS(2063), + [anon_sym___vectorcall] = ACTIONS(2063), + [anon_sym_LBRACE] = ACTIONS(2065), + [anon_sym_LBRACK] = ACTIONS(2063), + [anon_sym_static] = ACTIONS(2063), + [anon_sym_register] = ACTIONS(2063), + [anon_sym_inline] = ACTIONS(2063), + [anon_sym_thread_local] = ACTIONS(2063), + [anon_sym_const] = ACTIONS(2063), + [anon_sym_volatile] = ACTIONS(2063), + [anon_sym_restrict] = ACTIONS(2063), + [anon_sym__Atomic] = ACTIONS(2063), + [anon_sym_mutable] = ACTIONS(2063), + [anon_sym_constexpr] = ACTIONS(2063), + [anon_sym_constinit] = ACTIONS(2063), + [anon_sym_consteval] = ACTIONS(2063), + [anon_sym_signed] = ACTIONS(2063), + [anon_sym_unsigned] = ACTIONS(2063), + [anon_sym_long] = ACTIONS(2063), + [anon_sym_short] = ACTIONS(2063), + [sym_primitive_type] = ACTIONS(2063), + [anon_sym_enum] = ACTIONS(2063), + [anon_sym_class] = ACTIONS(2063), + [anon_sym_struct] = ACTIONS(2063), + [anon_sym_union] = ACTIONS(2063), + [anon_sym_if] = ACTIONS(2063), + [anon_sym_else] = ACTIONS(2063), + [anon_sym_switch] = ACTIONS(2063), + [anon_sym_case] = ACTIONS(2063), + [anon_sym_default] = ACTIONS(2063), + [anon_sym_while] = ACTIONS(2063), + [anon_sym_do] = ACTIONS(2063), + [anon_sym_for] = ACTIONS(2063), + [anon_sym_return] = ACTIONS(2063), + [anon_sym_break] = ACTIONS(2063), + [anon_sym_continue] = ACTIONS(2063), + [anon_sym_goto] = ACTIONS(2063), + [anon_sym_DASH_DASH] = ACTIONS(2065), + [anon_sym_PLUS_PLUS] = ACTIONS(2065), + [anon_sym_sizeof] = ACTIONS(2063), + [sym_number_literal] = ACTIONS(2065), + [anon_sym_L_SQUOTE] = ACTIONS(2065), + [anon_sym_u_SQUOTE] = ACTIONS(2065), + [anon_sym_U_SQUOTE] = ACTIONS(2065), + [anon_sym_u8_SQUOTE] = ACTIONS(2065), + [anon_sym_SQUOTE] = ACTIONS(2065), + [anon_sym_L_DQUOTE] = ACTIONS(2065), + [anon_sym_u_DQUOTE] = ACTIONS(2065), + [anon_sym_U_DQUOTE] = ACTIONS(2065), + [anon_sym_u8_DQUOTE] = ACTIONS(2065), + [anon_sym_DQUOTE] = ACTIONS(2065), + [sym_true] = ACTIONS(2063), + [sym_false] = ACTIONS(2063), + [sym_null] = ACTIONS(2063), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2063), + [anon_sym_decltype] = ACTIONS(2063), + [anon_sym_virtual] = ACTIONS(2063), + [anon_sym_explicit] = ACTIONS(2063), + [anon_sym_typename] = ACTIONS(2063), + [anon_sym_template] = ACTIONS(2063), + [anon_sym_operator] = ACTIONS(2063), + [anon_sym_delete] = ACTIONS(2063), + [anon_sym_throw] = ACTIONS(2063), + [anon_sym_namespace] = ACTIONS(2063), + [anon_sym_using] = ACTIONS(2063), + [anon_sym_static_assert] = ACTIONS(2063), + [anon_sym_concept] = ACTIONS(2063), + [anon_sym_co_return] = ACTIONS(2063), + [anon_sym_co_yield] = ACTIONS(2063), + [anon_sym_try] = ACTIONS(2063), + [anon_sym_co_await] = ACTIONS(2063), + [anon_sym_new] = ACTIONS(2063), + [anon_sym_requires] = ACTIONS(2063), + [sym_this] = ACTIONS(2063), + [sym_nullptr] = ACTIONS(2063), + [sym_raw_string_literal] = ACTIONS(2065), + }, + [695] = { + [sym_identifier] = ACTIONS(2067), + [aux_sym_preproc_include_token1] = ACTIONS(2067), + [aux_sym_preproc_def_token1] = ACTIONS(2067), + [aux_sym_preproc_if_token1] = ACTIONS(2067), + [aux_sym_preproc_if_token2] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2067), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2067), + [sym_preproc_directive] = ACTIONS(2067), + [anon_sym_LPAREN2] = ACTIONS(2069), + [anon_sym_BANG] = ACTIONS(2069), + [anon_sym_TILDE] = ACTIONS(2069), + [anon_sym_DASH] = ACTIONS(2067), + [anon_sym_PLUS] = ACTIONS(2067), + [anon_sym_STAR] = ACTIONS(2069), + [anon_sym_AMP_AMP] = ACTIONS(2069), + [anon_sym_AMP] = ACTIONS(2067), + [anon_sym_SEMI] = ACTIONS(2069), + [anon_sym_typedef] = ACTIONS(2067), + [anon_sym_extern] = ACTIONS(2067), + [anon_sym___attribute__] = ACTIONS(2067), + [anon_sym_COLON_COLON] = ACTIONS(2069), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2069), + [anon_sym___declspec] = ACTIONS(2067), + [anon_sym___based] = ACTIONS(2067), + [anon_sym___cdecl] = ACTIONS(2067), + [anon_sym___clrcall] = ACTIONS(2067), + [anon_sym___stdcall] = ACTIONS(2067), + [anon_sym___fastcall] = ACTIONS(2067), + [anon_sym___thiscall] = ACTIONS(2067), + [anon_sym___vectorcall] = ACTIONS(2067), + [anon_sym_LBRACE] = ACTIONS(2069), + [anon_sym_LBRACK] = ACTIONS(2067), + [anon_sym_static] = ACTIONS(2067), + [anon_sym_register] = ACTIONS(2067), + [anon_sym_inline] = ACTIONS(2067), + [anon_sym_thread_local] = ACTIONS(2067), + [anon_sym_const] = ACTIONS(2067), + [anon_sym_volatile] = ACTIONS(2067), + [anon_sym_restrict] = ACTIONS(2067), + [anon_sym__Atomic] = ACTIONS(2067), + [anon_sym_mutable] = ACTIONS(2067), + [anon_sym_constexpr] = ACTIONS(2067), + [anon_sym_constinit] = ACTIONS(2067), + [anon_sym_consteval] = ACTIONS(2067), + [anon_sym_signed] = ACTIONS(2067), + [anon_sym_unsigned] = ACTIONS(2067), + [anon_sym_long] = ACTIONS(2067), + [anon_sym_short] = ACTIONS(2067), + [sym_primitive_type] = ACTIONS(2067), + [anon_sym_enum] = ACTIONS(2067), + [anon_sym_class] = ACTIONS(2067), + [anon_sym_struct] = ACTIONS(2067), + [anon_sym_union] = ACTIONS(2067), + [anon_sym_if] = ACTIONS(2067), + [anon_sym_else] = ACTIONS(2067), + [anon_sym_switch] = ACTIONS(2067), + [anon_sym_case] = ACTIONS(2067), + [anon_sym_default] = ACTIONS(2067), + [anon_sym_while] = ACTIONS(2067), + [anon_sym_do] = ACTIONS(2067), + [anon_sym_for] = ACTIONS(2067), + [anon_sym_return] = ACTIONS(2067), + [anon_sym_break] = ACTIONS(2067), + [anon_sym_continue] = ACTIONS(2067), + [anon_sym_goto] = ACTIONS(2067), + [anon_sym_DASH_DASH] = ACTIONS(2069), + [anon_sym_PLUS_PLUS] = ACTIONS(2069), + [anon_sym_sizeof] = ACTIONS(2067), + [sym_number_literal] = ACTIONS(2069), + [anon_sym_L_SQUOTE] = ACTIONS(2069), + [anon_sym_u_SQUOTE] = ACTIONS(2069), + [anon_sym_U_SQUOTE] = ACTIONS(2069), + [anon_sym_u8_SQUOTE] = ACTIONS(2069), + [anon_sym_SQUOTE] = ACTIONS(2069), + [anon_sym_L_DQUOTE] = ACTIONS(2069), + [anon_sym_u_DQUOTE] = ACTIONS(2069), + [anon_sym_U_DQUOTE] = ACTIONS(2069), + [anon_sym_u8_DQUOTE] = ACTIONS(2069), + [anon_sym_DQUOTE] = ACTIONS(2069), + [sym_true] = ACTIONS(2067), + [sym_false] = ACTIONS(2067), + [sym_null] = ACTIONS(2067), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2067), + [anon_sym_decltype] = ACTIONS(2067), + [anon_sym_virtual] = ACTIONS(2067), + [anon_sym_explicit] = ACTIONS(2067), + [anon_sym_typename] = ACTIONS(2067), + [anon_sym_template] = ACTIONS(2067), + [anon_sym_operator] = ACTIONS(2067), + [anon_sym_delete] = ACTIONS(2067), + [anon_sym_throw] = ACTIONS(2067), + [anon_sym_namespace] = ACTIONS(2067), + [anon_sym_using] = ACTIONS(2067), + [anon_sym_static_assert] = ACTIONS(2067), + [anon_sym_concept] = ACTIONS(2067), + [anon_sym_co_return] = ACTIONS(2067), + [anon_sym_co_yield] = ACTIONS(2067), + [anon_sym_try] = ACTIONS(2067), + [anon_sym_co_await] = ACTIONS(2067), + [anon_sym_new] = ACTIONS(2067), + [anon_sym_requires] = ACTIONS(2067), + [sym_this] = ACTIONS(2067), + [sym_nullptr] = ACTIONS(2067), + [sym_raw_string_literal] = ACTIONS(2069), + }, + [696] = { + [sym_function_definition] = STATE(723), + [sym_declaration] = STATE(723), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4450), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(723), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1540), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(723), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1540), + [sym_operator_cast_definition] = STATE(723), + [sym_operator_cast_declaration] = STATE(723), + [sym_constructor_or_destructor_definition] = STATE(723), + [sym_constructor_or_destructor_declaration] = STATE(723), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(723), + [sym_concept_definition] = STATE(723), + [sym_requires_clause] = STATE(877), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1540), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2497), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2499), + [anon_sym_concept] = ACTIONS(205), + [anon_sym_requires] = ACTIONS(2437), + }, + [697] = { + [sym_identifier] = ACTIONS(2071), + [aux_sym_preproc_include_token1] = ACTIONS(2071), + [aux_sym_preproc_def_token1] = ACTIONS(2071), + [aux_sym_preproc_if_token1] = ACTIONS(2071), + [aux_sym_preproc_if_token2] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2071), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2071), + [sym_preproc_directive] = ACTIONS(2071), + [anon_sym_LPAREN2] = ACTIONS(2073), + [anon_sym_BANG] = ACTIONS(2073), + [anon_sym_TILDE] = ACTIONS(2073), + [anon_sym_DASH] = ACTIONS(2071), + [anon_sym_PLUS] = ACTIONS(2071), + [anon_sym_STAR] = ACTIONS(2073), + [anon_sym_AMP_AMP] = ACTIONS(2073), + [anon_sym_AMP] = ACTIONS(2071), + [anon_sym_SEMI] = ACTIONS(2073), + [anon_sym_typedef] = ACTIONS(2071), + [anon_sym_extern] = ACTIONS(2071), + [anon_sym___attribute__] = ACTIONS(2071), + [anon_sym_COLON_COLON] = ACTIONS(2073), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2073), + [anon_sym___declspec] = ACTIONS(2071), + [anon_sym___based] = ACTIONS(2071), + [anon_sym___cdecl] = ACTIONS(2071), + [anon_sym___clrcall] = ACTIONS(2071), + [anon_sym___stdcall] = ACTIONS(2071), + [anon_sym___fastcall] = ACTIONS(2071), + [anon_sym___thiscall] = ACTIONS(2071), + [anon_sym___vectorcall] = ACTIONS(2071), + [anon_sym_LBRACE] = ACTIONS(2073), + [anon_sym_LBRACK] = ACTIONS(2071), + [anon_sym_static] = ACTIONS(2071), + [anon_sym_register] = ACTIONS(2071), + [anon_sym_inline] = ACTIONS(2071), + [anon_sym_thread_local] = ACTIONS(2071), + [anon_sym_const] = ACTIONS(2071), + [anon_sym_volatile] = ACTIONS(2071), + [anon_sym_restrict] = ACTIONS(2071), + [anon_sym__Atomic] = ACTIONS(2071), + [anon_sym_mutable] = ACTIONS(2071), + [anon_sym_constexpr] = ACTIONS(2071), + [anon_sym_constinit] = ACTIONS(2071), + [anon_sym_consteval] = ACTIONS(2071), + [anon_sym_signed] = ACTIONS(2071), + [anon_sym_unsigned] = ACTIONS(2071), + [anon_sym_long] = ACTIONS(2071), + [anon_sym_short] = ACTIONS(2071), + [sym_primitive_type] = ACTIONS(2071), + [anon_sym_enum] = ACTIONS(2071), + [anon_sym_class] = ACTIONS(2071), + [anon_sym_struct] = ACTIONS(2071), + [anon_sym_union] = ACTIONS(2071), + [anon_sym_if] = ACTIONS(2071), + [anon_sym_else] = ACTIONS(2071), + [anon_sym_switch] = ACTIONS(2071), + [anon_sym_case] = ACTIONS(2071), + [anon_sym_default] = ACTIONS(2071), + [anon_sym_while] = ACTIONS(2071), + [anon_sym_do] = ACTIONS(2071), + [anon_sym_for] = ACTIONS(2071), + [anon_sym_return] = ACTIONS(2071), + [anon_sym_break] = ACTIONS(2071), + [anon_sym_continue] = ACTIONS(2071), + [anon_sym_goto] = ACTIONS(2071), + [anon_sym_DASH_DASH] = ACTIONS(2073), + [anon_sym_PLUS_PLUS] = ACTIONS(2073), + [anon_sym_sizeof] = ACTIONS(2071), + [sym_number_literal] = ACTIONS(2073), + [anon_sym_L_SQUOTE] = ACTIONS(2073), + [anon_sym_u_SQUOTE] = ACTIONS(2073), + [anon_sym_U_SQUOTE] = ACTIONS(2073), + [anon_sym_u8_SQUOTE] = ACTIONS(2073), + [anon_sym_SQUOTE] = ACTIONS(2073), + [anon_sym_L_DQUOTE] = ACTIONS(2073), + [anon_sym_u_DQUOTE] = ACTIONS(2073), + [anon_sym_U_DQUOTE] = ACTIONS(2073), + [anon_sym_u8_DQUOTE] = ACTIONS(2073), + [anon_sym_DQUOTE] = ACTIONS(2073), + [sym_true] = ACTIONS(2071), + [sym_false] = ACTIONS(2071), + [sym_null] = ACTIONS(2071), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2071), + [anon_sym_decltype] = ACTIONS(2071), + [anon_sym_virtual] = ACTIONS(2071), + [anon_sym_explicit] = ACTIONS(2071), + [anon_sym_typename] = ACTIONS(2071), + [anon_sym_template] = ACTIONS(2071), + [anon_sym_operator] = ACTIONS(2071), + [anon_sym_delete] = ACTIONS(2071), + [anon_sym_throw] = ACTIONS(2071), + [anon_sym_namespace] = ACTIONS(2071), + [anon_sym_using] = ACTIONS(2071), + [anon_sym_static_assert] = ACTIONS(2071), + [anon_sym_concept] = ACTIONS(2071), + [anon_sym_co_return] = ACTIONS(2071), + [anon_sym_co_yield] = ACTIONS(2071), + [anon_sym_try] = ACTIONS(2071), + [anon_sym_co_await] = ACTIONS(2071), + [anon_sym_new] = ACTIONS(2071), + [anon_sym_requires] = ACTIONS(2071), + [sym_this] = ACTIONS(2071), + [sym_nullptr] = ACTIONS(2071), + [sym_raw_string_literal] = ACTIONS(2073), + }, + [698] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [699] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [700] = { + [sym_function_definition] = STATE(450), + [sym_declaration] = STATE(450), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4419), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(450), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1545), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(450), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1545), + [sym_operator_cast_definition] = STATE(450), + [sym_operator_cast_declaration] = STATE(450), + [sym_constructor_or_destructor_definition] = STATE(450), + [sym_constructor_or_destructor_declaration] = STATE(450), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(450), + [sym_concept_definition] = STATE(450), + [sym_requires_clause] = STATE(874), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1545), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2501), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2503), + [anon_sym_concept] = ACTIONS(285), + [anon_sym_requires] = ACTIONS(2437), + }, + [701] = { + [sym_identifier] = ACTIONS(1933), + [aux_sym_preproc_include_token1] = ACTIONS(1933), + [aux_sym_preproc_def_token1] = ACTIONS(1933), + [aux_sym_preproc_if_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1933), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1933), + [sym_preproc_directive] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP_AMP] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1933), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym___based] = ACTIONS(1933), + [anon_sym___cdecl] = ACTIONS(1933), + [anon_sym___clrcall] = ACTIONS(1933), + [anon_sym___stdcall] = ACTIONS(1933), + [anon_sym___fastcall] = ACTIONS(1933), + [anon_sym___thiscall] = ACTIONS(1933), + [anon_sym___vectorcall] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_RBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_case] = ACTIONS(1933), + [anon_sym_default] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_explicit] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_operator] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_namespace] = ACTIONS(1933), + [anon_sym_using] = ACTIONS(1933), + [anon_sym_static_assert] = ACTIONS(1933), + [anon_sym_concept] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [702] = { + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token2] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [703] = { + [sym_identifier] = ACTIONS(2083), + [aux_sym_preproc_include_token1] = ACTIONS(2083), + [aux_sym_preproc_def_token1] = ACTIONS(2083), + [aux_sym_preproc_if_token1] = ACTIONS(2083), + [aux_sym_preproc_if_token2] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2083), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2083), + [sym_preproc_directive] = ACTIONS(2083), + [anon_sym_LPAREN2] = ACTIONS(2085), + [anon_sym_BANG] = ACTIONS(2085), + [anon_sym_TILDE] = ACTIONS(2085), + [anon_sym_DASH] = ACTIONS(2083), + [anon_sym_PLUS] = ACTIONS(2083), + [anon_sym_STAR] = ACTIONS(2085), + [anon_sym_AMP_AMP] = ACTIONS(2085), + [anon_sym_AMP] = ACTIONS(2083), + [anon_sym_SEMI] = ACTIONS(2085), + [anon_sym_typedef] = ACTIONS(2083), + [anon_sym_extern] = ACTIONS(2083), + [anon_sym___attribute__] = ACTIONS(2083), + [anon_sym_COLON_COLON] = ACTIONS(2085), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2085), + [anon_sym___declspec] = ACTIONS(2083), + [anon_sym___based] = ACTIONS(2083), + [anon_sym___cdecl] = ACTIONS(2083), + [anon_sym___clrcall] = ACTIONS(2083), + [anon_sym___stdcall] = ACTIONS(2083), + [anon_sym___fastcall] = ACTIONS(2083), + [anon_sym___thiscall] = ACTIONS(2083), + [anon_sym___vectorcall] = ACTIONS(2083), + [anon_sym_LBRACE] = ACTIONS(2085), + [anon_sym_LBRACK] = ACTIONS(2083), + [anon_sym_static] = ACTIONS(2083), + [anon_sym_register] = ACTIONS(2083), + [anon_sym_inline] = ACTIONS(2083), + [anon_sym_thread_local] = ACTIONS(2083), + [anon_sym_const] = ACTIONS(2083), + [anon_sym_volatile] = ACTIONS(2083), + [anon_sym_restrict] = ACTIONS(2083), + [anon_sym__Atomic] = ACTIONS(2083), + [anon_sym_mutable] = ACTIONS(2083), + [anon_sym_constexpr] = ACTIONS(2083), + [anon_sym_constinit] = ACTIONS(2083), + [anon_sym_consteval] = ACTIONS(2083), + [anon_sym_signed] = ACTIONS(2083), + [anon_sym_unsigned] = ACTIONS(2083), + [anon_sym_long] = ACTIONS(2083), + [anon_sym_short] = ACTIONS(2083), + [sym_primitive_type] = ACTIONS(2083), + [anon_sym_enum] = ACTIONS(2083), + [anon_sym_class] = ACTIONS(2083), + [anon_sym_struct] = ACTIONS(2083), + [anon_sym_union] = ACTIONS(2083), + [anon_sym_if] = ACTIONS(2083), + [anon_sym_else] = ACTIONS(2083), + [anon_sym_switch] = ACTIONS(2083), + [anon_sym_case] = ACTIONS(2083), + [anon_sym_default] = ACTIONS(2083), + [anon_sym_while] = ACTIONS(2083), + [anon_sym_do] = ACTIONS(2083), + [anon_sym_for] = ACTIONS(2083), + [anon_sym_return] = ACTIONS(2083), + [anon_sym_break] = ACTIONS(2083), + [anon_sym_continue] = ACTIONS(2083), + [anon_sym_goto] = ACTIONS(2083), + [anon_sym_DASH_DASH] = ACTIONS(2085), + [anon_sym_PLUS_PLUS] = ACTIONS(2085), + [anon_sym_sizeof] = ACTIONS(2083), + [sym_number_literal] = ACTIONS(2085), + [anon_sym_L_SQUOTE] = ACTIONS(2085), + [anon_sym_u_SQUOTE] = ACTIONS(2085), + [anon_sym_U_SQUOTE] = ACTIONS(2085), + [anon_sym_u8_SQUOTE] = ACTIONS(2085), + [anon_sym_SQUOTE] = ACTIONS(2085), + [anon_sym_L_DQUOTE] = ACTIONS(2085), + [anon_sym_u_DQUOTE] = ACTIONS(2085), + [anon_sym_U_DQUOTE] = ACTIONS(2085), + [anon_sym_u8_DQUOTE] = ACTIONS(2085), + [anon_sym_DQUOTE] = ACTIONS(2085), + [sym_true] = ACTIONS(2083), + [sym_false] = ACTIONS(2083), + [sym_null] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2083), + [anon_sym_decltype] = ACTIONS(2083), + [anon_sym_virtual] = ACTIONS(2083), + [anon_sym_explicit] = ACTIONS(2083), + [anon_sym_typename] = ACTIONS(2083), + [anon_sym_template] = ACTIONS(2083), + [anon_sym_operator] = ACTIONS(2083), + [anon_sym_delete] = ACTIONS(2083), + [anon_sym_throw] = ACTIONS(2083), + [anon_sym_namespace] = ACTIONS(2083), + [anon_sym_using] = ACTIONS(2083), + [anon_sym_static_assert] = ACTIONS(2083), + [anon_sym_concept] = ACTIONS(2083), + [anon_sym_co_return] = ACTIONS(2083), + [anon_sym_co_yield] = ACTIONS(2083), + [anon_sym_try] = ACTIONS(2083), + [anon_sym_co_await] = ACTIONS(2083), + [anon_sym_new] = ACTIONS(2083), + [anon_sym_requires] = ACTIONS(2083), + [sym_this] = ACTIONS(2083), + [sym_nullptr] = ACTIONS(2083), + [sym_raw_string_literal] = ACTIONS(2085), + }, + [704] = { + [sym_function_definition] = STATE(1687), + [sym_declaration] = STATE(1687), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3723), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1559), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4471), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2758), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(1687), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1544), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(1687), + [sym_operator_cast] = STATE(5061), + [sym__constructor_specifiers] = STATE(1544), + [sym_operator_cast_definition] = STATE(1687), + [sym_operator_cast_declaration] = STATE(1687), + [sym_constructor_or_destructor_definition] = STATE(1687), + [sym_constructor_or_destructor_declaration] = STATE(1687), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(1687), + [sym_concept_definition] = STATE(1687), + [sym_requires_clause] = STATE(878), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5061), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1544), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(1737), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2505), + [anon_sym_concept] = ACTIONS(2507), + [anon_sym_requires] = ACTIONS(2437), + }, + [705] = { + [sym_identifier] = ACTIONS(1929), + [aux_sym_preproc_include_token1] = ACTIONS(1929), + [aux_sym_preproc_def_token1] = ACTIONS(1929), + [aux_sym_preproc_if_token1] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1929), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1929), + [sym_preproc_directive] = ACTIONS(1929), + [anon_sym_LPAREN2] = ACTIONS(1931), + [anon_sym_BANG] = ACTIONS(1931), + [anon_sym_TILDE] = ACTIONS(1931), + [anon_sym_DASH] = ACTIONS(1929), + [anon_sym_PLUS] = ACTIONS(1929), + [anon_sym_STAR] = ACTIONS(1931), + [anon_sym_AMP_AMP] = ACTIONS(1931), + [anon_sym_AMP] = ACTIONS(1929), + [anon_sym_SEMI] = ACTIONS(1931), + [anon_sym_typedef] = ACTIONS(1929), + [anon_sym_extern] = ACTIONS(1929), + [anon_sym___attribute__] = ACTIONS(1929), + [anon_sym_COLON_COLON] = ACTIONS(1931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1931), + [anon_sym___declspec] = ACTIONS(1929), + [anon_sym___based] = ACTIONS(1929), + [anon_sym___cdecl] = ACTIONS(1929), + [anon_sym___clrcall] = ACTIONS(1929), + [anon_sym___stdcall] = ACTIONS(1929), + [anon_sym___fastcall] = ACTIONS(1929), + [anon_sym___thiscall] = ACTIONS(1929), + [anon_sym___vectorcall] = ACTIONS(1929), + [anon_sym_LBRACE] = ACTIONS(1931), + [anon_sym_RBRACE] = ACTIONS(1931), + [anon_sym_LBRACK] = ACTIONS(1929), + [anon_sym_static] = ACTIONS(1929), + [anon_sym_register] = ACTIONS(1929), + [anon_sym_inline] = ACTIONS(1929), + [anon_sym_thread_local] = ACTIONS(1929), + [anon_sym_const] = ACTIONS(1929), + [anon_sym_volatile] = ACTIONS(1929), + [anon_sym_restrict] = ACTIONS(1929), + [anon_sym__Atomic] = ACTIONS(1929), + [anon_sym_mutable] = ACTIONS(1929), + [anon_sym_constexpr] = ACTIONS(1929), + [anon_sym_constinit] = ACTIONS(1929), + [anon_sym_consteval] = ACTIONS(1929), + [anon_sym_signed] = ACTIONS(1929), + [anon_sym_unsigned] = ACTIONS(1929), + [anon_sym_long] = ACTIONS(1929), + [anon_sym_short] = ACTIONS(1929), + [sym_primitive_type] = ACTIONS(1929), + [anon_sym_enum] = ACTIONS(1929), + [anon_sym_class] = ACTIONS(1929), + [anon_sym_struct] = ACTIONS(1929), + [anon_sym_union] = ACTIONS(1929), + [anon_sym_if] = ACTIONS(1929), + [anon_sym_else] = ACTIONS(1929), + [anon_sym_switch] = ACTIONS(1929), + [anon_sym_case] = ACTIONS(1929), + [anon_sym_default] = ACTIONS(1929), + [anon_sym_while] = ACTIONS(1929), + [anon_sym_do] = ACTIONS(1929), + [anon_sym_for] = ACTIONS(1929), + [anon_sym_return] = ACTIONS(1929), + [anon_sym_break] = ACTIONS(1929), + [anon_sym_continue] = ACTIONS(1929), + [anon_sym_goto] = ACTIONS(1929), + [anon_sym_DASH_DASH] = ACTIONS(1931), + [anon_sym_PLUS_PLUS] = ACTIONS(1931), + [anon_sym_sizeof] = ACTIONS(1929), + [sym_number_literal] = ACTIONS(1931), + [anon_sym_L_SQUOTE] = ACTIONS(1931), + [anon_sym_u_SQUOTE] = ACTIONS(1931), + [anon_sym_U_SQUOTE] = ACTIONS(1931), + [anon_sym_u8_SQUOTE] = ACTIONS(1931), + [anon_sym_SQUOTE] = ACTIONS(1931), + [anon_sym_L_DQUOTE] = ACTIONS(1931), + [anon_sym_u_DQUOTE] = ACTIONS(1931), + [anon_sym_U_DQUOTE] = ACTIONS(1931), + [anon_sym_u8_DQUOTE] = ACTIONS(1931), + [anon_sym_DQUOTE] = ACTIONS(1931), + [sym_true] = ACTIONS(1929), + [sym_false] = ACTIONS(1929), + [sym_null] = ACTIONS(1929), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1929), + [anon_sym_decltype] = ACTIONS(1929), + [anon_sym_virtual] = ACTIONS(1929), + [anon_sym_explicit] = ACTIONS(1929), + [anon_sym_typename] = ACTIONS(1929), + [anon_sym_template] = ACTIONS(1929), + [anon_sym_operator] = ACTIONS(1929), + [anon_sym_delete] = ACTIONS(1929), + [anon_sym_throw] = ACTIONS(1929), + [anon_sym_namespace] = ACTIONS(1929), + [anon_sym_using] = ACTIONS(1929), + [anon_sym_static_assert] = ACTIONS(1929), + [anon_sym_concept] = ACTIONS(1929), + [anon_sym_co_return] = ACTIONS(1929), + [anon_sym_co_yield] = ACTIONS(1929), + [anon_sym_try] = ACTIONS(1929), + [anon_sym_co_await] = ACTIONS(1929), + [anon_sym_new] = ACTIONS(1929), + [anon_sym_requires] = ACTIONS(1929), + [sym_this] = ACTIONS(1929), + [sym_nullptr] = ACTIONS(1929), + [sym_raw_string_literal] = ACTIONS(1931), + }, + [706] = { + [ts_builtin_sym_end] = ACTIONS(2077), + [sym_identifier] = ACTIONS(2075), + [aux_sym_preproc_include_token1] = ACTIONS(2075), + [aux_sym_preproc_def_token1] = ACTIONS(2075), + [aux_sym_preproc_if_token1] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2075), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2075), + [sym_preproc_directive] = ACTIONS(2075), + [anon_sym_LPAREN2] = ACTIONS(2077), + [anon_sym_BANG] = ACTIONS(2077), + [anon_sym_TILDE] = ACTIONS(2077), + [anon_sym_DASH] = ACTIONS(2075), + [anon_sym_PLUS] = ACTIONS(2075), + [anon_sym_STAR] = ACTIONS(2077), + [anon_sym_AMP_AMP] = ACTIONS(2077), + [anon_sym_AMP] = ACTIONS(2075), + [anon_sym_SEMI] = ACTIONS(2077), + [anon_sym_typedef] = ACTIONS(2075), + [anon_sym_extern] = ACTIONS(2075), + [anon_sym___attribute__] = ACTIONS(2075), + [anon_sym_COLON_COLON] = ACTIONS(2077), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2077), + [anon_sym___declspec] = ACTIONS(2075), + [anon_sym___based] = ACTIONS(2075), + [anon_sym___cdecl] = ACTIONS(2075), + [anon_sym___clrcall] = ACTIONS(2075), + [anon_sym___stdcall] = ACTIONS(2075), + [anon_sym___fastcall] = ACTIONS(2075), + [anon_sym___thiscall] = ACTIONS(2075), + [anon_sym___vectorcall] = ACTIONS(2075), + [anon_sym_LBRACE] = ACTIONS(2077), + [anon_sym_LBRACK] = ACTIONS(2075), + [anon_sym_static] = ACTIONS(2075), + [anon_sym_register] = ACTIONS(2075), + [anon_sym_inline] = ACTIONS(2075), + [anon_sym_thread_local] = ACTIONS(2075), + [anon_sym_const] = ACTIONS(2075), + [anon_sym_volatile] = ACTIONS(2075), + [anon_sym_restrict] = ACTIONS(2075), + [anon_sym__Atomic] = ACTIONS(2075), + [anon_sym_mutable] = ACTIONS(2075), + [anon_sym_constexpr] = ACTIONS(2075), + [anon_sym_constinit] = ACTIONS(2075), + [anon_sym_consteval] = ACTIONS(2075), + [anon_sym_signed] = ACTIONS(2075), + [anon_sym_unsigned] = ACTIONS(2075), + [anon_sym_long] = ACTIONS(2075), + [anon_sym_short] = ACTIONS(2075), + [sym_primitive_type] = ACTIONS(2075), + [anon_sym_enum] = ACTIONS(2075), + [anon_sym_class] = ACTIONS(2075), + [anon_sym_struct] = ACTIONS(2075), + [anon_sym_union] = ACTIONS(2075), + [anon_sym_if] = ACTIONS(2075), + [anon_sym_else] = ACTIONS(2075), + [anon_sym_switch] = ACTIONS(2075), + [anon_sym_case] = ACTIONS(2075), + [anon_sym_default] = ACTIONS(2075), + [anon_sym_while] = ACTIONS(2075), + [anon_sym_do] = ACTIONS(2075), + [anon_sym_for] = ACTIONS(2075), + [anon_sym_return] = ACTIONS(2075), + [anon_sym_break] = ACTIONS(2075), + [anon_sym_continue] = ACTIONS(2075), + [anon_sym_goto] = ACTIONS(2075), + [anon_sym_DASH_DASH] = ACTIONS(2077), + [anon_sym_PLUS_PLUS] = ACTIONS(2077), + [anon_sym_sizeof] = ACTIONS(2075), + [sym_number_literal] = ACTIONS(2077), + [anon_sym_L_SQUOTE] = ACTIONS(2077), + [anon_sym_u_SQUOTE] = ACTIONS(2077), + [anon_sym_U_SQUOTE] = ACTIONS(2077), + [anon_sym_u8_SQUOTE] = ACTIONS(2077), + [anon_sym_SQUOTE] = ACTIONS(2077), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2075), + [sym_false] = ACTIONS(2075), + [sym_null] = ACTIONS(2075), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2075), + [anon_sym_decltype] = ACTIONS(2075), + [anon_sym_virtual] = ACTIONS(2075), + [anon_sym_explicit] = ACTIONS(2075), + [anon_sym_typename] = ACTIONS(2075), + [anon_sym_template] = ACTIONS(2075), + [anon_sym_operator] = ACTIONS(2075), + [anon_sym_delete] = ACTIONS(2075), + [anon_sym_throw] = ACTIONS(2075), + [anon_sym_namespace] = ACTIONS(2075), + [anon_sym_using] = ACTIONS(2075), + [anon_sym_static_assert] = ACTIONS(2075), + [anon_sym_concept] = ACTIONS(2075), + [anon_sym_co_return] = ACTIONS(2075), + [anon_sym_co_yield] = ACTIONS(2075), + [anon_sym_try] = ACTIONS(2075), + [anon_sym_co_await] = ACTIONS(2075), + [anon_sym_new] = ACTIONS(2075), + [anon_sym_requires] = ACTIONS(2075), + [sym_this] = ACTIONS(2075), + [sym_nullptr] = ACTIONS(2075), + [sym_raw_string_literal] = ACTIONS(2077), + }, + [707] = { + [sym_identifier] = ACTIONS(2107), + [aux_sym_preproc_include_token1] = ACTIONS(2107), + [aux_sym_preproc_def_token1] = ACTIONS(2107), + [aux_sym_preproc_if_token1] = ACTIONS(2107), + [aux_sym_preproc_if_token2] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2107), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2107), + [sym_preproc_directive] = ACTIONS(2107), + [anon_sym_LPAREN2] = ACTIONS(2109), + [anon_sym_BANG] = ACTIONS(2109), + [anon_sym_TILDE] = ACTIONS(2109), + [anon_sym_DASH] = ACTIONS(2107), + [anon_sym_PLUS] = ACTIONS(2107), + [anon_sym_STAR] = ACTIONS(2109), + [anon_sym_AMP_AMP] = ACTIONS(2109), + [anon_sym_AMP] = ACTIONS(2107), + [anon_sym_SEMI] = ACTIONS(2109), + [anon_sym_typedef] = ACTIONS(2107), + [anon_sym_extern] = ACTIONS(2107), + [anon_sym___attribute__] = ACTIONS(2107), + [anon_sym_COLON_COLON] = ACTIONS(2109), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2109), + [anon_sym___declspec] = ACTIONS(2107), + [anon_sym___based] = ACTIONS(2107), + [anon_sym___cdecl] = ACTIONS(2107), + [anon_sym___clrcall] = ACTIONS(2107), + [anon_sym___stdcall] = ACTIONS(2107), + [anon_sym___fastcall] = ACTIONS(2107), + [anon_sym___thiscall] = ACTIONS(2107), + [anon_sym___vectorcall] = ACTIONS(2107), + [anon_sym_LBRACE] = ACTIONS(2109), + [anon_sym_LBRACK] = ACTIONS(2107), + [anon_sym_static] = ACTIONS(2107), + [anon_sym_register] = ACTIONS(2107), + [anon_sym_inline] = ACTIONS(2107), + [anon_sym_thread_local] = ACTIONS(2107), + [anon_sym_const] = ACTIONS(2107), + [anon_sym_volatile] = ACTIONS(2107), + [anon_sym_restrict] = ACTIONS(2107), + [anon_sym__Atomic] = ACTIONS(2107), + [anon_sym_mutable] = ACTIONS(2107), + [anon_sym_constexpr] = ACTIONS(2107), + [anon_sym_constinit] = ACTIONS(2107), + [anon_sym_consteval] = ACTIONS(2107), + [anon_sym_signed] = ACTIONS(2107), + [anon_sym_unsigned] = ACTIONS(2107), + [anon_sym_long] = ACTIONS(2107), + [anon_sym_short] = ACTIONS(2107), + [sym_primitive_type] = ACTIONS(2107), + [anon_sym_enum] = ACTIONS(2107), + [anon_sym_class] = ACTIONS(2107), + [anon_sym_struct] = ACTIONS(2107), + [anon_sym_union] = ACTIONS(2107), + [anon_sym_if] = ACTIONS(2107), + [anon_sym_else] = ACTIONS(2107), + [anon_sym_switch] = ACTIONS(2107), + [anon_sym_case] = ACTIONS(2107), + [anon_sym_default] = ACTIONS(2107), + [anon_sym_while] = ACTIONS(2107), + [anon_sym_do] = ACTIONS(2107), + [anon_sym_for] = ACTIONS(2107), + [anon_sym_return] = ACTIONS(2107), + [anon_sym_break] = ACTIONS(2107), + [anon_sym_continue] = ACTIONS(2107), + [anon_sym_goto] = ACTIONS(2107), + [anon_sym_DASH_DASH] = ACTIONS(2109), + [anon_sym_PLUS_PLUS] = ACTIONS(2109), + [anon_sym_sizeof] = ACTIONS(2107), + [sym_number_literal] = ACTIONS(2109), + [anon_sym_L_SQUOTE] = ACTIONS(2109), + [anon_sym_u_SQUOTE] = ACTIONS(2109), + [anon_sym_U_SQUOTE] = ACTIONS(2109), + [anon_sym_u8_SQUOTE] = ACTIONS(2109), + [anon_sym_SQUOTE] = ACTIONS(2109), + [anon_sym_L_DQUOTE] = ACTIONS(2109), + [anon_sym_u_DQUOTE] = ACTIONS(2109), + [anon_sym_U_DQUOTE] = ACTIONS(2109), + [anon_sym_u8_DQUOTE] = ACTIONS(2109), + [anon_sym_DQUOTE] = ACTIONS(2109), + [sym_true] = ACTIONS(2107), + [sym_false] = ACTIONS(2107), + [sym_null] = ACTIONS(2107), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2107), + [anon_sym_decltype] = ACTIONS(2107), + [anon_sym_virtual] = ACTIONS(2107), + [anon_sym_explicit] = ACTIONS(2107), + [anon_sym_typename] = ACTIONS(2107), + [anon_sym_template] = ACTIONS(2107), + [anon_sym_operator] = ACTIONS(2107), + [anon_sym_delete] = ACTIONS(2107), + [anon_sym_throw] = ACTIONS(2107), + [anon_sym_namespace] = ACTIONS(2107), + [anon_sym_using] = ACTIONS(2107), + [anon_sym_static_assert] = ACTIONS(2107), + [anon_sym_concept] = ACTIONS(2107), + [anon_sym_co_return] = ACTIONS(2107), + [anon_sym_co_yield] = ACTIONS(2107), + [anon_sym_try] = ACTIONS(2107), + [anon_sym_co_await] = ACTIONS(2107), + [anon_sym_new] = ACTIONS(2107), + [anon_sym_requires] = ACTIONS(2107), + [sym_this] = ACTIONS(2107), + [sym_nullptr] = ACTIONS(2107), + [sym_raw_string_literal] = ACTIONS(2109), + }, + [708] = { + [sym_identifier] = ACTIONS(1925), + [aux_sym_preproc_include_token1] = ACTIONS(1925), + [aux_sym_preproc_def_token1] = ACTIONS(1925), + [aux_sym_preproc_if_token1] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token1] = ACTIONS(1925), + [aux_sym_preproc_ifdef_token2] = ACTIONS(1925), + [sym_preproc_directive] = ACTIONS(1925), + [anon_sym_LPAREN2] = ACTIONS(1927), + [anon_sym_BANG] = ACTIONS(1927), + [anon_sym_TILDE] = ACTIONS(1927), + [anon_sym_DASH] = ACTIONS(1925), + [anon_sym_PLUS] = ACTIONS(1925), + [anon_sym_STAR] = ACTIONS(1927), + [anon_sym_AMP_AMP] = ACTIONS(1927), + [anon_sym_AMP] = ACTIONS(1925), + [anon_sym_SEMI] = ACTIONS(1927), + [anon_sym_typedef] = ACTIONS(1925), + [anon_sym_extern] = ACTIONS(1925), + [anon_sym___attribute__] = ACTIONS(1925), + [anon_sym_COLON_COLON] = ACTIONS(1927), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1927), + [anon_sym___declspec] = ACTIONS(1925), + [anon_sym___based] = ACTIONS(1925), + [anon_sym___cdecl] = ACTIONS(1925), + [anon_sym___clrcall] = ACTIONS(1925), + [anon_sym___stdcall] = ACTIONS(1925), + [anon_sym___fastcall] = ACTIONS(1925), + [anon_sym___thiscall] = ACTIONS(1925), + [anon_sym___vectorcall] = ACTIONS(1925), + [anon_sym_LBRACE] = ACTIONS(1927), + [anon_sym_RBRACE] = ACTIONS(1927), + [anon_sym_LBRACK] = ACTIONS(1925), + [anon_sym_static] = ACTIONS(1925), + [anon_sym_register] = ACTIONS(1925), + [anon_sym_inline] = ACTIONS(1925), + [anon_sym_thread_local] = ACTIONS(1925), + [anon_sym_const] = ACTIONS(1925), + [anon_sym_volatile] = ACTIONS(1925), + [anon_sym_restrict] = ACTIONS(1925), + [anon_sym__Atomic] = ACTIONS(1925), + [anon_sym_mutable] = ACTIONS(1925), + [anon_sym_constexpr] = ACTIONS(1925), + [anon_sym_constinit] = ACTIONS(1925), + [anon_sym_consteval] = ACTIONS(1925), + [anon_sym_signed] = ACTIONS(1925), + [anon_sym_unsigned] = ACTIONS(1925), + [anon_sym_long] = ACTIONS(1925), + [anon_sym_short] = ACTIONS(1925), + [sym_primitive_type] = ACTIONS(1925), + [anon_sym_enum] = ACTIONS(1925), + [anon_sym_class] = ACTIONS(1925), + [anon_sym_struct] = ACTIONS(1925), + [anon_sym_union] = ACTIONS(1925), + [anon_sym_if] = ACTIONS(1925), + [anon_sym_else] = ACTIONS(1925), + [anon_sym_switch] = ACTIONS(1925), + [anon_sym_case] = ACTIONS(1925), + [anon_sym_default] = ACTIONS(1925), + [anon_sym_while] = ACTIONS(1925), + [anon_sym_do] = ACTIONS(1925), + [anon_sym_for] = ACTIONS(1925), + [anon_sym_return] = ACTIONS(1925), + [anon_sym_break] = ACTIONS(1925), + [anon_sym_continue] = ACTIONS(1925), + [anon_sym_goto] = ACTIONS(1925), + [anon_sym_DASH_DASH] = ACTIONS(1927), + [anon_sym_PLUS_PLUS] = ACTIONS(1927), + [anon_sym_sizeof] = ACTIONS(1925), + [sym_number_literal] = ACTIONS(1927), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1927), + [anon_sym_u_DQUOTE] = ACTIONS(1927), + [anon_sym_U_DQUOTE] = ACTIONS(1927), + [anon_sym_u8_DQUOTE] = ACTIONS(1927), + [anon_sym_DQUOTE] = ACTIONS(1927), + [sym_true] = ACTIONS(1925), + [sym_false] = ACTIONS(1925), + [sym_null] = ACTIONS(1925), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1925), + [anon_sym_decltype] = ACTIONS(1925), + [anon_sym_virtual] = ACTIONS(1925), + [anon_sym_explicit] = ACTIONS(1925), + [anon_sym_typename] = ACTIONS(1925), + [anon_sym_template] = ACTIONS(1925), + [anon_sym_operator] = ACTIONS(1925), + [anon_sym_delete] = ACTIONS(1925), + [anon_sym_throw] = ACTIONS(1925), + [anon_sym_namespace] = ACTIONS(1925), + [anon_sym_using] = ACTIONS(1925), + [anon_sym_static_assert] = ACTIONS(1925), + [anon_sym_concept] = ACTIONS(1925), + [anon_sym_co_return] = ACTIONS(1925), + [anon_sym_co_yield] = ACTIONS(1925), + [anon_sym_try] = ACTIONS(1925), + [anon_sym_co_await] = ACTIONS(1925), + [anon_sym_new] = ACTIONS(1925), + [anon_sym_requires] = ACTIONS(1925), + [sym_this] = ACTIONS(1925), + [sym_nullptr] = ACTIONS(1925), + [sym_raw_string_literal] = ACTIONS(1927), + }, + [709] = { + [sym_identifier] = ACTIONS(2115), + [aux_sym_preproc_include_token1] = ACTIONS(2115), + [aux_sym_preproc_def_token1] = ACTIONS(2115), + [aux_sym_preproc_if_token1] = ACTIONS(2115), + [aux_sym_preproc_if_token2] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2115), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2115), + [sym_preproc_directive] = ACTIONS(2115), + [anon_sym_LPAREN2] = ACTIONS(2117), + [anon_sym_BANG] = ACTIONS(2117), + [anon_sym_TILDE] = ACTIONS(2117), + [anon_sym_DASH] = ACTIONS(2115), + [anon_sym_PLUS] = ACTIONS(2115), + [anon_sym_STAR] = ACTIONS(2117), + [anon_sym_AMP_AMP] = ACTIONS(2117), + [anon_sym_AMP] = ACTIONS(2115), + [anon_sym_SEMI] = ACTIONS(2117), + [anon_sym_typedef] = ACTIONS(2115), + [anon_sym_extern] = ACTIONS(2115), + [anon_sym___attribute__] = ACTIONS(2115), + [anon_sym_COLON_COLON] = ACTIONS(2117), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2117), + [anon_sym___declspec] = ACTIONS(2115), + [anon_sym___based] = ACTIONS(2115), + [anon_sym___cdecl] = ACTIONS(2115), + [anon_sym___clrcall] = ACTIONS(2115), + [anon_sym___stdcall] = ACTIONS(2115), + [anon_sym___fastcall] = ACTIONS(2115), + [anon_sym___thiscall] = ACTIONS(2115), + [anon_sym___vectorcall] = ACTIONS(2115), + [anon_sym_LBRACE] = ACTIONS(2117), + [anon_sym_LBRACK] = ACTIONS(2115), + [anon_sym_static] = ACTIONS(2115), + [anon_sym_register] = ACTIONS(2115), + [anon_sym_inline] = ACTIONS(2115), + [anon_sym_thread_local] = ACTIONS(2115), + [anon_sym_const] = ACTIONS(2115), + [anon_sym_volatile] = ACTIONS(2115), + [anon_sym_restrict] = ACTIONS(2115), + [anon_sym__Atomic] = ACTIONS(2115), + [anon_sym_mutable] = ACTIONS(2115), + [anon_sym_constexpr] = ACTIONS(2115), + [anon_sym_constinit] = ACTIONS(2115), + [anon_sym_consteval] = ACTIONS(2115), + [anon_sym_signed] = ACTIONS(2115), + [anon_sym_unsigned] = ACTIONS(2115), + [anon_sym_long] = ACTIONS(2115), + [anon_sym_short] = ACTIONS(2115), + [sym_primitive_type] = ACTIONS(2115), + [anon_sym_enum] = ACTIONS(2115), + [anon_sym_class] = ACTIONS(2115), + [anon_sym_struct] = ACTIONS(2115), + [anon_sym_union] = ACTIONS(2115), + [anon_sym_if] = ACTIONS(2115), + [anon_sym_else] = ACTIONS(2115), + [anon_sym_switch] = ACTIONS(2115), + [anon_sym_case] = ACTIONS(2115), + [anon_sym_default] = ACTIONS(2115), + [anon_sym_while] = ACTIONS(2115), + [anon_sym_do] = ACTIONS(2115), + [anon_sym_for] = ACTIONS(2115), + [anon_sym_return] = ACTIONS(2115), + [anon_sym_break] = ACTIONS(2115), + [anon_sym_continue] = ACTIONS(2115), + [anon_sym_goto] = ACTIONS(2115), + [anon_sym_DASH_DASH] = ACTIONS(2117), + [anon_sym_PLUS_PLUS] = ACTIONS(2117), + [anon_sym_sizeof] = ACTIONS(2115), + [sym_number_literal] = ACTIONS(2117), + [anon_sym_L_SQUOTE] = ACTIONS(2117), + [anon_sym_u_SQUOTE] = ACTIONS(2117), + [anon_sym_U_SQUOTE] = ACTIONS(2117), + [anon_sym_u8_SQUOTE] = ACTIONS(2117), + [anon_sym_SQUOTE] = ACTIONS(2117), + [anon_sym_L_DQUOTE] = ACTIONS(2117), + [anon_sym_u_DQUOTE] = ACTIONS(2117), + [anon_sym_U_DQUOTE] = ACTIONS(2117), + [anon_sym_u8_DQUOTE] = ACTIONS(2117), + [anon_sym_DQUOTE] = ACTIONS(2117), + [sym_true] = ACTIONS(2115), + [sym_false] = ACTIONS(2115), + [sym_null] = ACTIONS(2115), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2115), + [anon_sym_decltype] = ACTIONS(2115), + [anon_sym_virtual] = ACTIONS(2115), + [anon_sym_explicit] = ACTIONS(2115), + [anon_sym_typename] = ACTIONS(2115), + [anon_sym_template] = ACTIONS(2115), + [anon_sym_operator] = ACTIONS(2115), + [anon_sym_delete] = ACTIONS(2115), + [anon_sym_throw] = ACTIONS(2115), + [anon_sym_namespace] = ACTIONS(2115), + [anon_sym_using] = ACTIONS(2115), + [anon_sym_static_assert] = ACTIONS(2115), + [anon_sym_concept] = ACTIONS(2115), + [anon_sym_co_return] = ACTIONS(2115), + [anon_sym_co_yield] = ACTIONS(2115), + [anon_sym_try] = ACTIONS(2115), + [anon_sym_co_await] = ACTIONS(2115), + [anon_sym_new] = ACTIONS(2115), + [anon_sym_requires] = ACTIONS(2115), + [sym_this] = ACTIONS(2115), + [sym_nullptr] = ACTIONS(2115), + [sym_raw_string_literal] = ACTIONS(2117), + }, + [710] = { + [sym_identifier] = ACTIONS(2047), + [aux_sym_preproc_include_token1] = ACTIONS(2047), + [aux_sym_preproc_def_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token1] = ACTIONS(2047), + [aux_sym_preproc_if_token2] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2047), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2047), + [sym_preproc_directive] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP_AMP] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2047), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym___based] = ACTIONS(2047), + [anon_sym___cdecl] = ACTIONS(2047), + [anon_sym___clrcall] = ACTIONS(2047), + [anon_sym___stdcall] = ACTIONS(2047), + [anon_sym___fastcall] = ACTIONS(2047), + [anon_sym___thiscall] = ACTIONS(2047), + [anon_sym___vectorcall] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_case] = ACTIONS(2047), + [anon_sym_default] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_explicit] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_operator] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_namespace] = ACTIONS(2047), + [anon_sym_using] = ACTIONS(2047), + [anon_sym_static_assert] = ACTIONS(2047), + [anon_sym_concept] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [711] = { + [sym_identifier] = ACTIONS(2127), + [aux_sym_preproc_include_token1] = ACTIONS(2127), + [aux_sym_preproc_def_token1] = ACTIONS(2127), + [aux_sym_preproc_if_token1] = ACTIONS(2127), + [aux_sym_preproc_if_token2] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2127), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2127), + [sym_preproc_directive] = ACTIONS(2127), + [anon_sym_LPAREN2] = ACTIONS(2129), + [anon_sym_BANG] = ACTIONS(2129), + [anon_sym_TILDE] = ACTIONS(2129), + [anon_sym_DASH] = ACTIONS(2127), + [anon_sym_PLUS] = ACTIONS(2127), + [anon_sym_STAR] = ACTIONS(2129), + [anon_sym_AMP_AMP] = ACTIONS(2129), + [anon_sym_AMP] = ACTIONS(2127), + [anon_sym_SEMI] = ACTIONS(2129), + [anon_sym_typedef] = ACTIONS(2127), + [anon_sym_extern] = ACTIONS(2127), + [anon_sym___attribute__] = ACTIONS(2127), + [anon_sym_COLON_COLON] = ACTIONS(2129), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2129), + [anon_sym___declspec] = ACTIONS(2127), + [anon_sym___based] = ACTIONS(2127), + [anon_sym___cdecl] = ACTIONS(2127), + [anon_sym___clrcall] = ACTIONS(2127), + [anon_sym___stdcall] = ACTIONS(2127), + [anon_sym___fastcall] = ACTIONS(2127), + [anon_sym___thiscall] = ACTIONS(2127), + [anon_sym___vectorcall] = ACTIONS(2127), + [anon_sym_LBRACE] = ACTIONS(2129), + [anon_sym_LBRACK] = ACTIONS(2127), + [anon_sym_static] = ACTIONS(2127), + [anon_sym_register] = ACTIONS(2127), + [anon_sym_inline] = ACTIONS(2127), + [anon_sym_thread_local] = ACTIONS(2127), + [anon_sym_const] = ACTIONS(2127), + [anon_sym_volatile] = ACTIONS(2127), + [anon_sym_restrict] = ACTIONS(2127), + [anon_sym__Atomic] = ACTIONS(2127), + [anon_sym_mutable] = ACTIONS(2127), + [anon_sym_constexpr] = ACTIONS(2127), + [anon_sym_constinit] = ACTIONS(2127), + [anon_sym_consteval] = ACTIONS(2127), + [anon_sym_signed] = ACTIONS(2127), + [anon_sym_unsigned] = ACTIONS(2127), + [anon_sym_long] = ACTIONS(2127), + [anon_sym_short] = ACTIONS(2127), + [sym_primitive_type] = ACTIONS(2127), + [anon_sym_enum] = ACTIONS(2127), + [anon_sym_class] = ACTIONS(2127), + [anon_sym_struct] = ACTIONS(2127), + [anon_sym_union] = ACTIONS(2127), + [anon_sym_if] = ACTIONS(2127), + [anon_sym_else] = ACTIONS(2127), + [anon_sym_switch] = ACTIONS(2127), + [anon_sym_case] = ACTIONS(2127), + [anon_sym_default] = ACTIONS(2127), + [anon_sym_while] = ACTIONS(2127), + [anon_sym_do] = ACTIONS(2127), + [anon_sym_for] = ACTIONS(2127), + [anon_sym_return] = ACTIONS(2127), + [anon_sym_break] = ACTIONS(2127), + [anon_sym_continue] = ACTIONS(2127), + [anon_sym_goto] = ACTIONS(2127), + [anon_sym_DASH_DASH] = ACTIONS(2129), + [anon_sym_PLUS_PLUS] = ACTIONS(2129), + [anon_sym_sizeof] = ACTIONS(2127), + [sym_number_literal] = ACTIONS(2129), + [anon_sym_L_SQUOTE] = ACTIONS(2129), + [anon_sym_u_SQUOTE] = ACTIONS(2129), + [anon_sym_U_SQUOTE] = ACTIONS(2129), + [anon_sym_u8_SQUOTE] = ACTIONS(2129), + [anon_sym_SQUOTE] = ACTIONS(2129), + [anon_sym_L_DQUOTE] = ACTIONS(2129), + [anon_sym_u_DQUOTE] = ACTIONS(2129), + [anon_sym_U_DQUOTE] = ACTIONS(2129), + [anon_sym_u8_DQUOTE] = ACTIONS(2129), + [anon_sym_DQUOTE] = ACTIONS(2129), + [sym_true] = ACTIONS(2127), + [sym_false] = ACTIONS(2127), + [sym_null] = ACTIONS(2127), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2127), + [anon_sym_decltype] = ACTIONS(2127), + [anon_sym_virtual] = ACTIONS(2127), + [anon_sym_explicit] = ACTIONS(2127), + [anon_sym_typename] = ACTIONS(2127), + [anon_sym_template] = ACTIONS(2127), + [anon_sym_operator] = ACTIONS(2127), + [anon_sym_delete] = ACTIONS(2127), + [anon_sym_throw] = ACTIONS(2127), + [anon_sym_namespace] = ACTIONS(2127), + [anon_sym_using] = ACTIONS(2127), + [anon_sym_static_assert] = ACTIONS(2127), + [anon_sym_concept] = ACTIONS(2127), + [anon_sym_co_return] = ACTIONS(2127), + [anon_sym_co_yield] = ACTIONS(2127), + [anon_sym_try] = ACTIONS(2127), + [anon_sym_co_await] = ACTIONS(2127), + [anon_sym_new] = ACTIONS(2127), + [anon_sym_requires] = ACTIONS(2127), + [sym_this] = ACTIONS(2127), + [sym_nullptr] = ACTIONS(2127), + [sym_raw_string_literal] = ACTIONS(2129), + }, + [712] = { + [sym_identifier] = ACTIONS(2123), + [aux_sym_preproc_include_token1] = ACTIONS(2123), + [aux_sym_preproc_def_token1] = ACTIONS(2123), + [aux_sym_preproc_if_token1] = ACTIONS(2123), + [aux_sym_preproc_if_token2] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2123), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2123), + [sym_preproc_directive] = ACTIONS(2123), + [anon_sym_LPAREN2] = ACTIONS(2125), + [anon_sym_BANG] = ACTIONS(2125), + [anon_sym_TILDE] = ACTIONS(2125), + [anon_sym_DASH] = ACTIONS(2123), + [anon_sym_PLUS] = ACTIONS(2123), + [anon_sym_STAR] = ACTIONS(2125), + [anon_sym_AMP_AMP] = ACTIONS(2125), + [anon_sym_AMP] = ACTIONS(2123), + [anon_sym_SEMI] = ACTIONS(2125), + [anon_sym_typedef] = ACTIONS(2123), + [anon_sym_extern] = ACTIONS(2123), + [anon_sym___attribute__] = ACTIONS(2123), + [anon_sym_COLON_COLON] = ACTIONS(2125), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2125), + [anon_sym___declspec] = ACTIONS(2123), + [anon_sym___based] = ACTIONS(2123), + [anon_sym___cdecl] = ACTIONS(2123), + [anon_sym___clrcall] = ACTIONS(2123), + [anon_sym___stdcall] = ACTIONS(2123), + [anon_sym___fastcall] = ACTIONS(2123), + [anon_sym___thiscall] = ACTIONS(2123), + [anon_sym___vectorcall] = ACTIONS(2123), + [anon_sym_LBRACE] = ACTIONS(2125), + [anon_sym_LBRACK] = ACTIONS(2123), + [anon_sym_static] = ACTIONS(2123), + [anon_sym_register] = ACTIONS(2123), + [anon_sym_inline] = ACTIONS(2123), + [anon_sym_thread_local] = ACTIONS(2123), + [anon_sym_const] = ACTIONS(2123), + [anon_sym_volatile] = ACTIONS(2123), + [anon_sym_restrict] = ACTIONS(2123), + [anon_sym__Atomic] = ACTIONS(2123), + [anon_sym_mutable] = ACTIONS(2123), + [anon_sym_constexpr] = ACTIONS(2123), + [anon_sym_constinit] = ACTIONS(2123), + [anon_sym_consteval] = ACTIONS(2123), + [anon_sym_signed] = ACTIONS(2123), + [anon_sym_unsigned] = ACTIONS(2123), + [anon_sym_long] = ACTIONS(2123), + [anon_sym_short] = ACTIONS(2123), + [sym_primitive_type] = ACTIONS(2123), + [anon_sym_enum] = ACTIONS(2123), + [anon_sym_class] = ACTIONS(2123), + [anon_sym_struct] = ACTIONS(2123), + [anon_sym_union] = ACTIONS(2123), + [anon_sym_if] = ACTIONS(2123), + [anon_sym_else] = ACTIONS(2123), + [anon_sym_switch] = ACTIONS(2123), + [anon_sym_case] = ACTIONS(2123), + [anon_sym_default] = ACTIONS(2123), + [anon_sym_while] = ACTIONS(2123), + [anon_sym_do] = ACTIONS(2123), + [anon_sym_for] = ACTIONS(2123), + [anon_sym_return] = ACTIONS(2123), + [anon_sym_break] = ACTIONS(2123), + [anon_sym_continue] = ACTIONS(2123), + [anon_sym_goto] = ACTIONS(2123), + [anon_sym_DASH_DASH] = ACTIONS(2125), + [anon_sym_PLUS_PLUS] = ACTIONS(2125), + [anon_sym_sizeof] = ACTIONS(2123), + [sym_number_literal] = ACTIONS(2125), + [anon_sym_L_SQUOTE] = ACTIONS(2125), + [anon_sym_u_SQUOTE] = ACTIONS(2125), + [anon_sym_U_SQUOTE] = ACTIONS(2125), + [anon_sym_u8_SQUOTE] = ACTIONS(2125), + [anon_sym_SQUOTE] = ACTIONS(2125), + [anon_sym_L_DQUOTE] = ACTIONS(2125), + [anon_sym_u_DQUOTE] = ACTIONS(2125), + [anon_sym_U_DQUOTE] = ACTIONS(2125), + [anon_sym_u8_DQUOTE] = ACTIONS(2125), + [anon_sym_DQUOTE] = ACTIONS(2125), + [sym_true] = ACTIONS(2123), + [sym_false] = ACTIONS(2123), + [sym_null] = ACTIONS(2123), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2123), + [anon_sym_decltype] = ACTIONS(2123), + [anon_sym_virtual] = ACTIONS(2123), + [anon_sym_explicit] = ACTIONS(2123), + [anon_sym_typename] = ACTIONS(2123), + [anon_sym_template] = ACTIONS(2123), + [anon_sym_operator] = ACTIONS(2123), + [anon_sym_delete] = ACTIONS(2123), + [anon_sym_throw] = ACTIONS(2123), + [anon_sym_namespace] = ACTIONS(2123), + [anon_sym_using] = ACTIONS(2123), + [anon_sym_static_assert] = ACTIONS(2123), + [anon_sym_concept] = ACTIONS(2123), + [anon_sym_co_return] = ACTIONS(2123), + [anon_sym_co_yield] = ACTIONS(2123), + [anon_sym_try] = ACTIONS(2123), + [anon_sym_co_await] = ACTIONS(2123), + [anon_sym_new] = ACTIONS(2123), + [anon_sym_requires] = ACTIONS(2123), + [sym_this] = ACTIONS(2123), + [sym_nullptr] = ACTIONS(2123), + [sym_raw_string_literal] = ACTIONS(2125), + }, + [713] = { + [sym_identifier] = ACTIONS(2051), + [aux_sym_preproc_include_token1] = ACTIONS(2051), + [aux_sym_preproc_def_token1] = ACTIONS(2051), + [aux_sym_preproc_if_token1] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2051), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2051), + [sym_preproc_directive] = ACTIONS(2051), + [anon_sym_LPAREN2] = ACTIONS(2053), + [anon_sym_BANG] = ACTIONS(2053), + [anon_sym_TILDE] = ACTIONS(2053), + [anon_sym_DASH] = ACTIONS(2051), + [anon_sym_PLUS] = ACTIONS(2051), + [anon_sym_STAR] = ACTIONS(2053), + [anon_sym_AMP_AMP] = ACTIONS(2053), + [anon_sym_AMP] = ACTIONS(2051), + [anon_sym_SEMI] = ACTIONS(2053), + [anon_sym_typedef] = ACTIONS(2051), + [anon_sym_extern] = ACTIONS(2051), + [anon_sym___attribute__] = ACTIONS(2051), + [anon_sym_COLON_COLON] = ACTIONS(2053), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2053), + [anon_sym___declspec] = ACTIONS(2051), + [anon_sym___based] = ACTIONS(2051), + [anon_sym___cdecl] = ACTIONS(2051), + [anon_sym___clrcall] = ACTIONS(2051), + [anon_sym___stdcall] = ACTIONS(2051), + [anon_sym___fastcall] = ACTIONS(2051), + [anon_sym___thiscall] = ACTIONS(2051), + [anon_sym___vectorcall] = ACTIONS(2051), + [anon_sym_LBRACE] = ACTIONS(2053), + [anon_sym_RBRACE] = ACTIONS(2053), + [anon_sym_LBRACK] = ACTIONS(2051), + [anon_sym_static] = ACTIONS(2051), + [anon_sym_register] = ACTIONS(2051), + [anon_sym_inline] = ACTIONS(2051), + [anon_sym_thread_local] = ACTIONS(2051), + [anon_sym_const] = ACTIONS(2051), + [anon_sym_volatile] = ACTIONS(2051), + [anon_sym_restrict] = ACTIONS(2051), + [anon_sym__Atomic] = ACTIONS(2051), + [anon_sym_mutable] = ACTIONS(2051), + [anon_sym_constexpr] = ACTIONS(2051), + [anon_sym_constinit] = ACTIONS(2051), + [anon_sym_consteval] = ACTIONS(2051), + [anon_sym_signed] = ACTIONS(2051), + [anon_sym_unsigned] = ACTIONS(2051), + [anon_sym_long] = ACTIONS(2051), + [anon_sym_short] = ACTIONS(2051), + [sym_primitive_type] = ACTIONS(2051), + [anon_sym_enum] = ACTIONS(2051), + [anon_sym_class] = ACTIONS(2051), + [anon_sym_struct] = ACTIONS(2051), + [anon_sym_union] = ACTIONS(2051), + [anon_sym_if] = ACTIONS(2051), + [anon_sym_else] = ACTIONS(2051), + [anon_sym_switch] = ACTIONS(2051), + [anon_sym_case] = ACTIONS(2051), + [anon_sym_default] = ACTIONS(2051), + [anon_sym_while] = ACTIONS(2051), + [anon_sym_do] = ACTIONS(2051), + [anon_sym_for] = ACTIONS(2051), + [anon_sym_return] = ACTIONS(2051), + [anon_sym_break] = ACTIONS(2051), + [anon_sym_continue] = ACTIONS(2051), + [anon_sym_goto] = ACTIONS(2051), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2051), + [sym_number_literal] = ACTIONS(2053), + [anon_sym_L_SQUOTE] = ACTIONS(2053), + [anon_sym_u_SQUOTE] = ACTIONS(2053), + [anon_sym_U_SQUOTE] = ACTIONS(2053), + [anon_sym_u8_SQUOTE] = ACTIONS(2053), + [anon_sym_SQUOTE] = ACTIONS(2053), + [anon_sym_L_DQUOTE] = ACTIONS(2053), + [anon_sym_u_DQUOTE] = ACTIONS(2053), + [anon_sym_U_DQUOTE] = ACTIONS(2053), + [anon_sym_u8_DQUOTE] = ACTIONS(2053), + [anon_sym_DQUOTE] = ACTIONS(2053), + [sym_true] = ACTIONS(2051), + [sym_false] = ACTIONS(2051), + [sym_null] = ACTIONS(2051), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2051), + [anon_sym_decltype] = ACTIONS(2051), + [anon_sym_virtual] = ACTIONS(2051), + [anon_sym_explicit] = ACTIONS(2051), + [anon_sym_typename] = ACTIONS(2051), + [anon_sym_template] = ACTIONS(2051), + [anon_sym_operator] = ACTIONS(2051), + [anon_sym_delete] = ACTIONS(2051), + [anon_sym_throw] = ACTIONS(2051), + [anon_sym_namespace] = ACTIONS(2051), + [anon_sym_using] = ACTIONS(2051), + [anon_sym_static_assert] = ACTIONS(2051), + [anon_sym_concept] = ACTIONS(2051), + [anon_sym_co_return] = ACTIONS(2051), + [anon_sym_co_yield] = ACTIONS(2051), + [anon_sym_try] = ACTIONS(2051), + [anon_sym_co_await] = ACTIONS(2051), + [anon_sym_new] = ACTIONS(2051), + [anon_sym_requires] = ACTIONS(2051), + [sym_this] = ACTIONS(2051), + [sym_nullptr] = ACTIONS(2051), + [sym_raw_string_literal] = ACTIONS(2053), + }, + [714] = { + [sym_identifier] = ACTIONS(2221), + [aux_sym_preproc_include_token1] = ACTIONS(2221), + [aux_sym_preproc_def_token1] = ACTIONS(2221), + [aux_sym_preproc_if_token1] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2221), + [sym_preproc_directive] = ACTIONS(2221), + [anon_sym_LPAREN2] = ACTIONS(2223), + [anon_sym_BANG] = ACTIONS(2223), + [anon_sym_TILDE] = ACTIONS(2223), + [anon_sym_DASH] = ACTIONS(2221), + [anon_sym_PLUS] = ACTIONS(2221), + [anon_sym_STAR] = ACTIONS(2223), + [anon_sym_AMP_AMP] = ACTIONS(2223), + [anon_sym_AMP] = ACTIONS(2221), + [anon_sym_SEMI] = ACTIONS(2223), + [anon_sym_typedef] = ACTIONS(2221), + [anon_sym_extern] = ACTIONS(2221), + [anon_sym___attribute__] = ACTIONS(2221), + [anon_sym_COLON_COLON] = ACTIONS(2223), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2223), + [anon_sym___declspec] = ACTIONS(2221), + [anon_sym___based] = ACTIONS(2221), + [anon_sym___cdecl] = ACTIONS(2221), + [anon_sym___clrcall] = ACTIONS(2221), + [anon_sym___stdcall] = ACTIONS(2221), + [anon_sym___fastcall] = ACTIONS(2221), + [anon_sym___thiscall] = ACTIONS(2221), + [anon_sym___vectorcall] = ACTIONS(2221), + [anon_sym_LBRACE] = ACTIONS(2223), + [anon_sym_RBRACE] = ACTIONS(2223), + [anon_sym_LBRACK] = ACTIONS(2221), + [anon_sym_static] = ACTIONS(2221), + [anon_sym_register] = ACTIONS(2221), + [anon_sym_inline] = ACTIONS(2221), + [anon_sym_thread_local] = ACTIONS(2221), + [anon_sym_const] = ACTIONS(2221), + [anon_sym_volatile] = ACTIONS(2221), + [anon_sym_restrict] = ACTIONS(2221), + [anon_sym__Atomic] = ACTIONS(2221), + [anon_sym_mutable] = ACTIONS(2221), + [anon_sym_constexpr] = ACTIONS(2221), + [anon_sym_constinit] = ACTIONS(2221), + [anon_sym_consteval] = ACTIONS(2221), + [anon_sym_signed] = ACTIONS(2221), + [anon_sym_unsigned] = ACTIONS(2221), + [anon_sym_long] = ACTIONS(2221), + [anon_sym_short] = ACTIONS(2221), + [sym_primitive_type] = ACTIONS(2221), + [anon_sym_enum] = ACTIONS(2221), + [anon_sym_class] = ACTIONS(2221), + [anon_sym_struct] = ACTIONS(2221), + [anon_sym_union] = ACTIONS(2221), + [anon_sym_if] = ACTIONS(2221), + [anon_sym_switch] = ACTIONS(2221), + [anon_sym_case] = ACTIONS(2221), + [anon_sym_default] = ACTIONS(2221), + [anon_sym_while] = ACTIONS(2221), + [anon_sym_do] = ACTIONS(2221), + [anon_sym_for] = ACTIONS(2221), + [anon_sym_return] = ACTIONS(2221), + [anon_sym_break] = ACTIONS(2221), + [anon_sym_continue] = ACTIONS(2221), + [anon_sym_goto] = ACTIONS(2221), + [anon_sym_DASH_DASH] = ACTIONS(2223), + [anon_sym_PLUS_PLUS] = ACTIONS(2223), + [anon_sym_sizeof] = ACTIONS(2221), + [sym_number_literal] = ACTIONS(2223), + [anon_sym_L_SQUOTE] = ACTIONS(2223), + [anon_sym_u_SQUOTE] = ACTIONS(2223), + [anon_sym_U_SQUOTE] = ACTIONS(2223), + [anon_sym_u8_SQUOTE] = ACTIONS(2223), + [anon_sym_SQUOTE] = ACTIONS(2223), + [anon_sym_L_DQUOTE] = ACTIONS(2223), + [anon_sym_u_DQUOTE] = ACTIONS(2223), + [anon_sym_U_DQUOTE] = ACTIONS(2223), + [anon_sym_u8_DQUOTE] = ACTIONS(2223), + [anon_sym_DQUOTE] = ACTIONS(2223), + [sym_true] = ACTIONS(2221), + [sym_false] = ACTIONS(2221), + [sym_null] = ACTIONS(2221), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2221), + [anon_sym_decltype] = ACTIONS(2221), + [anon_sym_virtual] = ACTIONS(2221), + [anon_sym_explicit] = ACTIONS(2221), + [anon_sym_typename] = ACTIONS(2221), + [anon_sym_template] = ACTIONS(2221), + [anon_sym_operator] = ACTIONS(2221), + [anon_sym_delete] = ACTIONS(2221), + [anon_sym_throw] = ACTIONS(2221), + [anon_sym_namespace] = ACTIONS(2221), + [anon_sym_using] = ACTIONS(2221), + [anon_sym_static_assert] = ACTIONS(2221), + [anon_sym_concept] = ACTIONS(2221), + [anon_sym_co_return] = ACTIONS(2221), + [anon_sym_co_yield] = ACTIONS(2221), + [anon_sym_try] = ACTIONS(2221), + [anon_sym_co_await] = ACTIONS(2221), + [anon_sym_new] = ACTIONS(2221), + [anon_sym_requires] = ACTIONS(2221), + [sym_this] = ACTIONS(2221), + [sym_nullptr] = ACTIONS(2221), + [sym_raw_string_literal] = ACTIONS(2223), + }, + [715] = { + [ts_builtin_sym_end] = ACTIONS(2361), + [sym_identifier] = ACTIONS(2359), + [aux_sym_preproc_include_token1] = ACTIONS(2359), + [aux_sym_preproc_def_token1] = ACTIONS(2359), + [aux_sym_preproc_if_token1] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2359), + [sym_preproc_directive] = ACTIONS(2359), + [anon_sym_LPAREN2] = ACTIONS(2361), + [anon_sym_BANG] = ACTIONS(2361), + [anon_sym_TILDE] = ACTIONS(2361), + [anon_sym_DASH] = ACTIONS(2359), + [anon_sym_PLUS] = ACTIONS(2359), + [anon_sym_STAR] = ACTIONS(2361), + [anon_sym_AMP_AMP] = ACTIONS(2361), + [anon_sym_AMP] = ACTIONS(2359), + [anon_sym_SEMI] = ACTIONS(2361), + [anon_sym_typedef] = ACTIONS(2359), + [anon_sym_extern] = ACTIONS(2359), + [anon_sym___attribute__] = ACTIONS(2359), + [anon_sym_COLON_COLON] = ACTIONS(2361), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2361), + [anon_sym___declspec] = ACTIONS(2359), + [anon_sym___based] = ACTIONS(2359), + [anon_sym___cdecl] = ACTIONS(2359), + [anon_sym___clrcall] = ACTIONS(2359), + [anon_sym___stdcall] = ACTIONS(2359), + [anon_sym___fastcall] = ACTIONS(2359), + [anon_sym___thiscall] = ACTIONS(2359), + [anon_sym___vectorcall] = ACTIONS(2359), + [anon_sym_LBRACE] = ACTIONS(2361), + [anon_sym_LBRACK] = ACTIONS(2359), + [anon_sym_static] = ACTIONS(2359), + [anon_sym_register] = ACTIONS(2359), + [anon_sym_inline] = ACTIONS(2359), + [anon_sym_thread_local] = ACTIONS(2359), + [anon_sym_const] = ACTIONS(2359), + [anon_sym_volatile] = ACTIONS(2359), + [anon_sym_restrict] = ACTIONS(2359), + [anon_sym__Atomic] = ACTIONS(2359), + [anon_sym_mutable] = ACTIONS(2359), + [anon_sym_constexpr] = ACTIONS(2359), + [anon_sym_constinit] = ACTIONS(2359), + [anon_sym_consteval] = ACTIONS(2359), + [anon_sym_signed] = ACTIONS(2359), + [anon_sym_unsigned] = ACTIONS(2359), + [anon_sym_long] = ACTIONS(2359), + [anon_sym_short] = ACTIONS(2359), + [sym_primitive_type] = ACTIONS(2359), + [anon_sym_enum] = ACTIONS(2359), + [anon_sym_class] = ACTIONS(2359), + [anon_sym_struct] = ACTIONS(2359), + [anon_sym_union] = ACTIONS(2359), + [anon_sym_if] = ACTIONS(2359), + [anon_sym_switch] = ACTIONS(2359), + [anon_sym_case] = ACTIONS(2359), + [anon_sym_default] = ACTIONS(2359), + [anon_sym_while] = ACTIONS(2359), + [anon_sym_do] = ACTIONS(2359), + [anon_sym_for] = ACTIONS(2359), + [anon_sym_return] = ACTIONS(2359), + [anon_sym_break] = ACTIONS(2359), + [anon_sym_continue] = ACTIONS(2359), + [anon_sym_goto] = ACTIONS(2359), + [anon_sym_DASH_DASH] = ACTIONS(2361), + [anon_sym_PLUS_PLUS] = ACTIONS(2361), + [anon_sym_sizeof] = ACTIONS(2359), + [sym_number_literal] = ACTIONS(2361), + [anon_sym_L_SQUOTE] = ACTIONS(2361), + [anon_sym_u_SQUOTE] = ACTIONS(2361), + [anon_sym_U_SQUOTE] = ACTIONS(2361), + [anon_sym_u8_SQUOTE] = ACTIONS(2361), + [anon_sym_SQUOTE] = ACTIONS(2361), + [anon_sym_L_DQUOTE] = ACTIONS(2361), + [anon_sym_u_DQUOTE] = ACTIONS(2361), + [anon_sym_U_DQUOTE] = ACTIONS(2361), + [anon_sym_u8_DQUOTE] = ACTIONS(2361), + [anon_sym_DQUOTE] = ACTIONS(2361), + [sym_true] = ACTIONS(2359), + [sym_false] = ACTIONS(2359), + [sym_null] = ACTIONS(2359), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2359), + [anon_sym_decltype] = ACTIONS(2359), + [anon_sym_virtual] = ACTIONS(2359), + [anon_sym_explicit] = ACTIONS(2359), + [anon_sym_typename] = ACTIONS(2359), + [anon_sym_template] = ACTIONS(2359), + [anon_sym_operator] = ACTIONS(2359), + [anon_sym_delete] = ACTIONS(2359), + [anon_sym_throw] = ACTIONS(2359), + [anon_sym_namespace] = ACTIONS(2359), + [anon_sym_using] = ACTIONS(2359), + [anon_sym_static_assert] = ACTIONS(2359), + [anon_sym_concept] = ACTIONS(2359), + [anon_sym_co_return] = ACTIONS(2359), + [anon_sym_co_yield] = ACTIONS(2359), + [anon_sym_try] = ACTIONS(2359), + [anon_sym_co_await] = ACTIONS(2359), + [anon_sym_new] = ACTIONS(2359), + [anon_sym_requires] = ACTIONS(2359), + [sym_this] = ACTIONS(2359), + [sym_nullptr] = ACTIONS(2359), + [sym_raw_string_literal] = ACTIONS(2361), + }, + [716] = { + [sym_identifier] = ACTIONS(2335), + [aux_sym_preproc_include_token1] = ACTIONS(2335), + [aux_sym_preproc_def_token1] = ACTIONS(2335), + [aux_sym_preproc_if_token1] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2335), + [sym_preproc_directive] = ACTIONS(2335), + [anon_sym_LPAREN2] = ACTIONS(2337), + [anon_sym_BANG] = ACTIONS(2337), + [anon_sym_TILDE] = ACTIONS(2337), + [anon_sym_DASH] = ACTIONS(2335), + [anon_sym_PLUS] = ACTIONS(2335), + [anon_sym_STAR] = ACTIONS(2337), + [anon_sym_AMP_AMP] = ACTIONS(2337), + [anon_sym_AMP] = ACTIONS(2335), + [anon_sym_SEMI] = ACTIONS(2337), + [anon_sym_typedef] = ACTIONS(2335), + [anon_sym_extern] = ACTIONS(2335), + [anon_sym___attribute__] = ACTIONS(2335), + [anon_sym_COLON_COLON] = ACTIONS(2337), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2337), + [anon_sym___declspec] = ACTIONS(2335), + [anon_sym___based] = ACTIONS(2335), + [anon_sym___cdecl] = ACTIONS(2335), + [anon_sym___clrcall] = ACTIONS(2335), + [anon_sym___stdcall] = ACTIONS(2335), + [anon_sym___fastcall] = ACTIONS(2335), + [anon_sym___thiscall] = ACTIONS(2335), + [anon_sym___vectorcall] = ACTIONS(2335), + [anon_sym_LBRACE] = ACTIONS(2337), + [anon_sym_RBRACE] = ACTIONS(2337), + [anon_sym_LBRACK] = ACTIONS(2335), + [anon_sym_static] = ACTIONS(2335), + [anon_sym_register] = ACTIONS(2335), + [anon_sym_inline] = ACTIONS(2335), + [anon_sym_thread_local] = ACTIONS(2335), + [anon_sym_const] = ACTIONS(2335), + [anon_sym_volatile] = ACTIONS(2335), + [anon_sym_restrict] = ACTIONS(2335), + [anon_sym__Atomic] = ACTIONS(2335), + [anon_sym_mutable] = ACTIONS(2335), + [anon_sym_constexpr] = ACTIONS(2335), + [anon_sym_constinit] = ACTIONS(2335), + [anon_sym_consteval] = ACTIONS(2335), + [anon_sym_signed] = ACTIONS(2335), + [anon_sym_unsigned] = ACTIONS(2335), + [anon_sym_long] = ACTIONS(2335), + [anon_sym_short] = ACTIONS(2335), + [sym_primitive_type] = ACTIONS(2335), + [anon_sym_enum] = ACTIONS(2335), + [anon_sym_class] = ACTIONS(2335), + [anon_sym_struct] = ACTIONS(2335), + [anon_sym_union] = ACTIONS(2335), + [anon_sym_if] = ACTIONS(2335), + [anon_sym_switch] = ACTIONS(2335), + [anon_sym_case] = ACTIONS(2335), + [anon_sym_default] = ACTIONS(2335), + [anon_sym_while] = ACTIONS(2335), + [anon_sym_do] = ACTIONS(2335), + [anon_sym_for] = ACTIONS(2335), + [anon_sym_return] = ACTIONS(2335), + [anon_sym_break] = ACTIONS(2335), + [anon_sym_continue] = ACTIONS(2335), + [anon_sym_goto] = ACTIONS(2335), + [anon_sym_DASH_DASH] = ACTIONS(2337), + [anon_sym_PLUS_PLUS] = ACTIONS(2337), + [anon_sym_sizeof] = ACTIONS(2335), + [sym_number_literal] = ACTIONS(2337), + [anon_sym_L_SQUOTE] = ACTIONS(2337), + [anon_sym_u_SQUOTE] = ACTIONS(2337), + [anon_sym_U_SQUOTE] = ACTIONS(2337), + [anon_sym_u8_SQUOTE] = ACTIONS(2337), + [anon_sym_SQUOTE] = ACTIONS(2337), + [anon_sym_L_DQUOTE] = ACTIONS(2337), + [anon_sym_u_DQUOTE] = ACTIONS(2337), + [anon_sym_U_DQUOTE] = ACTIONS(2337), + [anon_sym_u8_DQUOTE] = ACTIONS(2337), + [anon_sym_DQUOTE] = ACTIONS(2337), + [sym_true] = ACTIONS(2335), + [sym_false] = ACTIONS(2335), + [sym_null] = ACTIONS(2335), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2335), + [anon_sym_decltype] = ACTIONS(2335), + [anon_sym_virtual] = ACTIONS(2335), + [anon_sym_explicit] = ACTIONS(2335), + [anon_sym_typename] = ACTIONS(2335), + [anon_sym_template] = ACTIONS(2335), + [anon_sym_operator] = ACTIONS(2335), + [anon_sym_delete] = ACTIONS(2335), + [anon_sym_throw] = ACTIONS(2335), + [anon_sym_namespace] = ACTIONS(2335), + [anon_sym_using] = ACTIONS(2335), + [anon_sym_static_assert] = ACTIONS(2335), + [anon_sym_concept] = ACTIONS(2335), + [anon_sym_co_return] = ACTIONS(2335), + [anon_sym_co_yield] = ACTIONS(2335), + [anon_sym_try] = ACTIONS(2335), + [anon_sym_co_await] = ACTIONS(2335), + [anon_sym_new] = ACTIONS(2335), + [anon_sym_requires] = ACTIONS(2335), + [sym_this] = ACTIONS(2335), + [sym_nullptr] = ACTIONS(2335), + [sym_raw_string_literal] = ACTIONS(2337), + }, + [717] = { + [sym_identifier] = ACTIONS(2339), + [aux_sym_preproc_include_token1] = ACTIONS(2339), + [aux_sym_preproc_def_token1] = ACTIONS(2339), + [aux_sym_preproc_if_token1] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2339), + [sym_preproc_directive] = ACTIONS(2339), + [anon_sym_LPAREN2] = ACTIONS(2341), + [anon_sym_BANG] = ACTIONS(2341), + [anon_sym_TILDE] = ACTIONS(2341), + [anon_sym_DASH] = ACTIONS(2339), + [anon_sym_PLUS] = ACTIONS(2339), + [anon_sym_STAR] = ACTIONS(2341), + [anon_sym_AMP_AMP] = ACTIONS(2341), + [anon_sym_AMP] = ACTIONS(2339), + [anon_sym_SEMI] = ACTIONS(2341), + [anon_sym_typedef] = ACTIONS(2339), + [anon_sym_extern] = ACTIONS(2339), + [anon_sym___attribute__] = ACTIONS(2339), + [anon_sym_COLON_COLON] = ACTIONS(2341), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2341), + [anon_sym___declspec] = ACTIONS(2339), + [anon_sym___based] = ACTIONS(2339), + [anon_sym___cdecl] = ACTIONS(2339), + [anon_sym___clrcall] = ACTIONS(2339), + [anon_sym___stdcall] = ACTIONS(2339), + [anon_sym___fastcall] = ACTIONS(2339), + [anon_sym___thiscall] = ACTIONS(2339), + [anon_sym___vectorcall] = ACTIONS(2339), + [anon_sym_LBRACE] = ACTIONS(2341), + [anon_sym_RBRACE] = ACTIONS(2341), + [anon_sym_LBRACK] = ACTIONS(2339), + [anon_sym_static] = ACTIONS(2339), + [anon_sym_register] = ACTIONS(2339), + [anon_sym_inline] = ACTIONS(2339), + [anon_sym_thread_local] = ACTIONS(2339), + [anon_sym_const] = ACTIONS(2339), + [anon_sym_volatile] = ACTIONS(2339), + [anon_sym_restrict] = ACTIONS(2339), + [anon_sym__Atomic] = ACTIONS(2339), + [anon_sym_mutable] = ACTIONS(2339), + [anon_sym_constexpr] = ACTIONS(2339), + [anon_sym_constinit] = ACTIONS(2339), + [anon_sym_consteval] = ACTIONS(2339), + [anon_sym_signed] = ACTIONS(2339), + [anon_sym_unsigned] = ACTIONS(2339), + [anon_sym_long] = ACTIONS(2339), + [anon_sym_short] = ACTIONS(2339), + [sym_primitive_type] = ACTIONS(2339), + [anon_sym_enum] = ACTIONS(2339), + [anon_sym_class] = ACTIONS(2339), + [anon_sym_struct] = ACTIONS(2339), + [anon_sym_union] = ACTIONS(2339), + [anon_sym_if] = ACTIONS(2339), + [anon_sym_switch] = ACTIONS(2339), + [anon_sym_case] = ACTIONS(2339), + [anon_sym_default] = ACTIONS(2339), + [anon_sym_while] = ACTIONS(2339), + [anon_sym_do] = ACTIONS(2339), + [anon_sym_for] = ACTIONS(2339), + [anon_sym_return] = ACTIONS(2339), + [anon_sym_break] = ACTIONS(2339), + [anon_sym_continue] = ACTIONS(2339), + [anon_sym_goto] = ACTIONS(2339), + [anon_sym_DASH_DASH] = ACTIONS(2341), + [anon_sym_PLUS_PLUS] = ACTIONS(2341), + [anon_sym_sizeof] = ACTIONS(2339), + [sym_number_literal] = ACTIONS(2341), + [anon_sym_L_SQUOTE] = ACTIONS(2341), + [anon_sym_u_SQUOTE] = ACTIONS(2341), + [anon_sym_U_SQUOTE] = ACTIONS(2341), + [anon_sym_u8_SQUOTE] = ACTIONS(2341), + [anon_sym_SQUOTE] = ACTIONS(2341), + [anon_sym_L_DQUOTE] = ACTIONS(2341), + [anon_sym_u_DQUOTE] = ACTIONS(2341), + [anon_sym_U_DQUOTE] = ACTIONS(2341), + [anon_sym_u8_DQUOTE] = ACTIONS(2341), + [anon_sym_DQUOTE] = ACTIONS(2341), + [sym_true] = ACTIONS(2339), + [sym_false] = ACTIONS(2339), + [sym_null] = ACTIONS(2339), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2339), + [anon_sym_decltype] = ACTIONS(2339), + [anon_sym_virtual] = ACTIONS(2339), + [anon_sym_explicit] = ACTIONS(2339), + [anon_sym_typename] = ACTIONS(2339), + [anon_sym_template] = ACTIONS(2339), + [anon_sym_operator] = ACTIONS(2339), + [anon_sym_delete] = ACTIONS(2339), + [anon_sym_throw] = ACTIONS(2339), + [anon_sym_namespace] = ACTIONS(2339), + [anon_sym_using] = ACTIONS(2339), + [anon_sym_static_assert] = ACTIONS(2339), + [anon_sym_concept] = ACTIONS(2339), + [anon_sym_co_return] = ACTIONS(2339), + [anon_sym_co_yield] = ACTIONS(2339), + [anon_sym_try] = ACTIONS(2339), + [anon_sym_co_await] = ACTIONS(2339), + [anon_sym_new] = ACTIONS(2339), + [anon_sym_requires] = ACTIONS(2339), + [sym_this] = ACTIONS(2339), + [sym_nullptr] = ACTIONS(2339), + [sym_raw_string_literal] = ACTIONS(2341), + }, + [718] = { + [ts_builtin_sym_end] = ACTIONS(2367), + [sym_identifier] = ACTIONS(2365), + [aux_sym_preproc_include_token1] = ACTIONS(2365), + [aux_sym_preproc_def_token1] = ACTIONS(2365), + [aux_sym_preproc_if_token1] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2365), + [sym_preproc_directive] = ACTIONS(2365), + [anon_sym_LPAREN2] = ACTIONS(2367), + [anon_sym_BANG] = ACTIONS(2367), + [anon_sym_TILDE] = ACTIONS(2367), + [anon_sym_DASH] = ACTIONS(2365), + [anon_sym_PLUS] = ACTIONS(2365), + [anon_sym_STAR] = ACTIONS(2367), + [anon_sym_AMP_AMP] = ACTIONS(2367), + [anon_sym_AMP] = ACTIONS(2365), + [anon_sym_SEMI] = ACTIONS(2367), + [anon_sym_typedef] = ACTIONS(2365), + [anon_sym_extern] = ACTIONS(2365), + [anon_sym___attribute__] = ACTIONS(2365), + [anon_sym_COLON_COLON] = ACTIONS(2367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2367), + [anon_sym___declspec] = ACTIONS(2365), + [anon_sym___based] = ACTIONS(2365), + [anon_sym___cdecl] = ACTIONS(2365), + [anon_sym___clrcall] = ACTIONS(2365), + [anon_sym___stdcall] = ACTIONS(2365), + [anon_sym___fastcall] = ACTIONS(2365), + [anon_sym___thiscall] = ACTIONS(2365), + [anon_sym___vectorcall] = ACTIONS(2365), + [anon_sym_LBRACE] = ACTIONS(2367), + [anon_sym_LBRACK] = ACTIONS(2365), + [anon_sym_static] = ACTIONS(2365), + [anon_sym_register] = ACTIONS(2365), + [anon_sym_inline] = ACTIONS(2365), + [anon_sym_thread_local] = ACTIONS(2365), + [anon_sym_const] = ACTIONS(2365), + [anon_sym_volatile] = ACTIONS(2365), + [anon_sym_restrict] = ACTIONS(2365), + [anon_sym__Atomic] = ACTIONS(2365), + [anon_sym_mutable] = ACTIONS(2365), + [anon_sym_constexpr] = ACTIONS(2365), + [anon_sym_constinit] = ACTIONS(2365), + [anon_sym_consteval] = ACTIONS(2365), + [anon_sym_signed] = ACTIONS(2365), + [anon_sym_unsigned] = ACTIONS(2365), + [anon_sym_long] = ACTIONS(2365), + [anon_sym_short] = ACTIONS(2365), + [sym_primitive_type] = ACTIONS(2365), + [anon_sym_enum] = ACTIONS(2365), + [anon_sym_class] = ACTIONS(2365), + [anon_sym_struct] = ACTIONS(2365), + [anon_sym_union] = ACTIONS(2365), + [anon_sym_if] = ACTIONS(2365), + [anon_sym_switch] = ACTIONS(2365), + [anon_sym_case] = ACTIONS(2365), + [anon_sym_default] = ACTIONS(2365), + [anon_sym_while] = ACTIONS(2365), + [anon_sym_do] = ACTIONS(2365), + [anon_sym_for] = ACTIONS(2365), + [anon_sym_return] = ACTIONS(2365), + [anon_sym_break] = ACTIONS(2365), + [anon_sym_continue] = ACTIONS(2365), + [anon_sym_goto] = ACTIONS(2365), + [anon_sym_DASH_DASH] = ACTIONS(2367), + [anon_sym_PLUS_PLUS] = ACTIONS(2367), + [anon_sym_sizeof] = ACTIONS(2365), + [sym_number_literal] = ACTIONS(2367), + [anon_sym_L_SQUOTE] = ACTIONS(2367), + [anon_sym_u_SQUOTE] = ACTIONS(2367), + [anon_sym_U_SQUOTE] = ACTIONS(2367), + [anon_sym_u8_SQUOTE] = ACTIONS(2367), + [anon_sym_SQUOTE] = ACTIONS(2367), + [anon_sym_L_DQUOTE] = ACTIONS(2367), + [anon_sym_u_DQUOTE] = ACTIONS(2367), + [anon_sym_U_DQUOTE] = ACTIONS(2367), + [anon_sym_u8_DQUOTE] = ACTIONS(2367), + [anon_sym_DQUOTE] = ACTIONS(2367), + [sym_true] = ACTIONS(2365), + [sym_false] = ACTIONS(2365), + [sym_null] = ACTIONS(2365), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2365), + [anon_sym_decltype] = ACTIONS(2365), + [anon_sym_virtual] = ACTIONS(2365), + [anon_sym_explicit] = ACTIONS(2365), + [anon_sym_typename] = ACTIONS(2365), + [anon_sym_template] = ACTIONS(2365), + [anon_sym_operator] = ACTIONS(2365), + [anon_sym_delete] = ACTIONS(2365), + [anon_sym_throw] = ACTIONS(2365), + [anon_sym_namespace] = ACTIONS(2365), + [anon_sym_using] = ACTIONS(2365), + [anon_sym_static_assert] = ACTIONS(2365), + [anon_sym_concept] = ACTIONS(2365), + [anon_sym_co_return] = ACTIONS(2365), + [anon_sym_co_yield] = ACTIONS(2365), + [anon_sym_try] = ACTIONS(2365), + [anon_sym_co_await] = ACTIONS(2365), + [anon_sym_new] = ACTIONS(2365), + [anon_sym_requires] = ACTIONS(2365), + [sym_this] = ACTIONS(2365), + [sym_nullptr] = ACTIONS(2365), + [sym_raw_string_literal] = ACTIONS(2367), + }, + [719] = { + [sym_identifier] = ACTIONS(2231), + [aux_sym_preproc_include_token1] = ACTIONS(2231), + [aux_sym_preproc_def_token1] = ACTIONS(2231), + [aux_sym_preproc_if_token1] = ACTIONS(2231), + [aux_sym_preproc_if_token2] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2231), + [sym_preproc_directive] = ACTIONS(2231), + [anon_sym_LPAREN2] = ACTIONS(2233), + [anon_sym_BANG] = ACTIONS(2233), + [anon_sym_TILDE] = ACTIONS(2233), + [anon_sym_DASH] = ACTIONS(2231), + [anon_sym_PLUS] = ACTIONS(2231), + [anon_sym_STAR] = ACTIONS(2233), + [anon_sym_AMP_AMP] = ACTIONS(2233), + [anon_sym_AMP] = ACTIONS(2231), + [anon_sym_SEMI] = ACTIONS(2233), + [anon_sym_typedef] = ACTIONS(2231), + [anon_sym_extern] = ACTIONS(2231), + [anon_sym___attribute__] = ACTIONS(2231), + [anon_sym_COLON_COLON] = ACTIONS(2233), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2233), + [anon_sym___declspec] = ACTIONS(2231), + [anon_sym___based] = ACTIONS(2231), + [anon_sym___cdecl] = ACTIONS(2231), + [anon_sym___clrcall] = ACTIONS(2231), + [anon_sym___stdcall] = ACTIONS(2231), + [anon_sym___fastcall] = ACTIONS(2231), + [anon_sym___thiscall] = ACTIONS(2231), + [anon_sym___vectorcall] = ACTIONS(2231), + [anon_sym_LBRACE] = ACTIONS(2233), + [anon_sym_LBRACK] = ACTIONS(2231), + [anon_sym_static] = ACTIONS(2231), + [anon_sym_register] = ACTIONS(2231), + [anon_sym_inline] = ACTIONS(2231), + [anon_sym_thread_local] = ACTIONS(2231), + [anon_sym_const] = ACTIONS(2231), + [anon_sym_volatile] = ACTIONS(2231), + [anon_sym_restrict] = ACTIONS(2231), + [anon_sym__Atomic] = ACTIONS(2231), + [anon_sym_mutable] = ACTIONS(2231), + [anon_sym_constexpr] = ACTIONS(2231), + [anon_sym_constinit] = ACTIONS(2231), + [anon_sym_consteval] = ACTIONS(2231), + [anon_sym_signed] = ACTIONS(2231), + [anon_sym_unsigned] = ACTIONS(2231), + [anon_sym_long] = ACTIONS(2231), + [anon_sym_short] = ACTIONS(2231), + [sym_primitive_type] = ACTIONS(2231), + [anon_sym_enum] = ACTIONS(2231), + [anon_sym_class] = ACTIONS(2231), + [anon_sym_struct] = ACTIONS(2231), + [anon_sym_union] = ACTIONS(2231), + [anon_sym_if] = ACTIONS(2231), + [anon_sym_switch] = ACTIONS(2231), + [anon_sym_case] = ACTIONS(2231), + [anon_sym_default] = ACTIONS(2231), + [anon_sym_while] = ACTIONS(2231), + [anon_sym_do] = ACTIONS(2231), + [anon_sym_for] = ACTIONS(2231), + [anon_sym_return] = ACTIONS(2231), + [anon_sym_break] = ACTIONS(2231), + [anon_sym_continue] = ACTIONS(2231), + [anon_sym_goto] = ACTIONS(2231), + [anon_sym_DASH_DASH] = ACTIONS(2233), + [anon_sym_PLUS_PLUS] = ACTIONS(2233), + [anon_sym_sizeof] = ACTIONS(2231), + [sym_number_literal] = ACTIONS(2233), + [anon_sym_L_SQUOTE] = ACTIONS(2233), + [anon_sym_u_SQUOTE] = ACTIONS(2233), + [anon_sym_U_SQUOTE] = ACTIONS(2233), + [anon_sym_u8_SQUOTE] = ACTIONS(2233), + [anon_sym_SQUOTE] = ACTIONS(2233), + [anon_sym_L_DQUOTE] = ACTIONS(2233), + [anon_sym_u_DQUOTE] = ACTIONS(2233), + [anon_sym_U_DQUOTE] = ACTIONS(2233), + [anon_sym_u8_DQUOTE] = ACTIONS(2233), + [anon_sym_DQUOTE] = ACTIONS(2233), + [sym_true] = ACTIONS(2231), + [sym_false] = ACTIONS(2231), + [sym_null] = ACTIONS(2231), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2231), + [anon_sym_decltype] = ACTIONS(2231), + [anon_sym_virtual] = ACTIONS(2231), + [anon_sym_explicit] = ACTIONS(2231), + [anon_sym_typename] = ACTIONS(2231), + [anon_sym_template] = ACTIONS(2231), + [anon_sym_operator] = ACTIONS(2231), + [anon_sym_delete] = ACTIONS(2231), + [anon_sym_throw] = ACTIONS(2231), + [anon_sym_namespace] = ACTIONS(2231), + [anon_sym_using] = ACTIONS(2231), + [anon_sym_static_assert] = ACTIONS(2231), + [anon_sym_concept] = ACTIONS(2231), + [anon_sym_co_return] = ACTIONS(2231), + [anon_sym_co_yield] = ACTIONS(2231), + [anon_sym_try] = ACTIONS(2231), + [anon_sym_co_await] = ACTIONS(2231), + [anon_sym_new] = ACTIONS(2231), + [anon_sym_requires] = ACTIONS(2231), + [sym_this] = ACTIONS(2231), + [sym_nullptr] = ACTIONS(2231), + [sym_raw_string_literal] = ACTIONS(2233), + }, + [720] = { + [ts_builtin_sym_end] = ACTIONS(2373), + [sym_identifier] = ACTIONS(2371), + [aux_sym_preproc_include_token1] = ACTIONS(2371), + [aux_sym_preproc_def_token1] = ACTIONS(2371), + [aux_sym_preproc_if_token1] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2371), + [sym_preproc_directive] = ACTIONS(2371), + [anon_sym_LPAREN2] = ACTIONS(2373), + [anon_sym_BANG] = ACTIONS(2373), + [anon_sym_TILDE] = ACTIONS(2373), + [anon_sym_DASH] = ACTIONS(2371), + [anon_sym_PLUS] = ACTIONS(2371), + [anon_sym_STAR] = ACTIONS(2373), + [anon_sym_AMP_AMP] = ACTIONS(2373), + [anon_sym_AMP] = ACTIONS(2371), + [anon_sym_SEMI] = ACTIONS(2373), + [anon_sym_typedef] = ACTIONS(2371), + [anon_sym_extern] = ACTIONS(2371), + [anon_sym___attribute__] = ACTIONS(2371), + [anon_sym_COLON_COLON] = ACTIONS(2373), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2373), + [anon_sym___declspec] = ACTIONS(2371), + [anon_sym___based] = ACTIONS(2371), + [anon_sym___cdecl] = ACTIONS(2371), + [anon_sym___clrcall] = ACTIONS(2371), + [anon_sym___stdcall] = ACTIONS(2371), + [anon_sym___fastcall] = ACTIONS(2371), + [anon_sym___thiscall] = ACTIONS(2371), + [anon_sym___vectorcall] = ACTIONS(2371), + [anon_sym_LBRACE] = ACTIONS(2373), + [anon_sym_LBRACK] = ACTIONS(2371), + [anon_sym_static] = ACTIONS(2371), + [anon_sym_register] = ACTIONS(2371), + [anon_sym_inline] = ACTIONS(2371), + [anon_sym_thread_local] = ACTIONS(2371), + [anon_sym_const] = ACTIONS(2371), + [anon_sym_volatile] = ACTIONS(2371), + [anon_sym_restrict] = ACTIONS(2371), + [anon_sym__Atomic] = ACTIONS(2371), + [anon_sym_mutable] = ACTIONS(2371), + [anon_sym_constexpr] = ACTIONS(2371), + [anon_sym_constinit] = ACTIONS(2371), + [anon_sym_consteval] = ACTIONS(2371), + [anon_sym_signed] = ACTIONS(2371), + [anon_sym_unsigned] = ACTIONS(2371), + [anon_sym_long] = ACTIONS(2371), + [anon_sym_short] = ACTIONS(2371), + [sym_primitive_type] = ACTIONS(2371), + [anon_sym_enum] = ACTIONS(2371), + [anon_sym_class] = ACTIONS(2371), + [anon_sym_struct] = ACTIONS(2371), + [anon_sym_union] = ACTIONS(2371), + [anon_sym_if] = ACTIONS(2371), + [anon_sym_switch] = ACTIONS(2371), + [anon_sym_case] = ACTIONS(2371), + [anon_sym_default] = ACTIONS(2371), + [anon_sym_while] = ACTIONS(2371), + [anon_sym_do] = ACTIONS(2371), + [anon_sym_for] = ACTIONS(2371), + [anon_sym_return] = ACTIONS(2371), + [anon_sym_break] = ACTIONS(2371), + [anon_sym_continue] = ACTIONS(2371), + [anon_sym_goto] = ACTIONS(2371), + [anon_sym_DASH_DASH] = ACTIONS(2373), + [anon_sym_PLUS_PLUS] = ACTIONS(2373), + [anon_sym_sizeof] = ACTIONS(2371), + [sym_number_literal] = ACTIONS(2373), + [anon_sym_L_SQUOTE] = ACTIONS(2373), + [anon_sym_u_SQUOTE] = ACTIONS(2373), + [anon_sym_U_SQUOTE] = ACTIONS(2373), + [anon_sym_u8_SQUOTE] = ACTIONS(2373), + [anon_sym_SQUOTE] = ACTIONS(2373), + [anon_sym_L_DQUOTE] = ACTIONS(2373), + [anon_sym_u_DQUOTE] = ACTIONS(2373), + [anon_sym_U_DQUOTE] = ACTIONS(2373), + [anon_sym_u8_DQUOTE] = ACTIONS(2373), + [anon_sym_DQUOTE] = ACTIONS(2373), + [sym_true] = ACTIONS(2371), + [sym_false] = ACTIONS(2371), + [sym_null] = ACTIONS(2371), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2371), + [anon_sym_decltype] = ACTIONS(2371), + [anon_sym_virtual] = ACTIONS(2371), + [anon_sym_explicit] = ACTIONS(2371), + [anon_sym_typename] = ACTIONS(2371), + [anon_sym_template] = ACTIONS(2371), + [anon_sym_operator] = ACTIONS(2371), + [anon_sym_delete] = ACTIONS(2371), + [anon_sym_throw] = ACTIONS(2371), + [anon_sym_namespace] = ACTIONS(2371), + [anon_sym_using] = ACTIONS(2371), + [anon_sym_static_assert] = ACTIONS(2371), + [anon_sym_concept] = ACTIONS(2371), + [anon_sym_co_return] = ACTIONS(2371), + [anon_sym_co_yield] = ACTIONS(2371), + [anon_sym_try] = ACTIONS(2371), + [anon_sym_co_await] = ACTIONS(2371), + [anon_sym_new] = ACTIONS(2371), + [anon_sym_requires] = ACTIONS(2371), + [sym_this] = ACTIONS(2371), + [sym_nullptr] = ACTIONS(2371), + [sym_raw_string_literal] = ACTIONS(2373), + }, + [721] = { + [ts_builtin_sym_end] = ACTIONS(2249), + [sym_identifier] = ACTIONS(2247), + [aux_sym_preproc_include_token1] = ACTIONS(2247), + [aux_sym_preproc_def_token1] = ACTIONS(2247), + [aux_sym_preproc_if_token1] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2247), + [sym_preproc_directive] = ACTIONS(2247), + [anon_sym_LPAREN2] = ACTIONS(2249), + [anon_sym_BANG] = ACTIONS(2249), + [anon_sym_TILDE] = ACTIONS(2249), + [anon_sym_DASH] = ACTIONS(2247), + [anon_sym_PLUS] = ACTIONS(2247), + [anon_sym_STAR] = ACTIONS(2249), + [anon_sym_AMP_AMP] = ACTIONS(2249), + [anon_sym_AMP] = ACTIONS(2247), + [anon_sym_SEMI] = ACTIONS(2249), + [anon_sym_typedef] = ACTIONS(2247), + [anon_sym_extern] = ACTIONS(2247), + [anon_sym___attribute__] = ACTIONS(2247), + [anon_sym_COLON_COLON] = ACTIONS(2249), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2249), + [anon_sym___declspec] = ACTIONS(2247), + [anon_sym___based] = ACTIONS(2247), + [anon_sym___cdecl] = ACTIONS(2247), + [anon_sym___clrcall] = ACTIONS(2247), + [anon_sym___stdcall] = ACTIONS(2247), + [anon_sym___fastcall] = ACTIONS(2247), + [anon_sym___thiscall] = ACTIONS(2247), + [anon_sym___vectorcall] = ACTIONS(2247), + [anon_sym_LBRACE] = ACTIONS(2249), + [anon_sym_LBRACK] = ACTIONS(2247), + [anon_sym_static] = ACTIONS(2247), + [anon_sym_register] = ACTIONS(2247), + [anon_sym_inline] = ACTIONS(2247), + [anon_sym_thread_local] = ACTIONS(2247), + [anon_sym_const] = ACTIONS(2247), + [anon_sym_volatile] = ACTIONS(2247), + [anon_sym_restrict] = ACTIONS(2247), + [anon_sym__Atomic] = ACTIONS(2247), + [anon_sym_mutable] = ACTIONS(2247), + [anon_sym_constexpr] = ACTIONS(2247), + [anon_sym_constinit] = ACTIONS(2247), + [anon_sym_consteval] = ACTIONS(2247), + [anon_sym_signed] = ACTIONS(2247), + [anon_sym_unsigned] = ACTIONS(2247), + [anon_sym_long] = ACTIONS(2247), + [anon_sym_short] = ACTIONS(2247), + [sym_primitive_type] = ACTIONS(2247), + [anon_sym_enum] = ACTIONS(2247), + [anon_sym_class] = ACTIONS(2247), + [anon_sym_struct] = ACTIONS(2247), + [anon_sym_union] = ACTIONS(2247), + [anon_sym_if] = ACTIONS(2247), + [anon_sym_switch] = ACTIONS(2247), + [anon_sym_case] = ACTIONS(2247), + [anon_sym_default] = ACTIONS(2247), + [anon_sym_while] = ACTIONS(2247), + [anon_sym_do] = ACTIONS(2247), + [anon_sym_for] = ACTIONS(2247), + [anon_sym_return] = ACTIONS(2247), + [anon_sym_break] = ACTIONS(2247), + [anon_sym_continue] = ACTIONS(2247), + [anon_sym_goto] = ACTIONS(2247), + [anon_sym_DASH_DASH] = ACTIONS(2249), + [anon_sym_PLUS_PLUS] = ACTIONS(2249), + [anon_sym_sizeof] = ACTIONS(2247), + [sym_number_literal] = ACTIONS(2249), + [anon_sym_L_SQUOTE] = ACTIONS(2249), + [anon_sym_u_SQUOTE] = ACTIONS(2249), + [anon_sym_U_SQUOTE] = ACTIONS(2249), + [anon_sym_u8_SQUOTE] = ACTIONS(2249), + [anon_sym_SQUOTE] = ACTIONS(2249), + [anon_sym_L_DQUOTE] = ACTIONS(2249), + [anon_sym_u_DQUOTE] = ACTIONS(2249), + [anon_sym_U_DQUOTE] = ACTIONS(2249), + [anon_sym_u8_DQUOTE] = ACTIONS(2249), + [anon_sym_DQUOTE] = ACTIONS(2249), + [sym_true] = ACTIONS(2247), + [sym_false] = ACTIONS(2247), + [sym_null] = ACTIONS(2247), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2247), + [anon_sym_decltype] = ACTIONS(2247), + [anon_sym_virtual] = ACTIONS(2247), + [anon_sym_explicit] = ACTIONS(2247), + [anon_sym_typename] = ACTIONS(2247), + [anon_sym_template] = ACTIONS(2247), + [anon_sym_operator] = ACTIONS(2247), + [anon_sym_delete] = ACTIONS(2247), + [anon_sym_throw] = ACTIONS(2247), + [anon_sym_namespace] = ACTIONS(2247), + [anon_sym_using] = ACTIONS(2247), + [anon_sym_static_assert] = ACTIONS(2247), + [anon_sym_concept] = ACTIONS(2247), + [anon_sym_co_return] = ACTIONS(2247), + [anon_sym_co_yield] = ACTIONS(2247), + [anon_sym_try] = ACTIONS(2247), + [anon_sym_co_await] = ACTIONS(2247), + [anon_sym_new] = ACTIONS(2247), + [anon_sym_requires] = ACTIONS(2247), + [sym_this] = ACTIONS(2247), + [sym_nullptr] = ACTIONS(2247), + [sym_raw_string_literal] = ACTIONS(2249), + }, + [722] = { + [ts_builtin_sym_end] = ACTIONS(2281), + [sym_identifier] = ACTIONS(2279), + [aux_sym_preproc_include_token1] = ACTIONS(2279), + [aux_sym_preproc_def_token1] = ACTIONS(2279), + [aux_sym_preproc_if_token1] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2279), + [sym_preproc_directive] = ACTIONS(2279), + [anon_sym_LPAREN2] = ACTIONS(2281), + [anon_sym_BANG] = ACTIONS(2281), + [anon_sym_TILDE] = ACTIONS(2281), + [anon_sym_DASH] = ACTIONS(2279), + [anon_sym_PLUS] = ACTIONS(2279), + [anon_sym_STAR] = ACTIONS(2281), + [anon_sym_AMP_AMP] = ACTIONS(2281), + [anon_sym_AMP] = ACTIONS(2279), + [anon_sym_SEMI] = ACTIONS(2281), + [anon_sym_typedef] = ACTIONS(2279), + [anon_sym_extern] = ACTIONS(2279), + [anon_sym___attribute__] = ACTIONS(2279), + [anon_sym_COLON_COLON] = ACTIONS(2281), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2281), + [anon_sym___declspec] = ACTIONS(2279), + [anon_sym___based] = ACTIONS(2279), + [anon_sym___cdecl] = ACTIONS(2279), + [anon_sym___clrcall] = ACTIONS(2279), + [anon_sym___stdcall] = ACTIONS(2279), + [anon_sym___fastcall] = ACTIONS(2279), + [anon_sym___thiscall] = ACTIONS(2279), + [anon_sym___vectorcall] = ACTIONS(2279), + [anon_sym_LBRACE] = ACTIONS(2281), + [anon_sym_LBRACK] = ACTIONS(2279), + [anon_sym_static] = ACTIONS(2279), + [anon_sym_register] = ACTIONS(2279), + [anon_sym_inline] = ACTIONS(2279), + [anon_sym_thread_local] = ACTIONS(2279), + [anon_sym_const] = ACTIONS(2279), + [anon_sym_volatile] = ACTIONS(2279), + [anon_sym_restrict] = ACTIONS(2279), + [anon_sym__Atomic] = ACTIONS(2279), + [anon_sym_mutable] = ACTIONS(2279), + [anon_sym_constexpr] = ACTIONS(2279), + [anon_sym_constinit] = ACTIONS(2279), + [anon_sym_consteval] = ACTIONS(2279), + [anon_sym_signed] = ACTIONS(2279), + [anon_sym_unsigned] = ACTIONS(2279), + [anon_sym_long] = ACTIONS(2279), + [anon_sym_short] = ACTIONS(2279), + [sym_primitive_type] = ACTIONS(2279), + [anon_sym_enum] = ACTIONS(2279), + [anon_sym_class] = ACTIONS(2279), + [anon_sym_struct] = ACTIONS(2279), + [anon_sym_union] = ACTIONS(2279), + [anon_sym_if] = ACTIONS(2279), + [anon_sym_switch] = ACTIONS(2279), + [anon_sym_case] = ACTIONS(2279), + [anon_sym_default] = ACTIONS(2279), + [anon_sym_while] = ACTIONS(2279), + [anon_sym_do] = ACTIONS(2279), + [anon_sym_for] = ACTIONS(2279), + [anon_sym_return] = ACTIONS(2279), + [anon_sym_break] = ACTIONS(2279), + [anon_sym_continue] = ACTIONS(2279), + [anon_sym_goto] = ACTIONS(2279), + [anon_sym_DASH_DASH] = ACTIONS(2281), + [anon_sym_PLUS_PLUS] = ACTIONS(2281), + [anon_sym_sizeof] = ACTIONS(2279), + [sym_number_literal] = ACTIONS(2281), + [anon_sym_L_SQUOTE] = ACTIONS(2281), + [anon_sym_u_SQUOTE] = ACTIONS(2281), + [anon_sym_U_SQUOTE] = ACTIONS(2281), + [anon_sym_u8_SQUOTE] = ACTIONS(2281), + [anon_sym_SQUOTE] = ACTIONS(2281), + [anon_sym_L_DQUOTE] = ACTIONS(2281), + [anon_sym_u_DQUOTE] = ACTIONS(2281), + [anon_sym_U_DQUOTE] = ACTIONS(2281), + [anon_sym_u8_DQUOTE] = ACTIONS(2281), + [anon_sym_DQUOTE] = ACTIONS(2281), + [sym_true] = ACTIONS(2279), + [sym_false] = ACTIONS(2279), + [sym_null] = ACTIONS(2279), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2279), + [anon_sym_decltype] = ACTIONS(2279), + [anon_sym_virtual] = ACTIONS(2279), + [anon_sym_explicit] = ACTIONS(2279), + [anon_sym_typename] = ACTIONS(2279), + [anon_sym_template] = ACTIONS(2279), + [anon_sym_operator] = ACTIONS(2279), + [anon_sym_delete] = ACTIONS(2279), + [anon_sym_throw] = ACTIONS(2279), + [anon_sym_namespace] = ACTIONS(2279), + [anon_sym_using] = ACTIONS(2279), + [anon_sym_static_assert] = ACTIONS(2279), + [anon_sym_concept] = ACTIONS(2279), + [anon_sym_co_return] = ACTIONS(2279), + [anon_sym_co_yield] = ACTIONS(2279), + [anon_sym_try] = ACTIONS(2279), + [anon_sym_co_await] = ACTIONS(2279), + [anon_sym_new] = ACTIONS(2279), + [anon_sym_requires] = ACTIONS(2279), + [sym_this] = ACTIONS(2279), + [sym_nullptr] = ACTIONS(2279), + [sym_raw_string_literal] = ACTIONS(2281), + }, + [723] = { + [sym_identifier] = ACTIONS(2347), + [aux_sym_preproc_include_token1] = ACTIONS(2347), + [aux_sym_preproc_def_token1] = ACTIONS(2347), + [aux_sym_preproc_if_token1] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2347), + [sym_preproc_directive] = ACTIONS(2347), + [anon_sym_LPAREN2] = ACTIONS(2349), + [anon_sym_BANG] = ACTIONS(2349), + [anon_sym_TILDE] = ACTIONS(2349), + [anon_sym_DASH] = ACTIONS(2347), + [anon_sym_PLUS] = ACTIONS(2347), + [anon_sym_STAR] = ACTIONS(2349), + [anon_sym_AMP_AMP] = ACTIONS(2349), + [anon_sym_AMP] = ACTIONS(2347), + [anon_sym_SEMI] = ACTIONS(2349), + [anon_sym_typedef] = ACTIONS(2347), + [anon_sym_extern] = ACTIONS(2347), + [anon_sym___attribute__] = ACTIONS(2347), + [anon_sym_COLON_COLON] = ACTIONS(2349), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2349), + [anon_sym___declspec] = ACTIONS(2347), + [anon_sym___based] = ACTIONS(2347), + [anon_sym___cdecl] = ACTIONS(2347), + [anon_sym___clrcall] = ACTIONS(2347), + [anon_sym___stdcall] = ACTIONS(2347), + [anon_sym___fastcall] = ACTIONS(2347), + [anon_sym___thiscall] = ACTIONS(2347), + [anon_sym___vectorcall] = ACTIONS(2347), + [anon_sym_LBRACE] = ACTIONS(2349), + [anon_sym_RBRACE] = ACTIONS(2349), + [anon_sym_LBRACK] = ACTIONS(2347), + [anon_sym_static] = ACTIONS(2347), + [anon_sym_register] = ACTIONS(2347), + [anon_sym_inline] = ACTIONS(2347), + [anon_sym_thread_local] = ACTIONS(2347), + [anon_sym_const] = ACTIONS(2347), + [anon_sym_volatile] = ACTIONS(2347), + [anon_sym_restrict] = ACTIONS(2347), + [anon_sym__Atomic] = ACTIONS(2347), + [anon_sym_mutable] = ACTIONS(2347), + [anon_sym_constexpr] = ACTIONS(2347), + [anon_sym_constinit] = ACTIONS(2347), + [anon_sym_consteval] = ACTIONS(2347), + [anon_sym_signed] = ACTIONS(2347), + [anon_sym_unsigned] = ACTIONS(2347), + [anon_sym_long] = ACTIONS(2347), + [anon_sym_short] = ACTIONS(2347), + [sym_primitive_type] = ACTIONS(2347), + [anon_sym_enum] = ACTIONS(2347), + [anon_sym_class] = ACTIONS(2347), + [anon_sym_struct] = ACTIONS(2347), + [anon_sym_union] = ACTIONS(2347), + [anon_sym_if] = ACTIONS(2347), + [anon_sym_switch] = ACTIONS(2347), + [anon_sym_case] = ACTIONS(2347), + [anon_sym_default] = ACTIONS(2347), + [anon_sym_while] = ACTIONS(2347), + [anon_sym_do] = ACTIONS(2347), + [anon_sym_for] = ACTIONS(2347), + [anon_sym_return] = ACTIONS(2347), + [anon_sym_break] = ACTIONS(2347), + [anon_sym_continue] = ACTIONS(2347), + [anon_sym_goto] = ACTIONS(2347), + [anon_sym_DASH_DASH] = ACTIONS(2349), + [anon_sym_PLUS_PLUS] = ACTIONS(2349), + [anon_sym_sizeof] = ACTIONS(2347), + [sym_number_literal] = ACTIONS(2349), + [anon_sym_L_SQUOTE] = ACTIONS(2349), + [anon_sym_u_SQUOTE] = ACTIONS(2349), + [anon_sym_U_SQUOTE] = ACTIONS(2349), + [anon_sym_u8_SQUOTE] = ACTIONS(2349), + [anon_sym_SQUOTE] = ACTIONS(2349), + [anon_sym_L_DQUOTE] = ACTIONS(2349), + [anon_sym_u_DQUOTE] = ACTIONS(2349), + [anon_sym_U_DQUOTE] = ACTIONS(2349), + [anon_sym_u8_DQUOTE] = ACTIONS(2349), + [anon_sym_DQUOTE] = ACTIONS(2349), + [sym_true] = ACTIONS(2347), + [sym_false] = ACTIONS(2347), + [sym_null] = ACTIONS(2347), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2347), + [anon_sym_decltype] = ACTIONS(2347), + [anon_sym_virtual] = ACTIONS(2347), + [anon_sym_explicit] = ACTIONS(2347), + [anon_sym_typename] = ACTIONS(2347), + [anon_sym_template] = ACTIONS(2347), + [anon_sym_operator] = ACTIONS(2347), + [anon_sym_delete] = ACTIONS(2347), + [anon_sym_throw] = ACTIONS(2347), + [anon_sym_namespace] = ACTIONS(2347), + [anon_sym_using] = ACTIONS(2347), + [anon_sym_static_assert] = ACTIONS(2347), + [anon_sym_concept] = ACTIONS(2347), + [anon_sym_co_return] = ACTIONS(2347), + [anon_sym_co_yield] = ACTIONS(2347), + [anon_sym_try] = ACTIONS(2347), + [anon_sym_co_await] = ACTIONS(2347), + [anon_sym_new] = ACTIONS(2347), + [anon_sym_requires] = ACTIONS(2347), + [sym_this] = ACTIONS(2347), + [sym_nullptr] = ACTIONS(2347), + [sym_raw_string_literal] = ACTIONS(2349), + }, + [724] = { + [sym_identifier] = ACTIONS(2311), + [aux_sym_preproc_include_token1] = ACTIONS(2311), + [aux_sym_preproc_def_token1] = ACTIONS(2311), + [aux_sym_preproc_if_token1] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2311), + [sym_preproc_directive] = ACTIONS(2311), + [anon_sym_LPAREN2] = ACTIONS(2313), + [anon_sym_BANG] = ACTIONS(2313), + [anon_sym_TILDE] = ACTIONS(2313), + [anon_sym_DASH] = ACTIONS(2311), + [anon_sym_PLUS] = ACTIONS(2311), + [anon_sym_STAR] = ACTIONS(2313), + [anon_sym_AMP_AMP] = ACTIONS(2313), + [anon_sym_AMP] = ACTIONS(2311), + [anon_sym_SEMI] = ACTIONS(2313), + [anon_sym_typedef] = ACTIONS(2311), + [anon_sym_extern] = ACTIONS(2311), + [anon_sym___attribute__] = ACTIONS(2311), + [anon_sym_COLON_COLON] = ACTIONS(2313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2313), + [anon_sym___declspec] = ACTIONS(2311), + [anon_sym___based] = ACTIONS(2311), + [anon_sym___cdecl] = ACTIONS(2311), + [anon_sym___clrcall] = ACTIONS(2311), + [anon_sym___stdcall] = ACTIONS(2311), + [anon_sym___fastcall] = ACTIONS(2311), + [anon_sym___thiscall] = ACTIONS(2311), + [anon_sym___vectorcall] = ACTIONS(2311), + [anon_sym_LBRACE] = ACTIONS(2313), + [anon_sym_RBRACE] = ACTIONS(2313), + [anon_sym_LBRACK] = ACTIONS(2311), + [anon_sym_static] = ACTIONS(2311), + [anon_sym_register] = ACTIONS(2311), + [anon_sym_inline] = ACTIONS(2311), + [anon_sym_thread_local] = ACTIONS(2311), + [anon_sym_const] = ACTIONS(2311), + [anon_sym_volatile] = ACTIONS(2311), + [anon_sym_restrict] = ACTIONS(2311), + [anon_sym__Atomic] = ACTIONS(2311), + [anon_sym_mutable] = ACTIONS(2311), + [anon_sym_constexpr] = ACTIONS(2311), + [anon_sym_constinit] = ACTIONS(2311), + [anon_sym_consteval] = ACTIONS(2311), + [anon_sym_signed] = ACTIONS(2311), + [anon_sym_unsigned] = ACTIONS(2311), + [anon_sym_long] = ACTIONS(2311), + [anon_sym_short] = ACTIONS(2311), + [sym_primitive_type] = ACTIONS(2311), + [anon_sym_enum] = ACTIONS(2311), + [anon_sym_class] = ACTIONS(2311), + [anon_sym_struct] = ACTIONS(2311), + [anon_sym_union] = ACTIONS(2311), + [anon_sym_if] = ACTIONS(2311), + [anon_sym_switch] = ACTIONS(2311), + [anon_sym_case] = ACTIONS(2311), + [anon_sym_default] = ACTIONS(2311), + [anon_sym_while] = ACTIONS(2311), + [anon_sym_do] = ACTIONS(2311), + [anon_sym_for] = ACTIONS(2311), + [anon_sym_return] = ACTIONS(2311), + [anon_sym_break] = ACTIONS(2311), + [anon_sym_continue] = ACTIONS(2311), + [anon_sym_goto] = ACTIONS(2311), + [anon_sym_DASH_DASH] = ACTIONS(2313), + [anon_sym_PLUS_PLUS] = ACTIONS(2313), + [anon_sym_sizeof] = ACTIONS(2311), + [sym_number_literal] = ACTIONS(2313), + [anon_sym_L_SQUOTE] = ACTIONS(2313), + [anon_sym_u_SQUOTE] = ACTIONS(2313), + [anon_sym_U_SQUOTE] = ACTIONS(2313), + [anon_sym_u8_SQUOTE] = ACTIONS(2313), + [anon_sym_SQUOTE] = ACTIONS(2313), + [anon_sym_L_DQUOTE] = ACTIONS(2313), + [anon_sym_u_DQUOTE] = ACTIONS(2313), + [anon_sym_U_DQUOTE] = ACTIONS(2313), + [anon_sym_u8_DQUOTE] = ACTIONS(2313), + [anon_sym_DQUOTE] = ACTIONS(2313), + [sym_true] = ACTIONS(2311), + [sym_false] = ACTIONS(2311), + [sym_null] = ACTIONS(2311), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2311), + [anon_sym_decltype] = ACTIONS(2311), + [anon_sym_virtual] = ACTIONS(2311), + [anon_sym_explicit] = ACTIONS(2311), + [anon_sym_typename] = ACTIONS(2311), + [anon_sym_template] = ACTIONS(2311), + [anon_sym_operator] = ACTIONS(2311), + [anon_sym_delete] = ACTIONS(2311), + [anon_sym_throw] = ACTIONS(2311), + [anon_sym_namespace] = ACTIONS(2311), + [anon_sym_using] = ACTIONS(2311), + [anon_sym_static_assert] = ACTIONS(2311), + [anon_sym_concept] = ACTIONS(2311), + [anon_sym_co_return] = ACTIONS(2311), + [anon_sym_co_yield] = ACTIONS(2311), + [anon_sym_try] = ACTIONS(2311), + [anon_sym_co_await] = ACTIONS(2311), + [anon_sym_new] = ACTIONS(2311), + [anon_sym_requires] = ACTIONS(2311), + [sym_this] = ACTIONS(2311), + [sym_nullptr] = ACTIONS(2311), + [sym_raw_string_literal] = ACTIONS(2313), + }, + [725] = { + [sym_identifier] = ACTIONS(2307), + [aux_sym_preproc_include_token1] = ACTIONS(2307), + [aux_sym_preproc_def_token1] = ACTIONS(2307), + [aux_sym_preproc_if_token1] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2307), + [sym_preproc_directive] = ACTIONS(2307), + [anon_sym_LPAREN2] = ACTIONS(2309), + [anon_sym_BANG] = ACTIONS(2309), + [anon_sym_TILDE] = ACTIONS(2309), + [anon_sym_DASH] = ACTIONS(2307), + [anon_sym_PLUS] = ACTIONS(2307), + [anon_sym_STAR] = ACTIONS(2309), + [anon_sym_AMP_AMP] = ACTIONS(2309), + [anon_sym_AMP] = ACTIONS(2307), + [anon_sym_SEMI] = ACTIONS(2309), + [anon_sym_typedef] = ACTIONS(2307), + [anon_sym_extern] = ACTIONS(2307), + [anon_sym___attribute__] = ACTIONS(2307), + [anon_sym_COLON_COLON] = ACTIONS(2309), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2309), + [anon_sym___declspec] = ACTIONS(2307), + [anon_sym___based] = ACTIONS(2307), + [anon_sym___cdecl] = ACTIONS(2307), + [anon_sym___clrcall] = ACTIONS(2307), + [anon_sym___stdcall] = ACTIONS(2307), + [anon_sym___fastcall] = ACTIONS(2307), + [anon_sym___thiscall] = ACTIONS(2307), + [anon_sym___vectorcall] = ACTIONS(2307), + [anon_sym_LBRACE] = ACTIONS(2309), + [anon_sym_RBRACE] = ACTIONS(2309), + [anon_sym_LBRACK] = ACTIONS(2307), + [anon_sym_static] = ACTIONS(2307), + [anon_sym_register] = ACTIONS(2307), + [anon_sym_inline] = ACTIONS(2307), + [anon_sym_thread_local] = ACTIONS(2307), + [anon_sym_const] = ACTIONS(2307), + [anon_sym_volatile] = ACTIONS(2307), + [anon_sym_restrict] = ACTIONS(2307), + [anon_sym__Atomic] = ACTIONS(2307), + [anon_sym_mutable] = ACTIONS(2307), + [anon_sym_constexpr] = ACTIONS(2307), + [anon_sym_constinit] = ACTIONS(2307), + [anon_sym_consteval] = ACTIONS(2307), + [anon_sym_signed] = ACTIONS(2307), + [anon_sym_unsigned] = ACTIONS(2307), + [anon_sym_long] = ACTIONS(2307), + [anon_sym_short] = ACTIONS(2307), + [sym_primitive_type] = ACTIONS(2307), + [anon_sym_enum] = ACTIONS(2307), + [anon_sym_class] = ACTIONS(2307), + [anon_sym_struct] = ACTIONS(2307), + [anon_sym_union] = ACTIONS(2307), + [anon_sym_if] = ACTIONS(2307), + [anon_sym_switch] = ACTIONS(2307), + [anon_sym_case] = ACTIONS(2307), + [anon_sym_default] = ACTIONS(2307), + [anon_sym_while] = ACTIONS(2307), + [anon_sym_do] = ACTIONS(2307), + [anon_sym_for] = ACTIONS(2307), + [anon_sym_return] = ACTIONS(2307), + [anon_sym_break] = ACTIONS(2307), + [anon_sym_continue] = ACTIONS(2307), + [anon_sym_goto] = ACTIONS(2307), + [anon_sym_DASH_DASH] = ACTIONS(2309), + [anon_sym_PLUS_PLUS] = ACTIONS(2309), + [anon_sym_sizeof] = ACTIONS(2307), + [sym_number_literal] = ACTIONS(2309), + [anon_sym_L_SQUOTE] = ACTIONS(2309), + [anon_sym_u_SQUOTE] = ACTIONS(2309), + [anon_sym_U_SQUOTE] = ACTIONS(2309), + [anon_sym_u8_SQUOTE] = ACTIONS(2309), + [anon_sym_SQUOTE] = ACTIONS(2309), + [anon_sym_L_DQUOTE] = ACTIONS(2309), + [anon_sym_u_DQUOTE] = ACTIONS(2309), + [anon_sym_U_DQUOTE] = ACTIONS(2309), + [anon_sym_u8_DQUOTE] = ACTIONS(2309), + [anon_sym_DQUOTE] = ACTIONS(2309), + [sym_true] = ACTIONS(2307), + [sym_false] = ACTIONS(2307), + [sym_null] = ACTIONS(2307), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2307), + [anon_sym_decltype] = ACTIONS(2307), + [anon_sym_virtual] = ACTIONS(2307), + [anon_sym_explicit] = ACTIONS(2307), + [anon_sym_typename] = ACTIONS(2307), + [anon_sym_template] = ACTIONS(2307), + [anon_sym_operator] = ACTIONS(2307), + [anon_sym_delete] = ACTIONS(2307), + [anon_sym_throw] = ACTIONS(2307), + [anon_sym_namespace] = ACTIONS(2307), + [anon_sym_using] = ACTIONS(2307), + [anon_sym_static_assert] = ACTIONS(2307), + [anon_sym_concept] = ACTIONS(2307), + [anon_sym_co_return] = ACTIONS(2307), + [anon_sym_co_yield] = ACTIONS(2307), + [anon_sym_try] = ACTIONS(2307), + [anon_sym_co_await] = ACTIONS(2307), + [anon_sym_new] = ACTIONS(2307), + [anon_sym_requires] = ACTIONS(2307), + [sym_this] = ACTIONS(2307), + [sym_nullptr] = ACTIONS(2307), + [sym_raw_string_literal] = ACTIONS(2309), + }, + [726] = { + [ts_builtin_sym_end] = ACTIONS(2285), + [sym_identifier] = ACTIONS(2283), + [aux_sym_preproc_include_token1] = ACTIONS(2283), + [aux_sym_preproc_def_token1] = ACTIONS(2283), + [aux_sym_preproc_if_token1] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2283), + [sym_preproc_directive] = ACTIONS(2283), + [anon_sym_LPAREN2] = ACTIONS(2285), + [anon_sym_BANG] = ACTIONS(2285), + [anon_sym_TILDE] = ACTIONS(2285), + [anon_sym_DASH] = ACTIONS(2283), + [anon_sym_PLUS] = ACTIONS(2283), + [anon_sym_STAR] = ACTIONS(2285), + [anon_sym_AMP_AMP] = ACTIONS(2285), + [anon_sym_AMP] = ACTIONS(2283), + [anon_sym_SEMI] = ACTIONS(2285), + [anon_sym_typedef] = ACTIONS(2283), + [anon_sym_extern] = ACTIONS(2283), + [anon_sym___attribute__] = ACTIONS(2283), + [anon_sym_COLON_COLON] = ACTIONS(2285), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2285), + [anon_sym___declspec] = ACTIONS(2283), + [anon_sym___based] = ACTIONS(2283), + [anon_sym___cdecl] = ACTIONS(2283), + [anon_sym___clrcall] = ACTIONS(2283), + [anon_sym___stdcall] = ACTIONS(2283), + [anon_sym___fastcall] = ACTIONS(2283), + [anon_sym___thiscall] = ACTIONS(2283), + [anon_sym___vectorcall] = ACTIONS(2283), + [anon_sym_LBRACE] = ACTIONS(2285), + [anon_sym_LBRACK] = ACTIONS(2283), + [anon_sym_static] = ACTIONS(2283), + [anon_sym_register] = ACTIONS(2283), + [anon_sym_inline] = ACTIONS(2283), + [anon_sym_thread_local] = ACTIONS(2283), + [anon_sym_const] = ACTIONS(2283), + [anon_sym_volatile] = ACTIONS(2283), + [anon_sym_restrict] = ACTIONS(2283), + [anon_sym__Atomic] = ACTIONS(2283), + [anon_sym_mutable] = ACTIONS(2283), + [anon_sym_constexpr] = ACTIONS(2283), + [anon_sym_constinit] = ACTIONS(2283), + [anon_sym_consteval] = ACTIONS(2283), + [anon_sym_signed] = ACTIONS(2283), + [anon_sym_unsigned] = ACTIONS(2283), + [anon_sym_long] = ACTIONS(2283), + [anon_sym_short] = ACTIONS(2283), + [sym_primitive_type] = ACTIONS(2283), + [anon_sym_enum] = ACTIONS(2283), + [anon_sym_class] = ACTIONS(2283), + [anon_sym_struct] = ACTIONS(2283), + [anon_sym_union] = ACTIONS(2283), + [anon_sym_if] = ACTIONS(2283), + [anon_sym_switch] = ACTIONS(2283), + [anon_sym_case] = ACTIONS(2283), + [anon_sym_default] = ACTIONS(2283), + [anon_sym_while] = ACTIONS(2283), + [anon_sym_do] = ACTIONS(2283), + [anon_sym_for] = ACTIONS(2283), + [anon_sym_return] = ACTIONS(2283), + [anon_sym_break] = ACTIONS(2283), + [anon_sym_continue] = ACTIONS(2283), + [anon_sym_goto] = ACTIONS(2283), + [anon_sym_DASH_DASH] = ACTIONS(2285), + [anon_sym_PLUS_PLUS] = ACTIONS(2285), + [anon_sym_sizeof] = ACTIONS(2283), + [sym_number_literal] = ACTIONS(2285), + [anon_sym_L_SQUOTE] = ACTIONS(2285), + [anon_sym_u_SQUOTE] = ACTIONS(2285), + [anon_sym_U_SQUOTE] = ACTIONS(2285), + [anon_sym_u8_SQUOTE] = ACTIONS(2285), + [anon_sym_SQUOTE] = ACTIONS(2285), + [anon_sym_L_DQUOTE] = ACTIONS(2285), + [anon_sym_u_DQUOTE] = ACTIONS(2285), + [anon_sym_U_DQUOTE] = ACTIONS(2285), + [anon_sym_u8_DQUOTE] = ACTIONS(2285), + [anon_sym_DQUOTE] = ACTIONS(2285), + [sym_true] = ACTIONS(2283), + [sym_false] = ACTIONS(2283), + [sym_null] = ACTIONS(2283), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2283), + [anon_sym_decltype] = ACTIONS(2283), + [anon_sym_virtual] = ACTIONS(2283), + [anon_sym_explicit] = ACTIONS(2283), + [anon_sym_typename] = ACTIONS(2283), + [anon_sym_template] = ACTIONS(2283), + [anon_sym_operator] = ACTIONS(2283), + [anon_sym_delete] = ACTIONS(2283), + [anon_sym_throw] = ACTIONS(2283), + [anon_sym_namespace] = ACTIONS(2283), + [anon_sym_using] = ACTIONS(2283), + [anon_sym_static_assert] = ACTIONS(2283), + [anon_sym_concept] = ACTIONS(2283), + [anon_sym_co_return] = ACTIONS(2283), + [anon_sym_co_yield] = ACTIONS(2283), + [anon_sym_try] = ACTIONS(2283), + [anon_sym_co_await] = ACTIONS(2283), + [anon_sym_new] = ACTIONS(2283), + [anon_sym_requires] = ACTIONS(2283), + [sym_this] = ACTIONS(2283), + [sym_nullptr] = ACTIONS(2283), + [sym_raw_string_literal] = ACTIONS(2285), + }, + [727] = { + [ts_builtin_sym_end] = ACTIONS(2409), + [sym_identifier] = ACTIONS(2407), + [aux_sym_preproc_include_token1] = ACTIONS(2407), + [aux_sym_preproc_def_token1] = ACTIONS(2407), + [aux_sym_preproc_if_token1] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2407), + [sym_preproc_directive] = ACTIONS(2407), + [anon_sym_LPAREN2] = ACTIONS(2409), + [anon_sym_BANG] = ACTIONS(2409), + [anon_sym_TILDE] = ACTIONS(2409), + [anon_sym_DASH] = ACTIONS(2407), + [anon_sym_PLUS] = ACTIONS(2407), + [anon_sym_STAR] = ACTIONS(2409), + [anon_sym_AMP_AMP] = ACTIONS(2409), + [anon_sym_AMP] = ACTIONS(2407), + [anon_sym_SEMI] = ACTIONS(2409), + [anon_sym_typedef] = ACTIONS(2407), + [anon_sym_extern] = ACTIONS(2407), + [anon_sym___attribute__] = ACTIONS(2407), + [anon_sym_COLON_COLON] = ACTIONS(2409), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2409), + [anon_sym___declspec] = ACTIONS(2407), + [anon_sym___based] = ACTIONS(2407), + [anon_sym___cdecl] = ACTIONS(2407), + [anon_sym___clrcall] = ACTIONS(2407), + [anon_sym___stdcall] = ACTIONS(2407), + [anon_sym___fastcall] = ACTIONS(2407), + [anon_sym___thiscall] = ACTIONS(2407), + [anon_sym___vectorcall] = ACTIONS(2407), + [anon_sym_LBRACE] = ACTIONS(2409), + [anon_sym_LBRACK] = ACTIONS(2407), + [anon_sym_static] = ACTIONS(2407), + [anon_sym_register] = ACTIONS(2407), + [anon_sym_inline] = ACTIONS(2407), + [anon_sym_thread_local] = ACTIONS(2407), + [anon_sym_const] = ACTIONS(2407), + [anon_sym_volatile] = ACTIONS(2407), + [anon_sym_restrict] = ACTIONS(2407), + [anon_sym__Atomic] = ACTIONS(2407), + [anon_sym_mutable] = ACTIONS(2407), + [anon_sym_constexpr] = ACTIONS(2407), + [anon_sym_constinit] = ACTIONS(2407), + [anon_sym_consteval] = ACTIONS(2407), + [anon_sym_signed] = ACTIONS(2407), + [anon_sym_unsigned] = ACTIONS(2407), + [anon_sym_long] = ACTIONS(2407), + [anon_sym_short] = ACTIONS(2407), + [sym_primitive_type] = ACTIONS(2407), + [anon_sym_enum] = ACTIONS(2407), + [anon_sym_class] = ACTIONS(2407), + [anon_sym_struct] = ACTIONS(2407), + [anon_sym_union] = ACTIONS(2407), + [anon_sym_if] = ACTIONS(2407), + [anon_sym_switch] = ACTIONS(2407), + [anon_sym_case] = ACTIONS(2407), + [anon_sym_default] = ACTIONS(2407), + [anon_sym_while] = ACTIONS(2407), + [anon_sym_do] = ACTIONS(2407), + [anon_sym_for] = ACTIONS(2407), + [anon_sym_return] = ACTIONS(2407), + [anon_sym_break] = ACTIONS(2407), + [anon_sym_continue] = ACTIONS(2407), + [anon_sym_goto] = ACTIONS(2407), + [anon_sym_DASH_DASH] = ACTIONS(2409), + [anon_sym_PLUS_PLUS] = ACTIONS(2409), + [anon_sym_sizeof] = ACTIONS(2407), + [sym_number_literal] = ACTIONS(2409), + [anon_sym_L_SQUOTE] = ACTIONS(2409), + [anon_sym_u_SQUOTE] = ACTIONS(2409), + [anon_sym_U_SQUOTE] = ACTIONS(2409), + [anon_sym_u8_SQUOTE] = ACTIONS(2409), + [anon_sym_SQUOTE] = ACTIONS(2409), + [anon_sym_L_DQUOTE] = ACTIONS(2409), + [anon_sym_u_DQUOTE] = ACTIONS(2409), + [anon_sym_U_DQUOTE] = ACTIONS(2409), + [anon_sym_u8_DQUOTE] = ACTIONS(2409), + [anon_sym_DQUOTE] = ACTIONS(2409), + [sym_true] = ACTIONS(2407), + [sym_false] = ACTIONS(2407), + [sym_null] = ACTIONS(2407), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2407), + [anon_sym_decltype] = ACTIONS(2407), + [anon_sym_virtual] = ACTIONS(2407), + [anon_sym_explicit] = ACTIONS(2407), + [anon_sym_typename] = ACTIONS(2407), + [anon_sym_template] = ACTIONS(2407), + [anon_sym_operator] = ACTIONS(2407), + [anon_sym_delete] = ACTIONS(2407), + [anon_sym_throw] = ACTIONS(2407), + [anon_sym_namespace] = ACTIONS(2407), + [anon_sym_using] = ACTIONS(2407), + [anon_sym_static_assert] = ACTIONS(2407), + [anon_sym_concept] = ACTIONS(2407), + [anon_sym_co_return] = ACTIONS(2407), + [anon_sym_co_yield] = ACTIONS(2407), + [anon_sym_try] = ACTIONS(2407), + [anon_sym_co_await] = ACTIONS(2407), + [anon_sym_new] = ACTIONS(2407), + [anon_sym_requires] = ACTIONS(2407), + [sym_this] = ACTIONS(2407), + [sym_nullptr] = ACTIONS(2407), + [sym_raw_string_literal] = ACTIONS(2409), + }, + [728] = { + [sym_identifier] = ACTIONS(2355), + [aux_sym_preproc_include_token1] = ACTIONS(2355), + [aux_sym_preproc_def_token1] = ACTIONS(2355), + [aux_sym_preproc_if_token1] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2355), + [sym_preproc_directive] = ACTIONS(2355), + [anon_sym_LPAREN2] = ACTIONS(2357), + [anon_sym_BANG] = ACTIONS(2357), + [anon_sym_TILDE] = ACTIONS(2357), + [anon_sym_DASH] = ACTIONS(2355), + [anon_sym_PLUS] = ACTIONS(2355), + [anon_sym_STAR] = ACTIONS(2357), + [anon_sym_AMP_AMP] = ACTIONS(2357), + [anon_sym_AMP] = ACTIONS(2355), + [anon_sym_SEMI] = ACTIONS(2357), + [anon_sym_typedef] = ACTIONS(2355), + [anon_sym_extern] = ACTIONS(2355), + [anon_sym___attribute__] = ACTIONS(2355), + [anon_sym_COLON_COLON] = ACTIONS(2357), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2357), + [anon_sym___declspec] = ACTIONS(2355), + [anon_sym___based] = ACTIONS(2355), + [anon_sym___cdecl] = ACTIONS(2355), + [anon_sym___clrcall] = ACTIONS(2355), + [anon_sym___stdcall] = ACTIONS(2355), + [anon_sym___fastcall] = ACTIONS(2355), + [anon_sym___thiscall] = ACTIONS(2355), + [anon_sym___vectorcall] = ACTIONS(2355), + [anon_sym_LBRACE] = ACTIONS(2357), + [anon_sym_RBRACE] = ACTIONS(2357), + [anon_sym_LBRACK] = ACTIONS(2355), + [anon_sym_static] = ACTIONS(2355), + [anon_sym_register] = ACTIONS(2355), + [anon_sym_inline] = ACTIONS(2355), + [anon_sym_thread_local] = ACTIONS(2355), + [anon_sym_const] = ACTIONS(2355), + [anon_sym_volatile] = ACTIONS(2355), + [anon_sym_restrict] = ACTIONS(2355), + [anon_sym__Atomic] = ACTIONS(2355), + [anon_sym_mutable] = ACTIONS(2355), + [anon_sym_constexpr] = ACTIONS(2355), + [anon_sym_constinit] = ACTIONS(2355), + [anon_sym_consteval] = ACTIONS(2355), + [anon_sym_signed] = ACTIONS(2355), + [anon_sym_unsigned] = ACTIONS(2355), + [anon_sym_long] = ACTIONS(2355), + [anon_sym_short] = ACTIONS(2355), + [sym_primitive_type] = ACTIONS(2355), + [anon_sym_enum] = ACTIONS(2355), + [anon_sym_class] = ACTIONS(2355), + [anon_sym_struct] = ACTIONS(2355), + [anon_sym_union] = ACTIONS(2355), + [anon_sym_if] = ACTIONS(2355), + [anon_sym_switch] = ACTIONS(2355), + [anon_sym_case] = ACTIONS(2355), + [anon_sym_default] = ACTIONS(2355), + [anon_sym_while] = ACTIONS(2355), + [anon_sym_do] = ACTIONS(2355), + [anon_sym_for] = ACTIONS(2355), + [anon_sym_return] = ACTIONS(2355), + [anon_sym_break] = ACTIONS(2355), + [anon_sym_continue] = ACTIONS(2355), + [anon_sym_goto] = ACTIONS(2355), + [anon_sym_DASH_DASH] = ACTIONS(2357), + [anon_sym_PLUS_PLUS] = ACTIONS(2357), + [anon_sym_sizeof] = ACTIONS(2355), + [sym_number_literal] = ACTIONS(2357), + [anon_sym_L_SQUOTE] = ACTIONS(2357), + [anon_sym_u_SQUOTE] = ACTIONS(2357), + [anon_sym_U_SQUOTE] = ACTIONS(2357), + [anon_sym_u8_SQUOTE] = ACTIONS(2357), + [anon_sym_SQUOTE] = ACTIONS(2357), + [anon_sym_L_DQUOTE] = ACTIONS(2357), + [anon_sym_u_DQUOTE] = ACTIONS(2357), + [anon_sym_U_DQUOTE] = ACTIONS(2357), + [anon_sym_u8_DQUOTE] = ACTIONS(2357), + [anon_sym_DQUOTE] = ACTIONS(2357), + [sym_true] = ACTIONS(2355), + [sym_false] = ACTIONS(2355), + [sym_null] = ACTIONS(2355), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2355), + [anon_sym_decltype] = ACTIONS(2355), + [anon_sym_virtual] = ACTIONS(2355), + [anon_sym_explicit] = ACTIONS(2355), + [anon_sym_typename] = ACTIONS(2355), + [anon_sym_template] = ACTIONS(2355), + [anon_sym_operator] = ACTIONS(2355), + [anon_sym_delete] = ACTIONS(2355), + [anon_sym_throw] = ACTIONS(2355), + [anon_sym_namespace] = ACTIONS(2355), + [anon_sym_using] = ACTIONS(2355), + [anon_sym_static_assert] = ACTIONS(2355), + [anon_sym_concept] = ACTIONS(2355), + [anon_sym_co_return] = ACTIONS(2355), + [anon_sym_co_yield] = ACTIONS(2355), + [anon_sym_try] = ACTIONS(2355), + [anon_sym_co_await] = ACTIONS(2355), + [anon_sym_new] = ACTIONS(2355), + [anon_sym_requires] = ACTIONS(2355), + [sym_this] = ACTIONS(2355), + [sym_nullptr] = ACTIONS(2355), + [sym_raw_string_literal] = ACTIONS(2357), + }, + [729] = { + [sym_identifier] = ACTIONS(2331), + [aux_sym_preproc_include_token1] = ACTIONS(2331), + [aux_sym_preproc_def_token1] = ACTIONS(2331), + [aux_sym_preproc_if_token1] = ACTIONS(2331), + [aux_sym_preproc_if_token2] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2331), + [sym_preproc_directive] = ACTIONS(2331), + [anon_sym_LPAREN2] = ACTIONS(2333), + [anon_sym_BANG] = ACTIONS(2333), + [anon_sym_TILDE] = ACTIONS(2333), + [anon_sym_DASH] = ACTIONS(2331), + [anon_sym_PLUS] = ACTIONS(2331), + [anon_sym_STAR] = ACTIONS(2333), + [anon_sym_AMP_AMP] = ACTIONS(2333), + [anon_sym_AMP] = ACTIONS(2331), + [anon_sym_SEMI] = ACTIONS(2333), + [anon_sym_typedef] = ACTIONS(2331), + [anon_sym_extern] = ACTIONS(2331), + [anon_sym___attribute__] = ACTIONS(2331), + [anon_sym_COLON_COLON] = ACTIONS(2333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2333), + [anon_sym___declspec] = ACTIONS(2331), + [anon_sym___based] = ACTIONS(2331), + [anon_sym___cdecl] = ACTIONS(2331), + [anon_sym___clrcall] = ACTIONS(2331), + [anon_sym___stdcall] = ACTIONS(2331), + [anon_sym___fastcall] = ACTIONS(2331), + [anon_sym___thiscall] = ACTIONS(2331), + [anon_sym___vectorcall] = ACTIONS(2331), + [anon_sym_LBRACE] = ACTIONS(2333), + [anon_sym_LBRACK] = ACTIONS(2331), + [anon_sym_static] = ACTIONS(2331), + [anon_sym_register] = ACTIONS(2331), + [anon_sym_inline] = ACTIONS(2331), + [anon_sym_thread_local] = ACTIONS(2331), + [anon_sym_const] = ACTIONS(2331), + [anon_sym_volatile] = ACTIONS(2331), + [anon_sym_restrict] = ACTIONS(2331), + [anon_sym__Atomic] = ACTIONS(2331), + [anon_sym_mutable] = ACTIONS(2331), + [anon_sym_constexpr] = ACTIONS(2331), + [anon_sym_constinit] = ACTIONS(2331), + [anon_sym_consteval] = ACTIONS(2331), + [anon_sym_signed] = ACTIONS(2331), + [anon_sym_unsigned] = ACTIONS(2331), + [anon_sym_long] = ACTIONS(2331), + [anon_sym_short] = ACTIONS(2331), + [sym_primitive_type] = ACTIONS(2331), + [anon_sym_enum] = ACTIONS(2331), + [anon_sym_class] = ACTIONS(2331), + [anon_sym_struct] = ACTIONS(2331), + [anon_sym_union] = ACTIONS(2331), + [anon_sym_if] = ACTIONS(2331), + [anon_sym_switch] = ACTIONS(2331), + [anon_sym_case] = ACTIONS(2331), + [anon_sym_default] = ACTIONS(2331), + [anon_sym_while] = ACTIONS(2331), + [anon_sym_do] = ACTIONS(2331), + [anon_sym_for] = ACTIONS(2331), + [anon_sym_return] = ACTIONS(2331), + [anon_sym_break] = ACTIONS(2331), + [anon_sym_continue] = ACTIONS(2331), + [anon_sym_goto] = ACTIONS(2331), + [anon_sym_DASH_DASH] = ACTIONS(2333), + [anon_sym_PLUS_PLUS] = ACTIONS(2333), + [anon_sym_sizeof] = ACTIONS(2331), + [sym_number_literal] = ACTIONS(2333), + [anon_sym_L_SQUOTE] = ACTIONS(2333), + [anon_sym_u_SQUOTE] = ACTIONS(2333), + [anon_sym_U_SQUOTE] = ACTIONS(2333), + [anon_sym_u8_SQUOTE] = ACTIONS(2333), + [anon_sym_SQUOTE] = ACTIONS(2333), + [anon_sym_L_DQUOTE] = ACTIONS(2333), + [anon_sym_u_DQUOTE] = ACTIONS(2333), + [anon_sym_U_DQUOTE] = ACTIONS(2333), + [anon_sym_u8_DQUOTE] = ACTIONS(2333), + [anon_sym_DQUOTE] = ACTIONS(2333), + [sym_true] = ACTIONS(2331), + [sym_false] = ACTIONS(2331), + [sym_null] = ACTIONS(2331), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2331), + [anon_sym_decltype] = ACTIONS(2331), + [anon_sym_virtual] = ACTIONS(2331), + [anon_sym_explicit] = ACTIONS(2331), + [anon_sym_typename] = ACTIONS(2331), + [anon_sym_template] = ACTIONS(2331), + [anon_sym_operator] = ACTIONS(2331), + [anon_sym_delete] = ACTIONS(2331), + [anon_sym_throw] = ACTIONS(2331), + [anon_sym_namespace] = ACTIONS(2331), + [anon_sym_using] = ACTIONS(2331), + [anon_sym_static_assert] = ACTIONS(2331), + [anon_sym_concept] = ACTIONS(2331), + [anon_sym_co_return] = ACTIONS(2331), + [anon_sym_co_yield] = ACTIONS(2331), + [anon_sym_try] = ACTIONS(2331), + [anon_sym_co_await] = ACTIONS(2331), + [anon_sym_new] = ACTIONS(2331), + [anon_sym_requires] = ACTIONS(2331), + [sym_this] = ACTIONS(2331), + [sym_nullptr] = ACTIONS(2331), + [sym_raw_string_literal] = ACTIONS(2333), + }, + [730] = { + [sym_identifier] = ACTIONS(2303), + [aux_sym_preproc_include_token1] = ACTIONS(2303), + [aux_sym_preproc_def_token1] = ACTIONS(2303), + [aux_sym_preproc_if_token1] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2303), + [sym_preproc_directive] = ACTIONS(2303), + [anon_sym_LPAREN2] = ACTIONS(2305), + [anon_sym_BANG] = ACTIONS(2305), + [anon_sym_TILDE] = ACTIONS(2305), + [anon_sym_DASH] = ACTIONS(2303), + [anon_sym_PLUS] = ACTIONS(2303), + [anon_sym_STAR] = ACTIONS(2305), + [anon_sym_AMP_AMP] = ACTIONS(2305), + [anon_sym_AMP] = ACTIONS(2303), + [anon_sym_SEMI] = ACTIONS(2305), + [anon_sym_typedef] = ACTIONS(2303), + [anon_sym_extern] = ACTIONS(2303), + [anon_sym___attribute__] = ACTIONS(2303), + [anon_sym_COLON_COLON] = ACTIONS(2305), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2305), + [anon_sym___declspec] = ACTIONS(2303), + [anon_sym___based] = ACTIONS(2303), + [anon_sym___cdecl] = ACTIONS(2303), + [anon_sym___clrcall] = ACTIONS(2303), + [anon_sym___stdcall] = ACTIONS(2303), + [anon_sym___fastcall] = ACTIONS(2303), + [anon_sym___thiscall] = ACTIONS(2303), + [anon_sym___vectorcall] = ACTIONS(2303), + [anon_sym_LBRACE] = ACTIONS(2305), + [anon_sym_RBRACE] = ACTIONS(2305), + [anon_sym_LBRACK] = ACTIONS(2303), + [anon_sym_static] = ACTIONS(2303), + [anon_sym_register] = ACTIONS(2303), + [anon_sym_inline] = ACTIONS(2303), + [anon_sym_thread_local] = ACTIONS(2303), + [anon_sym_const] = ACTIONS(2303), + [anon_sym_volatile] = ACTIONS(2303), + [anon_sym_restrict] = ACTIONS(2303), + [anon_sym__Atomic] = ACTIONS(2303), + [anon_sym_mutable] = ACTIONS(2303), + [anon_sym_constexpr] = ACTIONS(2303), + [anon_sym_constinit] = ACTIONS(2303), + [anon_sym_consteval] = ACTIONS(2303), + [anon_sym_signed] = ACTIONS(2303), + [anon_sym_unsigned] = ACTIONS(2303), + [anon_sym_long] = ACTIONS(2303), + [anon_sym_short] = ACTIONS(2303), + [sym_primitive_type] = ACTIONS(2303), + [anon_sym_enum] = ACTIONS(2303), + [anon_sym_class] = ACTIONS(2303), + [anon_sym_struct] = ACTIONS(2303), + [anon_sym_union] = ACTIONS(2303), + [anon_sym_if] = ACTIONS(2303), + [anon_sym_switch] = ACTIONS(2303), + [anon_sym_case] = ACTIONS(2303), + [anon_sym_default] = ACTIONS(2303), + [anon_sym_while] = ACTIONS(2303), + [anon_sym_do] = ACTIONS(2303), + [anon_sym_for] = ACTIONS(2303), + [anon_sym_return] = ACTIONS(2303), + [anon_sym_break] = ACTIONS(2303), + [anon_sym_continue] = ACTIONS(2303), + [anon_sym_goto] = ACTIONS(2303), + [anon_sym_DASH_DASH] = ACTIONS(2305), + [anon_sym_PLUS_PLUS] = ACTIONS(2305), + [anon_sym_sizeof] = ACTIONS(2303), + [sym_number_literal] = ACTIONS(2305), + [anon_sym_L_SQUOTE] = ACTIONS(2305), + [anon_sym_u_SQUOTE] = ACTIONS(2305), + [anon_sym_U_SQUOTE] = ACTIONS(2305), + [anon_sym_u8_SQUOTE] = ACTIONS(2305), + [anon_sym_SQUOTE] = ACTIONS(2305), + [anon_sym_L_DQUOTE] = ACTIONS(2305), + [anon_sym_u_DQUOTE] = ACTIONS(2305), + [anon_sym_U_DQUOTE] = ACTIONS(2305), + [anon_sym_u8_DQUOTE] = ACTIONS(2305), + [anon_sym_DQUOTE] = ACTIONS(2305), + [sym_true] = ACTIONS(2303), + [sym_false] = ACTIONS(2303), + [sym_null] = ACTIONS(2303), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2303), + [anon_sym_decltype] = ACTIONS(2303), + [anon_sym_virtual] = ACTIONS(2303), + [anon_sym_explicit] = ACTIONS(2303), + [anon_sym_typename] = ACTIONS(2303), + [anon_sym_template] = ACTIONS(2303), + [anon_sym_operator] = ACTIONS(2303), + [anon_sym_delete] = ACTIONS(2303), + [anon_sym_throw] = ACTIONS(2303), + [anon_sym_namespace] = ACTIONS(2303), + [anon_sym_using] = ACTIONS(2303), + [anon_sym_static_assert] = ACTIONS(2303), + [anon_sym_concept] = ACTIONS(2303), + [anon_sym_co_return] = ACTIONS(2303), + [anon_sym_co_yield] = ACTIONS(2303), + [anon_sym_try] = ACTIONS(2303), + [anon_sym_co_await] = ACTIONS(2303), + [anon_sym_new] = ACTIONS(2303), + [anon_sym_requires] = ACTIONS(2303), + [sym_this] = ACTIONS(2303), + [sym_nullptr] = ACTIONS(2303), + [sym_raw_string_literal] = ACTIONS(2305), + }, + [731] = { + [sym_identifier] = ACTIONS(2319), + [aux_sym_preproc_include_token1] = ACTIONS(2319), + [aux_sym_preproc_def_token1] = ACTIONS(2319), + [aux_sym_preproc_if_token1] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2319), + [sym_preproc_directive] = ACTIONS(2319), + [anon_sym_LPAREN2] = ACTIONS(2321), + [anon_sym_BANG] = ACTIONS(2321), + [anon_sym_TILDE] = ACTIONS(2321), + [anon_sym_DASH] = ACTIONS(2319), + [anon_sym_PLUS] = ACTIONS(2319), + [anon_sym_STAR] = ACTIONS(2321), + [anon_sym_AMP_AMP] = ACTIONS(2321), + [anon_sym_AMP] = ACTIONS(2319), + [anon_sym_SEMI] = ACTIONS(2321), + [anon_sym_typedef] = ACTIONS(2319), + [anon_sym_extern] = ACTIONS(2319), + [anon_sym___attribute__] = ACTIONS(2319), + [anon_sym_COLON_COLON] = ACTIONS(2321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2321), + [anon_sym___declspec] = ACTIONS(2319), + [anon_sym___based] = ACTIONS(2319), + [anon_sym___cdecl] = ACTIONS(2319), + [anon_sym___clrcall] = ACTIONS(2319), + [anon_sym___stdcall] = ACTIONS(2319), + [anon_sym___fastcall] = ACTIONS(2319), + [anon_sym___thiscall] = ACTIONS(2319), + [anon_sym___vectorcall] = ACTIONS(2319), + [anon_sym_LBRACE] = ACTIONS(2321), + [anon_sym_RBRACE] = ACTIONS(2321), + [anon_sym_LBRACK] = ACTIONS(2319), + [anon_sym_static] = ACTIONS(2319), + [anon_sym_register] = ACTIONS(2319), + [anon_sym_inline] = ACTIONS(2319), + [anon_sym_thread_local] = ACTIONS(2319), + [anon_sym_const] = ACTIONS(2319), + [anon_sym_volatile] = ACTIONS(2319), + [anon_sym_restrict] = ACTIONS(2319), + [anon_sym__Atomic] = ACTIONS(2319), + [anon_sym_mutable] = ACTIONS(2319), + [anon_sym_constexpr] = ACTIONS(2319), + [anon_sym_constinit] = ACTIONS(2319), + [anon_sym_consteval] = ACTIONS(2319), + [anon_sym_signed] = ACTIONS(2319), + [anon_sym_unsigned] = ACTIONS(2319), + [anon_sym_long] = ACTIONS(2319), + [anon_sym_short] = ACTIONS(2319), + [sym_primitive_type] = ACTIONS(2319), + [anon_sym_enum] = ACTIONS(2319), + [anon_sym_class] = ACTIONS(2319), + [anon_sym_struct] = ACTIONS(2319), + [anon_sym_union] = ACTIONS(2319), + [anon_sym_if] = ACTIONS(2319), + [anon_sym_switch] = ACTIONS(2319), + [anon_sym_case] = ACTIONS(2319), + [anon_sym_default] = ACTIONS(2319), + [anon_sym_while] = ACTIONS(2319), + [anon_sym_do] = ACTIONS(2319), + [anon_sym_for] = ACTIONS(2319), + [anon_sym_return] = ACTIONS(2319), + [anon_sym_break] = ACTIONS(2319), + [anon_sym_continue] = ACTIONS(2319), + [anon_sym_goto] = ACTIONS(2319), + [anon_sym_DASH_DASH] = ACTIONS(2321), + [anon_sym_PLUS_PLUS] = ACTIONS(2321), + [anon_sym_sizeof] = ACTIONS(2319), + [sym_number_literal] = ACTIONS(2321), + [anon_sym_L_SQUOTE] = ACTIONS(2321), + [anon_sym_u_SQUOTE] = ACTIONS(2321), + [anon_sym_U_SQUOTE] = ACTIONS(2321), + [anon_sym_u8_SQUOTE] = ACTIONS(2321), + [anon_sym_SQUOTE] = ACTIONS(2321), + [anon_sym_L_DQUOTE] = ACTIONS(2321), + [anon_sym_u_DQUOTE] = ACTIONS(2321), + [anon_sym_U_DQUOTE] = ACTIONS(2321), + [anon_sym_u8_DQUOTE] = ACTIONS(2321), + [anon_sym_DQUOTE] = ACTIONS(2321), + [sym_true] = ACTIONS(2319), + [sym_false] = ACTIONS(2319), + [sym_null] = ACTIONS(2319), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2319), + [anon_sym_decltype] = ACTIONS(2319), + [anon_sym_virtual] = ACTIONS(2319), + [anon_sym_explicit] = ACTIONS(2319), + [anon_sym_typename] = ACTIONS(2319), + [anon_sym_template] = ACTIONS(2319), + [anon_sym_operator] = ACTIONS(2319), + [anon_sym_delete] = ACTIONS(2319), + [anon_sym_throw] = ACTIONS(2319), + [anon_sym_namespace] = ACTIONS(2319), + [anon_sym_using] = ACTIONS(2319), + [anon_sym_static_assert] = ACTIONS(2319), + [anon_sym_concept] = ACTIONS(2319), + [anon_sym_co_return] = ACTIONS(2319), + [anon_sym_co_yield] = ACTIONS(2319), + [anon_sym_try] = ACTIONS(2319), + [anon_sym_co_await] = ACTIONS(2319), + [anon_sym_new] = ACTIONS(2319), + [anon_sym_requires] = ACTIONS(2319), + [sym_this] = ACTIONS(2319), + [sym_nullptr] = ACTIONS(2319), + [sym_raw_string_literal] = ACTIONS(2321), + }, + [732] = { + [sym_identifier] = ACTIONS(2299), + [aux_sym_preproc_include_token1] = ACTIONS(2299), + [aux_sym_preproc_def_token1] = ACTIONS(2299), + [aux_sym_preproc_if_token1] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2299), + [sym_preproc_directive] = ACTIONS(2299), + [anon_sym_LPAREN2] = ACTIONS(2301), + [anon_sym_BANG] = ACTIONS(2301), + [anon_sym_TILDE] = ACTIONS(2301), + [anon_sym_DASH] = ACTIONS(2299), + [anon_sym_PLUS] = ACTIONS(2299), + [anon_sym_STAR] = ACTIONS(2301), + [anon_sym_AMP_AMP] = ACTIONS(2301), + [anon_sym_AMP] = ACTIONS(2299), + [anon_sym_SEMI] = ACTIONS(2301), + [anon_sym_typedef] = ACTIONS(2299), + [anon_sym_extern] = ACTIONS(2299), + [anon_sym___attribute__] = ACTIONS(2299), + [anon_sym_COLON_COLON] = ACTIONS(2301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2301), + [anon_sym___declspec] = ACTIONS(2299), + [anon_sym___based] = ACTIONS(2299), + [anon_sym___cdecl] = ACTIONS(2299), + [anon_sym___clrcall] = ACTIONS(2299), + [anon_sym___stdcall] = ACTIONS(2299), + [anon_sym___fastcall] = ACTIONS(2299), + [anon_sym___thiscall] = ACTIONS(2299), + [anon_sym___vectorcall] = ACTIONS(2299), + [anon_sym_LBRACE] = ACTIONS(2301), + [anon_sym_RBRACE] = ACTIONS(2301), + [anon_sym_LBRACK] = ACTIONS(2299), + [anon_sym_static] = ACTIONS(2299), + [anon_sym_register] = ACTIONS(2299), + [anon_sym_inline] = ACTIONS(2299), + [anon_sym_thread_local] = ACTIONS(2299), + [anon_sym_const] = ACTIONS(2299), + [anon_sym_volatile] = ACTIONS(2299), + [anon_sym_restrict] = ACTIONS(2299), + [anon_sym__Atomic] = ACTIONS(2299), + [anon_sym_mutable] = ACTIONS(2299), + [anon_sym_constexpr] = ACTIONS(2299), + [anon_sym_constinit] = ACTIONS(2299), + [anon_sym_consteval] = ACTIONS(2299), + [anon_sym_signed] = ACTIONS(2299), + [anon_sym_unsigned] = ACTIONS(2299), + [anon_sym_long] = ACTIONS(2299), + [anon_sym_short] = ACTIONS(2299), + [sym_primitive_type] = ACTIONS(2299), + [anon_sym_enum] = ACTIONS(2299), + [anon_sym_class] = ACTIONS(2299), + [anon_sym_struct] = ACTIONS(2299), + [anon_sym_union] = ACTIONS(2299), + [anon_sym_if] = ACTIONS(2299), + [anon_sym_switch] = ACTIONS(2299), + [anon_sym_case] = ACTIONS(2299), + [anon_sym_default] = ACTIONS(2299), + [anon_sym_while] = ACTIONS(2299), + [anon_sym_do] = ACTIONS(2299), + [anon_sym_for] = ACTIONS(2299), + [anon_sym_return] = ACTIONS(2299), + [anon_sym_break] = ACTIONS(2299), + [anon_sym_continue] = ACTIONS(2299), + [anon_sym_goto] = ACTIONS(2299), + [anon_sym_DASH_DASH] = ACTIONS(2301), + [anon_sym_PLUS_PLUS] = ACTIONS(2301), + [anon_sym_sizeof] = ACTIONS(2299), + [sym_number_literal] = ACTIONS(2301), + [anon_sym_L_SQUOTE] = ACTIONS(2301), + [anon_sym_u_SQUOTE] = ACTIONS(2301), + [anon_sym_U_SQUOTE] = ACTIONS(2301), + [anon_sym_u8_SQUOTE] = ACTIONS(2301), + [anon_sym_SQUOTE] = ACTIONS(2301), + [anon_sym_L_DQUOTE] = ACTIONS(2301), + [anon_sym_u_DQUOTE] = ACTIONS(2301), + [anon_sym_U_DQUOTE] = ACTIONS(2301), + [anon_sym_u8_DQUOTE] = ACTIONS(2301), + [anon_sym_DQUOTE] = ACTIONS(2301), + [sym_true] = ACTIONS(2299), + [sym_false] = ACTIONS(2299), + [sym_null] = ACTIONS(2299), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2299), + [anon_sym_decltype] = ACTIONS(2299), + [anon_sym_virtual] = ACTIONS(2299), + [anon_sym_explicit] = ACTIONS(2299), + [anon_sym_typename] = ACTIONS(2299), + [anon_sym_template] = ACTIONS(2299), + [anon_sym_operator] = ACTIONS(2299), + [anon_sym_delete] = ACTIONS(2299), + [anon_sym_throw] = ACTIONS(2299), + [anon_sym_namespace] = ACTIONS(2299), + [anon_sym_using] = ACTIONS(2299), + [anon_sym_static_assert] = ACTIONS(2299), + [anon_sym_concept] = ACTIONS(2299), + [anon_sym_co_return] = ACTIONS(2299), + [anon_sym_co_yield] = ACTIONS(2299), + [anon_sym_try] = ACTIONS(2299), + [anon_sym_co_await] = ACTIONS(2299), + [anon_sym_new] = ACTIONS(2299), + [anon_sym_requires] = ACTIONS(2299), + [sym_this] = ACTIONS(2299), + [sym_nullptr] = ACTIONS(2299), + [sym_raw_string_literal] = ACTIONS(2301), + }, + [733] = { + [sym_identifier] = ACTIONS(2295), + [aux_sym_preproc_include_token1] = ACTIONS(2295), + [aux_sym_preproc_def_token1] = ACTIONS(2295), + [aux_sym_preproc_if_token1] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2295), + [sym_preproc_directive] = ACTIONS(2295), + [anon_sym_LPAREN2] = ACTIONS(2297), + [anon_sym_BANG] = ACTIONS(2297), + [anon_sym_TILDE] = ACTIONS(2297), + [anon_sym_DASH] = ACTIONS(2295), + [anon_sym_PLUS] = ACTIONS(2295), + [anon_sym_STAR] = ACTIONS(2297), + [anon_sym_AMP_AMP] = ACTIONS(2297), + [anon_sym_AMP] = ACTIONS(2295), + [anon_sym_SEMI] = ACTIONS(2297), + [anon_sym_typedef] = ACTIONS(2295), + [anon_sym_extern] = ACTIONS(2295), + [anon_sym___attribute__] = ACTIONS(2295), + [anon_sym_COLON_COLON] = ACTIONS(2297), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2297), + [anon_sym___declspec] = ACTIONS(2295), + [anon_sym___based] = ACTIONS(2295), + [anon_sym___cdecl] = ACTIONS(2295), + [anon_sym___clrcall] = ACTIONS(2295), + [anon_sym___stdcall] = ACTIONS(2295), + [anon_sym___fastcall] = ACTIONS(2295), + [anon_sym___thiscall] = ACTIONS(2295), + [anon_sym___vectorcall] = ACTIONS(2295), + [anon_sym_LBRACE] = ACTIONS(2297), + [anon_sym_RBRACE] = ACTIONS(2297), + [anon_sym_LBRACK] = ACTIONS(2295), + [anon_sym_static] = ACTIONS(2295), + [anon_sym_register] = ACTIONS(2295), + [anon_sym_inline] = ACTIONS(2295), + [anon_sym_thread_local] = ACTIONS(2295), + [anon_sym_const] = ACTIONS(2295), + [anon_sym_volatile] = ACTIONS(2295), + [anon_sym_restrict] = ACTIONS(2295), + [anon_sym__Atomic] = ACTIONS(2295), + [anon_sym_mutable] = ACTIONS(2295), + [anon_sym_constexpr] = ACTIONS(2295), + [anon_sym_constinit] = ACTIONS(2295), + [anon_sym_consteval] = ACTIONS(2295), + [anon_sym_signed] = ACTIONS(2295), + [anon_sym_unsigned] = ACTIONS(2295), + [anon_sym_long] = ACTIONS(2295), + [anon_sym_short] = ACTIONS(2295), + [sym_primitive_type] = ACTIONS(2295), + [anon_sym_enum] = ACTIONS(2295), + [anon_sym_class] = ACTIONS(2295), + [anon_sym_struct] = ACTIONS(2295), + [anon_sym_union] = ACTIONS(2295), + [anon_sym_if] = ACTIONS(2295), + [anon_sym_switch] = ACTIONS(2295), + [anon_sym_case] = ACTIONS(2295), + [anon_sym_default] = ACTIONS(2295), + [anon_sym_while] = ACTIONS(2295), + [anon_sym_do] = ACTIONS(2295), + [anon_sym_for] = ACTIONS(2295), + [anon_sym_return] = ACTIONS(2295), + [anon_sym_break] = ACTIONS(2295), + [anon_sym_continue] = ACTIONS(2295), + [anon_sym_goto] = ACTIONS(2295), + [anon_sym_DASH_DASH] = ACTIONS(2297), + [anon_sym_PLUS_PLUS] = ACTIONS(2297), + [anon_sym_sizeof] = ACTIONS(2295), + [sym_number_literal] = ACTIONS(2297), + [anon_sym_L_SQUOTE] = ACTIONS(2297), + [anon_sym_u_SQUOTE] = ACTIONS(2297), + [anon_sym_U_SQUOTE] = ACTIONS(2297), + [anon_sym_u8_SQUOTE] = ACTIONS(2297), + [anon_sym_SQUOTE] = ACTIONS(2297), + [anon_sym_L_DQUOTE] = ACTIONS(2297), + [anon_sym_u_DQUOTE] = ACTIONS(2297), + [anon_sym_U_DQUOTE] = ACTIONS(2297), + [anon_sym_u8_DQUOTE] = ACTIONS(2297), + [anon_sym_DQUOTE] = ACTIONS(2297), + [sym_true] = ACTIONS(2295), + [sym_false] = ACTIONS(2295), + [sym_null] = ACTIONS(2295), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2295), + [anon_sym_decltype] = ACTIONS(2295), + [anon_sym_virtual] = ACTIONS(2295), + [anon_sym_explicit] = ACTIONS(2295), + [anon_sym_typename] = ACTIONS(2295), + [anon_sym_template] = ACTIONS(2295), + [anon_sym_operator] = ACTIONS(2295), + [anon_sym_delete] = ACTIONS(2295), + [anon_sym_throw] = ACTIONS(2295), + [anon_sym_namespace] = ACTIONS(2295), + [anon_sym_using] = ACTIONS(2295), + [anon_sym_static_assert] = ACTIONS(2295), + [anon_sym_concept] = ACTIONS(2295), + [anon_sym_co_return] = ACTIONS(2295), + [anon_sym_co_yield] = ACTIONS(2295), + [anon_sym_try] = ACTIONS(2295), + [anon_sym_co_await] = ACTIONS(2295), + [anon_sym_new] = ACTIONS(2295), + [anon_sym_requires] = ACTIONS(2295), + [sym_this] = ACTIONS(2295), + [sym_nullptr] = ACTIONS(2295), + [sym_raw_string_literal] = ACTIONS(2297), + }, + [734] = { + [ts_builtin_sym_end] = ACTIONS(2405), + [sym_identifier] = ACTIONS(2403), + [aux_sym_preproc_include_token1] = ACTIONS(2403), + [aux_sym_preproc_def_token1] = ACTIONS(2403), + [aux_sym_preproc_if_token1] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2403), + [sym_preproc_directive] = ACTIONS(2403), + [anon_sym_LPAREN2] = ACTIONS(2405), + [anon_sym_BANG] = ACTIONS(2405), + [anon_sym_TILDE] = ACTIONS(2405), + [anon_sym_DASH] = ACTIONS(2403), + [anon_sym_PLUS] = ACTIONS(2403), + [anon_sym_STAR] = ACTIONS(2405), + [anon_sym_AMP_AMP] = ACTIONS(2405), + [anon_sym_AMP] = ACTIONS(2403), + [anon_sym_SEMI] = ACTIONS(2405), + [anon_sym_typedef] = ACTIONS(2403), + [anon_sym_extern] = ACTIONS(2403), + [anon_sym___attribute__] = ACTIONS(2403), + [anon_sym_COLON_COLON] = ACTIONS(2405), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2405), + [anon_sym___declspec] = ACTIONS(2403), + [anon_sym___based] = ACTIONS(2403), + [anon_sym___cdecl] = ACTIONS(2403), + [anon_sym___clrcall] = ACTIONS(2403), + [anon_sym___stdcall] = ACTIONS(2403), + [anon_sym___fastcall] = ACTIONS(2403), + [anon_sym___thiscall] = ACTIONS(2403), + [anon_sym___vectorcall] = ACTIONS(2403), + [anon_sym_LBRACE] = ACTIONS(2405), + [anon_sym_LBRACK] = ACTIONS(2403), + [anon_sym_static] = ACTIONS(2403), + [anon_sym_register] = ACTIONS(2403), + [anon_sym_inline] = ACTIONS(2403), + [anon_sym_thread_local] = ACTIONS(2403), + [anon_sym_const] = ACTIONS(2403), + [anon_sym_volatile] = ACTIONS(2403), + [anon_sym_restrict] = ACTIONS(2403), + [anon_sym__Atomic] = ACTIONS(2403), + [anon_sym_mutable] = ACTIONS(2403), + [anon_sym_constexpr] = ACTIONS(2403), + [anon_sym_constinit] = ACTIONS(2403), + [anon_sym_consteval] = ACTIONS(2403), + [anon_sym_signed] = ACTIONS(2403), + [anon_sym_unsigned] = ACTIONS(2403), + [anon_sym_long] = ACTIONS(2403), + [anon_sym_short] = ACTIONS(2403), + [sym_primitive_type] = ACTIONS(2403), + [anon_sym_enum] = ACTIONS(2403), + [anon_sym_class] = ACTIONS(2403), + [anon_sym_struct] = ACTIONS(2403), + [anon_sym_union] = ACTIONS(2403), + [anon_sym_if] = ACTIONS(2403), + [anon_sym_switch] = ACTIONS(2403), + [anon_sym_case] = ACTIONS(2403), + [anon_sym_default] = ACTIONS(2403), + [anon_sym_while] = ACTIONS(2403), + [anon_sym_do] = ACTIONS(2403), + [anon_sym_for] = ACTIONS(2403), + [anon_sym_return] = ACTIONS(2403), + [anon_sym_break] = ACTIONS(2403), + [anon_sym_continue] = ACTIONS(2403), + [anon_sym_goto] = ACTIONS(2403), + [anon_sym_DASH_DASH] = ACTIONS(2405), + [anon_sym_PLUS_PLUS] = ACTIONS(2405), + [anon_sym_sizeof] = ACTIONS(2403), + [sym_number_literal] = ACTIONS(2405), + [anon_sym_L_SQUOTE] = ACTIONS(2405), + [anon_sym_u_SQUOTE] = ACTIONS(2405), + [anon_sym_U_SQUOTE] = ACTIONS(2405), + [anon_sym_u8_SQUOTE] = ACTIONS(2405), + [anon_sym_SQUOTE] = ACTIONS(2405), + [anon_sym_L_DQUOTE] = ACTIONS(2405), + [anon_sym_u_DQUOTE] = ACTIONS(2405), + [anon_sym_U_DQUOTE] = ACTIONS(2405), + [anon_sym_u8_DQUOTE] = ACTIONS(2405), + [anon_sym_DQUOTE] = ACTIONS(2405), + [sym_true] = ACTIONS(2403), + [sym_false] = ACTIONS(2403), + [sym_null] = ACTIONS(2403), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2403), + [anon_sym_decltype] = ACTIONS(2403), + [anon_sym_virtual] = ACTIONS(2403), + [anon_sym_explicit] = ACTIONS(2403), + [anon_sym_typename] = ACTIONS(2403), + [anon_sym_template] = ACTIONS(2403), + [anon_sym_operator] = ACTIONS(2403), + [anon_sym_delete] = ACTIONS(2403), + [anon_sym_throw] = ACTIONS(2403), + [anon_sym_namespace] = ACTIONS(2403), + [anon_sym_using] = ACTIONS(2403), + [anon_sym_static_assert] = ACTIONS(2403), + [anon_sym_concept] = ACTIONS(2403), + [anon_sym_co_return] = ACTIONS(2403), + [anon_sym_co_yield] = ACTIONS(2403), + [anon_sym_try] = ACTIONS(2403), + [anon_sym_co_await] = ACTIONS(2403), + [anon_sym_new] = ACTIONS(2403), + [anon_sym_requires] = ACTIONS(2403), + [sym_this] = ACTIONS(2403), + [sym_nullptr] = ACTIONS(2403), + [sym_raw_string_literal] = ACTIONS(2405), + }, + [735] = { + [sym_identifier] = ACTIONS(2391), + [aux_sym_preproc_include_token1] = ACTIONS(2391), + [aux_sym_preproc_def_token1] = ACTIONS(2391), + [aux_sym_preproc_if_token1] = ACTIONS(2391), + [aux_sym_preproc_if_token2] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2391), + [sym_preproc_directive] = ACTIONS(2391), + [anon_sym_LPAREN2] = ACTIONS(2393), + [anon_sym_BANG] = ACTIONS(2393), + [anon_sym_TILDE] = ACTIONS(2393), + [anon_sym_DASH] = ACTIONS(2391), + [anon_sym_PLUS] = ACTIONS(2391), + [anon_sym_STAR] = ACTIONS(2393), + [anon_sym_AMP_AMP] = ACTIONS(2393), + [anon_sym_AMP] = ACTIONS(2391), + [anon_sym_SEMI] = ACTIONS(2393), + [anon_sym_typedef] = ACTIONS(2391), + [anon_sym_extern] = ACTIONS(2391), + [anon_sym___attribute__] = ACTIONS(2391), + [anon_sym_COLON_COLON] = ACTIONS(2393), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2393), + [anon_sym___declspec] = ACTIONS(2391), + [anon_sym___based] = ACTIONS(2391), + [anon_sym___cdecl] = ACTIONS(2391), + [anon_sym___clrcall] = ACTIONS(2391), + [anon_sym___stdcall] = ACTIONS(2391), + [anon_sym___fastcall] = ACTIONS(2391), + [anon_sym___thiscall] = ACTIONS(2391), + [anon_sym___vectorcall] = ACTIONS(2391), + [anon_sym_LBRACE] = ACTIONS(2393), + [anon_sym_LBRACK] = ACTIONS(2391), + [anon_sym_static] = ACTIONS(2391), + [anon_sym_register] = ACTIONS(2391), + [anon_sym_inline] = ACTIONS(2391), + [anon_sym_thread_local] = ACTIONS(2391), + [anon_sym_const] = ACTIONS(2391), + [anon_sym_volatile] = ACTIONS(2391), + [anon_sym_restrict] = ACTIONS(2391), + [anon_sym__Atomic] = ACTIONS(2391), + [anon_sym_mutable] = ACTIONS(2391), + [anon_sym_constexpr] = ACTIONS(2391), + [anon_sym_constinit] = ACTIONS(2391), + [anon_sym_consteval] = ACTIONS(2391), + [anon_sym_signed] = ACTIONS(2391), + [anon_sym_unsigned] = ACTIONS(2391), + [anon_sym_long] = ACTIONS(2391), + [anon_sym_short] = ACTIONS(2391), + [sym_primitive_type] = ACTIONS(2391), + [anon_sym_enum] = ACTIONS(2391), + [anon_sym_class] = ACTIONS(2391), + [anon_sym_struct] = ACTIONS(2391), + [anon_sym_union] = ACTIONS(2391), + [anon_sym_if] = ACTIONS(2391), + [anon_sym_switch] = ACTIONS(2391), + [anon_sym_case] = ACTIONS(2391), + [anon_sym_default] = ACTIONS(2391), + [anon_sym_while] = ACTIONS(2391), + [anon_sym_do] = ACTIONS(2391), + [anon_sym_for] = ACTIONS(2391), + [anon_sym_return] = ACTIONS(2391), + [anon_sym_break] = ACTIONS(2391), + [anon_sym_continue] = ACTIONS(2391), + [anon_sym_goto] = ACTIONS(2391), + [anon_sym_DASH_DASH] = ACTIONS(2393), + [anon_sym_PLUS_PLUS] = ACTIONS(2393), + [anon_sym_sizeof] = ACTIONS(2391), + [sym_number_literal] = ACTIONS(2393), + [anon_sym_L_SQUOTE] = ACTIONS(2393), + [anon_sym_u_SQUOTE] = ACTIONS(2393), + [anon_sym_U_SQUOTE] = ACTIONS(2393), + [anon_sym_u8_SQUOTE] = ACTIONS(2393), + [anon_sym_SQUOTE] = ACTIONS(2393), + [anon_sym_L_DQUOTE] = ACTIONS(2393), + [anon_sym_u_DQUOTE] = ACTIONS(2393), + [anon_sym_U_DQUOTE] = ACTIONS(2393), + [anon_sym_u8_DQUOTE] = ACTIONS(2393), + [anon_sym_DQUOTE] = ACTIONS(2393), + [sym_true] = ACTIONS(2391), + [sym_false] = ACTIONS(2391), + [sym_null] = ACTIONS(2391), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2391), + [anon_sym_decltype] = ACTIONS(2391), + [anon_sym_virtual] = ACTIONS(2391), + [anon_sym_explicit] = ACTIONS(2391), + [anon_sym_typename] = ACTIONS(2391), + [anon_sym_template] = ACTIONS(2391), + [anon_sym_operator] = ACTIONS(2391), + [anon_sym_delete] = ACTIONS(2391), + [anon_sym_throw] = ACTIONS(2391), + [anon_sym_namespace] = ACTIONS(2391), + [anon_sym_using] = ACTIONS(2391), + [anon_sym_static_assert] = ACTIONS(2391), + [anon_sym_concept] = ACTIONS(2391), + [anon_sym_co_return] = ACTIONS(2391), + [anon_sym_co_yield] = ACTIONS(2391), + [anon_sym_try] = ACTIONS(2391), + [anon_sym_co_await] = ACTIONS(2391), + [anon_sym_new] = ACTIONS(2391), + [anon_sym_requires] = ACTIONS(2391), + [sym_this] = ACTIONS(2391), + [sym_nullptr] = ACTIONS(2391), + [sym_raw_string_literal] = ACTIONS(2393), + }, + [736] = { + [sym__expression] = STATE(2783), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_initializer_list] = STATE(2356), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2511), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2515), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1891), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1891), + [anon_sym_AMP] = ACTIONS(2515), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1891), + [anon_sym_GT_GT] = ACTIONS(1891), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACE] = ACTIONS(1895), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_EQ] = ACTIONS(1891), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_COLON] = ACTIONS(1891), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_STAR_EQ] = ACTIONS(1883), + [anon_sym_SLASH_EQ] = ACTIONS(1883), + [anon_sym_PERCENT_EQ] = ACTIONS(1883), + [anon_sym_PLUS_EQ] = ACTIONS(1883), + [anon_sym_DASH_EQ] = ACTIONS(1883), + [anon_sym_LT_LT_EQ] = ACTIONS(1883), + [anon_sym_GT_GT_EQ] = ACTIONS(1883), + [anon_sym_AMP_EQ] = ACTIONS(1883), + [anon_sym_CARET_EQ] = ACTIONS(1883), + [anon_sym_PIPE_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1883), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [737] = { + [ts_builtin_sym_end] = ACTIONS(2389), + [sym_identifier] = ACTIONS(2387), + [aux_sym_preproc_include_token1] = ACTIONS(2387), + [aux_sym_preproc_def_token1] = ACTIONS(2387), + [aux_sym_preproc_if_token1] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2387), + [sym_preproc_directive] = ACTIONS(2387), + [anon_sym_LPAREN2] = ACTIONS(2389), + [anon_sym_BANG] = ACTIONS(2389), + [anon_sym_TILDE] = ACTIONS(2389), + [anon_sym_DASH] = ACTIONS(2387), + [anon_sym_PLUS] = ACTIONS(2387), + [anon_sym_STAR] = ACTIONS(2389), + [anon_sym_AMP_AMP] = ACTIONS(2389), + [anon_sym_AMP] = ACTIONS(2387), + [anon_sym_SEMI] = ACTIONS(2389), + [anon_sym_typedef] = ACTIONS(2387), + [anon_sym_extern] = ACTIONS(2387), + [anon_sym___attribute__] = ACTIONS(2387), + [anon_sym_COLON_COLON] = ACTIONS(2389), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2389), + [anon_sym___declspec] = ACTIONS(2387), + [anon_sym___based] = ACTIONS(2387), + [anon_sym___cdecl] = ACTIONS(2387), + [anon_sym___clrcall] = ACTIONS(2387), + [anon_sym___stdcall] = ACTIONS(2387), + [anon_sym___fastcall] = ACTIONS(2387), + [anon_sym___thiscall] = ACTIONS(2387), + [anon_sym___vectorcall] = ACTIONS(2387), + [anon_sym_LBRACE] = ACTIONS(2389), + [anon_sym_LBRACK] = ACTIONS(2387), + [anon_sym_static] = ACTIONS(2387), + [anon_sym_register] = ACTIONS(2387), + [anon_sym_inline] = ACTIONS(2387), + [anon_sym_thread_local] = ACTIONS(2387), + [anon_sym_const] = ACTIONS(2387), + [anon_sym_volatile] = ACTIONS(2387), + [anon_sym_restrict] = ACTIONS(2387), + [anon_sym__Atomic] = ACTIONS(2387), + [anon_sym_mutable] = ACTIONS(2387), + [anon_sym_constexpr] = ACTIONS(2387), + [anon_sym_constinit] = ACTIONS(2387), + [anon_sym_consteval] = ACTIONS(2387), + [anon_sym_signed] = ACTIONS(2387), + [anon_sym_unsigned] = ACTIONS(2387), + [anon_sym_long] = ACTIONS(2387), + [anon_sym_short] = ACTIONS(2387), + [sym_primitive_type] = ACTIONS(2387), + [anon_sym_enum] = ACTIONS(2387), + [anon_sym_class] = ACTIONS(2387), + [anon_sym_struct] = ACTIONS(2387), + [anon_sym_union] = ACTIONS(2387), + [anon_sym_if] = ACTIONS(2387), + [anon_sym_switch] = ACTIONS(2387), + [anon_sym_case] = ACTIONS(2387), + [anon_sym_default] = ACTIONS(2387), + [anon_sym_while] = ACTIONS(2387), + [anon_sym_do] = ACTIONS(2387), + [anon_sym_for] = ACTIONS(2387), + [anon_sym_return] = ACTIONS(2387), + [anon_sym_break] = ACTIONS(2387), + [anon_sym_continue] = ACTIONS(2387), + [anon_sym_goto] = ACTIONS(2387), + [anon_sym_DASH_DASH] = ACTIONS(2389), + [anon_sym_PLUS_PLUS] = ACTIONS(2389), + [anon_sym_sizeof] = ACTIONS(2387), + [sym_number_literal] = ACTIONS(2389), + [anon_sym_L_SQUOTE] = ACTIONS(2389), + [anon_sym_u_SQUOTE] = ACTIONS(2389), + [anon_sym_U_SQUOTE] = ACTIONS(2389), + [anon_sym_u8_SQUOTE] = ACTIONS(2389), + [anon_sym_SQUOTE] = ACTIONS(2389), + [anon_sym_L_DQUOTE] = ACTIONS(2389), + [anon_sym_u_DQUOTE] = ACTIONS(2389), + [anon_sym_U_DQUOTE] = ACTIONS(2389), + [anon_sym_u8_DQUOTE] = ACTIONS(2389), + [anon_sym_DQUOTE] = ACTIONS(2389), + [sym_true] = ACTIONS(2387), + [sym_false] = ACTIONS(2387), + [sym_null] = ACTIONS(2387), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2387), + [anon_sym_decltype] = ACTIONS(2387), + [anon_sym_virtual] = ACTIONS(2387), + [anon_sym_explicit] = ACTIONS(2387), + [anon_sym_typename] = ACTIONS(2387), + [anon_sym_template] = ACTIONS(2387), + [anon_sym_operator] = ACTIONS(2387), + [anon_sym_delete] = ACTIONS(2387), + [anon_sym_throw] = ACTIONS(2387), + [anon_sym_namespace] = ACTIONS(2387), + [anon_sym_using] = ACTIONS(2387), + [anon_sym_static_assert] = ACTIONS(2387), + [anon_sym_concept] = ACTIONS(2387), + [anon_sym_co_return] = ACTIONS(2387), + [anon_sym_co_yield] = ACTIONS(2387), + [anon_sym_try] = ACTIONS(2387), + [anon_sym_co_await] = ACTIONS(2387), + [anon_sym_new] = ACTIONS(2387), + [anon_sym_requires] = ACTIONS(2387), + [sym_this] = ACTIONS(2387), + [sym_nullptr] = ACTIONS(2387), + [sym_raw_string_literal] = ACTIONS(2389), + }, + [738] = { + [ts_builtin_sym_end] = ACTIONS(2413), + [sym_identifier] = ACTIONS(2411), + [aux_sym_preproc_include_token1] = ACTIONS(2411), + [aux_sym_preproc_def_token1] = ACTIONS(2411), + [aux_sym_preproc_if_token1] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2411), + [sym_preproc_directive] = ACTIONS(2411), + [anon_sym_LPAREN2] = ACTIONS(2413), + [anon_sym_BANG] = ACTIONS(2413), + [anon_sym_TILDE] = ACTIONS(2413), + [anon_sym_DASH] = ACTIONS(2411), + [anon_sym_PLUS] = ACTIONS(2411), + [anon_sym_STAR] = ACTIONS(2413), + [anon_sym_AMP_AMP] = ACTIONS(2413), + [anon_sym_AMP] = ACTIONS(2411), + [anon_sym_SEMI] = ACTIONS(2413), + [anon_sym_typedef] = ACTIONS(2411), + [anon_sym_extern] = ACTIONS(2411), + [anon_sym___attribute__] = ACTIONS(2411), + [anon_sym_COLON_COLON] = ACTIONS(2413), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2413), + [anon_sym___declspec] = ACTIONS(2411), + [anon_sym___based] = ACTIONS(2411), + [anon_sym___cdecl] = ACTIONS(2411), + [anon_sym___clrcall] = ACTIONS(2411), + [anon_sym___stdcall] = ACTIONS(2411), + [anon_sym___fastcall] = ACTIONS(2411), + [anon_sym___thiscall] = ACTIONS(2411), + [anon_sym___vectorcall] = ACTIONS(2411), + [anon_sym_LBRACE] = ACTIONS(2413), + [anon_sym_LBRACK] = ACTIONS(2411), + [anon_sym_static] = ACTIONS(2411), + [anon_sym_register] = ACTIONS(2411), + [anon_sym_inline] = ACTIONS(2411), + [anon_sym_thread_local] = ACTIONS(2411), + [anon_sym_const] = ACTIONS(2411), + [anon_sym_volatile] = ACTIONS(2411), + [anon_sym_restrict] = ACTIONS(2411), + [anon_sym__Atomic] = ACTIONS(2411), + [anon_sym_mutable] = ACTIONS(2411), + [anon_sym_constexpr] = ACTIONS(2411), + [anon_sym_constinit] = ACTIONS(2411), + [anon_sym_consteval] = ACTIONS(2411), + [anon_sym_signed] = ACTIONS(2411), + [anon_sym_unsigned] = ACTIONS(2411), + [anon_sym_long] = ACTIONS(2411), + [anon_sym_short] = ACTIONS(2411), + [sym_primitive_type] = ACTIONS(2411), + [anon_sym_enum] = ACTIONS(2411), + [anon_sym_class] = ACTIONS(2411), + [anon_sym_struct] = ACTIONS(2411), + [anon_sym_union] = ACTIONS(2411), + [anon_sym_if] = ACTIONS(2411), + [anon_sym_switch] = ACTIONS(2411), + [anon_sym_case] = ACTIONS(2411), + [anon_sym_default] = ACTIONS(2411), + [anon_sym_while] = ACTIONS(2411), + [anon_sym_do] = ACTIONS(2411), + [anon_sym_for] = ACTIONS(2411), + [anon_sym_return] = ACTIONS(2411), + [anon_sym_break] = ACTIONS(2411), + [anon_sym_continue] = ACTIONS(2411), + [anon_sym_goto] = ACTIONS(2411), + [anon_sym_DASH_DASH] = ACTIONS(2413), + [anon_sym_PLUS_PLUS] = ACTIONS(2413), + [anon_sym_sizeof] = ACTIONS(2411), + [sym_number_literal] = ACTIONS(2413), + [anon_sym_L_SQUOTE] = ACTIONS(2413), + [anon_sym_u_SQUOTE] = ACTIONS(2413), + [anon_sym_U_SQUOTE] = ACTIONS(2413), + [anon_sym_u8_SQUOTE] = ACTIONS(2413), + [anon_sym_SQUOTE] = ACTIONS(2413), + [anon_sym_L_DQUOTE] = ACTIONS(2413), + [anon_sym_u_DQUOTE] = ACTIONS(2413), + [anon_sym_U_DQUOTE] = ACTIONS(2413), + [anon_sym_u8_DQUOTE] = ACTIONS(2413), + [anon_sym_DQUOTE] = ACTIONS(2413), + [sym_true] = ACTIONS(2411), + [sym_false] = ACTIONS(2411), + [sym_null] = ACTIONS(2411), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2411), + [anon_sym_decltype] = ACTIONS(2411), + [anon_sym_virtual] = ACTIONS(2411), + [anon_sym_explicit] = ACTIONS(2411), + [anon_sym_typename] = ACTIONS(2411), + [anon_sym_template] = ACTIONS(2411), + [anon_sym_operator] = ACTIONS(2411), + [anon_sym_delete] = ACTIONS(2411), + [anon_sym_throw] = ACTIONS(2411), + [anon_sym_namespace] = ACTIONS(2411), + [anon_sym_using] = ACTIONS(2411), + [anon_sym_static_assert] = ACTIONS(2411), + [anon_sym_concept] = ACTIONS(2411), + [anon_sym_co_return] = ACTIONS(2411), + [anon_sym_co_yield] = ACTIONS(2411), + [anon_sym_try] = ACTIONS(2411), + [anon_sym_co_await] = ACTIONS(2411), + [anon_sym_new] = ACTIONS(2411), + [anon_sym_requires] = ACTIONS(2411), + [sym_this] = ACTIONS(2411), + [sym_nullptr] = ACTIONS(2411), + [sym_raw_string_literal] = ACTIONS(2413), + }, + [739] = { + [ts_builtin_sym_end] = ACTIONS(2353), + [sym_identifier] = ACTIONS(2351), + [aux_sym_preproc_include_token1] = ACTIONS(2351), + [aux_sym_preproc_def_token1] = ACTIONS(2351), + [aux_sym_preproc_if_token1] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2351), + [sym_preproc_directive] = ACTIONS(2351), + [anon_sym_LPAREN2] = ACTIONS(2353), + [anon_sym_BANG] = ACTIONS(2353), + [anon_sym_TILDE] = ACTIONS(2353), + [anon_sym_DASH] = ACTIONS(2351), + [anon_sym_PLUS] = ACTIONS(2351), + [anon_sym_STAR] = ACTIONS(2353), + [anon_sym_AMP_AMP] = ACTIONS(2353), + [anon_sym_AMP] = ACTIONS(2351), + [anon_sym_SEMI] = ACTIONS(2353), + [anon_sym_typedef] = ACTIONS(2351), + [anon_sym_extern] = ACTIONS(2351), + [anon_sym___attribute__] = ACTIONS(2351), + [anon_sym_COLON_COLON] = ACTIONS(2353), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2353), + [anon_sym___declspec] = ACTIONS(2351), + [anon_sym___based] = ACTIONS(2351), + [anon_sym___cdecl] = ACTIONS(2351), + [anon_sym___clrcall] = ACTIONS(2351), + [anon_sym___stdcall] = ACTIONS(2351), + [anon_sym___fastcall] = ACTIONS(2351), + [anon_sym___thiscall] = ACTIONS(2351), + [anon_sym___vectorcall] = ACTIONS(2351), + [anon_sym_LBRACE] = ACTIONS(2353), + [anon_sym_LBRACK] = ACTIONS(2351), + [anon_sym_static] = ACTIONS(2351), + [anon_sym_register] = ACTIONS(2351), + [anon_sym_inline] = ACTIONS(2351), + [anon_sym_thread_local] = ACTIONS(2351), + [anon_sym_const] = ACTIONS(2351), + [anon_sym_volatile] = ACTIONS(2351), + [anon_sym_restrict] = ACTIONS(2351), + [anon_sym__Atomic] = ACTIONS(2351), + [anon_sym_mutable] = ACTIONS(2351), + [anon_sym_constexpr] = ACTIONS(2351), + [anon_sym_constinit] = ACTIONS(2351), + [anon_sym_consteval] = ACTIONS(2351), + [anon_sym_signed] = ACTIONS(2351), + [anon_sym_unsigned] = ACTIONS(2351), + [anon_sym_long] = ACTIONS(2351), + [anon_sym_short] = ACTIONS(2351), + [sym_primitive_type] = ACTIONS(2351), + [anon_sym_enum] = ACTIONS(2351), + [anon_sym_class] = ACTIONS(2351), + [anon_sym_struct] = ACTIONS(2351), + [anon_sym_union] = ACTIONS(2351), + [anon_sym_if] = ACTIONS(2351), + [anon_sym_switch] = ACTIONS(2351), + [anon_sym_case] = ACTIONS(2351), + [anon_sym_default] = ACTIONS(2351), + [anon_sym_while] = ACTIONS(2351), + [anon_sym_do] = ACTIONS(2351), + [anon_sym_for] = ACTIONS(2351), + [anon_sym_return] = ACTIONS(2351), + [anon_sym_break] = ACTIONS(2351), + [anon_sym_continue] = ACTIONS(2351), + [anon_sym_goto] = ACTIONS(2351), + [anon_sym_DASH_DASH] = ACTIONS(2353), + [anon_sym_PLUS_PLUS] = ACTIONS(2353), + [anon_sym_sizeof] = ACTIONS(2351), + [sym_number_literal] = ACTIONS(2353), + [anon_sym_L_SQUOTE] = ACTIONS(2353), + [anon_sym_u_SQUOTE] = ACTIONS(2353), + [anon_sym_U_SQUOTE] = ACTIONS(2353), + [anon_sym_u8_SQUOTE] = ACTIONS(2353), + [anon_sym_SQUOTE] = ACTIONS(2353), + [anon_sym_L_DQUOTE] = ACTIONS(2353), + [anon_sym_u_DQUOTE] = ACTIONS(2353), + [anon_sym_U_DQUOTE] = ACTIONS(2353), + [anon_sym_u8_DQUOTE] = ACTIONS(2353), + [anon_sym_DQUOTE] = ACTIONS(2353), + [sym_true] = ACTIONS(2351), + [sym_false] = ACTIONS(2351), + [sym_null] = ACTIONS(2351), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2351), + [anon_sym_decltype] = ACTIONS(2351), + [anon_sym_virtual] = ACTIONS(2351), + [anon_sym_explicit] = ACTIONS(2351), + [anon_sym_typename] = ACTIONS(2351), + [anon_sym_template] = ACTIONS(2351), + [anon_sym_operator] = ACTIONS(2351), + [anon_sym_delete] = ACTIONS(2351), + [anon_sym_throw] = ACTIONS(2351), + [anon_sym_namespace] = ACTIONS(2351), + [anon_sym_using] = ACTIONS(2351), + [anon_sym_static_assert] = ACTIONS(2351), + [anon_sym_concept] = ACTIONS(2351), + [anon_sym_co_return] = ACTIONS(2351), + [anon_sym_co_yield] = ACTIONS(2351), + [anon_sym_try] = ACTIONS(2351), + [anon_sym_co_await] = ACTIONS(2351), + [anon_sym_new] = ACTIONS(2351), + [anon_sym_requires] = ACTIONS(2351), + [sym_this] = ACTIONS(2351), + [sym_nullptr] = ACTIONS(2351), + [sym_raw_string_literal] = ACTIONS(2353), + }, + [740] = { + [sym_identifier] = ACTIONS(2347), + [aux_sym_preproc_include_token1] = ACTIONS(2347), + [aux_sym_preproc_def_token1] = ACTIONS(2347), + [aux_sym_preproc_if_token1] = ACTIONS(2347), + [aux_sym_preproc_if_token2] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2347), + [sym_preproc_directive] = ACTIONS(2347), + [anon_sym_LPAREN2] = ACTIONS(2349), + [anon_sym_BANG] = ACTIONS(2349), + [anon_sym_TILDE] = ACTIONS(2349), + [anon_sym_DASH] = ACTIONS(2347), + [anon_sym_PLUS] = ACTIONS(2347), + [anon_sym_STAR] = ACTIONS(2349), + [anon_sym_AMP_AMP] = ACTIONS(2349), + [anon_sym_AMP] = ACTIONS(2347), + [anon_sym_SEMI] = ACTIONS(2349), + [anon_sym_typedef] = ACTIONS(2347), + [anon_sym_extern] = ACTIONS(2347), + [anon_sym___attribute__] = ACTIONS(2347), + [anon_sym_COLON_COLON] = ACTIONS(2349), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2349), + [anon_sym___declspec] = ACTIONS(2347), + [anon_sym___based] = ACTIONS(2347), + [anon_sym___cdecl] = ACTIONS(2347), + [anon_sym___clrcall] = ACTIONS(2347), + [anon_sym___stdcall] = ACTIONS(2347), + [anon_sym___fastcall] = ACTIONS(2347), + [anon_sym___thiscall] = ACTIONS(2347), + [anon_sym___vectorcall] = ACTIONS(2347), + [anon_sym_LBRACE] = ACTIONS(2349), + [anon_sym_LBRACK] = ACTIONS(2347), + [anon_sym_static] = ACTIONS(2347), + [anon_sym_register] = ACTIONS(2347), + [anon_sym_inline] = ACTIONS(2347), + [anon_sym_thread_local] = ACTIONS(2347), + [anon_sym_const] = ACTIONS(2347), + [anon_sym_volatile] = ACTIONS(2347), + [anon_sym_restrict] = ACTIONS(2347), + [anon_sym__Atomic] = ACTIONS(2347), + [anon_sym_mutable] = ACTIONS(2347), + [anon_sym_constexpr] = ACTIONS(2347), + [anon_sym_constinit] = ACTIONS(2347), + [anon_sym_consteval] = ACTIONS(2347), + [anon_sym_signed] = ACTIONS(2347), + [anon_sym_unsigned] = ACTIONS(2347), + [anon_sym_long] = ACTIONS(2347), + [anon_sym_short] = ACTIONS(2347), + [sym_primitive_type] = ACTIONS(2347), + [anon_sym_enum] = ACTIONS(2347), + [anon_sym_class] = ACTIONS(2347), + [anon_sym_struct] = ACTIONS(2347), + [anon_sym_union] = ACTIONS(2347), + [anon_sym_if] = ACTIONS(2347), + [anon_sym_switch] = ACTIONS(2347), + [anon_sym_case] = ACTIONS(2347), + [anon_sym_default] = ACTIONS(2347), + [anon_sym_while] = ACTIONS(2347), + [anon_sym_do] = ACTIONS(2347), + [anon_sym_for] = ACTIONS(2347), + [anon_sym_return] = ACTIONS(2347), + [anon_sym_break] = ACTIONS(2347), + [anon_sym_continue] = ACTIONS(2347), + [anon_sym_goto] = ACTIONS(2347), + [anon_sym_DASH_DASH] = ACTIONS(2349), + [anon_sym_PLUS_PLUS] = ACTIONS(2349), + [anon_sym_sizeof] = ACTIONS(2347), + [sym_number_literal] = ACTIONS(2349), + [anon_sym_L_SQUOTE] = ACTIONS(2349), + [anon_sym_u_SQUOTE] = ACTIONS(2349), + [anon_sym_U_SQUOTE] = ACTIONS(2349), + [anon_sym_u8_SQUOTE] = ACTIONS(2349), + [anon_sym_SQUOTE] = ACTIONS(2349), + [anon_sym_L_DQUOTE] = ACTIONS(2349), + [anon_sym_u_DQUOTE] = ACTIONS(2349), + [anon_sym_U_DQUOTE] = ACTIONS(2349), + [anon_sym_u8_DQUOTE] = ACTIONS(2349), + [anon_sym_DQUOTE] = ACTIONS(2349), + [sym_true] = ACTIONS(2347), + [sym_false] = ACTIONS(2347), + [sym_null] = ACTIONS(2347), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2347), + [anon_sym_decltype] = ACTIONS(2347), + [anon_sym_virtual] = ACTIONS(2347), + [anon_sym_explicit] = ACTIONS(2347), + [anon_sym_typename] = ACTIONS(2347), + [anon_sym_template] = ACTIONS(2347), + [anon_sym_operator] = ACTIONS(2347), + [anon_sym_delete] = ACTIONS(2347), + [anon_sym_throw] = ACTIONS(2347), + [anon_sym_namespace] = ACTIONS(2347), + [anon_sym_using] = ACTIONS(2347), + [anon_sym_static_assert] = ACTIONS(2347), + [anon_sym_concept] = ACTIONS(2347), + [anon_sym_co_return] = ACTIONS(2347), + [anon_sym_co_yield] = ACTIONS(2347), + [anon_sym_try] = ACTIONS(2347), + [anon_sym_co_await] = ACTIONS(2347), + [anon_sym_new] = ACTIONS(2347), + [anon_sym_requires] = ACTIONS(2347), + [sym_this] = ACTIONS(2347), + [sym_nullptr] = ACTIONS(2347), + [sym_raw_string_literal] = ACTIONS(2349), + }, + [741] = { + [sym_identifier] = ACTIONS(2251), + [aux_sym_preproc_include_token1] = ACTIONS(2251), + [aux_sym_preproc_def_token1] = ACTIONS(2251), + [aux_sym_preproc_if_token1] = ACTIONS(2251), + [aux_sym_preproc_if_token2] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2251), + [sym_preproc_directive] = ACTIONS(2251), + [anon_sym_LPAREN2] = ACTIONS(2253), + [anon_sym_BANG] = ACTIONS(2253), + [anon_sym_TILDE] = ACTIONS(2253), + [anon_sym_DASH] = ACTIONS(2251), + [anon_sym_PLUS] = ACTIONS(2251), + [anon_sym_STAR] = ACTIONS(2253), + [anon_sym_AMP_AMP] = ACTIONS(2253), + [anon_sym_AMP] = ACTIONS(2251), + [anon_sym_SEMI] = ACTIONS(2253), + [anon_sym_typedef] = ACTIONS(2251), + [anon_sym_extern] = ACTIONS(2251), + [anon_sym___attribute__] = ACTIONS(2251), + [anon_sym_COLON_COLON] = ACTIONS(2253), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2253), + [anon_sym___declspec] = ACTIONS(2251), + [anon_sym___based] = ACTIONS(2251), + [anon_sym___cdecl] = ACTIONS(2251), + [anon_sym___clrcall] = ACTIONS(2251), + [anon_sym___stdcall] = ACTIONS(2251), + [anon_sym___fastcall] = ACTIONS(2251), + [anon_sym___thiscall] = ACTIONS(2251), + [anon_sym___vectorcall] = ACTIONS(2251), + [anon_sym_LBRACE] = ACTIONS(2253), + [anon_sym_LBRACK] = ACTIONS(2251), + [anon_sym_static] = ACTIONS(2251), + [anon_sym_register] = ACTIONS(2251), + [anon_sym_inline] = ACTIONS(2251), + [anon_sym_thread_local] = ACTIONS(2251), + [anon_sym_const] = ACTIONS(2251), + [anon_sym_volatile] = ACTIONS(2251), + [anon_sym_restrict] = ACTIONS(2251), + [anon_sym__Atomic] = ACTIONS(2251), + [anon_sym_mutable] = ACTIONS(2251), + [anon_sym_constexpr] = ACTIONS(2251), + [anon_sym_constinit] = ACTIONS(2251), + [anon_sym_consteval] = ACTIONS(2251), + [anon_sym_signed] = ACTIONS(2251), + [anon_sym_unsigned] = ACTIONS(2251), + [anon_sym_long] = ACTIONS(2251), + [anon_sym_short] = ACTIONS(2251), + [sym_primitive_type] = ACTIONS(2251), + [anon_sym_enum] = ACTIONS(2251), + [anon_sym_class] = ACTIONS(2251), + [anon_sym_struct] = ACTIONS(2251), + [anon_sym_union] = ACTIONS(2251), + [anon_sym_if] = ACTIONS(2251), + [anon_sym_switch] = ACTIONS(2251), + [anon_sym_case] = ACTIONS(2251), + [anon_sym_default] = ACTIONS(2251), + [anon_sym_while] = ACTIONS(2251), + [anon_sym_do] = ACTIONS(2251), + [anon_sym_for] = ACTIONS(2251), + [anon_sym_return] = ACTIONS(2251), + [anon_sym_break] = ACTIONS(2251), + [anon_sym_continue] = ACTIONS(2251), + [anon_sym_goto] = ACTIONS(2251), + [anon_sym_DASH_DASH] = ACTIONS(2253), + [anon_sym_PLUS_PLUS] = ACTIONS(2253), + [anon_sym_sizeof] = ACTIONS(2251), + [sym_number_literal] = ACTIONS(2253), + [anon_sym_L_SQUOTE] = ACTIONS(2253), + [anon_sym_u_SQUOTE] = ACTIONS(2253), + [anon_sym_U_SQUOTE] = ACTIONS(2253), + [anon_sym_u8_SQUOTE] = ACTIONS(2253), + [anon_sym_SQUOTE] = ACTIONS(2253), + [anon_sym_L_DQUOTE] = ACTIONS(2253), + [anon_sym_u_DQUOTE] = ACTIONS(2253), + [anon_sym_U_DQUOTE] = ACTIONS(2253), + [anon_sym_u8_DQUOTE] = ACTIONS(2253), + [anon_sym_DQUOTE] = ACTIONS(2253), + [sym_true] = ACTIONS(2251), + [sym_false] = ACTIONS(2251), + [sym_null] = ACTIONS(2251), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2251), + [anon_sym_decltype] = ACTIONS(2251), + [anon_sym_virtual] = ACTIONS(2251), + [anon_sym_explicit] = ACTIONS(2251), + [anon_sym_typename] = ACTIONS(2251), + [anon_sym_template] = ACTIONS(2251), + [anon_sym_operator] = ACTIONS(2251), + [anon_sym_delete] = ACTIONS(2251), + [anon_sym_throw] = ACTIONS(2251), + [anon_sym_namespace] = ACTIONS(2251), + [anon_sym_using] = ACTIONS(2251), + [anon_sym_static_assert] = ACTIONS(2251), + [anon_sym_concept] = ACTIONS(2251), + [anon_sym_co_return] = ACTIONS(2251), + [anon_sym_co_yield] = ACTIONS(2251), + [anon_sym_try] = ACTIONS(2251), + [anon_sym_co_await] = ACTIONS(2251), + [anon_sym_new] = ACTIONS(2251), + [anon_sym_requires] = ACTIONS(2251), + [sym_this] = ACTIONS(2251), + [sym_nullptr] = ACTIONS(2251), + [sym_raw_string_literal] = ACTIONS(2253), + }, + [742] = { + [ts_builtin_sym_end] = ACTIONS(2345), + [sym_identifier] = ACTIONS(2343), + [aux_sym_preproc_include_token1] = ACTIONS(2343), + [aux_sym_preproc_def_token1] = ACTIONS(2343), + [aux_sym_preproc_if_token1] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2343), + [sym_preproc_directive] = ACTIONS(2343), + [anon_sym_LPAREN2] = ACTIONS(2345), + [anon_sym_BANG] = ACTIONS(2345), + [anon_sym_TILDE] = ACTIONS(2345), + [anon_sym_DASH] = ACTIONS(2343), + [anon_sym_PLUS] = ACTIONS(2343), + [anon_sym_STAR] = ACTIONS(2345), + [anon_sym_AMP_AMP] = ACTIONS(2345), + [anon_sym_AMP] = ACTIONS(2343), + [anon_sym_SEMI] = ACTIONS(2345), + [anon_sym_typedef] = ACTIONS(2343), + [anon_sym_extern] = ACTIONS(2343), + [anon_sym___attribute__] = ACTIONS(2343), + [anon_sym_COLON_COLON] = ACTIONS(2345), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2345), + [anon_sym___declspec] = ACTIONS(2343), + [anon_sym___based] = ACTIONS(2343), + [anon_sym___cdecl] = ACTIONS(2343), + [anon_sym___clrcall] = ACTIONS(2343), + [anon_sym___stdcall] = ACTIONS(2343), + [anon_sym___fastcall] = ACTIONS(2343), + [anon_sym___thiscall] = ACTIONS(2343), + [anon_sym___vectorcall] = ACTIONS(2343), + [anon_sym_LBRACE] = ACTIONS(2345), + [anon_sym_LBRACK] = ACTIONS(2343), + [anon_sym_static] = ACTIONS(2343), + [anon_sym_register] = ACTIONS(2343), + [anon_sym_inline] = ACTIONS(2343), + [anon_sym_thread_local] = ACTIONS(2343), + [anon_sym_const] = ACTIONS(2343), + [anon_sym_volatile] = ACTIONS(2343), + [anon_sym_restrict] = ACTIONS(2343), + [anon_sym__Atomic] = ACTIONS(2343), + [anon_sym_mutable] = ACTIONS(2343), + [anon_sym_constexpr] = ACTIONS(2343), + [anon_sym_constinit] = ACTIONS(2343), + [anon_sym_consteval] = ACTIONS(2343), + [anon_sym_signed] = ACTIONS(2343), + [anon_sym_unsigned] = ACTIONS(2343), + [anon_sym_long] = ACTIONS(2343), + [anon_sym_short] = ACTIONS(2343), + [sym_primitive_type] = ACTIONS(2343), + [anon_sym_enum] = ACTIONS(2343), + [anon_sym_class] = ACTIONS(2343), + [anon_sym_struct] = ACTIONS(2343), + [anon_sym_union] = ACTIONS(2343), + [anon_sym_if] = ACTIONS(2343), + [anon_sym_switch] = ACTIONS(2343), + [anon_sym_case] = ACTIONS(2343), + [anon_sym_default] = ACTIONS(2343), + [anon_sym_while] = ACTIONS(2343), + [anon_sym_do] = ACTIONS(2343), + [anon_sym_for] = ACTIONS(2343), + [anon_sym_return] = ACTIONS(2343), + [anon_sym_break] = ACTIONS(2343), + [anon_sym_continue] = ACTIONS(2343), + [anon_sym_goto] = ACTIONS(2343), + [anon_sym_DASH_DASH] = ACTIONS(2345), + [anon_sym_PLUS_PLUS] = ACTIONS(2345), + [anon_sym_sizeof] = ACTIONS(2343), + [sym_number_literal] = ACTIONS(2345), + [anon_sym_L_SQUOTE] = ACTIONS(2345), + [anon_sym_u_SQUOTE] = ACTIONS(2345), + [anon_sym_U_SQUOTE] = ACTIONS(2345), + [anon_sym_u8_SQUOTE] = ACTIONS(2345), + [anon_sym_SQUOTE] = ACTIONS(2345), + [anon_sym_L_DQUOTE] = ACTIONS(2345), + [anon_sym_u_DQUOTE] = ACTIONS(2345), + [anon_sym_U_DQUOTE] = ACTIONS(2345), + [anon_sym_u8_DQUOTE] = ACTIONS(2345), + [anon_sym_DQUOTE] = ACTIONS(2345), + [sym_true] = ACTIONS(2343), + [sym_false] = ACTIONS(2343), + [sym_null] = ACTIONS(2343), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2343), + [anon_sym_decltype] = ACTIONS(2343), + [anon_sym_virtual] = ACTIONS(2343), + [anon_sym_explicit] = ACTIONS(2343), + [anon_sym_typename] = ACTIONS(2343), + [anon_sym_template] = ACTIONS(2343), + [anon_sym_operator] = ACTIONS(2343), + [anon_sym_delete] = ACTIONS(2343), + [anon_sym_throw] = ACTIONS(2343), + [anon_sym_namespace] = ACTIONS(2343), + [anon_sym_using] = ACTIONS(2343), + [anon_sym_static_assert] = ACTIONS(2343), + [anon_sym_concept] = ACTIONS(2343), + [anon_sym_co_return] = ACTIONS(2343), + [anon_sym_co_yield] = ACTIONS(2343), + [anon_sym_try] = ACTIONS(2343), + [anon_sym_co_await] = ACTIONS(2343), + [anon_sym_new] = ACTIONS(2343), + [anon_sym_requires] = ACTIONS(2343), + [sym_this] = ACTIONS(2343), + [sym_nullptr] = ACTIONS(2343), + [sym_raw_string_literal] = ACTIONS(2345), + }, + [743] = { + [ts_builtin_sym_end] = ACTIONS(2377), + [sym_identifier] = ACTIONS(2375), + [aux_sym_preproc_include_token1] = ACTIONS(2375), + [aux_sym_preproc_def_token1] = ACTIONS(2375), + [aux_sym_preproc_if_token1] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2375), + [sym_preproc_directive] = ACTIONS(2375), + [anon_sym_LPAREN2] = ACTIONS(2377), + [anon_sym_BANG] = ACTIONS(2377), + [anon_sym_TILDE] = ACTIONS(2377), + [anon_sym_DASH] = ACTIONS(2375), + [anon_sym_PLUS] = ACTIONS(2375), + [anon_sym_STAR] = ACTIONS(2377), + [anon_sym_AMP_AMP] = ACTIONS(2377), + [anon_sym_AMP] = ACTIONS(2375), + [anon_sym_SEMI] = ACTIONS(2377), + [anon_sym_typedef] = ACTIONS(2375), + [anon_sym_extern] = ACTIONS(2375), + [anon_sym___attribute__] = ACTIONS(2375), + [anon_sym_COLON_COLON] = ACTIONS(2377), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2377), + [anon_sym___declspec] = ACTIONS(2375), + [anon_sym___based] = ACTIONS(2375), + [anon_sym___cdecl] = ACTIONS(2375), + [anon_sym___clrcall] = ACTIONS(2375), + [anon_sym___stdcall] = ACTIONS(2375), + [anon_sym___fastcall] = ACTIONS(2375), + [anon_sym___thiscall] = ACTIONS(2375), + [anon_sym___vectorcall] = ACTIONS(2375), + [anon_sym_LBRACE] = ACTIONS(2377), + [anon_sym_LBRACK] = ACTIONS(2375), + [anon_sym_static] = ACTIONS(2375), + [anon_sym_register] = ACTIONS(2375), + [anon_sym_inline] = ACTIONS(2375), + [anon_sym_thread_local] = ACTIONS(2375), + [anon_sym_const] = ACTIONS(2375), + [anon_sym_volatile] = ACTIONS(2375), + [anon_sym_restrict] = ACTIONS(2375), + [anon_sym__Atomic] = ACTIONS(2375), + [anon_sym_mutable] = ACTIONS(2375), + [anon_sym_constexpr] = ACTIONS(2375), + [anon_sym_constinit] = ACTIONS(2375), + [anon_sym_consteval] = ACTIONS(2375), + [anon_sym_signed] = ACTIONS(2375), + [anon_sym_unsigned] = ACTIONS(2375), + [anon_sym_long] = ACTIONS(2375), + [anon_sym_short] = ACTIONS(2375), + [sym_primitive_type] = ACTIONS(2375), + [anon_sym_enum] = ACTIONS(2375), + [anon_sym_class] = ACTIONS(2375), + [anon_sym_struct] = ACTIONS(2375), + [anon_sym_union] = ACTIONS(2375), + [anon_sym_if] = ACTIONS(2375), + [anon_sym_switch] = ACTIONS(2375), + [anon_sym_case] = ACTIONS(2375), + [anon_sym_default] = ACTIONS(2375), + [anon_sym_while] = ACTIONS(2375), + [anon_sym_do] = ACTIONS(2375), + [anon_sym_for] = ACTIONS(2375), + [anon_sym_return] = ACTIONS(2375), + [anon_sym_break] = ACTIONS(2375), + [anon_sym_continue] = ACTIONS(2375), + [anon_sym_goto] = ACTIONS(2375), + [anon_sym_DASH_DASH] = ACTIONS(2377), + [anon_sym_PLUS_PLUS] = ACTIONS(2377), + [anon_sym_sizeof] = ACTIONS(2375), + [sym_number_literal] = ACTIONS(2377), + [anon_sym_L_SQUOTE] = ACTIONS(2377), + [anon_sym_u_SQUOTE] = ACTIONS(2377), + [anon_sym_U_SQUOTE] = ACTIONS(2377), + [anon_sym_u8_SQUOTE] = ACTIONS(2377), + [anon_sym_SQUOTE] = ACTIONS(2377), + [anon_sym_L_DQUOTE] = ACTIONS(2377), + [anon_sym_u_DQUOTE] = ACTIONS(2377), + [anon_sym_U_DQUOTE] = ACTIONS(2377), + [anon_sym_u8_DQUOTE] = ACTIONS(2377), + [anon_sym_DQUOTE] = ACTIONS(2377), + [sym_true] = ACTIONS(2375), + [sym_false] = ACTIONS(2375), + [sym_null] = ACTIONS(2375), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2375), + [anon_sym_decltype] = ACTIONS(2375), + [anon_sym_virtual] = ACTIONS(2375), + [anon_sym_explicit] = ACTIONS(2375), + [anon_sym_typename] = ACTIONS(2375), + [anon_sym_template] = ACTIONS(2375), + [anon_sym_operator] = ACTIONS(2375), + [anon_sym_delete] = ACTIONS(2375), + [anon_sym_throw] = ACTIONS(2375), + [anon_sym_namespace] = ACTIONS(2375), + [anon_sym_using] = ACTIONS(2375), + [anon_sym_static_assert] = ACTIONS(2375), + [anon_sym_concept] = ACTIONS(2375), + [anon_sym_co_return] = ACTIONS(2375), + [anon_sym_co_yield] = ACTIONS(2375), + [anon_sym_try] = ACTIONS(2375), + [anon_sym_co_await] = ACTIONS(2375), + [anon_sym_new] = ACTIONS(2375), + [anon_sym_requires] = ACTIONS(2375), + [sym_this] = ACTIONS(2375), + [sym_nullptr] = ACTIONS(2375), + [sym_raw_string_literal] = ACTIONS(2377), + }, + [744] = { + [ts_builtin_sym_end] = ACTIONS(2293), + [sym_identifier] = ACTIONS(2291), + [aux_sym_preproc_include_token1] = ACTIONS(2291), + [aux_sym_preproc_def_token1] = ACTIONS(2291), + [aux_sym_preproc_if_token1] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2291), + [sym_preproc_directive] = ACTIONS(2291), + [anon_sym_LPAREN2] = ACTIONS(2293), + [anon_sym_BANG] = ACTIONS(2293), + [anon_sym_TILDE] = ACTIONS(2293), + [anon_sym_DASH] = ACTIONS(2291), + [anon_sym_PLUS] = ACTIONS(2291), + [anon_sym_STAR] = ACTIONS(2293), + [anon_sym_AMP_AMP] = ACTIONS(2293), + [anon_sym_AMP] = ACTIONS(2291), + [anon_sym_SEMI] = ACTIONS(2293), + [anon_sym_typedef] = ACTIONS(2291), + [anon_sym_extern] = ACTIONS(2291), + [anon_sym___attribute__] = ACTIONS(2291), + [anon_sym_COLON_COLON] = ACTIONS(2293), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2293), + [anon_sym___declspec] = ACTIONS(2291), + [anon_sym___based] = ACTIONS(2291), + [anon_sym___cdecl] = ACTIONS(2291), + [anon_sym___clrcall] = ACTIONS(2291), + [anon_sym___stdcall] = ACTIONS(2291), + [anon_sym___fastcall] = ACTIONS(2291), + [anon_sym___thiscall] = ACTIONS(2291), + [anon_sym___vectorcall] = ACTIONS(2291), + [anon_sym_LBRACE] = ACTIONS(2293), + [anon_sym_LBRACK] = ACTIONS(2291), + [anon_sym_static] = ACTIONS(2291), + [anon_sym_register] = ACTIONS(2291), + [anon_sym_inline] = ACTIONS(2291), + [anon_sym_thread_local] = ACTIONS(2291), + [anon_sym_const] = ACTIONS(2291), + [anon_sym_volatile] = ACTIONS(2291), + [anon_sym_restrict] = ACTIONS(2291), + [anon_sym__Atomic] = ACTIONS(2291), + [anon_sym_mutable] = ACTIONS(2291), + [anon_sym_constexpr] = ACTIONS(2291), + [anon_sym_constinit] = ACTIONS(2291), + [anon_sym_consteval] = ACTIONS(2291), + [anon_sym_signed] = ACTIONS(2291), + [anon_sym_unsigned] = ACTIONS(2291), + [anon_sym_long] = ACTIONS(2291), + [anon_sym_short] = ACTIONS(2291), + [sym_primitive_type] = ACTIONS(2291), + [anon_sym_enum] = ACTIONS(2291), + [anon_sym_class] = ACTIONS(2291), + [anon_sym_struct] = ACTIONS(2291), + [anon_sym_union] = ACTIONS(2291), + [anon_sym_if] = ACTIONS(2291), + [anon_sym_switch] = ACTIONS(2291), + [anon_sym_case] = ACTIONS(2291), + [anon_sym_default] = ACTIONS(2291), + [anon_sym_while] = ACTIONS(2291), + [anon_sym_do] = ACTIONS(2291), + [anon_sym_for] = ACTIONS(2291), + [anon_sym_return] = ACTIONS(2291), + [anon_sym_break] = ACTIONS(2291), + [anon_sym_continue] = ACTIONS(2291), + [anon_sym_goto] = ACTIONS(2291), + [anon_sym_DASH_DASH] = ACTIONS(2293), + [anon_sym_PLUS_PLUS] = ACTIONS(2293), + [anon_sym_sizeof] = ACTIONS(2291), + [sym_number_literal] = ACTIONS(2293), + [anon_sym_L_SQUOTE] = ACTIONS(2293), + [anon_sym_u_SQUOTE] = ACTIONS(2293), + [anon_sym_U_SQUOTE] = ACTIONS(2293), + [anon_sym_u8_SQUOTE] = ACTIONS(2293), + [anon_sym_SQUOTE] = ACTIONS(2293), + [anon_sym_L_DQUOTE] = ACTIONS(2293), + [anon_sym_u_DQUOTE] = ACTIONS(2293), + [anon_sym_U_DQUOTE] = ACTIONS(2293), + [anon_sym_u8_DQUOTE] = ACTIONS(2293), + [anon_sym_DQUOTE] = ACTIONS(2293), + [sym_true] = ACTIONS(2291), + [sym_false] = ACTIONS(2291), + [sym_null] = ACTIONS(2291), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2291), + [anon_sym_decltype] = ACTIONS(2291), + [anon_sym_virtual] = ACTIONS(2291), + [anon_sym_explicit] = ACTIONS(2291), + [anon_sym_typename] = ACTIONS(2291), + [anon_sym_template] = ACTIONS(2291), + [anon_sym_operator] = ACTIONS(2291), + [anon_sym_delete] = ACTIONS(2291), + [anon_sym_throw] = ACTIONS(2291), + [anon_sym_namespace] = ACTIONS(2291), + [anon_sym_using] = ACTIONS(2291), + [anon_sym_static_assert] = ACTIONS(2291), + [anon_sym_concept] = ACTIONS(2291), + [anon_sym_co_return] = ACTIONS(2291), + [anon_sym_co_yield] = ACTIONS(2291), + [anon_sym_try] = ACTIONS(2291), + [anon_sym_co_await] = ACTIONS(2291), + [anon_sym_new] = ACTIONS(2291), + [anon_sym_requires] = ACTIONS(2291), + [sym_this] = ACTIONS(2291), + [sym_nullptr] = ACTIONS(2291), + [sym_raw_string_literal] = ACTIONS(2293), + }, + [745] = { + [sym_identifier] = ACTIONS(2247), + [aux_sym_preproc_include_token1] = ACTIONS(2247), + [aux_sym_preproc_def_token1] = ACTIONS(2247), + [aux_sym_preproc_if_token1] = ACTIONS(2247), + [aux_sym_preproc_if_token2] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2247), + [sym_preproc_directive] = ACTIONS(2247), + [anon_sym_LPAREN2] = ACTIONS(2249), + [anon_sym_BANG] = ACTIONS(2249), + [anon_sym_TILDE] = ACTIONS(2249), + [anon_sym_DASH] = ACTIONS(2247), + [anon_sym_PLUS] = ACTIONS(2247), + [anon_sym_STAR] = ACTIONS(2249), + [anon_sym_AMP_AMP] = ACTIONS(2249), + [anon_sym_AMP] = ACTIONS(2247), + [anon_sym_SEMI] = ACTIONS(2249), + [anon_sym_typedef] = ACTIONS(2247), + [anon_sym_extern] = ACTIONS(2247), + [anon_sym___attribute__] = ACTIONS(2247), + [anon_sym_COLON_COLON] = ACTIONS(2249), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2249), + [anon_sym___declspec] = ACTIONS(2247), + [anon_sym___based] = ACTIONS(2247), + [anon_sym___cdecl] = ACTIONS(2247), + [anon_sym___clrcall] = ACTIONS(2247), + [anon_sym___stdcall] = ACTIONS(2247), + [anon_sym___fastcall] = ACTIONS(2247), + [anon_sym___thiscall] = ACTIONS(2247), + [anon_sym___vectorcall] = ACTIONS(2247), + [anon_sym_LBRACE] = ACTIONS(2249), + [anon_sym_LBRACK] = ACTIONS(2247), + [anon_sym_static] = ACTIONS(2247), + [anon_sym_register] = ACTIONS(2247), + [anon_sym_inline] = ACTIONS(2247), + [anon_sym_thread_local] = ACTIONS(2247), + [anon_sym_const] = ACTIONS(2247), + [anon_sym_volatile] = ACTIONS(2247), + [anon_sym_restrict] = ACTIONS(2247), + [anon_sym__Atomic] = ACTIONS(2247), + [anon_sym_mutable] = ACTIONS(2247), + [anon_sym_constexpr] = ACTIONS(2247), + [anon_sym_constinit] = ACTIONS(2247), + [anon_sym_consteval] = ACTIONS(2247), + [anon_sym_signed] = ACTIONS(2247), + [anon_sym_unsigned] = ACTIONS(2247), + [anon_sym_long] = ACTIONS(2247), + [anon_sym_short] = ACTIONS(2247), + [sym_primitive_type] = ACTIONS(2247), + [anon_sym_enum] = ACTIONS(2247), + [anon_sym_class] = ACTIONS(2247), + [anon_sym_struct] = ACTIONS(2247), + [anon_sym_union] = ACTIONS(2247), + [anon_sym_if] = ACTIONS(2247), + [anon_sym_switch] = ACTIONS(2247), + [anon_sym_case] = ACTIONS(2247), + [anon_sym_default] = ACTIONS(2247), + [anon_sym_while] = ACTIONS(2247), + [anon_sym_do] = ACTIONS(2247), + [anon_sym_for] = ACTIONS(2247), + [anon_sym_return] = ACTIONS(2247), + [anon_sym_break] = ACTIONS(2247), + [anon_sym_continue] = ACTIONS(2247), + [anon_sym_goto] = ACTIONS(2247), + [anon_sym_DASH_DASH] = ACTIONS(2249), + [anon_sym_PLUS_PLUS] = ACTIONS(2249), + [anon_sym_sizeof] = ACTIONS(2247), + [sym_number_literal] = ACTIONS(2249), + [anon_sym_L_SQUOTE] = ACTIONS(2249), + [anon_sym_u_SQUOTE] = ACTIONS(2249), + [anon_sym_U_SQUOTE] = ACTIONS(2249), + [anon_sym_u8_SQUOTE] = ACTIONS(2249), + [anon_sym_SQUOTE] = ACTIONS(2249), + [anon_sym_L_DQUOTE] = ACTIONS(2249), + [anon_sym_u_DQUOTE] = ACTIONS(2249), + [anon_sym_U_DQUOTE] = ACTIONS(2249), + [anon_sym_u8_DQUOTE] = ACTIONS(2249), + [anon_sym_DQUOTE] = ACTIONS(2249), + [sym_true] = ACTIONS(2247), + [sym_false] = ACTIONS(2247), + [sym_null] = ACTIONS(2247), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2247), + [anon_sym_decltype] = ACTIONS(2247), + [anon_sym_virtual] = ACTIONS(2247), + [anon_sym_explicit] = ACTIONS(2247), + [anon_sym_typename] = ACTIONS(2247), + [anon_sym_template] = ACTIONS(2247), + [anon_sym_operator] = ACTIONS(2247), + [anon_sym_delete] = ACTIONS(2247), + [anon_sym_throw] = ACTIONS(2247), + [anon_sym_namespace] = ACTIONS(2247), + [anon_sym_using] = ACTIONS(2247), + [anon_sym_static_assert] = ACTIONS(2247), + [anon_sym_concept] = ACTIONS(2247), + [anon_sym_co_return] = ACTIONS(2247), + [anon_sym_co_yield] = ACTIONS(2247), + [anon_sym_try] = ACTIONS(2247), + [anon_sym_co_await] = ACTIONS(2247), + [anon_sym_new] = ACTIONS(2247), + [anon_sym_requires] = ACTIONS(2247), + [sym_this] = ACTIONS(2247), + [sym_nullptr] = ACTIONS(2247), + [sym_raw_string_literal] = ACTIONS(2249), + }, + [746] = { + [sym_identifier] = ACTIONS(2383), + [aux_sym_preproc_include_token1] = ACTIONS(2383), + [aux_sym_preproc_def_token1] = ACTIONS(2383), + [aux_sym_preproc_if_token1] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2383), + [sym_preproc_directive] = ACTIONS(2383), + [anon_sym_LPAREN2] = ACTIONS(2385), + [anon_sym_BANG] = ACTIONS(2385), + [anon_sym_TILDE] = ACTIONS(2385), + [anon_sym_DASH] = ACTIONS(2383), + [anon_sym_PLUS] = ACTIONS(2383), + [anon_sym_STAR] = ACTIONS(2385), + [anon_sym_AMP_AMP] = ACTIONS(2385), + [anon_sym_AMP] = ACTIONS(2383), + [anon_sym_SEMI] = ACTIONS(2385), + [anon_sym_typedef] = ACTIONS(2383), + [anon_sym_extern] = ACTIONS(2383), + [anon_sym___attribute__] = ACTIONS(2383), + [anon_sym_COLON_COLON] = ACTIONS(2385), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2385), + [anon_sym___declspec] = ACTIONS(2383), + [anon_sym___based] = ACTIONS(2383), + [anon_sym___cdecl] = ACTIONS(2383), + [anon_sym___clrcall] = ACTIONS(2383), + [anon_sym___stdcall] = ACTIONS(2383), + [anon_sym___fastcall] = ACTIONS(2383), + [anon_sym___thiscall] = ACTIONS(2383), + [anon_sym___vectorcall] = ACTIONS(2383), + [anon_sym_LBRACE] = ACTIONS(2385), + [anon_sym_RBRACE] = ACTIONS(2385), + [anon_sym_LBRACK] = ACTIONS(2383), + [anon_sym_static] = ACTIONS(2383), + [anon_sym_register] = ACTIONS(2383), + [anon_sym_inline] = ACTIONS(2383), + [anon_sym_thread_local] = ACTIONS(2383), + [anon_sym_const] = ACTIONS(2383), + [anon_sym_volatile] = ACTIONS(2383), + [anon_sym_restrict] = ACTIONS(2383), + [anon_sym__Atomic] = ACTIONS(2383), + [anon_sym_mutable] = ACTIONS(2383), + [anon_sym_constexpr] = ACTIONS(2383), + [anon_sym_constinit] = ACTIONS(2383), + [anon_sym_consteval] = ACTIONS(2383), + [anon_sym_signed] = ACTIONS(2383), + [anon_sym_unsigned] = ACTIONS(2383), + [anon_sym_long] = ACTIONS(2383), + [anon_sym_short] = ACTIONS(2383), + [sym_primitive_type] = ACTIONS(2383), + [anon_sym_enum] = ACTIONS(2383), + [anon_sym_class] = ACTIONS(2383), + [anon_sym_struct] = ACTIONS(2383), + [anon_sym_union] = ACTIONS(2383), + [anon_sym_if] = ACTIONS(2383), + [anon_sym_switch] = ACTIONS(2383), + [anon_sym_case] = ACTIONS(2383), + [anon_sym_default] = ACTIONS(2383), + [anon_sym_while] = ACTIONS(2383), + [anon_sym_do] = ACTIONS(2383), + [anon_sym_for] = ACTIONS(2383), + [anon_sym_return] = ACTIONS(2383), + [anon_sym_break] = ACTIONS(2383), + [anon_sym_continue] = ACTIONS(2383), + [anon_sym_goto] = ACTIONS(2383), + [anon_sym_DASH_DASH] = ACTIONS(2385), + [anon_sym_PLUS_PLUS] = ACTIONS(2385), + [anon_sym_sizeof] = ACTIONS(2383), + [sym_number_literal] = ACTIONS(2385), + [anon_sym_L_SQUOTE] = ACTIONS(2385), + [anon_sym_u_SQUOTE] = ACTIONS(2385), + [anon_sym_U_SQUOTE] = ACTIONS(2385), + [anon_sym_u8_SQUOTE] = ACTIONS(2385), + [anon_sym_SQUOTE] = ACTIONS(2385), + [anon_sym_L_DQUOTE] = ACTIONS(2385), + [anon_sym_u_DQUOTE] = ACTIONS(2385), + [anon_sym_U_DQUOTE] = ACTIONS(2385), + [anon_sym_u8_DQUOTE] = ACTIONS(2385), + [anon_sym_DQUOTE] = ACTIONS(2385), + [sym_true] = ACTIONS(2383), + [sym_false] = ACTIONS(2383), + [sym_null] = ACTIONS(2383), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2383), + [anon_sym_decltype] = ACTIONS(2383), + [anon_sym_virtual] = ACTIONS(2383), + [anon_sym_explicit] = ACTIONS(2383), + [anon_sym_typename] = ACTIONS(2383), + [anon_sym_template] = ACTIONS(2383), + [anon_sym_operator] = ACTIONS(2383), + [anon_sym_delete] = ACTIONS(2383), + [anon_sym_throw] = ACTIONS(2383), + [anon_sym_namespace] = ACTIONS(2383), + [anon_sym_using] = ACTIONS(2383), + [anon_sym_static_assert] = ACTIONS(2383), + [anon_sym_concept] = ACTIONS(2383), + [anon_sym_co_return] = ACTIONS(2383), + [anon_sym_co_yield] = ACTIONS(2383), + [anon_sym_try] = ACTIONS(2383), + [anon_sym_co_await] = ACTIONS(2383), + [anon_sym_new] = ACTIONS(2383), + [anon_sym_requires] = ACTIONS(2383), + [sym_this] = ACTIONS(2383), + [sym_nullptr] = ACTIONS(2383), + [sym_raw_string_literal] = ACTIONS(2385), + }, + [747] = { + [sym_identifier] = ACTIONS(2231), + [aux_sym_preproc_include_token1] = ACTIONS(2231), + [aux_sym_preproc_def_token1] = ACTIONS(2231), + [aux_sym_preproc_if_token1] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2231), + [sym_preproc_directive] = ACTIONS(2231), + [anon_sym_LPAREN2] = ACTIONS(2233), + [anon_sym_BANG] = ACTIONS(2233), + [anon_sym_TILDE] = ACTIONS(2233), + [anon_sym_DASH] = ACTIONS(2231), + [anon_sym_PLUS] = ACTIONS(2231), + [anon_sym_STAR] = ACTIONS(2233), + [anon_sym_AMP_AMP] = ACTIONS(2233), + [anon_sym_AMP] = ACTIONS(2231), + [anon_sym_SEMI] = ACTIONS(2233), + [anon_sym_typedef] = ACTIONS(2231), + [anon_sym_extern] = ACTIONS(2231), + [anon_sym___attribute__] = ACTIONS(2231), + [anon_sym_COLON_COLON] = ACTIONS(2233), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2233), + [anon_sym___declspec] = ACTIONS(2231), + [anon_sym___based] = ACTIONS(2231), + [anon_sym___cdecl] = ACTIONS(2231), + [anon_sym___clrcall] = ACTIONS(2231), + [anon_sym___stdcall] = ACTIONS(2231), + [anon_sym___fastcall] = ACTIONS(2231), + [anon_sym___thiscall] = ACTIONS(2231), + [anon_sym___vectorcall] = ACTIONS(2231), + [anon_sym_LBRACE] = ACTIONS(2233), + [anon_sym_RBRACE] = ACTIONS(2233), + [anon_sym_LBRACK] = ACTIONS(2231), + [anon_sym_static] = ACTIONS(2231), + [anon_sym_register] = ACTIONS(2231), + [anon_sym_inline] = ACTIONS(2231), + [anon_sym_thread_local] = ACTIONS(2231), + [anon_sym_const] = ACTIONS(2231), + [anon_sym_volatile] = ACTIONS(2231), + [anon_sym_restrict] = ACTIONS(2231), + [anon_sym__Atomic] = ACTIONS(2231), + [anon_sym_mutable] = ACTIONS(2231), + [anon_sym_constexpr] = ACTIONS(2231), + [anon_sym_constinit] = ACTIONS(2231), + [anon_sym_consteval] = ACTIONS(2231), + [anon_sym_signed] = ACTIONS(2231), + [anon_sym_unsigned] = ACTIONS(2231), + [anon_sym_long] = ACTIONS(2231), + [anon_sym_short] = ACTIONS(2231), + [sym_primitive_type] = ACTIONS(2231), + [anon_sym_enum] = ACTIONS(2231), + [anon_sym_class] = ACTIONS(2231), + [anon_sym_struct] = ACTIONS(2231), + [anon_sym_union] = ACTIONS(2231), + [anon_sym_if] = ACTIONS(2231), + [anon_sym_switch] = ACTIONS(2231), + [anon_sym_case] = ACTIONS(2231), + [anon_sym_default] = ACTIONS(2231), + [anon_sym_while] = ACTIONS(2231), + [anon_sym_do] = ACTIONS(2231), + [anon_sym_for] = ACTIONS(2231), + [anon_sym_return] = ACTIONS(2231), + [anon_sym_break] = ACTIONS(2231), + [anon_sym_continue] = ACTIONS(2231), + [anon_sym_goto] = ACTIONS(2231), + [anon_sym_DASH_DASH] = ACTIONS(2233), + [anon_sym_PLUS_PLUS] = ACTIONS(2233), + [anon_sym_sizeof] = ACTIONS(2231), + [sym_number_literal] = ACTIONS(2233), + [anon_sym_L_SQUOTE] = ACTIONS(2233), + [anon_sym_u_SQUOTE] = ACTIONS(2233), + [anon_sym_U_SQUOTE] = ACTIONS(2233), + [anon_sym_u8_SQUOTE] = ACTIONS(2233), + [anon_sym_SQUOTE] = ACTIONS(2233), + [anon_sym_L_DQUOTE] = ACTIONS(2233), + [anon_sym_u_DQUOTE] = ACTIONS(2233), + [anon_sym_U_DQUOTE] = ACTIONS(2233), + [anon_sym_u8_DQUOTE] = ACTIONS(2233), + [anon_sym_DQUOTE] = ACTIONS(2233), + [sym_true] = ACTIONS(2231), + [sym_false] = ACTIONS(2231), + [sym_null] = ACTIONS(2231), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2231), + [anon_sym_decltype] = ACTIONS(2231), + [anon_sym_virtual] = ACTIONS(2231), + [anon_sym_explicit] = ACTIONS(2231), + [anon_sym_typename] = ACTIONS(2231), + [anon_sym_template] = ACTIONS(2231), + [anon_sym_operator] = ACTIONS(2231), + [anon_sym_delete] = ACTIONS(2231), + [anon_sym_throw] = ACTIONS(2231), + [anon_sym_namespace] = ACTIONS(2231), + [anon_sym_using] = ACTIONS(2231), + [anon_sym_static_assert] = ACTIONS(2231), + [anon_sym_concept] = ACTIONS(2231), + [anon_sym_co_return] = ACTIONS(2231), + [anon_sym_co_yield] = ACTIONS(2231), + [anon_sym_try] = ACTIONS(2231), + [anon_sym_co_await] = ACTIONS(2231), + [anon_sym_new] = ACTIONS(2231), + [anon_sym_requires] = ACTIONS(2231), + [sym_this] = ACTIONS(2231), + [sym_nullptr] = ACTIONS(2231), + [sym_raw_string_literal] = ACTIONS(2233), + }, + [748] = { + [sym_identifier] = ACTIONS(2323), + [aux_sym_preproc_include_token1] = ACTIONS(2323), + [aux_sym_preproc_def_token1] = ACTIONS(2323), + [aux_sym_preproc_if_token1] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2323), + [sym_preproc_directive] = ACTIONS(2323), + [anon_sym_LPAREN2] = ACTIONS(2325), + [anon_sym_BANG] = ACTIONS(2325), + [anon_sym_TILDE] = ACTIONS(2325), + [anon_sym_DASH] = ACTIONS(2323), + [anon_sym_PLUS] = ACTIONS(2323), + [anon_sym_STAR] = ACTIONS(2325), + [anon_sym_AMP_AMP] = ACTIONS(2325), + [anon_sym_AMP] = ACTIONS(2323), + [anon_sym_SEMI] = ACTIONS(2325), + [anon_sym_typedef] = ACTIONS(2323), + [anon_sym_extern] = ACTIONS(2323), + [anon_sym___attribute__] = ACTIONS(2323), + [anon_sym_COLON_COLON] = ACTIONS(2325), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2325), + [anon_sym___declspec] = ACTIONS(2323), + [anon_sym___based] = ACTIONS(2323), + [anon_sym___cdecl] = ACTIONS(2323), + [anon_sym___clrcall] = ACTIONS(2323), + [anon_sym___stdcall] = ACTIONS(2323), + [anon_sym___fastcall] = ACTIONS(2323), + [anon_sym___thiscall] = ACTIONS(2323), + [anon_sym___vectorcall] = ACTIONS(2323), + [anon_sym_LBRACE] = ACTIONS(2325), + [anon_sym_RBRACE] = ACTIONS(2325), + [anon_sym_LBRACK] = ACTIONS(2323), + [anon_sym_static] = ACTIONS(2323), + [anon_sym_register] = ACTIONS(2323), + [anon_sym_inline] = ACTIONS(2323), + [anon_sym_thread_local] = ACTIONS(2323), + [anon_sym_const] = ACTIONS(2323), + [anon_sym_volatile] = ACTIONS(2323), + [anon_sym_restrict] = ACTIONS(2323), + [anon_sym__Atomic] = ACTIONS(2323), + [anon_sym_mutable] = ACTIONS(2323), + [anon_sym_constexpr] = ACTIONS(2323), + [anon_sym_constinit] = ACTIONS(2323), + [anon_sym_consteval] = ACTIONS(2323), + [anon_sym_signed] = ACTIONS(2323), + [anon_sym_unsigned] = ACTIONS(2323), + [anon_sym_long] = ACTIONS(2323), + [anon_sym_short] = ACTIONS(2323), + [sym_primitive_type] = ACTIONS(2323), + [anon_sym_enum] = ACTIONS(2323), + [anon_sym_class] = ACTIONS(2323), + [anon_sym_struct] = ACTIONS(2323), + [anon_sym_union] = ACTIONS(2323), + [anon_sym_if] = ACTIONS(2323), + [anon_sym_switch] = ACTIONS(2323), + [anon_sym_case] = ACTIONS(2323), + [anon_sym_default] = ACTIONS(2323), + [anon_sym_while] = ACTIONS(2323), + [anon_sym_do] = ACTIONS(2323), + [anon_sym_for] = ACTIONS(2323), + [anon_sym_return] = ACTIONS(2323), + [anon_sym_break] = ACTIONS(2323), + [anon_sym_continue] = ACTIONS(2323), + [anon_sym_goto] = ACTIONS(2323), + [anon_sym_DASH_DASH] = ACTIONS(2325), + [anon_sym_PLUS_PLUS] = ACTIONS(2325), + [anon_sym_sizeof] = ACTIONS(2323), + [sym_number_literal] = ACTIONS(2325), + [anon_sym_L_SQUOTE] = ACTIONS(2325), + [anon_sym_u_SQUOTE] = ACTIONS(2325), + [anon_sym_U_SQUOTE] = ACTIONS(2325), + [anon_sym_u8_SQUOTE] = ACTIONS(2325), + [anon_sym_SQUOTE] = ACTIONS(2325), + [anon_sym_L_DQUOTE] = ACTIONS(2325), + [anon_sym_u_DQUOTE] = ACTIONS(2325), + [anon_sym_U_DQUOTE] = ACTIONS(2325), + [anon_sym_u8_DQUOTE] = ACTIONS(2325), + [anon_sym_DQUOTE] = ACTIONS(2325), + [sym_true] = ACTIONS(2323), + [sym_false] = ACTIONS(2323), + [sym_null] = ACTIONS(2323), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2323), + [anon_sym_decltype] = ACTIONS(2323), + [anon_sym_virtual] = ACTIONS(2323), + [anon_sym_explicit] = ACTIONS(2323), + [anon_sym_typename] = ACTIONS(2323), + [anon_sym_template] = ACTIONS(2323), + [anon_sym_operator] = ACTIONS(2323), + [anon_sym_delete] = ACTIONS(2323), + [anon_sym_throw] = ACTIONS(2323), + [anon_sym_namespace] = ACTIONS(2323), + [anon_sym_using] = ACTIONS(2323), + [anon_sym_static_assert] = ACTIONS(2323), + [anon_sym_concept] = ACTIONS(2323), + [anon_sym_co_return] = ACTIONS(2323), + [anon_sym_co_yield] = ACTIONS(2323), + [anon_sym_try] = ACTIONS(2323), + [anon_sym_co_await] = ACTIONS(2323), + [anon_sym_new] = ACTIONS(2323), + [anon_sym_requires] = ACTIONS(2323), + [sym_this] = ACTIONS(2323), + [sym_nullptr] = ACTIONS(2323), + [sym_raw_string_literal] = ACTIONS(2325), + }, + [749] = { + [sym_identifier] = ACTIONS(2275), + [aux_sym_preproc_include_token1] = ACTIONS(2275), + [aux_sym_preproc_def_token1] = ACTIONS(2275), + [aux_sym_preproc_if_token1] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2275), + [sym_preproc_directive] = ACTIONS(2275), + [anon_sym_LPAREN2] = ACTIONS(2277), + [anon_sym_BANG] = ACTIONS(2277), + [anon_sym_TILDE] = ACTIONS(2277), + [anon_sym_DASH] = ACTIONS(2275), + [anon_sym_PLUS] = ACTIONS(2275), + [anon_sym_STAR] = ACTIONS(2277), + [anon_sym_AMP_AMP] = ACTIONS(2277), + [anon_sym_AMP] = ACTIONS(2275), + [anon_sym_SEMI] = ACTIONS(2277), + [anon_sym_typedef] = ACTIONS(2275), + [anon_sym_extern] = ACTIONS(2275), + [anon_sym___attribute__] = ACTIONS(2275), + [anon_sym_COLON_COLON] = ACTIONS(2277), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2277), + [anon_sym___declspec] = ACTIONS(2275), + [anon_sym___based] = ACTIONS(2275), + [anon_sym___cdecl] = ACTIONS(2275), + [anon_sym___clrcall] = ACTIONS(2275), + [anon_sym___stdcall] = ACTIONS(2275), + [anon_sym___fastcall] = ACTIONS(2275), + [anon_sym___thiscall] = ACTIONS(2275), + [anon_sym___vectorcall] = ACTIONS(2275), + [anon_sym_LBRACE] = ACTIONS(2277), + [anon_sym_RBRACE] = ACTIONS(2277), + [anon_sym_LBRACK] = ACTIONS(2275), + [anon_sym_static] = ACTIONS(2275), + [anon_sym_register] = ACTIONS(2275), + [anon_sym_inline] = ACTIONS(2275), + [anon_sym_thread_local] = ACTIONS(2275), + [anon_sym_const] = ACTIONS(2275), + [anon_sym_volatile] = ACTIONS(2275), + [anon_sym_restrict] = ACTIONS(2275), + [anon_sym__Atomic] = ACTIONS(2275), + [anon_sym_mutable] = ACTIONS(2275), + [anon_sym_constexpr] = ACTIONS(2275), + [anon_sym_constinit] = ACTIONS(2275), + [anon_sym_consteval] = ACTIONS(2275), + [anon_sym_signed] = ACTIONS(2275), + [anon_sym_unsigned] = ACTIONS(2275), + [anon_sym_long] = ACTIONS(2275), + [anon_sym_short] = ACTIONS(2275), + [sym_primitive_type] = ACTIONS(2275), + [anon_sym_enum] = ACTIONS(2275), + [anon_sym_class] = ACTIONS(2275), + [anon_sym_struct] = ACTIONS(2275), + [anon_sym_union] = ACTIONS(2275), + [anon_sym_if] = ACTIONS(2275), + [anon_sym_switch] = ACTIONS(2275), + [anon_sym_case] = ACTIONS(2275), + [anon_sym_default] = ACTIONS(2275), + [anon_sym_while] = ACTIONS(2275), + [anon_sym_do] = ACTIONS(2275), + [anon_sym_for] = ACTIONS(2275), + [anon_sym_return] = ACTIONS(2275), + [anon_sym_break] = ACTIONS(2275), + [anon_sym_continue] = ACTIONS(2275), + [anon_sym_goto] = ACTIONS(2275), + [anon_sym_DASH_DASH] = ACTIONS(2277), + [anon_sym_PLUS_PLUS] = ACTIONS(2277), + [anon_sym_sizeof] = ACTIONS(2275), + [sym_number_literal] = ACTIONS(2277), + [anon_sym_L_SQUOTE] = ACTIONS(2277), + [anon_sym_u_SQUOTE] = ACTIONS(2277), + [anon_sym_U_SQUOTE] = ACTIONS(2277), + [anon_sym_u8_SQUOTE] = ACTIONS(2277), + [anon_sym_SQUOTE] = ACTIONS(2277), + [anon_sym_L_DQUOTE] = ACTIONS(2277), + [anon_sym_u_DQUOTE] = ACTIONS(2277), + [anon_sym_U_DQUOTE] = ACTIONS(2277), + [anon_sym_u8_DQUOTE] = ACTIONS(2277), + [anon_sym_DQUOTE] = ACTIONS(2277), + [sym_true] = ACTIONS(2275), + [sym_false] = ACTIONS(2275), + [sym_null] = ACTIONS(2275), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2275), + [anon_sym_decltype] = ACTIONS(2275), + [anon_sym_virtual] = ACTIONS(2275), + [anon_sym_explicit] = ACTIONS(2275), + [anon_sym_typename] = ACTIONS(2275), + [anon_sym_template] = ACTIONS(2275), + [anon_sym_operator] = ACTIONS(2275), + [anon_sym_delete] = ACTIONS(2275), + [anon_sym_throw] = ACTIONS(2275), + [anon_sym_namespace] = ACTIONS(2275), + [anon_sym_using] = ACTIONS(2275), + [anon_sym_static_assert] = ACTIONS(2275), + [anon_sym_concept] = ACTIONS(2275), + [anon_sym_co_return] = ACTIONS(2275), + [anon_sym_co_yield] = ACTIONS(2275), + [anon_sym_try] = ACTIONS(2275), + [anon_sym_co_await] = ACTIONS(2275), + [anon_sym_new] = ACTIONS(2275), + [anon_sym_requires] = ACTIONS(2275), + [sym_this] = ACTIONS(2275), + [sym_nullptr] = ACTIONS(2275), + [sym_raw_string_literal] = ACTIONS(2277), + }, + [750] = { + [ts_builtin_sym_end] = ACTIONS(2381), + [sym_identifier] = ACTIONS(2379), + [aux_sym_preproc_include_token1] = ACTIONS(2379), + [aux_sym_preproc_def_token1] = ACTIONS(2379), + [aux_sym_preproc_if_token1] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2379), + [sym_preproc_directive] = ACTIONS(2379), + [anon_sym_LPAREN2] = ACTIONS(2381), + [anon_sym_BANG] = ACTIONS(2381), + [anon_sym_TILDE] = ACTIONS(2381), + [anon_sym_DASH] = ACTIONS(2379), + [anon_sym_PLUS] = ACTIONS(2379), + [anon_sym_STAR] = ACTIONS(2381), + [anon_sym_AMP_AMP] = ACTIONS(2381), + [anon_sym_AMP] = ACTIONS(2379), + [anon_sym_SEMI] = ACTIONS(2381), + [anon_sym_typedef] = ACTIONS(2379), + [anon_sym_extern] = ACTIONS(2379), + [anon_sym___attribute__] = ACTIONS(2379), + [anon_sym_COLON_COLON] = ACTIONS(2381), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2381), + [anon_sym___declspec] = ACTIONS(2379), + [anon_sym___based] = ACTIONS(2379), + [anon_sym___cdecl] = ACTIONS(2379), + [anon_sym___clrcall] = ACTIONS(2379), + [anon_sym___stdcall] = ACTIONS(2379), + [anon_sym___fastcall] = ACTIONS(2379), + [anon_sym___thiscall] = ACTIONS(2379), + [anon_sym___vectorcall] = ACTIONS(2379), + [anon_sym_LBRACE] = ACTIONS(2381), + [anon_sym_LBRACK] = ACTIONS(2379), + [anon_sym_static] = ACTIONS(2379), + [anon_sym_register] = ACTIONS(2379), + [anon_sym_inline] = ACTIONS(2379), + [anon_sym_thread_local] = ACTIONS(2379), + [anon_sym_const] = ACTIONS(2379), + [anon_sym_volatile] = ACTIONS(2379), + [anon_sym_restrict] = ACTIONS(2379), + [anon_sym__Atomic] = ACTIONS(2379), + [anon_sym_mutable] = ACTIONS(2379), + [anon_sym_constexpr] = ACTIONS(2379), + [anon_sym_constinit] = ACTIONS(2379), + [anon_sym_consteval] = ACTIONS(2379), + [anon_sym_signed] = ACTIONS(2379), + [anon_sym_unsigned] = ACTIONS(2379), + [anon_sym_long] = ACTIONS(2379), + [anon_sym_short] = ACTIONS(2379), + [sym_primitive_type] = ACTIONS(2379), + [anon_sym_enum] = ACTIONS(2379), + [anon_sym_class] = ACTIONS(2379), + [anon_sym_struct] = ACTIONS(2379), + [anon_sym_union] = ACTIONS(2379), + [anon_sym_if] = ACTIONS(2379), + [anon_sym_switch] = ACTIONS(2379), + [anon_sym_case] = ACTIONS(2379), + [anon_sym_default] = ACTIONS(2379), + [anon_sym_while] = ACTIONS(2379), + [anon_sym_do] = ACTIONS(2379), + [anon_sym_for] = ACTIONS(2379), + [anon_sym_return] = ACTIONS(2379), + [anon_sym_break] = ACTIONS(2379), + [anon_sym_continue] = ACTIONS(2379), + [anon_sym_goto] = ACTIONS(2379), + [anon_sym_DASH_DASH] = ACTIONS(2381), + [anon_sym_PLUS_PLUS] = ACTIONS(2381), + [anon_sym_sizeof] = ACTIONS(2379), + [sym_number_literal] = ACTIONS(2381), + [anon_sym_L_SQUOTE] = ACTIONS(2381), + [anon_sym_u_SQUOTE] = ACTIONS(2381), + [anon_sym_U_SQUOTE] = ACTIONS(2381), + [anon_sym_u8_SQUOTE] = ACTIONS(2381), + [anon_sym_SQUOTE] = ACTIONS(2381), + [anon_sym_L_DQUOTE] = ACTIONS(2381), + [anon_sym_u_DQUOTE] = ACTIONS(2381), + [anon_sym_U_DQUOTE] = ACTIONS(2381), + [anon_sym_u8_DQUOTE] = ACTIONS(2381), + [anon_sym_DQUOTE] = ACTIONS(2381), + [sym_true] = ACTIONS(2379), + [sym_false] = ACTIONS(2379), + [sym_null] = ACTIONS(2379), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2379), + [anon_sym_decltype] = ACTIONS(2379), + [anon_sym_virtual] = ACTIONS(2379), + [anon_sym_explicit] = ACTIONS(2379), + [anon_sym_typename] = ACTIONS(2379), + [anon_sym_template] = ACTIONS(2379), + [anon_sym_operator] = ACTIONS(2379), + [anon_sym_delete] = ACTIONS(2379), + [anon_sym_throw] = ACTIONS(2379), + [anon_sym_namespace] = ACTIONS(2379), + [anon_sym_using] = ACTIONS(2379), + [anon_sym_static_assert] = ACTIONS(2379), + [anon_sym_concept] = ACTIONS(2379), + [anon_sym_co_return] = ACTIONS(2379), + [anon_sym_co_yield] = ACTIONS(2379), + [anon_sym_try] = ACTIONS(2379), + [anon_sym_co_await] = ACTIONS(2379), + [anon_sym_new] = ACTIONS(2379), + [anon_sym_requires] = ACTIONS(2379), + [sym_this] = ACTIONS(2379), + [sym_nullptr] = ACTIONS(2379), + [sym_raw_string_literal] = ACTIONS(2381), + }, + [751] = { + [ts_builtin_sym_end] = ACTIONS(2357), + [sym_identifier] = ACTIONS(2355), + [aux_sym_preproc_include_token1] = ACTIONS(2355), + [aux_sym_preproc_def_token1] = ACTIONS(2355), + [aux_sym_preproc_if_token1] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2355), + [sym_preproc_directive] = ACTIONS(2355), + [anon_sym_LPAREN2] = ACTIONS(2357), + [anon_sym_BANG] = ACTIONS(2357), + [anon_sym_TILDE] = ACTIONS(2357), + [anon_sym_DASH] = ACTIONS(2355), + [anon_sym_PLUS] = ACTIONS(2355), + [anon_sym_STAR] = ACTIONS(2357), + [anon_sym_AMP_AMP] = ACTIONS(2357), + [anon_sym_AMP] = ACTIONS(2355), + [anon_sym_SEMI] = ACTIONS(2357), + [anon_sym_typedef] = ACTIONS(2355), + [anon_sym_extern] = ACTIONS(2355), + [anon_sym___attribute__] = ACTIONS(2355), + [anon_sym_COLON_COLON] = ACTIONS(2357), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2357), + [anon_sym___declspec] = ACTIONS(2355), + [anon_sym___based] = ACTIONS(2355), + [anon_sym___cdecl] = ACTIONS(2355), + [anon_sym___clrcall] = ACTIONS(2355), + [anon_sym___stdcall] = ACTIONS(2355), + [anon_sym___fastcall] = ACTIONS(2355), + [anon_sym___thiscall] = ACTIONS(2355), + [anon_sym___vectorcall] = ACTIONS(2355), + [anon_sym_LBRACE] = ACTIONS(2357), + [anon_sym_LBRACK] = ACTIONS(2355), + [anon_sym_static] = ACTIONS(2355), + [anon_sym_register] = ACTIONS(2355), + [anon_sym_inline] = ACTIONS(2355), + [anon_sym_thread_local] = ACTIONS(2355), + [anon_sym_const] = ACTIONS(2355), + [anon_sym_volatile] = ACTIONS(2355), + [anon_sym_restrict] = ACTIONS(2355), + [anon_sym__Atomic] = ACTIONS(2355), + [anon_sym_mutable] = ACTIONS(2355), + [anon_sym_constexpr] = ACTIONS(2355), + [anon_sym_constinit] = ACTIONS(2355), + [anon_sym_consteval] = ACTIONS(2355), + [anon_sym_signed] = ACTIONS(2355), + [anon_sym_unsigned] = ACTIONS(2355), + [anon_sym_long] = ACTIONS(2355), + [anon_sym_short] = ACTIONS(2355), + [sym_primitive_type] = ACTIONS(2355), + [anon_sym_enum] = ACTIONS(2355), + [anon_sym_class] = ACTIONS(2355), + [anon_sym_struct] = ACTIONS(2355), + [anon_sym_union] = ACTIONS(2355), + [anon_sym_if] = ACTIONS(2355), + [anon_sym_switch] = ACTIONS(2355), + [anon_sym_case] = ACTIONS(2355), + [anon_sym_default] = ACTIONS(2355), + [anon_sym_while] = ACTIONS(2355), + [anon_sym_do] = ACTIONS(2355), + [anon_sym_for] = ACTIONS(2355), + [anon_sym_return] = ACTIONS(2355), + [anon_sym_break] = ACTIONS(2355), + [anon_sym_continue] = ACTIONS(2355), + [anon_sym_goto] = ACTIONS(2355), + [anon_sym_DASH_DASH] = ACTIONS(2357), + [anon_sym_PLUS_PLUS] = ACTIONS(2357), + [anon_sym_sizeof] = ACTIONS(2355), + [sym_number_literal] = ACTIONS(2357), + [anon_sym_L_SQUOTE] = ACTIONS(2357), + [anon_sym_u_SQUOTE] = ACTIONS(2357), + [anon_sym_U_SQUOTE] = ACTIONS(2357), + [anon_sym_u8_SQUOTE] = ACTIONS(2357), + [anon_sym_SQUOTE] = ACTIONS(2357), + [anon_sym_L_DQUOTE] = ACTIONS(2357), + [anon_sym_u_DQUOTE] = ACTIONS(2357), + [anon_sym_U_DQUOTE] = ACTIONS(2357), + [anon_sym_u8_DQUOTE] = ACTIONS(2357), + [anon_sym_DQUOTE] = ACTIONS(2357), + [sym_true] = ACTIONS(2355), + [sym_false] = ACTIONS(2355), + [sym_null] = ACTIONS(2355), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2355), + [anon_sym_decltype] = ACTIONS(2355), + [anon_sym_virtual] = ACTIONS(2355), + [anon_sym_explicit] = ACTIONS(2355), + [anon_sym_typename] = ACTIONS(2355), + [anon_sym_template] = ACTIONS(2355), + [anon_sym_operator] = ACTIONS(2355), + [anon_sym_delete] = ACTIONS(2355), + [anon_sym_throw] = ACTIONS(2355), + [anon_sym_namespace] = ACTIONS(2355), + [anon_sym_using] = ACTIONS(2355), + [anon_sym_static_assert] = ACTIONS(2355), + [anon_sym_concept] = ACTIONS(2355), + [anon_sym_co_return] = ACTIONS(2355), + [anon_sym_co_yield] = ACTIONS(2355), + [anon_sym_try] = ACTIONS(2355), + [anon_sym_co_await] = ACTIONS(2355), + [anon_sym_new] = ACTIONS(2355), + [anon_sym_requires] = ACTIONS(2355), + [sym_this] = ACTIONS(2355), + [sym_nullptr] = ACTIONS(2355), + [sym_raw_string_literal] = ACTIONS(2357), + }, + [752] = { + [sym_identifier] = ACTIONS(2239), + [aux_sym_preproc_include_token1] = ACTIONS(2239), + [aux_sym_preproc_def_token1] = ACTIONS(2239), + [aux_sym_preproc_if_token1] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2239), + [sym_preproc_directive] = ACTIONS(2239), + [anon_sym_LPAREN2] = ACTIONS(2241), + [anon_sym_BANG] = ACTIONS(2241), + [anon_sym_TILDE] = ACTIONS(2241), + [anon_sym_DASH] = ACTIONS(2239), + [anon_sym_PLUS] = ACTIONS(2239), + [anon_sym_STAR] = ACTIONS(2241), + [anon_sym_AMP_AMP] = ACTIONS(2241), + [anon_sym_AMP] = ACTIONS(2239), + [anon_sym_SEMI] = ACTIONS(2241), + [anon_sym_typedef] = ACTIONS(2239), + [anon_sym_extern] = ACTIONS(2239), + [anon_sym___attribute__] = ACTIONS(2239), + [anon_sym_COLON_COLON] = ACTIONS(2241), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2241), + [anon_sym___declspec] = ACTIONS(2239), + [anon_sym___based] = ACTIONS(2239), + [anon_sym___cdecl] = ACTIONS(2239), + [anon_sym___clrcall] = ACTIONS(2239), + [anon_sym___stdcall] = ACTIONS(2239), + [anon_sym___fastcall] = ACTIONS(2239), + [anon_sym___thiscall] = ACTIONS(2239), + [anon_sym___vectorcall] = ACTIONS(2239), + [anon_sym_LBRACE] = ACTIONS(2241), + [anon_sym_RBRACE] = ACTIONS(2241), + [anon_sym_LBRACK] = ACTIONS(2239), + [anon_sym_static] = ACTIONS(2239), + [anon_sym_register] = ACTIONS(2239), + [anon_sym_inline] = ACTIONS(2239), + [anon_sym_thread_local] = ACTIONS(2239), + [anon_sym_const] = ACTIONS(2239), + [anon_sym_volatile] = ACTIONS(2239), + [anon_sym_restrict] = ACTIONS(2239), + [anon_sym__Atomic] = ACTIONS(2239), + [anon_sym_mutable] = ACTIONS(2239), + [anon_sym_constexpr] = ACTIONS(2239), + [anon_sym_constinit] = ACTIONS(2239), + [anon_sym_consteval] = ACTIONS(2239), + [anon_sym_signed] = ACTIONS(2239), + [anon_sym_unsigned] = ACTIONS(2239), + [anon_sym_long] = ACTIONS(2239), + [anon_sym_short] = ACTIONS(2239), + [sym_primitive_type] = ACTIONS(2239), + [anon_sym_enum] = ACTIONS(2239), + [anon_sym_class] = ACTIONS(2239), + [anon_sym_struct] = ACTIONS(2239), + [anon_sym_union] = ACTIONS(2239), + [anon_sym_if] = ACTIONS(2239), + [anon_sym_switch] = ACTIONS(2239), + [anon_sym_case] = ACTIONS(2239), + [anon_sym_default] = ACTIONS(2239), + [anon_sym_while] = ACTIONS(2239), + [anon_sym_do] = ACTIONS(2239), + [anon_sym_for] = ACTIONS(2239), + [anon_sym_return] = ACTIONS(2239), + [anon_sym_break] = ACTIONS(2239), + [anon_sym_continue] = ACTIONS(2239), + [anon_sym_goto] = ACTIONS(2239), + [anon_sym_DASH_DASH] = ACTIONS(2241), + [anon_sym_PLUS_PLUS] = ACTIONS(2241), + [anon_sym_sizeof] = ACTIONS(2239), + [sym_number_literal] = ACTIONS(2241), + [anon_sym_L_SQUOTE] = ACTIONS(2241), + [anon_sym_u_SQUOTE] = ACTIONS(2241), + [anon_sym_U_SQUOTE] = ACTIONS(2241), + [anon_sym_u8_SQUOTE] = ACTIONS(2241), + [anon_sym_SQUOTE] = ACTIONS(2241), + [anon_sym_L_DQUOTE] = ACTIONS(2241), + [anon_sym_u_DQUOTE] = ACTIONS(2241), + [anon_sym_U_DQUOTE] = ACTIONS(2241), + [anon_sym_u8_DQUOTE] = ACTIONS(2241), + [anon_sym_DQUOTE] = ACTIONS(2241), + [sym_true] = ACTIONS(2239), + [sym_false] = ACTIONS(2239), + [sym_null] = ACTIONS(2239), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2239), + [anon_sym_decltype] = ACTIONS(2239), + [anon_sym_virtual] = ACTIONS(2239), + [anon_sym_explicit] = ACTIONS(2239), + [anon_sym_typename] = ACTIONS(2239), + [anon_sym_template] = ACTIONS(2239), + [anon_sym_operator] = ACTIONS(2239), + [anon_sym_delete] = ACTIONS(2239), + [anon_sym_throw] = ACTIONS(2239), + [anon_sym_namespace] = ACTIONS(2239), + [anon_sym_using] = ACTIONS(2239), + [anon_sym_static_assert] = ACTIONS(2239), + [anon_sym_concept] = ACTIONS(2239), + [anon_sym_co_return] = ACTIONS(2239), + [anon_sym_co_yield] = ACTIONS(2239), + [anon_sym_try] = ACTIONS(2239), + [anon_sym_co_await] = ACTIONS(2239), + [anon_sym_new] = ACTIONS(2239), + [anon_sym_requires] = ACTIONS(2239), + [sym_this] = ACTIONS(2239), + [sym_nullptr] = ACTIONS(2239), + [sym_raw_string_literal] = ACTIONS(2241), + }, + [753] = { + [sym_identifier] = ACTIONS(2407), + [aux_sym_preproc_include_token1] = ACTIONS(2407), + [aux_sym_preproc_def_token1] = ACTIONS(2407), + [aux_sym_preproc_if_token1] = ACTIONS(2407), + [aux_sym_preproc_if_token2] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2407), + [sym_preproc_directive] = ACTIONS(2407), + [anon_sym_LPAREN2] = ACTIONS(2409), + [anon_sym_BANG] = ACTIONS(2409), + [anon_sym_TILDE] = ACTIONS(2409), + [anon_sym_DASH] = ACTIONS(2407), + [anon_sym_PLUS] = ACTIONS(2407), + [anon_sym_STAR] = ACTIONS(2409), + [anon_sym_AMP_AMP] = ACTIONS(2409), + [anon_sym_AMP] = ACTIONS(2407), + [anon_sym_SEMI] = ACTIONS(2409), + [anon_sym_typedef] = ACTIONS(2407), + [anon_sym_extern] = ACTIONS(2407), + [anon_sym___attribute__] = ACTIONS(2407), + [anon_sym_COLON_COLON] = ACTIONS(2409), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2409), + [anon_sym___declspec] = ACTIONS(2407), + [anon_sym___based] = ACTIONS(2407), + [anon_sym___cdecl] = ACTIONS(2407), + [anon_sym___clrcall] = ACTIONS(2407), + [anon_sym___stdcall] = ACTIONS(2407), + [anon_sym___fastcall] = ACTIONS(2407), + [anon_sym___thiscall] = ACTIONS(2407), + [anon_sym___vectorcall] = ACTIONS(2407), + [anon_sym_LBRACE] = ACTIONS(2409), + [anon_sym_LBRACK] = ACTIONS(2407), + [anon_sym_static] = ACTIONS(2407), + [anon_sym_register] = ACTIONS(2407), + [anon_sym_inline] = ACTIONS(2407), + [anon_sym_thread_local] = ACTIONS(2407), + [anon_sym_const] = ACTIONS(2407), + [anon_sym_volatile] = ACTIONS(2407), + [anon_sym_restrict] = ACTIONS(2407), + [anon_sym__Atomic] = ACTIONS(2407), + [anon_sym_mutable] = ACTIONS(2407), + [anon_sym_constexpr] = ACTIONS(2407), + [anon_sym_constinit] = ACTIONS(2407), + [anon_sym_consteval] = ACTIONS(2407), + [anon_sym_signed] = ACTIONS(2407), + [anon_sym_unsigned] = ACTIONS(2407), + [anon_sym_long] = ACTIONS(2407), + [anon_sym_short] = ACTIONS(2407), + [sym_primitive_type] = ACTIONS(2407), + [anon_sym_enum] = ACTIONS(2407), + [anon_sym_class] = ACTIONS(2407), + [anon_sym_struct] = ACTIONS(2407), + [anon_sym_union] = ACTIONS(2407), + [anon_sym_if] = ACTIONS(2407), + [anon_sym_switch] = ACTIONS(2407), + [anon_sym_case] = ACTIONS(2407), + [anon_sym_default] = ACTIONS(2407), + [anon_sym_while] = ACTIONS(2407), + [anon_sym_do] = ACTIONS(2407), + [anon_sym_for] = ACTIONS(2407), + [anon_sym_return] = ACTIONS(2407), + [anon_sym_break] = ACTIONS(2407), + [anon_sym_continue] = ACTIONS(2407), + [anon_sym_goto] = ACTIONS(2407), + [anon_sym_DASH_DASH] = ACTIONS(2409), + [anon_sym_PLUS_PLUS] = ACTIONS(2409), + [anon_sym_sizeof] = ACTIONS(2407), + [sym_number_literal] = ACTIONS(2409), + [anon_sym_L_SQUOTE] = ACTIONS(2409), + [anon_sym_u_SQUOTE] = ACTIONS(2409), + [anon_sym_U_SQUOTE] = ACTIONS(2409), + [anon_sym_u8_SQUOTE] = ACTIONS(2409), + [anon_sym_SQUOTE] = ACTIONS(2409), + [anon_sym_L_DQUOTE] = ACTIONS(2409), + [anon_sym_u_DQUOTE] = ACTIONS(2409), + [anon_sym_U_DQUOTE] = ACTIONS(2409), + [anon_sym_u8_DQUOTE] = ACTIONS(2409), + [anon_sym_DQUOTE] = ACTIONS(2409), + [sym_true] = ACTIONS(2407), + [sym_false] = ACTIONS(2407), + [sym_null] = ACTIONS(2407), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2407), + [anon_sym_decltype] = ACTIONS(2407), + [anon_sym_virtual] = ACTIONS(2407), + [anon_sym_explicit] = ACTIONS(2407), + [anon_sym_typename] = ACTIONS(2407), + [anon_sym_template] = ACTIONS(2407), + [anon_sym_operator] = ACTIONS(2407), + [anon_sym_delete] = ACTIONS(2407), + [anon_sym_throw] = ACTIONS(2407), + [anon_sym_namespace] = ACTIONS(2407), + [anon_sym_using] = ACTIONS(2407), + [anon_sym_static_assert] = ACTIONS(2407), + [anon_sym_concept] = ACTIONS(2407), + [anon_sym_co_return] = ACTIONS(2407), + [anon_sym_co_yield] = ACTIONS(2407), + [anon_sym_try] = ACTIONS(2407), + [anon_sym_co_await] = ACTIONS(2407), + [anon_sym_new] = ACTIONS(2407), + [anon_sym_requires] = ACTIONS(2407), + [sym_this] = ACTIONS(2407), + [sym_nullptr] = ACTIONS(2407), + [sym_raw_string_literal] = ACTIONS(2409), + }, + [754] = { + [sym_identifier] = ACTIONS(2379), + [aux_sym_preproc_include_token1] = ACTIONS(2379), + [aux_sym_preproc_def_token1] = ACTIONS(2379), + [aux_sym_preproc_if_token1] = ACTIONS(2379), + [aux_sym_preproc_if_token2] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2379), + [sym_preproc_directive] = ACTIONS(2379), + [anon_sym_LPAREN2] = ACTIONS(2381), + [anon_sym_BANG] = ACTIONS(2381), + [anon_sym_TILDE] = ACTIONS(2381), + [anon_sym_DASH] = ACTIONS(2379), + [anon_sym_PLUS] = ACTIONS(2379), + [anon_sym_STAR] = ACTIONS(2381), + [anon_sym_AMP_AMP] = ACTIONS(2381), + [anon_sym_AMP] = ACTIONS(2379), + [anon_sym_SEMI] = ACTIONS(2381), + [anon_sym_typedef] = ACTIONS(2379), + [anon_sym_extern] = ACTIONS(2379), + [anon_sym___attribute__] = ACTIONS(2379), + [anon_sym_COLON_COLON] = ACTIONS(2381), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2381), + [anon_sym___declspec] = ACTIONS(2379), + [anon_sym___based] = ACTIONS(2379), + [anon_sym___cdecl] = ACTIONS(2379), + [anon_sym___clrcall] = ACTIONS(2379), + [anon_sym___stdcall] = ACTIONS(2379), + [anon_sym___fastcall] = ACTIONS(2379), + [anon_sym___thiscall] = ACTIONS(2379), + [anon_sym___vectorcall] = ACTIONS(2379), + [anon_sym_LBRACE] = ACTIONS(2381), + [anon_sym_LBRACK] = ACTIONS(2379), + [anon_sym_static] = ACTIONS(2379), + [anon_sym_register] = ACTIONS(2379), + [anon_sym_inline] = ACTIONS(2379), + [anon_sym_thread_local] = ACTIONS(2379), + [anon_sym_const] = ACTIONS(2379), + [anon_sym_volatile] = ACTIONS(2379), + [anon_sym_restrict] = ACTIONS(2379), + [anon_sym__Atomic] = ACTIONS(2379), + [anon_sym_mutable] = ACTIONS(2379), + [anon_sym_constexpr] = ACTIONS(2379), + [anon_sym_constinit] = ACTIONS(2379), + [anon_sym_consteval] = ACTIONS(2379), + [anon_sym_signed] = ACTIONS(2379), + [anon_sym_unsigned] = ACTIONS(2379), + [anon_sym_long] = ACTIONS(2379), + [anon_sym_short] = ACTIONS(2379), + [sym_primitive_type] = ACTIONS(2379), + [anon_sym_enum] = ACTIONS(2379), + [anon_sym_class] = ACTIONS(2379), + [anon_sym_struct] = ACTIONS(2379), + [anon_sym_union] = ACTIONS(2379), + [anon_sym_if] = ACTIONS(2379), + [anon_sym_switch] = ACTIONS(2379), + [anon_sym_case] = ACTIONS(2379), + [anon_sym_default] = ACTIONS(2379), + [anon_sym_while] = ACTIONS(2379), + [anon_sym_do] = ACTIONS(2379), + [anon_sym_for] = ACTIONS(2379), + [anon_sym_return] = ACTIONS(2379), + [anon_sym_break] = ACTIONS(2379), + [anon_sym_continue] = ACTIONS(2379), + [anon_sym_goto] = ACTIONS(2379), + [anon_sym_DASH_DASH] = ACTIONS(2381), + [anon_sym_PLUS_PLUS] = ACTIONS(2381), + [anon_sym_sizeof] = ACTIONS(2379), + [sym_number_literal] = ACTIONS(2381), + [anon_sym_L_SQUOTE] = ACTIONS(2381), + [anon_sym_u_SQUOTE] = ACTIONS(2381), + [anon_sym_U_SQUOTE] = ACTIONS(2381), + [anon_sym_u8_SQUOTE] = ACTIONS(2381), + [anon_sym_SQUOTE] = ACTIONS(2381), + [anon_sym_L_DQUOTE] = ACTIONS(2381), + [anon_sym_u_DQUOTE] = ACTIONS(2381), + [anon_sym_U_DQUOTE] = ACTIONS(2381), + [anon_sym_u8_DQUOTE] = ACTIONS(2381), + [anon_sym_DQUOTE] = ACTIONS(2381), + [sym_true] = ACTIONS(2379), + [sym_false] = ACTIONS(2379), + [sym_null] = ACTIONS(2379), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2379), + [anon_sym_decltype] = ACTIONS(2379), + [anon_sym_virtual] = ACTIONS(2379), + [anon_sym_explicit] = ACTIONS(2379), + [anon_sym_typename] = ACTIONS(2379), + [anon_sym_template] = ACTIONS(2379), + [anon_sym_operator] = ACTIONS(2379), + [anon_sym_delete] = ACTIONS(2379), + [anon_sym_throw] = ACTIONS(2379), + [anon_sym_namespace] = ACTIONS(2379), + [anon_sym_using] = ACTIONS(2379), + [anon_sym_static_assert] = ACTIONS(2379), + [anon_sym_concept] = ACTIONS(2379), + [anon_sym_co_return] = ACTIONS(2379), + [anon_sym_co_yield] = ACTIONS(2379), + [anon_sym_try] = ACTIONS(2379), + [anon_sym_co_await] = ACTIONS(2379), + [anon_sym_new] = ACTIONS(2379), + [anon_sym_requires] = ACTIONS(2379), + [sym_this] = ACTIONS(2379), + [sym_nullptr] = ACTIONS(2379), + [sym_raw_string_literal] = ACTIONS(2381), + }, + [755] = { + [sym_identifier] = ACTIONS(2271), + [aux_sym_preproc_include_token1] = ACTIONS(2271), + [aux_sym_preproc_def_token1] = ACTIONS(2271), + [aux_sym_preproc_if_token1] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2271), + [sym_preproc_directive] = ACTIONS(2271), + [anon_sym_LPAREN2] = ACTIONS(2273), + [anon_sym_BANG] = ACTIONS(2273), + [anon_sym_TILDE] = ACTIONS(2273), + [anon_sym_DASH] = ACTIONS(2271), + [anon_sym_PLUS] = ACTIONS(2271), + [anon_sym_STAR] = ACTIONS(2273), + [anon_sym_AMP_AMP] = ACTIONS(2273), + [anon_sym_AMP] = ACTIONS(2271), + [anon_sym_SEMI] = ACTIONS(2273), + [anon_sym_typedef] = ACTIONS(2271), + [anon_sym_extern] = ACTIONS(2271), + [anon_sym___attribute__] = ACTIONS(2271), + [anon_sym_COLON_COLON] = ACTIONS(2273), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2273), + [anon_sym___declspec] = ACTIONS(2271), + [anon_sym___based] = ACTIONS(2271), + [anon_sym___cdecl] = ACTIONS(2271), + [anon_sym___clrcall] = ACTIONS(2271), + [anon_sym___stdcall] = ACTIONS(2271), + [anon_sym___fastcall] = ACTIONS(2271), + [anon_sym___thiscall] = ACTIONS(2271), + [anon_sym___vectorcall] = ACTIONS(2271), + [anon_sym_LBRACE] = ACTIONS(2273), + [anon_sym_RBRACE] = ACTIONS(2273), + [anon_sym_LBRACK] = ACTIONS(2271), + [anon_sym_static] = ACTIONS(2271), + [anon_sym_register] = ACTIONS(2271), + [anon_sym_inline] = ACTIONS(2271), + [anon_sym_thread_local] = ACTIONS(2271), + [anon_sym_const] = ACTIONS(2271), + [anon_sym_volatile] = ACTIONS(2271), + [anon_sym_restrict] = ACTIONS(2271), + [anon_sym__Atomic] = ACTIONS(2271), + [anon_sym_mutable] = ACTIONS(2271), + [anon_sym_constexpr] = ACTIONS(2271), + [anon_sym_constinit] = ACTIONS(2271), + [anon_sym_consteval] = ACTIONS(2271), + [anon_sym_signed] = ACTIONS(2271), + [anon_sym_unsigned] = ACTIONS(2271), + [anon_sym_long] = ACTIONS(2271), + [anon_sym_short] = ACTIONS(2271), + [sym_primitive_type] = ACTIONS(2271), + [anon_sym_enum] = ACTIONS(2271), + [anon_sym_class] = ACTIONS(2271), + [anon_sym_struct] = ACTIONS(2271), + [anon_sym_union] = ACTIONS(2271), + [anon_sym_if] = ACTIONS(2271), + [anon_sym_switch] = ACTIONS(2271), + [anon_sym_case] = ACTIONS(2271), + [anon_sym_default] = ACTIONS(2271), + [anon_sym_while] = ACTIONS(2271), + [anon_sym_do] = ACTIONS(2271), + [anon_sym_for] = ACTIONS(2271), + [anon_sym_return] = ACTIONS(2271), + [anon_sym_break] = ACTIONS(2271), + [anon_sym_continue] = ACTIONS(2271), + [anon_sym_goto] = ACTIONS(2271), + [anon_sym_DASH_DASH] = ACTIONS(2273), + [anon_sym_PLUS_PLUS] = ACTIONS(2273), + [anon_sym_sizeof] = ACTIONS(2271), + [sym_number_literal] = ACTIONS(2273), + [anon_sym_L_SQUOTE] = ACTIONS(2273), + [anon_sym_u_SQUOTE] = ACTIONS(2273), + [anon_sym_U_SQUOTE] = ACTIONS(2273), + [anon_sym_u8_SQUOTE] = ACTIONS(2273), + [anon_sym_SQUOTE] = ACTIONS(2273), + [anon_sym_L_DQUOTE] = ACTIONS(2273), + [anon_sym_u_DQUOTE] = ACTIONS(2273), + [anon_sym_U_DQUOTE] = ACTIONS(2273), + [anon_sym_u8_DQUOTE] = ACTIONS(2273), + [anon_sym_DQUOTE] = ACTIONS(2273), + [sym_true] = ACTIONS(2271), + [sym_false] = ACTIONS(2271), + [sym_null] = ACTIONS(2271), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2271), + [anon_sym_decltype] = ACTIONS(2271), + [anon_sym_virtual] = ACTIONS(2271), + [anon_sym_explicit] = ACTIONS(2271), + [anon_sym_typename] = ACTIONS(2271), + [anon_sym_template] = ACTIONS(2271), + [anon_sym_operator] = ACTIONS(2271), + [anon_sym_delete] = ACTIONS(2271), + [anon_sym_throw] = ACTIONS(2271), + [anon_sym_namespace] = ACTIONS(2271), + [anon_sym_using] = ACTIONS(2271), + [anon_sym_static_assert] = ACTIONS(2271), + [anon_sym_concept] = ACTIONS(2271), + [anon_sym_co_return] = ACTIONS(2271), + [anon_sym_co_yield] = ACTIONS(2271), + [anon_sym_try] = ACTIONS(2271), + [anon_sym_co_await] = ACTIONS(2271), + [anon_sym_new] = ACTIONS(2271), + [anon_sym_requires] = ACTIONS(2271), + [sym_this] = ACTIONS(2271), + [sym_nullptr] = ACTIONS(2271), + [sym_raw_string_literal] = ACTIONS(2273), + }, + [756] = { + [sym_identifier] = ACTIONS(2371), + [aux_sym_preproc_include_token1] = ACTIONS(2371), + [aux_sym_preproc_def_token1] = ACTIONS(2371), + [aux_sym_preproc_if_token1] = ACTIONS(2371), + [aux_sym_preproc_if_token2] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2371), + [sym_preproc_directive] = ACTIONS(2371), + [anon_sym_LPAREN2] = ACTIONS(2373), + [anon_sym_BANG] = ACTIONS(2373), + [anon_sym_TILDE] = ACTIONS(2373), + [anon_sym_DASH] = ACTIONS(2371), + [anon_sym_PLUS] = ACTIONS(2371), + [anon_sym_STAR] = ACTIONS(2373), + [anon_sym_AMP_AMP] = ACTIONS(2373), + [anon_sym_AMP] = ACTIONS(2371), + [anon_sym_SEMI] = ACTIONS(2373), + [anon_sym_typedef] = ACTIONS(2371), + [anon_sym_extern] = ACTIONS(2371), + [anon_sym___attribute__] = ACTIONS(2371), + [anon_sym_COLON_COLON] = ACTIONS(2373), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2373), + [anon_sym___declspec] = ACTIONS(2371), + [anon_sym___based] = ACTIONS(2371), + [anon_sym___cdecl] = ACTIONS(2371), + [anon_sym___clrcall] = ACTIONS(2371), + [anon_sym___stdcall] = ACTIONS(2371), + [anon_sym___fastcall] = ACTIONS(2371), + [anon_sym___thiscall] = ACTIONS(2371), + [anon_sym___vectorcall] = ACTIONS(2371), + [anon_sym_LBRACE] = ACTIONS(2373), + [anon_sym_LBRACK] = ACTIONS(2371), + [anon_sym_static] = ACTIONS(2371), + [anon_sym_register] = ACTIONS(2371), + [anon_sym_inline] = ACTIONS(2371), + [anon_sym_thread_local] = ACTIONS(2371), + [anon_sym_const] = ACTIONS(2371), + [anon_sym_volatile] = ACTIONS(2371), + [anon_sym_restrict] = ACTIONS(2371), + [anon_sym__Atomic] = ACTIONS(2371), + [anon_sym_mutable] = ACTIONS(2371), + [anon_sym_constexpr] = ACTIONS(2371), + [anon_sym_constinit] = ACTIONS(2371), + [anon_sym_consteval] = ACTIONS(2371), + [anon_sym_signed] = ACTIONS(2371), + [anon_sym_unsigned] = ACTIONS(2371), + [anon_sym_long] = ACTIONS(2371), + [anon_sym_short] = ACTIONS(2371), + [sym_primitive_type] = ACTIONS(2371), + [anon_sym_enum] = ACTIONS(2371), + [anon_sym_class] = ACTIONS(2371), + [anon_sym_struct] = ACTIONS(2371), + [anon_sym_union] = ACTIONS(2371), + [anon_sym_if] = ACTIONS(2371), + [anon_sym_switch] = ACTIONS(2371), + [anon_sym_case] = ACTIONS(2371), + [anon_sym_default] = ACTIONS(2371), + [anon_sym_while] = ACTIONS(2371), + [anon_sym_do] = ACTIONS(2371), + [anon_sym_for] = ACTIONS(2371), + [anon_sym_return] = ACTIONS(2371), + [anon_sym_break] = ACTIONS(2371), + [anon_sym_continue] = ACTIONS(2371), + [anon_sym_goto] = ACTIONS(2371), + [anon_sym_DASH_DASH] = ACTIONS(2373), + [anon_sym_PLUS_PLUS] = ACTIONS(2373), + [anon_sym_sizeof] = ACTIONS(2371), + [sym_number_literal] = ACTIONS(2373), + [anon_sym_L_SQUOTE] = ACTIONS(2373), + [anon_sym_u_SQUOTE] = ACTIONS(2373), + [anon_sym_U_SQUOTE] = ACTIONS(2373), + [anon_sym_u8_SQUOTE] = ACTIONS(2373), + [anon_sym_SQUOTE] = ACTIONS(2373), + [anon_sym_L_DQUOTE] = ACTIONS(2373), + [anon_sym_u_DQUOTE] = ACTIONS(2373), + [anon_sym_U_DQUOTE] = ACTIONS(2373), + [anon_sym_u8_DQUOTE] = ACTIONS(2373), + [anon_sym_DQUOTE] = ACTIONS(2373), + [sym_true] = ACTIONS(2371), + [sym_false] = ACTIONS(2371), + [sym_null] = ACTIONS(2371), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2371), + [anon_sym_decltype] = ACTIONS(2371), + [anon_sym_virtual] = ACTIONS(2371), + [anon_sym_explicit] = ACTIONS(2371), + [anon_sym_typename] = ACTIONS(2371), + [anon_sym_template] = ACTIONS(2371), + [anon_sym_operator] = ACTIONS(2371), + [anon_sym_delete] = ACTIONS(2371), + [anon_sym_throw] = ACTIONS(2371), + [anon_sym_namespace] = ACTIONS(2371), + [anon_sym_using] = ACTIONS(2371), + [anon_sym_static_assert] = ACTIONS(2371), + [anon_sym_concept] = ACTIONS(2371), + [anon_sym_co_return] = ACTIONS(2371), + [anon_sym_co_yield] = ACTIONS(2371), + [anon_sym_try] = ACTIONS(2371), + [anon_sym_co_await] = ACTIONS(2371), + [anon_sym_new] = ACTIONS(2371), + [anon_sym_requires] = ACTIONS(2371), + [sym_this] = ACTIONS(2371), + [sym_nullptr] = ACTIONS(2371), + [sym_raw_string_literal] = ACTIONS(2373), + }, + [757] = { + [ts_builtin_sym_end] = ACTIONS(2265), + [sym_identifier] = ACTIONS(2263), + [aux_sym_preproc_include_token1] = ACTIONS(2263), + [aux_sym_preproc_def_token1] = ACTIONS(2263), + [aux_sym_preproc_if_token1] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2263), + [sym_preproc_directive] = ACTIONS(2263), + [anon_sym_LPAREN2] = ACTIONS(2265), + [anon_sym_BANG] = ACTIONS(2265), + [anon_sym_TILDE] = ACTIONS(2265), + [anon_sym_DASH] = ACTIONS(2263), + [anon_sym_PLUS] = ACTIONS(2263), + [anon_sym_STAR] = ACTIONS(2265), + [anon_sym_AMP_AMP] = ACTIONS(2265), + [anon_sym_AMP] = ACTIONS(2263), + [anon_sym_SEMI] = ACTIONS(2265), + [anon_sym_typedef] = ACTIONS(2263), + [anon_sym_extern] = ACTIONS(2263), + [anon_sym___attribute__] = ACTIONS(2263), + [anon_sym_COLON_COLON] = ACTIONS(2265), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2265), + [anon_sym___declspec] = ACTIONS(2263), + [anon_sym___based] = ACTIONS(2263), + [anon_sym___cdecl] = ACTIONS(2263), + [anon_sym___clrcall] = ACTIONS(2263), + [anon_sym___stdcall] = ACTIONS(2263), + [anon_sym___fastcall] = ACTIONS(2263), + [anon_sym___thiscall] = ACTIONS(2263), + [anon_sym___vectorcall] = ACTIONS(2263), + [anon_sym_LBRACE] = ACTIONS(2265), + [anon_sym_LBRACK] = ACTIONS(2263), + [anon_sym_static] = ACTIONS(2263), + [anon_sym_register] = ACTIONS(2263), + [anon_sym_inline] = ACTIONS(2263), + [anon_sym_thread_local] = ACTIONS(2263), + [anon_sym_const] = ACTIONS(2263), + [anon_sym_volatile] = ACTIONS(2263), + [anon_sym_restrict] = ACTIONS(2263), + [anon_sym__Atomic] = ACTIONS(2263), + [anon_sym_mutable] = ACTIONS(2263), + [anon_sym_constexpr] = ACTIONS(2263), + [anon_sym_constinit] = ACTIONS(2263), + [anon_sym_consteval] = ACTIONS(2263), + [anon_sym_signed] = ACTIONS(2263), + [anon_sym_unsigned] = ACTIONS(2263), + [anon_sym_long] = ACTIONS(2263), + [anon_sym_short] = ACTIONS(2263), + [sym_primitive_type] = ACTIONS(2263), + [anon_sym_enum] = ACTIONS(2263), + [anon_sym_class] = ACTIONS(2263), + [anon_sym_struct] = ACTIONS(2263), + [anon_sym_union] = ACTIONS(2263), + [anon_sym_if] = ACTIONS(2263), + [anon_sym_switch] = ACTIONS(2263), + [anon_sym_case] = ACTIONS(2263), + [anon_sym_default] = ACTIONS(2263), + [anon_sym_while] = ACTIONS(2263), + [anon_sym_do] = ACTIONS(2263), + [anon_sym_for] = ACTIONS(2263), + [anon_sym_return] = ACTIONS(2263), + [anon_sym_break] = ACTIONS(2263), + [anon_sym_continue] = ACTIONS(2263), + [anon_sym_goto] = ACTIONS(2263), + [anon_sym_DASH_DASH] = ACTIONS(2265), + [anon_sym_PLUS_PLUS] = ACTIONS(2265), + [anon_sym_sizeof] = ACTIONS(2263), + [sym_number_literal] = ACTIONS(2265), + [anon_sym_L_SQUOTE] = ACTIONS(2265), + [anon_sym_u_SQUOTE] = ACTIONS(2265), + [anon_sym_U_SQUOTE] = ACTIONS(2265), + [anon_sym_u8_SQUOTE] = ACTIONS(2265), + [anon_sym_SQUOTE] = ACTIONS(2265), + [anon_sym_L_DQUOTE] = ACTIONS(2265), + [anon_sym_u_DQUOTE] = ACTIONS(2265), + [anon_sym_U_DQUOTE] = ACTIONS(2265), + [anon_sym_u8_DQUOTE] = ACTIONS(2265), + [anon_sym_DQUOTE] = ACTIONS(2265), + [sym_true] = ACTIONS(2263), + [sym_false] = ACTIONS(2263), + [sym_null] = ACTIONS(2263), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2263), + [anon_sym_decltype] = ACTIONS(2263), + [anon_sym_virtual] = ACTIONS(2263), + [anon_sym_explicit] = ACTIONS(2263), + [anon_sym_typename] = ACTIONS(2263), + [anon_sym_template] = ACTIONS(2263), + [anon_sym_operator] = ACTIONS(2263), + [anon_sym_delete] = ACTIONS(2263), + [anon_sym_throw] = ACTIONS(2263), + [anon_sym_namespace] = ACTIONS(2263), + [anon_sym_using] = ACTIONS(2263), + [anon_sym_static_assert] = ACTIONS(2263), + [anon_sym_concept] = ACTIONS(2263), + [anon_sym_co_return] = ACTIONS(2263), + [anon_sym_co_yield] = ACTIONS(2263), + [anon_sym_try] = ACTIONS(2263), + [anon_sym_co_await] = ACTIONS(2263), + [anon_sym_new] = ACTIONS(2263), + [anon_sym_requires] = ACTIONS(2263), + [sym_this] = ACTIONS(2263), + [sym_nullptr] = ACTIONS(2263), + [sym_raw_string_literal] = ACTIONS(2265), + }, + [758] = { + [ts_builtin_sym_end] = ACTIONS(2349), + [sym_identifier] = ACTIONS(2347), + [aux_sym_preproc_include_token1] = ACTIONS(2347), + [aux_sym_preproc_def_token1] = ACTIONS(2347), + [aux_sym_preproc_if_token1] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2347), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2347), + [sym_preproc_directive] = ACTIONS(2347), + [anon_sym_LPAREN2] = ACTIONS(2349), + [anon_sym_BANG] = ACTIONS(2349), + [anon_sym_TILDE] = ACTIONS(2349), + [anon_sym_DASH] = ACTIONS(2347), + [anon_sym_PLUS] = ACTIONS(2347), + [anon_sym_STAR] = ACTIONS(2349), + [anon_sym_AMP_AMP] = ACTIONS(2349), + [anon_sym_AMP] = ACTIONS(2347), + [anon_sym_SEMI] = ACTIONS(2349), + [anon_sym_typedef] = ACTIONS(2347), + [anon_sym_extern] = ACTIONS(2347), + [anon_sym___attribute__] = ACTIONS(2347), + [anon_sym_COLON_COLON] = ACTIONS(2349), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2349), + [anon_sym___declspec] = ACTIONS(2347), + [anon_sym___based] = ACTIONS(2347), + [anon_sym___cdecl] = ACTIONS(2347), + [anon_sym___clrcall] = ACTIONS(2347), + [anon_sym___stdcall] = ACTIONS(2347), + [anon_sym___fastcall] = ACTIONS(2347), + [anon_sym___thiscall] = ACTIONS(2347), + [anon_sym___vectorcall] = ACTIONS(2347), + [anon_sym_LBRACE] = ACTIONS(2349), + [anon_sym_LBRACK] = ACTIONS(2347), + [anon_sym_static] = ACTIONS(2347), + [anon_sym_register] = ACTIONS(2347), + [anon_sym_inline] = ACTIONS(2347), + [anon_sym_thread_local] = ACTIONS(2347), + [anon_sym_const] = ACTIONS(2347), + [anon_sym_volatile] = ACTIONS(2347), + [anon_sym_restrict] = ACTIONS(2347), + [anon_sym__Atomic] = ACTIONS(2347), + [anon_sym_mutable] = ACTIONS(2347), + [anon_sym_constexpr] = ACTIONS(2347), + [anon_sym_constinit] = ACTIONS(2347), + [anon_sym_consteval] = ACTIONS(2347), + [anon_sym_signed] = ACTIONS(2347), + [anon_sym_unsigned] = ACTIONS(2347), + [anon_sym_long] = ACTIONS(2347), + [anon_sym_short] = ACTIONS(2347), + [sym_primitive_type] = ACTIONS(2347), + [anon_sym_enum] = ACTIONS(2347), + [anon_sym_class] = ACTIONS(2347), + [anon_sym_struct] = ACTIONS(2347), + [anon_sym_union] = ACTIONS(2347), + [anon_sym_if] = ACTIONS(2347), + [anon_sym_switch] = ACTIONS(2347), + [anon_sym_case] = ACTIONS(2347), + [anon_sym_default] = ACTIONS(2347), + [anon_sym_while] = ACTIONS(2347), + [anon_sym_do] = ACTIONS(2347), + [anon_sym_for] = ACTIONS(2347), + [anon_sym_return] = ACTIONS(2347), + [anon_sym_break] = ACTIONS(2347), + [anon_sym_continue] = ACTIONS(2347), + [anon_sym_goto] = ACTIONS(2347), + [anon_sym_DASH_DASH] = ACTIONS(2349), + [anon_sym_PLUS_PLUS] = ACTIONS(2349), + [anon_sym_sizeof] = ACTIONS(2347), + [sym_number_literal] = ACTIONS(2349), + [anon_sym_L_SQUOTE] = ACTIONS(2349), + [anon_sym_u_SQUOTE] = ACTIONS(2349), + [anon_sym_U_SQUOTE] = ACTIONS(2349), + [anon_sym_u8_SQUOTE] = ACTIONS(2349), + [anon_sym_SQUOTE] = ACTIONS(2349), + [anon_sym_L_DQUOTE] = ACTIONS(2349), + [anon_sym_u_DQUOTE] = ACTIONS(2349), + [anon_sym_U_DQUOTE] = ACTIONS(2349), + [anon_sym_u8_DQUOTE] = ACTIONS(2349), + [anon_sym_DQUOTE] = ACTIONS(2349), + [sym_true] = ACTIONS(2347), + [sym_false] = ACTIONS(2347), + [sym_null] = ACTIONS(2347), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2347), + [anon_sym_decltype] = ACTIONS(2347), + [anon_sym_virtual] = ACTIONS(2347), + [anon_sym_explicit] = ACTIONS(2347), + [anon_sym_typename] = ACTIONS(2347), + [anon_sym_template] = ACTIONS(2347), + [anon_sym_operator] = ACTIONS(2347), + [anon_sym_delete] = ACTIONS(2347), + [anon_sym_throw] = ACTIONS(2347), + [anon_sym_namespace] = ACTIONS(2347), + [anon_sym_using] = ACTIONS(2347), + [anon_sym_static_assert] = ACTIONS(2347), + [anon_sym_concept] = ACTIONS(2347), + [anon_sym_co_return] = ACTIONS(2347), + [anon_sym_co_yield] = ACTIONS(2347), + [anon_sym_try] = ACTIONS(2347), + [anon_sym_co_await] = ACTIONS(2347), + [anon_sym_new] = ACTIONS(2347), + [anon_sym_requires] = ACTIONS(2347), + [sym_this] = ACTIONS(2347), + [sym_nullptr] = ACTIONS(2347), + [sym_raw_string_literal] = ACTIONS(2349), + }, + [759] = { + [ts_builtin_sym_end] = ACTIONS(2257), + [sym_identifier] = ACTIONS(2255), + [aux_sym_preproc_include_token1] = ACTIONS(2255), + [aux_sym_preproc_def_token1] = ACTIONS(2255), + [aux_sym_preproc_if_token1] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2255), + [sym_preproc_directive] = ACTIONS(2255), + [anon_sym_LPAREN2] = ACTIONS(2257), + [anon_sym_BANG] = ACTIONS(2257), + [anon_sym_TILDE] = ACTIONS(2257), + [anon_sym_DASH] = ACTIONS(2255), + [anon_sym_PLUS] = ACTIONS(2255), + [anon_sym_STAR] = ACTIONS(2257), + [anon_sym_AMP_AMP] = ACTIONS(2257), + [anon_sym_AMP] = ACTIONS(2255), + [anon_sym_SEMI] = ACTIONS(2257), + [anon_sym_typedef] = ACTIONS(2255), + [anon_sym_extern] = ACTIONS(2255), + [anon_sym___attribute__] = ACTIONS(2255), + [anon_sym_COLON_COLON] = ACTIONS(2257), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2257), + [anon_sym___declspec] = ACTIONS(2255), + [anon_sym___based] = ACTIONS(2255), + [anon_sym___cdecl] = ACTIONS(2255), + [anon_sym___clrcall] = ACTIONS(2255), + [anon_sym___stdcall] = ACTIONS(2255), + [anon_sym___fastcall] = ACTIONS(2255), + [anon_sym___thiscall] = ACTIONS(2255), + [anon_sym___vectorcall] = ACTIONS(2255), + [anon_sym_LBRACE] = ACTIONS(2257), + [anon_sym_LBRACK] = ACTIONS(2255), + [anon_sym_static] = ACTIONS(2255), + [anon_sym_register] = ACTIONS(2255), + [anon_sym_inline] = ACTIONS(2255), + [anon_sym_thread_local] = ACTIONS(2255), + [anon_sym_const] = ACTIONS(2255), + [anon_sym_volatile] = ACTIONS(2255), + [anon_sym_restrict] = ACTIONS(2255), + [anon_sym__Atomic] = ACTIONS(2255), + [anon_sym_mutable] = ACTIONS(2255), + [anon_sym_constexpr] = ACTIONS(2255), + [anon_sym_constinit] = ACTIONS(2255), + [anon_sym_consteval] = ACTIONS(2255), + [anon_sym_signed] = ACTIONS(2255), + [anon_sym_unsigned] = ACTIONS(2255), + [anon_sym_long] = ACTIONS(2255), + [anon_sym_short] = ACTIONS(2255), + [sym_primitive_type] = ACTIONS(2255), + [anon_sym_enum] = ACTIONS(2255), + [anon_sym_class] = ACTIONS(2255), + [anon_sym_struct] = ACTIONS(2255), + [anon_sym_union] = ACTIONS(2255), + [anon_sym_if] = ACTIONS(2255), + [anon_sym_switch] = ACTIONS(2255), + [anon_sym_case] = ACTIONS(2255), + [anon_sym_default] = ACTIONS(2255), + [anon_sym_while] = ACTIONS(2255), + [anon_sym_do] = ACTIONS(2255), + [anon_sym_for] = ACTIONS(2255), + [anon_sym_return] = ACTIONS(2255), + [anon_sym_break] = ACTIONS(2255), + [anon_sym_continue] = ACTIONS(2255), + [anon_sym_goto] = ACTIONS(2255), + [anon_sym_DASH_DASH] = ACTIONS(2257), + [anon_sym_PLUS_PLUS] = ACTIONS(2257), + [anon_sym_sizeof] = ACTIONS(2255), + [sym_number_literal] = ACTIONS(2257), + [anon_sym_L_SQUOTE] = ACTIONS(2257), + [anon_sym_u_SQUOTE] = ACTIONS(2257), + [anon_sym_U_SQUOTE] = ACTIONS(2257), + [anon_sym_u8_SQUOTE] = ACTIONS(2257), + [anon_sym_SQUOTE] = ACTIONS(2257), + [anon_sym_L_DQUOTE] = ACTIONS(2257), + [anon_sym_u_DQUOTE] = ACTIONS(2257), + [anon_sym_U_DQUOTE] = ACTIONS(2257), + [anon_sym_u8_DQUOTE] = ACTIONS(2257), + [anon_sym_DQUOTE] = ACTIONS(2257), + [sym_true] = ACTIONS(2255), + [sym_false] = ACTIONS(2255), + [sym_null] = ACTIONS(2255), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2255), + [anon_sym_decltype] = ACTIONS(2255), + [anon_sym_virtual] = ACTIONS(2255), + [anon_sym_explicit] = ACTIONS(2255), + [anon_sym_typename] = ACTIONS(2255), + [anon_sym_template] = ACTIONS(2255), + [anon_sym_operator] = ACTIONS(2255), + [anon_sym_delete] = ACTIONS(2255), + [anon_sym_throw] = ACTIONS(2255), + [anon_sym_namespace] = ACTIONS(2255), + [anon_sym_using] = ACTIONS(2255), + [anon_sym_static_assert] = ACTIONS(2255), + [anon_sym_concept] = ACTIONS(2255), + [anon_sym_co_return] = ACTIONS(2255), + [anon_sym_co_yield] = ACTIONS(2255), + [anon_sym_try] = ACTIONS(2255), + [anon_sym_co_await] = ACTIONS(2255), + [anon_sym_new] = ACTIONS(2255), + [anon_sym_requires] = ACTIONS(2255), + [sym_this] = ACTIONS(2255), + [sym_nullptr] = ACTIONS(2255), + [sym_raw_string_literal] = ACTIONS(2257), + }, + [760] = { + [sym_identifier] = ACTIONS(2259), + [aux_sym_preproc_include_token1] = ACTIONS(2259), + [aux_sym_preproc_def_token1] = ACTIONS(2259), + [aux_sym_preproc_if_token1] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2259), + [sym_preproc_directive] = ACTIONS(2259), + [anon_sym_LPAREN2] = ACTIONS(2261), + [anon_sym_BANG] = ACTIONS(2261), + [anon_sym_TILDE] = ACTIONS(2261), + [anon_sym_DASH] = ACTIONS(2259), + [anon_sym_PLUS] = ACTIONS(2259), + [anon_sym_STAR] = ACTIONS(2261), + [anon_sym_AMP_AMP] = ACTIONS(2261), + [anon_sym_AMP] = ACTIONS(2259), + [anon_sym_SEMI] = ACTIONS(2261), + [anon_sym_typedef] = ACTIONS(2259), + [anon_sym_extern] = ACTIONS(2259), + [anon_sym___attribute__] = ACTIONS(2259), + [anon_sym_COLON_COLON] = ACTIONS(2261), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2261), + [anon_sym___declspec] = ACTIONS(2259), + [anon_sym___based] = ACTIONS(2259), + [anon_sym___cdecl] = ACTIONS(2259), + [anon_sym___clrcall] = ACTIONS(2259), + [anon_sym___stdcall] = ACTIONS(2259), + [anon_sym___fastcall] = ACTIONS(2259), + [anon_sym___thiscall] = ACTIONS(2259), + [anon_sym___vectorcall] = ACTIONS(2259), + [anon_sym_LBRACE] = ACTIONS(2261), + [anon_sym_RBRACE] = ACTIONS(2261), + [anon_sym_LBRACK] = ACTIONS(2259), + [anon_sym_static] = ACTIONS(2259), + [anon_sym_register] = ACTIONS(2259), + [anon_sym_inline] = ACTIONS(2259), + [anon_sym_thread_local] = ACTIONS(2259), + [anon_sym_const] = ACTIONS(2259), + [anon_sym_volatile] = ACTIONS(2259), + [anon_sym_restrict] = ACTIONS(2259), + [anon_sym__Atomic] = ACTIONS(2259), + [anon_sym_mutable] = ACTIONS(2259), + [anon_sym_constexpr] = ACTIONS(2259), + [anon_sym_constinit] = ACTIONS(2259), + [anon_sym_consteval] = ACTIONS(2259), + [anon_sym_signed] = ACTIONS(2259), + [anon_sym_unsigned] = ACTIONS(2259), + [anon_sym_long] = ACTIONS(2259), + [anon_sym_short] = ACTIONS(2259), + [sym_primitive_type] = ACTIONS(2259), + [anon_sym_enum] = ACTIONS(2259), + [anon_sym_class] = ACTIONS(2259), + [anon_sym_struct] = ACTIONS(2259), + [anon_sym_union] = ACTIONS(2259), + [anon_sym_if] = ACTIONS(2259), + [anon_sym_switch] = ACTIONS(2259), + [anon_sym_case] = ACTIONS(2259), + [anon_sym_default] = ACTIONS(2259), + [anon_sym_while] = ACTIONS(2259), + [anon_sym_do] = ACTIONS(2259), + [anon_sym_for] = ACTIONS(2259), + [anon_sym_return] = ACTIONS(2259), + [anon_sym_break] = ACTIONS(2259), + [anon_sym_continue] = ACTIONS(2259), + [anon_sym_goto] = ACTIONS(2259), + [anon_sym_DASH_DASH] = ACTIONS(2261), + [anon_sym_PLUS_PLUS] = ACTIONS(2261), + [anon_sym_sizeof] = ACTIONS(2259), + [sym_number_literal] = ACTIONS(2261), + [anon_sym_L_SQUOTE] = ACTIONS(2261), + [anon_sym_u_SQUOTE] = ACTIONS(2261), + [anon_sym_U_SQUOTE] = ACTIONS(2261), + [anon_sym_u8_SQUOTE] = ACTIONS(2261), + [anon_sym_SQUOTE] = ACTIONS(2261), + [anon_sym_L_DQUOTE] = ACTIONS(2261), + [anon_sym_u_DQUOTE] = ACTIONS(2261), + [anon_sym_U_DQUOTE] = ACTIONS(2261), + [anon_sym_u8_DQUOTE] = ACTIONS(2261), + [anon_sym_DQUOTE] = ACTIONS(2261), + [sym_true] = ACTIONS(2259), + [sym_false] = ACTIONS(2259), + [sym_null] = ACTIONS(2259), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2259), + [anon_sym_decltype] = ACTIONS(2259), + [anon_sym_virtual] = ACTIONS(2259), + [anon_sym_explicit] = ACTIONS(2259), + [anon_sym_typename] = ACTIONS(2259), + [anon_sym_template] = ACTIONS(2259), + [anon_sym_operator] = ACTIONS(2259), + [anon_sym_delete] = ACTIONS(2259), + [anon_sym_throw] = ACTIONS(2259), + [anon_sym_namespace] = ACTIONS(2259), + [anon_sym_using] = ACTIONS(2259), + [anon_sym_static_assert] = ACTIONS(2259), + [anon_sym_concept] = ACTIONS(2259), + [anon_sym_co_return] = ACTIONS(2259), + [anon_sym_co_yield] = ACTIONS(2259), + [anon_sym_try] = ACTIONS(2259), + [anon_sym_co_await] = ACTIONS(2259), + [anon_sym_new] = ACTIONS(2259), + [anon_sym_requires] = ACTIONS(2259), + [sym_this] = ACTIONS(2259), + [sym_nullptr] = ACTIONS(2259), + [sym_raw_string_literal] = ACTIONS(2261), + }, + [761] = { + [sym_identifier] = ACTIONS(2383), + [aux_sym_preproc_include_token1] = ACTIONS(2383), + [aux_sym_preproc_def_token1] = ACTIONS(2383), + [aux_sym_preproc_if_token1] = ACTIONS(2383), + [aux_sym_preproc_if_token2] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2383), + [sym_preproc_directive] = ACTIONS(2383), + [anon_sym_LPAREN2] = ACTIONS(2385), + [anon_sym_BANG] = ACTIONS(2385), + [anon_sym_TILDE] = ACTIONS(2385), + [anon_sym_DASH] = ACTIONS(2383), + [anon_sym_PLUS] = ACTIONS(2383), + [anon_sym_STAR] = ACTIONS(2385), + [anon_sym_AMP_AMP] = ACTIONS(2385), + [anon_sym_AMP] = ACTIONS(2383), + [anon_sym_SEMI] = ACTIONS(2385), + [anon_sym_typedef] = ACTIONS(2383), + [anon_sym_extern] = ACTIONS(2383), + [anon_sym___attribute__] = ACTIONS(2383), + [anon_sym_COLON_COLON] = ACTIONS(2385), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2385), + [anon_sym___declspec] = ACTIONS(2383), + [anon_sym___based] = ACTIONS(2383), + [anon_sym___cdecl] = ACTIONS(2383), + [anon_sym___clrcall] = ACTIONS(2383), + [anon_sym___stdcall] = ACTIONS(2383), + [anon_sym___fastcall] = ACTIONS(2383), + [anon_sym___thiscall] = ACTIONS(2383), + [anon_sym___vectorcall] = ACTIONS(2383), + [anon_sym_LBRACE] = ACTIONS(2385), + [anon_sym_LBRACK] = ACTIONS(2383), + [anon_sym_static] = ACTIONS(2383), + [anon_sym_register] = ACTIONS(2383), + [anon_sym_inline] = ACTIONS(2383), + [anon_sym_thread_local] = ACTIONS(2383), + [anon_sym_const] = ACTIONS(2383), + [anon_sym_volatile] = ACTIONS(2383), + [anon_sym_restrict] = ACTIONS(2383), + [anon_sym__Atomic] = ACTIONS(2383), + [anon_sym_mutable] = ACTIONS(2383), + [anon_sym_constexpr] = ACTIONS(2383), + [anon_sym_constinit] = ACTIONS(2383), + [anon_sym_consteval] = ACTIONS(2383), + [anon_sym_signed] = ACTIONS(2383), + [anon_sym_unsigned] = ACTIONS(2383), + [anon_sym_long] = ACTIONS(2383), + [anon_sym_short] = ACTIONS(2383), + [sym_primitive_type] = ACTIONS(2383), + [anon_sym_enum] = ACTIONS(2383), + [anon_sym_class] = ACTIONS(2383), + [anon_sym_struct] = ACTIONS(2383), + [anon_sym_union] = ACTIONS(2383), + [anon_sym_if] = ACTIONS(2383), + [anon_sym_switch] = ACTIONS(2383), + [anon_sym_case] = ACTIONS(2383), + [anon_sym_default] = ACTIONS(2383), + [anon_sym_while] = ACTIONS(2383), + [anon_sym_do] = ACTIONS(2383), + [anon_sym_for] = ACTIONS(2383), + [anon_sym_return] = ACTIONS(2383), + [anon_sym_break] = ACTIONS(2383), + [anon_sym_continue] = ACTIONS(2383), + [anon_sym_goto] = ACTIONS(2383), + [anon_sym_DASH_DASH] = ACTIONS(2385), + [anon_sym_PLUS_PLUS] = ACTIONS(2385), + [anon_sym_sizeof] = ACTIONS(2383), + [sym_number_literal] = ACTIONS(2385), + [anon_sym_L_SQUOTE] = ACTIONS(2385), + [anon_sym_u_SQUOTE] = ACTIONS(2385), + [anon_sym_U_SQUOTE] = ACTIONS(2385), + [anon_sym_u8_SQUOTE] = ACTIONS(2385), + [anon_sym_SQUOTE] = ACTIONS(2385), + [anon_sym_L_DQUOTE] = ACTIONS(2385), + [anon_sym_u_DQUOTE] = ACTIONS(2385), + [anon_sym_U_DQUOTE] = ACTIONS(2385), + [anon_sym_u8_DQUOTE] = ACTIONS(2385), + [anon_sym_DQUOTE] = ACTIONS(2385), + [sym_true] = ACTIONS(2383), + [sym_false] = ACTIONS(2383), + [sym_null] = ACTIONS(2383), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2383), + [anon_sym_decltype] = ACTIONS(2383), + [anon_sym_virtual] = ACTIONS(2383), + [anon_sym_explicit] = ACTIONS(2383), + [anon_sym_typename] = ACTIONS(2383), + [anon_sym_template] = ACTIONS(2383), + [anon_sym_operator] = ACTIONS(2383), + [anon_sym_delete] = ACTIONS(2383), + [anon_sym_throw] = ACTIONS(2383), + [anon_sym_namespace] = ACTIONS(2383), + [anon_sym_using] = ACTIONS(2383), + [anon_sym_static_assert] = ACTIONS(2383), + [anon_sym_concept] = ACTIONS(2383), + [anon_sym_co_return] = ACTIONS(2383), + [anon_sym_co_yield] = ACTIONS(2383), + [anon_sym_try] = ACTIONS(2383), + [anon_sym_co_await] = ACTIONS(2383), + [anon_sym_new] = ACTIONS(2383), + [anon_sym_requires] = ACTIONS(2383), + [sym_this] = ACTIONS(2383), + [sym_nullptr] = ACTIONS(2383), + [sym_raw_string_literal] = ACTIONS(2385), + }, + [762] = { + [ts_builtin_sym_end] = ACTIONS(2341), + [sym_identifier] = ACTIONS(2339), + [aux_sym_preproc_include_token1] = ACTIONS(2339), + [aux_sym_preproc_def_token1] = ACTIONS(2339), + [aux_sym_preproc_if_token1] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2339), + [sym_preproc_directive] = ACTIONS(2339), + [anon_sym_LPAREN2] = ACTIONS(2341), + [anon_sym_BANG] = ACTIONS(2341), + [anon_sym_TILDE] = ACTIONS(2341), + [anon_sym_DASH] = ACTIONS(2339), + [anon_sym_PLUS] = ACTIONS(2339), + [anon_sym_STAR] = ACTIONS(2341), + [anon_sym_AMP_AMP] = ACTIONS(2341), + [anon_sym_AMP] = ACTIONS(2339), + [anon_sym_SEMI] = ACTIONS(2341), + [anon_sym_typedef] = ACTIONS(2339), + [anon_sym_extern] = ACTIONS(2339), + [anon_sym___attribute__] = ACTIONS(2339), + [anon_sym_COLON_COLON] = ACTIONS(2341), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2341), + [anon_sym___declspec] = ACTIONS(2339), + [anon_sym___based] = ACTIONS(2339), + [anon_sym___cdecl] = ACTIONS(2339), + [anon_sym___clrcall] = ACTIONS(2339), + [anon_sym___stdcall] = ACTIONS(2339), + [anon_sym___fastcall] = ACTIONS(2339), + [anon_sym___thiscall] = ACTIONS(2339), + [anon_sym___vectorcall] = ACTIONS(2339), + [anon_sym_LBRACE] = ACTIONS(2341), + [anon_sym_LBRACK] = ACTIONS(2339), + [anon_sym_static] = ACTIONS(2339), + [anon_sym_register] = ACTIONS(2339), + [anon_sym_inline] = ACTIONS(2339), + [anon_sym_thread_local] = ACTIONS(2339), + [anon_sym_const] = ACTIONS(2339), + [anon_sym_volatile] = ACTIONS(2339), + [anon_sym_restrict] = ACTIONS(2339), + [anon_sym__Atomic] = ACTIONS(2339), + [anon_sym_mutable] = ACTIONS(2339), + [anon_sym_constexpr] = ACTIONS(2339), + [anon_sym_constinit] = ACTIONS(2339), + [anon_sym_consteval] = ACTIONS(2339), + [anon_sym_signed] = ACTIONS(2339), + [anon_sym_unsigned] = ACTIONS(2339), + [anon_sym_long] = ACTIONS(2339), + [anon_sym_short] = ACTIONS(2339), + [sym_primitive_type] = ACTIONS(2339), + [anon_sym_enum] = ACTIONS(2339), + [anon_sym_class] = ACTIONS(2339), + [anon_sym_struct] = ACTIONS(2339), + [anon_sym_union] = ACTIONS(2339), + [anon_sym_if] = ACTIONS(2339), + [anon_sym_switch] = ACTIONS(2339), + [anon_sym_case] = ACTIONS(2339), + [anon_sym_default] = ACTIONS(2339), + [anon_sym_while] = ACTIONS(2339), + [anon_sym_do] = ACTIONS(2339), + [anon_sym_for] = ACTIONS(2339), + [anon_sym_return] = ACTIONS(2339), + [anon_sym_break] = ACTIONS(2339), + [anon_sym_continue] = ACTIONS(2339), + [anon_sym_goto] = ACTIONS(2339), + [anon_sym_DASH_DASH] = ACTIONS(2341), + [anon_sym_PLUS_PLUS] = ACTIONS(2341), + [anon_sym_sizeof] = ACTIONS(2339), + [sym_number_literal] = ACTIONS(2341), + [anon_sym_L_SQUOTE] = ACTIONS(2341), + [anon_sym_u_SQUOTE] = ACTIONS(2341), + [anon_sym_U_SQUOTE] = ACTIONS(2341), + [anon_sym_u8_SQUOTE] = ACTIONS(2341), + [anon_sym_SQUOTE] = ACTIONS(2341), + [anon_sym_L_DQUOTE] = ACTIONS(2341), + [anon_sym_u_DQUOTE] = ACTIONS(2341), + [anon_sym_U_DQUOTE] = ACTIONS(2341), + [anon_sym_u8_DQUOTE] = ACTIONS(2341), + [anon_sym_DQUOTE] = ACTIONS(2341), + [sym_true] = ACTIONS(2339), + [sym_false] = ACTIONS(2339), + [sym_null] = ACTIONS(2339), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2339), + [anon_sym_decltype] = ACTIONS(2339), + [anon_sym_virtual] = ACTIONS(2339), + [anon_sym_explicit] = ACTIONS(2339), + [anon_sym_typename] = ACTIONS(2339), + [anon_sym_template] = ACTIONS(2339), + [anon_sym_operator] = ACTIONS(2339), + [anon_sym_delete] = ACTIONS(2339), + [anon_sym_throw] = ACTIONS(2339), + [anon_sym_namespace] = ACTIONS(2339), + [anon_sym_using] = ACTIONS(2339), + [anon_sym_static_assert] = ACTIONS(2339), + [anon_sym_concept] = ACTIONS(2339), + [anon_sym_co_return] = ACTIONS(2339), + [anon_sym_co_yield] = ACTIONS(2339), + [anon_sym_try] = ACTIONS(2339), + [anon_sym_co_await] = ACTIONS(2339), + [anon_sym_new] = ACTIONS(2339), + [anon_sym_requires] = ACTIONS(2339), + [sym_this] = ACTIONS(2339), + [sym_nullptr] = ACTIONS(2339), + [sym_raw_string_literal] = ACTIONS(2341), + }, + [763] = { + [ts_builtin_sym_end] = ACTIONS(2269), + [sym_identifier] = ACTIONS(2267), + [aux_sym_preproc_include_token1] = ACTIONS(2267), + [aux_sym_preproc_def_token1] = ACTIONS(2267), + [aux_sym_preproc_if_token1] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2267), + [sym_preproc_directive] = ACTIONS(2267), + [anon_sym_LPAREN2] = ACTIONS(2269), + [anon_sym_BANG] = ACTIONS(2269), + [anon_sym_TILDE] = ACTIONS(2269), + [anon_sym_DASH] = ACTIONS(2267), + [anon_sym_PLUS] = ACTIONS(2267), + [anon_sym_STAR] = ACTIONS(2269), + [anon_sym_AMP_AMP] = ACTIONS(2269), + [anon_sym_AMP] = ACTIONS(2267), + [anon_sym_SEMI] = ACTIONS(2269), + [anon_sym_typedef] = ACTIONS(2267), + [anon_sym_extern] = ACTIONS(2267), + [anon_sym___attribute__] = ACTIONS(2267), + [anon_sym_COLON_COLON] = ACTIONS(2269), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2269), + [anon_sym___declspec] = ACTIONS(2267), + [anon_sym___based] = ACTIONS(2267), + [anon_sym___cdecl] = ACTIONS(2267), + [anon_sym___clrcall] = ACTIONS(2267), + [anon_sym___stdcall] = ACTIONS(2267), + [anon_sym___fastcall] = ACTIONS(2267), + [anon_sym___thiscall] = ACTIONS(2267), + [anon_sym___vectorcall] = ACTIONS(2267), + [anon_sym_LBRACE] = ACTIONS(2269), + [anon_sym_LBRACK] = ACTIONS(2267), + [anon_sym_static] = ACTIONS(2267), + [anon_sym_register] = ACTIONS(2267), + [anon_sym_inline] = ACTIONS(2267), + [anon_sym_thread_local] = ACTIONS(2267), + [anon_sym_const] = ACTIONS(2267), + [anon_sym_volatile] = ACTIONS(2267), + [anon_sym_restrict] = ACTIONS(2267), + [anon_sym__Atomic] = ACTIONS(2267), + [anon_sym_mutable] = ACTIONS(2267), + [anon_sym_constexpr] = ACTIONS(2267), + [anon_sym_constinit] = ACTIONS(2267), + [anon_sym_consteval] = ACTIONS(2267), + [anon_sym_signed] = ACTIONS(2267), + [anon_sym_unsigned] = ACTIONS(2267), + [anon_sym_long] = ACTIONS(2267), + [anon_sym_short] = ACTIONS(2267), + [sym_primitive_type] = ACTIONS(2267), + [anon_sym_enum] = ACTIONS(2267), + [anon_sym_class] = ACTIONS(2267), + [anon_sym_struct] = ACTIONS(2267), + [anon_sym_union] = ACTIONS(2267), + [anon_sym_if] = ACTIONS(2267), + [anon_sym_switch] = ACTIONS(2267), + [anon_sym_case] = ACTIONS(2267), + [anon_sym_default] = ACTIONS(2267), + [anon_sym_while] = ACTIONS(2267), + [anon_sym_do] = ACTIONS(2267), + [anon_sym_for] = ACTIONS(2267), + [anon_sym_return] = ACTIONS(2267), + [anon_sym_break] = ACTIONS(2267), + [anon_sym_continue] = ACTIONS(2267), + [anon_sym_goto] = ACTIONS(2267), + [anon_sym_DASH_DASH] = ACTIONS(2269), + [anon_sym_PLUS_PLUS] = ACTIONS(2269), + [anon_sym_sizeof] = ACTIONS(2267), + [sym_number_literal] = ACTIONS(2269), + [anon_sym_L_SQUOTE] = ACTIONS(2269), + [anon_sym_u_SQUOTE] = ACTIONS(2269), + [anon_sym_U_SQUOTE] = ACTIONS(2269), + [anon_sym_u8_SQUOTE] = ACTIONS(2269), + [anon_sym_SQUOTE] = ACTIONS(2269), + [anon_sym_L_DQUOTE] = ACTIONS(2269), + [anon_sym_u_DQUOTE] = ACTIONS(2269), + [anon_sym_U_DQUOTE] = ACTIONS(2269), + [anon_sym_u8_DQUOTE] = ACTIONS(2269), + [anon_sym_DQUOTE] = ACTIONS(2269), + [sym_true] = ACTIONS(2267), + [sym_false] = ACTIONS(2267), + [sym_null] = ACTIONS(2267), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2267), + [anon_sym_decltype] = ACTIONS(2267), + [anon_sym_virtual] = ACTIONS(2267), + [anon_sym_explicit] = ACTIONS(2267), + [anon_sym_typename] = ACTIONS(2267), + [anon_sym_template] = ACTIONS(2267), + [anon_sym_operator] = ACTIONS(2267), + [anon_sym_delete] = ACTIONS(2267), + [anon_sym_throw] = ACTIONS(2267), + [anon_sym_namespace] = ACTIONS(2267), + [anon_sym_using] = ACTIONS(2267), + [anon_sym_static_assert] = ACTIONS(2267), + [anon_sym_concept] = ACTIONS(2267), + [anon_sym_co_return] = ACTIONS(2267), + [anon_sym_co_yield] = ACTIONS(2267), + [anon_sym_try] = ACTIONS(2267), + [anon_sym_co_await] = ACTIONS(2267), + [anon_sym_new] = ACTIONS(2267), + [anon_sym_requires] = ACTIONS(2267), + [sym_this] = ACTIONS(2267), + [sym_nullptr] = ACTIONS(2267), + [sym_raw_string_literal] = ACTIONS(2269), + }, + [764] = { + [ts_builtin_sym_end] = ACTIONS(2393), + [sym_identifier] = ACTIONS(2391), + [aux_sym_preproc_include_token1] = ACTIONS(2391), + [aux_sym_preproc_def_token1] = ACTIONS(2391), + [aux_sym_preproc_if_token1] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2391), + [sym_preproc_directive] = ACTIONS(2391), + [anon_sym_LPAREN2] = ACTIONS(2393), + [anon_sym_BANG] = ACTIONS(2393), + [anon_sym_TILDE] = ACTIONS(2393), + [anon_sym_DASH] = ACTIONS(2391), + [anon_sym_PLUS] = ACTIONS(2391), + [anon_sym_STAR] = ACTIONS(2393), + [anon_sym_AMP_AMP] = ACTIONS(2393), + [anon_sym_AMP] = ACTIONS(2391), + [anon_sym_SEMI] = ACTIONS(2393), + [anon_sym_typedef] = ACTIONS(2391), + [anon_sym_extern] = ACTIONS(2391), + [anon_sym___attribute__] = ACTIONS(2391), + [anon_sym_COLON_COLON] = ACTIONS(2393), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2393), + [anon_sym___declspec] = ACTIONS(2391), + [anon_sym___based] = ACTIONS(2391), + [anon_sym___cdecl] = ACTIONS(2391), + [anon_sym___clrcall] = ACTIONS(2391), + [anon_sym___stdcall] = ACTIONS(2391), + [anon_sym___fastcall] = ACTIONS(2391), + [anon_sym___thiscall] = ACTIONS(2391), + [anon_sym___vectorcall] = ACTIONS(2391), + [anon_sym_LBRACE] = ACTIONS(2393), + [anon_sym_LBRACK] = ACTIONS(2391), + [anon_sym_static] = ACTIONS(2391), + [anon_sym_register] = ACTIONS(2391), + [anon_sym_inline] = ACTIONS(2391), + [anon_sym_thread_local] = ACTIONS(2391), + [anon_sym_const] = ACTIONS(2391), + [anon_sym_volatile] = ACTIONS(2391), + [anon_sym_restrict] = ACTIONS(2391), + [anon_sym__Atomic] = ACTIONS(2391), + [anon_sym_mutable] = ACTIONS(2391), + [anon_sym_constexpr] = ACTIONS(2391), + [anon_sym_constinit] = ACTIONS(2391), + [anon_sym_consteval] = ACTIONS(2391), + [anon_sym_signed] = ACTIONS(2391), + [anon_sym_unsigned] = ACTIONS(2391), + [anon_sym_long] = ACTIONS(2391), + [anon_sym_short] = ACTIONS(2391), + [sym_primitive_type] = ACTIONS(2391), + [anon_sym_enum] = ACTIONS(2391), + [anon_sym_class] = ACTIONS(2391), + [anon_sym_struct] = ACTIONS(2391), + [anon_sym_union] = ACTIONS(2391), + [anon_sym_if] = ACTIONS(2391), + [anon_sym_switch] = ACTIONS(2391), + [anon_sym_case] = ACTIONS(2391), + [anon_sym_default] = ACTIONS(2391), + [anon_sym_while] = ACTIONS(2391), + [anon_sym_do] = ACTIONS(2391), + [anon_sym_for] = ACTIONS(2391), + [anon_sym_return] = ACTIONS(2391), + [anon_sym_break] = ACTIONS(2391), + [anon_sym_continue] = ACTIONS(2391), + [anon_sym_goto] = ACTIONS(2391), + [anon_sym_DASH_DASH] = ACTIONS(2393), + [anon_sym_PLUS_PLUS] = ACTIONS(2393), + [anon_sym_sizeof] = ACTIONS(2391), + [sym_number_literal] = ACTIONS(2393), + [anon_sym_L_SQUOTE] = ACTIONS(2393), + [anon_sym_u_SQUOTE] = ACTIONS(2393), + [anon_sym_U_SQUOTE] = ACTIONS(2393), + [anon_sym_u8_SQUOTE] = ACTIONS(2393), + [anon_sym_SQUOTE] = ACTIONS(2393), + [anon_sym_L_DQUOTE] = ACTIONS(2393), + [anon_sym_u_DQUOTE] = ACTIONS(2393), + [anon_sym_U_DQUOTE] = ACTIONS(2393), + [anon_sym_u8_DQUOTE] = ACTIONS(2393), + [anon_sym_DQUOTE] = ACTIONS(2393), + [sym_true] = ACTIONS(2391), + [sym_false] = ACTIONS(2391), + [sym_null] = ACTIONS(2391), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2391), + [anon_sym_decltype] = ACTIONS(2391), + [anon_sym_virtual] = ACTIONS(2391), + [anon_sym_explicit] = ACTIONS(2391), + [anon_sym_typename] = ACTIONS(2391), + [anon_sym_template] = ACTIONS(2391), + [anon_sym_operator] = ACTIONS(2391), + [anon_sym_delete] = ACTIONS(2391), + [anon_sym_throw] = ACTIONS(2391), + [anon_sym_namespace] = ACTIONS(2391), + [anon_sym_using] = ACTIONS(2391), + [anon_sym_static_assert] = ACTIONS(2391), + [anon_sym_concept] = ACTIONS(2391), + [anon_sym_co_return] = ACTIONS(2391), + [anon_sym_co_yield] = ACTIONS(2391), + [anon_sym_try] = ACTIONS(2391), + [anon_sym_co_await] = ACTIONS(2391), + [anon_sym_new] = ACTIONS(2391), + [anon_sym_requires] = ACTIONS(2391), + [sym_this] = ACTIONS(2391), + [sym_nullptr] = ACTIONS(2391), + [sym_raw_string_literal] = ACTIONS(2393), + }, + [765] = { + [sym_identifier] = ACTIONS(2185), + [aux_sym_preproc_include_token1] = ACTIONS(2185), + [aux_sym_preproc_def_token1] = ACTIONS(2185), + [aux_sym_preproc_if_token1] = ACTIONS(2185), + [aux_sym_preproc_if_token2] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2185), + [sym_preproc_directive] = ACTIONS(2185), + [anon_sym_LPAREN2] = ACTIONS(2187), + [anon_sym_BANG] = ACTIONS(2187), + [anon_sym_TILDE] = ACTIONS(2187), + [anon_sym_DASH] = ACTIONS(2185), + [anon_sym_PLUS] = ACTIONS(2185), + [anon_sym_STAR] = ACTIONS(2187), + [anon_sym_AMP_AMP] = ACTIONS(2187), + [anon_sym_AMP] = ACTIONS(2185), + [anon_sym_SEMI] = ACTIONS(2187), + [anon_sym_typedef] = ACTIONS(2185), + [anon_sym_extern] = ACTIONS(2185), + [anon_sym___attribute__] = ACTIONS(2185), + [anon_sym_COLON_COLON] = ACTIONS(2187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2187), + [anon_sym___declspec] = ACTIONS(2185), + [anon_sym___based] = ACTIONS(2185), + [anon_sym___cdecl] = ACTIONS(2185), + [anon_sym___clrcall] = ACTIONS(2185), + [anon_sym___stdcall] = ACTIONS(2185), + [anon_sym___fastcall] = ACTIONS(2185), + [anon_sym___thiscall] = ACTIONS(2185), + [anon_sym___vectorcall] = ACTIONS(2185), + [anon_sym_LBRACE] = ACTIONS(2187), + [anon_sym_LBRACK] = ACTIONS(2185), + [anon_sym_static] = ACTIONS(2185), + [anon_sym_register] = ACTIONS(2185), + [anon_sym_inline] = ACTIONS(2185), + [anon_sym_thread_local] = ACTIONS(2185), + [anon_sym_const] = ACTIONS(2185), + [anon_sym_volatile] = ACTIONS(2185), + [anon_sym_restrict] = ACTIONS(2185), + [anon_sym__Atomic] = ACTIONS(2185), + [anon_sym_mutable] = ACTIONS(2185), + [anon_sym_constexpr] = ACTIONS(2185), + [anon_sym_constinit] = ACTIONS(2185), + [anon_sym_consteval] = ACTIONS(2185), + [anon_sym_signed] = ACTIONS(2185), + [anon_sym_unsigned] = ACTIONS(2185), + [anon_sym_long] = ACTIONS(2185), + [anon_sym_short] = ACTIONS(2185), + [sym_primitive_type] = ACTIONS(2185), + [anon_sym_enum] = ACTIONS(2185), + [anon_sym_class] = ACTIONS(2185), + [anon_sym_struct] = ACTIONS(2185), + [anon_sym_union] = ACTIONS(2185), + [anon_sym_if] = ACTIONS(2185), + [anon_sym_switch] = ACTIONS(2185), + [anon_sym_case] = ACTIONS(2185), + [anon_sym_default] = ACTIONS(2185), + [anon_sym_while] = ACTIONS(2185), + [anon_sym_do] = ACTIONS(2185), + [anon_sym_for] = ACTIONS(2185), + [anon_sym_return] = ACTIONS(2185), + [anon_sym_break] = ACTIONS(2185), + [anon_sym_continue] = ACTIONS(2185), + [anon_sym_goto] = ACTIONS(2185), + [anon_sym_DASH_DASH] = ACTIONS(2187), + [anon_sym_PLUS_PLUS] = ACTIONS(2187), + [anon_sym_sizeof] = ACTIONS(2185), + [sym_number_literal] = ACTIONS(2187), + [anon_sym_L_SQUOTE] = ACTIONS(2187), + [anon_sym_u_SQUOTE] = ACTIONS(2187), + [anon_sym_U_SQUOTE] = ACTIONS(2187), + [anon_sym_u8_SQUOTE] = ACTIONS(2187), + [anon_sym_SQUOTE] = ACTIONS(2187), + [anon_sym_L_DQUOTE] = ACTIONS(2187), + [anon_sym_u_DQUOTE] = ACTIONS(2187), + [anon_sym_U_DQUOTE] = ACTIONS(2187), + [anon_sym_u8_DQUOTE] = ACTIONS(2187), + [anon_sym_DQUOTE] = ACTIONS(2187), + [sym_true] = ACTIONS(2185), + [sym_false] = ACTIONS(2185), + [sym_null] = ACTIONS(2185), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2185), + [anon_sym_decltype] = ACTIONS(2185), + [anon_sym_virtual] = ACTIONS(2185), + [anon_sym_explicit] = ACTIONS(2185), + [anon_sym_typename] = ACTIONS(2185), + [anon_sym_template] = ACTIONS(2185), + [anon_sym_operator] = ACTIONS(2185), + [anon_sym_delete] = ACTIONS(2185), + [anon_sym_throw] = ACTIONS(2185), + [anon_sym_namespace] = ACTIONS(2185), + [anon_sym_using] = ACTIONS(2185), + [anon_sym_static_assert] = ACTIONS(2185), + [anon_sym_concept] = ACTIONS(2185), + [anon_sym_co_return] = ACTIONS(2185), + [anon_sym_co_yield] = ACTIONS(2185), + [anon_sym_try] = ACTIONS(2185), + [anon_sym_co_await] = ACTIONS(2185), + [anon_sym_new] = ACTIONS(2185), + [anon_sym_requires] = ACTIONS(2185), + [sym_this] = ACTIONS(2185), + [sym_nullptr] = ACTIONS(2185), + [sym_raw_string_literal] = ACTIONS(2187), + }, + [766] = { + [sym_identifier] = ACTIONS(2355), + [aux_sym_preproc_include_token1] = ACTIONS(2355), + [aux_sym_preproc_def_token1] = ACTIONS(2355), + [aux_sym_preproc_if_token1] = ACTIONS(2355), + [aux_sym_preproc_if_token2] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2355), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2355), + [sym_preproc_directive] = ACTIONS(2355), + [anon_sym_LPAREN2] = ACTIONS(2357), + [anon_sym_BANG] = ACTIONS(2357), + [anon_sym_TILDE] = ACTIONS(2357), + [anon_sym_DASH] = ACTIONS(2355), + [anon_sym_PLUS] = ACTIONS(2355), + [anon_sym_STAR] = ACTIONS(2357), + [anon_sym_AMP_AMP] = ACTIONS(2357), + [anon_sym_AMP] = ACTIONS(2355), + [anon_sym_SEMI] = ACTIONS(2357), + [anon_sym_typedef] = ACTIONS(2355), + [anon_sym_extern] = ACTIONS(2355), + [anon_sym___attribute__] = ACTIONS(2355), + [anon_sym_COLON_COLON] = ACTIONS(2357), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2357), + [anon_sym___declspec] = ACTIONS(2355), + [anon_sym___based] = ACTIONS(2355), + [anon_sym___cdecl] = ACTIONS(2355), + [anon_sym___clrcall] = ACTIONS(2355), + [anon_sym___stdcall] = ACTIONS(2355), + [anon_sym___fastcall] = ACTIONS(2355), + [anon_sym___thiscall] = ACTIONS(2355), + [anon_sym___vectorcall] = ACTIONS(2355), + [anon_sym_LBRACE] = ACTIONS(2357), + [anon_sym_LBRACK] = ACTIONS(2355), + [anon_sym_static] = ACTIONS(2355), + [anon_sym_register] = ACTIONS(2355), + [anon_sym_inline] = ACTIONS(2355), + [anon_sym_thread_local] = ACTIONS(2355), + [anon_sym_const] = ACTIONS(2355), + [anon_sym_volatile] = ACTIONS(2355), + [anon_sym_restrict] = ACTIONS(2355), + [anon_sym__Atomic] = ACTIONS(2355), + [anon_sym_mutable] = ACTIONS(2355), + [anon_sym_constexpr] = ACTIONS(2355), + [anon_sym_constinit] = ACTIONS(2355), + [anon_sym_consteval] = ACTIONS(2355), + [anon_sym_signed] = ACTIONS(2355), + [anon_sym_unsigned] = ACTIONS(2355), + [anon_sym_long] = ACTIONS(2355), + [anon_sym_short] = ACTIONS(2355), + [sym_primitive_type] = ACTIONS(2355), + [anon_sym_enum] = ACTIONS(2355), + [anon_sym_class] = ACTIONS(2355), + [anon_sym_struct] = ACTIONS(2355), + [anon_sym_union] = ACTIONS(2355), + [anon_sym_if] = ACTIONS(2355), + [anon_sym_switch] = ACTIONS(2355), + [anon_sym_case] = ACTIONS(2355), + [anon_sym_default] = ACTIONS(2355), + [anon_sym_while] = ACTIONS(2355), + [anon_sym_do] = ACTIONS(2355), + [anon_sym_for] = ACTIONS(2355), + [anon_sym_return] = ACTIONS(2355), + [anon_sym_break] = ACTIONS(2355), + [anon_sym_continue] = ACTIONS(2355), + [anon_sym_goto] = ACTIONS(2355), + [anon_sym_DASH_DASH] = ACTIONS(2357), + [anon_sym_PLUS_PLUS] = ACTIONS(2357), + [anon_sym_sizeof] = ACTIONS(2355), + [sym_number_literal] = ACTIONS(2357), + [anon_sym_L_SQUOTE] = ACTIONS(2357), + [anon_sym_u_SQUOTE] = ACTIONS(2357), + [anon_sym_U_SQUOTE] = ACTIONS(2357), + [anon_sym_u8_SQUOTE] = ACTIONS(2357), + [anon_sym_SQUOTE] = ACTIONS(2357), + [anon_sym_L_DQUOTE] = ACTIONS(2357), + [anon_sym_u_DQUOTE] = ACTIONS(2357), + [anon_sym_U_DQUOTE] = ACTIONS(2357), + [anon_sym_u8_DQUOTE] = ACTIONS(2357), + [anon_sym_DQUOTE] = ACTIONS(2357), + [sym_true] = ACTIONS(2355), + [sym_false] = ACTIONS(2355), + [sym_null] = ACTIONS(2355), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2355), + [anon_sym_decltype] = ACTIONS(2355), + [anon_sym_virtual] = ACTIONS(2355), + [anon_sym_explicit] = ACTIONS(2355), + [anon_sym_typename] = ACTIONS(2355), + [anon_sym_template] = ACTIONS(2355), + [anon_sym_operator] = ACTIONS(2355), + [anon_sym_delete] = ACTIONS(2355), + [anon_sym_throw] = ACTIONS(2355), + [anon_sym_namespace] = ACTIONS(2355), + [anon_sym_using] = ACTIONS(2355), + [anon_sym_static_assert] = ACTIONS(2355), + [anon_sym_concept] = ACTIONS(2355), + [anon_sym_co_return] = ACTIONS(2355), + [anon_sym_co_yield] = ACTIONS(2355), + [anon_sym_try] = ACTIONS(2355), + [anon_sym_co_await] = ACTIONS(2355), + [anon_sym_new] = ACTIONS(2355), + [anon_sym_requires] = ACTIONS(2355), + [sym_this] = ACTIONS(2355), + [sym_nullptr] = ACTIONS(2355), + [sym_raw_string_literal] = ACTIONS(2357), + }, + [767] = { + [sym_identifier] = ACTIONS(2267), + [aux_sym_preproc_include_token1] = ACTIONS(2267), + [aux_sym_preproc_def_token1] = ACTIONS(2267), + [aux_sym_preproc_if_token1] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2267), + [sym_preproc_directive] = ACTIONS(2267), + [anon_sym_LPAREN2] = ACTIONS(2269), + [anon_sym_BANG] = ACTIONS(2269), + [anon_sym_TILDE] = ACTIONS(2269), + [anon_sym_DASH] = ACTIONS(2267), + [anon_sym_PLUS] = ACTIONS(2267), + [anon_sym_STAR] = ACTIONS(2269), + [anon_sym_AMP_AMP] = ACTIONS(2269), + [anon_sym_AMP] = ACTIONS(2267), + [anon_sym_SEMI] = ACTIONS(2269), + [anon_sym_typedef] = ACTIONS(2267), + [anon_sym_extern] = ACTIONS(2267), + [anon_sym___attribute__] = ACTIONS(2267), + [anon_sym_COLON_COLON] = ACTIONS(2269), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2269), + [anon_sym___declspec] = ACTIONS(2267), + [anon_sym___based] = ACTIONS(2267), + [anon_sym___cdecl] = ACTIONS(2267), + [anon_sym___clrcall] = ACTIONS(2267), + [anon_sym___stdcall] = ACTIONS(2267), + [anon_sym___fastcall] = ACTIONS(2267), + [anon_sym___thiscall] = ACTIONS(2267), + [anon_sym___vectorcall] = ACTIONS(2267), + [anon_sym_LBRACE] = ACTIONS(2269), + [anon_sym_RBRACE] = ACTIONS(2269), + [anon_sym_LBRACK] = ACTIONS(2267), + [anon_sym_static] = ACTIONS(2267), + [anon_sym_register] = ACTIONS(2267), + [anon_sym_inline] = ACTIONS(2267), + [anon_sym_thread_local] = ACTIONS(2267), + [anon_sym_const] = ACTIONS(2267), + [anon_sym_volatile] = ACTIONS(2267), + [anon_sym_restrict] = ACTIONS(2267), + [anon_sym__Atomic] = ACTIONS(2267), + [anon_sym_mutable] = ACTIONS(2267), + [anon_sym_constexpr] = ACTIONS(2267), + [anon_sym_constinit] = ACTIONS(2267), + [anon_sym_consteval] = ACTIONS(2267), + [anon_sym_signed] = ACTIONS(2267), + [anon_sym_unsigned] = ACTIONS(2267), + [anon_sym_long] = ACTIONS(2267), + [anon_sym_short] = ACTIONS(2267), + [sym_primitive_type] = ACTIONS(2267), + [anon_sym_enum] = ACTIONS(2267), + [anon_sym_class] = ACTIONS(2267), + [anon_sym_struct] = ACTIONS(2267), + [anon_sym_union] = ACTIONS(2267), + [anon_sym_if] = ACTIONS(2267), + [anon_sym_switch] = ACTIONS(2267), + [anon_sym_case] = ACTIONS(2267), + [anon_sym_default] = ACTIONS(2267), + [anon_sym_while] = ACTIONS(2267), + [anon_sym_do] = ACTIONS(2267), + [anon_sym_for] = ACTIONS(2267), + [anon_sym_return] = ACTIONS(2267), + [anon_sym_break] = ACTIONS(2267), + [anon_sym_continue] = ACTIONS(2267), + [anon_sym_goto] = ACTIONS(2267), + [anon_sym_DASH_DASH] = ACTIONS(2269), + [anon_sym_PLUS_PLUS] = ACTIONS(2269), + [anon_sym_sizeof] = ACTIONS(2267), + [sym_number_literal] = ACTIONS(2269), + [anon_sym_L_SQUOTE] = ACTIONS(2269), + [anon_sym_u_SQUOTE] = ACTIONS(2269), + [anon_sym_U_SQUOTE] = ACTIONS(2269), + [anon_sym_u8_SQUOTE] = ACTIONS(2269), + [anon_sym_SQUOTE] = ACTIONS(2269), + [anon_sym_L_DQUOTE] = ACTIONS(2269), + [anon_sym_u_DQUOTE] = ACTIONS(2269), + [anon_sym_U_DQUOTE] = ACTIONS(2269), + [anon_sym_u8_DQUOTE] = ACTIONS(2269), + [anon_sym_DQUOTE] = ACTIONS(2269), + [sym_true] = ACTIONS(2267), + [sym_false] = ACTIONS(2267), + [sym_null] = ACTIONS(2267), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2267), + [anon_sym_decltype] = ACTIONS(2267), + [anon_sym_virtual] = ACTIONS(2267), + [anon_sym_explicit] = ACTIONS(2267), + [anon_sym_typename] = ACTIONS(2267), + [anon_sym_template] = ACTIONS(2267), + [anon_sym_operator] = ACTIONS(2267), + [anon_sym_delete] = ACTIONS(2267), + [anon_sym_throw] = ACTIONS(2267), + [anon_sym_namespace] = ACTIONS(2267), + [anon_sym_using] = ACTIONS(2267), + [anon_sym_static_assert] = ACTIONS(2267), + [anon_sym_concept] = ACTIONS(2267), + [anon_sym_co_return] = ACTIONS(2267), + [anon_sym_co_yield] = ACTIONS(2267), + [anon_sym_try] = ACTIONS(2267), + [anon_sym_co_await] = ACTIONS(2267), + [anon_sym_new] = ACTIONS(2267), + [anon_sym_requires] = ACTIONS(2267), + [sym_this] = ACTIONS(2267), + [sym_nullptr] = ACTIONS(2267), + [sym_raw_string_literal] = ACTIONS(2269), + }, + [768] = { + [sym_identifier] = ACTIONS(2365), + [aux_sym_preproc_include_token1] = ACTIONS(2365), + [aux_sym_preproc_def_token1] = ACTIONS(2365), + [aux_sym_preproc_if_token1] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2365), + [sym_preproc_directive] = ACTIONS(2365), + [anon_sym_LPAREN2] = ACTIONS(2367), + [anon_sym_BANG] = ACTIONS(2367), + [anon_sym_TILDE] = ACTIONS(2367), + [anon_sym_DASH] = ACTIONS(2365), + [anon_sym_PLUS] = ACTIONS(2365), + [anon_sym_STAR] = ACTIONS(2367), + [anon_sym_AMP_AMP] = ACTIONS(2367), + [anon_sym_AMP] = ACTIONS(2365), + [anon_sym_SEMI] = ACTIONS(2367), + [anon_sym_typedef] = ACTIONS(2365), + [anon_sym_extern] = ACTIONS(2365), + [anon_sym___attribute__] = ACTIONS(2365), + [anon_sym_COLON_COLON] = ACTIONS(2367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2367), + [anon_sym___declspec] = ACTIONS(2365), + [anon_sym___based] = ACTIONS(2365), + [anon_sym___cdecl] = ACTIONS(2365), + [anon_sym___clrcall] = ACTIONS(2365), + [anon_sym___stdcall] = ACTIONS(2365), + [anon_sym___fastcall] = ACTIONS(2365), + [anon_sym___thiscall] = ACTIONS(2365), + [anon_sym___vectorcall] = ACTIONS(2365), + [anon_sym_LBRACE] = ACTIONS(2367), + [anon_sym_RBRACE] = ACTIONS(2367), + [anon_sym_LBRACK] = ACTIONS(2365), + [anon_sym_static] = ACTIONS(2365), + [anon_sym_register] = ACTIONS(2365), + [anon_sym_inline] = ACTIONS(2365), + [anon_sym_thread_local] = ACTIONS(2365), + [anon_sym_const] = ACTIONS(2365), + [anon_sym_volatile] = ACTIONS(2365), + [anon_sym_restrict] = ACTIONS(2365), + [anon_sym__Atomic] = ACTIONS(2365), + [anon_sym_mutable] = ACTIONS(2365), + [anon_sym_constexpr] = ACTIONS(2365), + [anon_sym_constinit] = ACTIONS(2365), + [anon_sym_consteval] = ACTIONS(2365), + [anon_sym_signed] = ACTIONS(2365), + [anon_sym_unsigned] = ACTIONS(2365), + [anon_sym_long] = ACTIONS(2365), + [anon_sym_short] = ACTIONS(2365), + [sym_primitive_type] = ACTIONS(2365), + [anon_sym_enum] = ACTIONS(2365), + [anon_sym_class] = ACTIONS(2365), + [anon_sym_struct] = ACTIONS(2365), + [anon_sym_union] = ACTIONS(2365), + [anon_sym_if] = ACTIONS(2365), + [anon_sym_switch] = ACTIONS(2365), + [anon_sym_case] = ACTIONS(2365), + [anon_sym_default] = ACTIONS(2365), + [anon_sym_while] = ACTIONS(2365), + [anon_sym_do] = ACTIONS(2365), + [anon_sym_for] = ACTIONS(2365), + [anon_sym_return] = ACTIONS(2365), + [anon_sym_break] = ACTIONS(2365), + [anon_sym_continue] = ACTIONS(2365), + [anon_sym_goto] = ACTIONS(2365), + [anon_sym_DASH_DASH] = ACTIONS(2367), + [anon_sym_PLUS_PLUS] = ACTIONS(2367), + [anon_sym_sizeof] = ACTIONS(2365), + [sym_number_literal] = ACTIONS(2367), + [anon_sym_L_SQUOTE] = ACTIONS(2367), + [anon_sym_u_SQUOTE] = ACTIONS(2367), + [anon_sym_U_SQUOTE] = ACTIONS(2367), + [anon_sym_u8_SQUOTE] = ACTIONS(2367), + [anon_sym_SQUOTE] = ACTIONS(2367), + [anon_sym_L_DQUOTE] = ACTIONS(2367), + [anon_sym_u_DQUOTE] = ACTIONS(2367), + [anon_sym_U_DQUOTE] = ACTIONS(2367), + [anon_sym_u8_DQUOTE] = ACTIONS(2367), + [anon_sym_DQUOTE] = ACTIONS(2367), + [sym_true] = ACTIONS(2365), + [sym_false] = ACTIONS(2365), + [sym_null] = ACTIONS(2365), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2365), + [anon_sym_decltype] = ACTIONS(2365), + [anon_sym_virtual] = ACTIONS(2365), + [anon_sym_explicit] = ACTIONS(2365), + [anon_sym_typename] = ACTIONS(2365), + [anon_sym_template] = ACTIONS(2365), + [anon_sym_operator] = ACTIONS(2365), + [anon_sym_delete] = ACTIONS(2365), + [anon_sym_throw] = ACTIONS(2365), + [anon_sym_namespace] = ACTIONS(2365), + [anon_sym_using] = ACTIONS(2365), + [anon_sym_static_assert] = ACTIONS(2365), + [anon_sym_concept] = ACTIONS(2365), + [anon_sym_co_return] = ACTIONS(2365), + [anon_sym_co_yield] = ACTIONS(2365), + [anon_sym_try] = ACTIONS(2365), + [anon_sym_co_await] = ACTIONS(2365), + [anon_sym_new] = ACTIONS(2365), + [anon_sym_requires] = ACTIONS(2365), + [sym_this] = ACTIONS(2365), + [sym_nullptr] = ACTIONS(2365), + [sym_raw_string_literal] = ACTIONS(2367), + }, + [769] = { + [sym_identifier] = ACTIONS(2315), + [aux_sym_preproc_include_token1] = ACTIONS(2315), + [aux_sym_preproc_def_token1] = ACTIONS(2315), + [aux_sym_preproc_if_token1] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2315), + [sym_preproc_directive] = ACTIONS(2315), + [anon_sym_LPAREN2] = ACTIONS(2317), + [anon_sym_BANG] = ACTIONS(2317), + [anon_sym_TILDE] = ACTIONS(2317), + [anon_sym_DASH] = ACTIONS(2315), + [anon_sym_PLUS] = ACTIONS(2315), + [anon_sym_STAR] = ACTIONS(2317), + [anon_sym_AMP_AMP] = ACTIONS(2317), + [anon_sym_AMP] = ACTIONS(2315), + [anon_sym_SEMI] = ACTIONS(2317), + [anon_sym_typedef] = ACTIONS(2315), + [anon_sym_extern] = ACTIONS(2315), + [anon_sym___attribute__] = ACTIONS(2315), + [anon_sym_COLON_COLON] = ACTIONS(2317), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2317), + [anon_sym___declspec] = ACTIONS(2315), + [anon_sym___based] = ACTIONS(2315), + [anon_sym___cdecl] = ACTIONS(2315), + [anon_sym___clrcall] = ACTIONS(2315), + [anon_sym___stdcall] = ACTIONS(2315), + [anon_sym___fastcall] = ACTIONS(2315), + [anon_sym___thiscall] = ACTIONS(2315), + [anon_sym___vectorcall] = ACTIONS(2315), + [anon_sym_LBRACE] = ACTIONS(2317), + [anon_sym_RBRACE] = ACTIONS(2317), + [anon_sym_LBRACK] = ACTIONS(2315), + [anon_sym_static] = ACTIONS(2315), + [anon_sym_register] = ACTIONS(2315), + [anon_sym_inline] = ACTIONS(2315), + [anon_sym_thread_local] = ACTIONS(2315), + [anon_sym_const] = ACTIONS(2315), + [anon_sym_volatile] = ACTIONS(2315), + [anon_sym_restrict] = ACTIONS(2315), + [anon_sym__Atomic] = ACTIONS(2315), + [anon_sym_mutable] = ACTIONS(2315), + [anon_sym_constexpr] = ACTIONS(2315), + [anon_sym_constinit] = ACTIONS(2315), + [anon_sym_consteval] = ACTIONS(2315), + [anon_sym_signed] = ACTIONS(2315), + [anon_sym_unsigned] = ACTIONS(2315), + [anon_sym_long] = ACTIONS(2315), + [anon_sym_short] = ACTIONS(2315), + [sym_primitive_type] = ACTIONS(2315), + [anon_sym_enum] = ACTIONS(2315), + [anon_sym_class] = ACTIONS(2315), + [anon_sym_struct] = ACTIONS(2315), + [anon_sym_union] = ACTIONS(2315), + [anon_sym_if] = ACTIONS(2315), + [anon_sym_switch] = ACTIONS(2315), + [anon_sym_case] = ACTIONS(2315), + [anon_sym_default] = ACTIONS(2315), + [anon_sym_while] = ACTIONS(2315), + [anon_sym_do] = ACTIONS(2315), + [anon_sym_for] = ACTIONS(2315), + [anon_sym_return] = ACTIONS(2315), + [anon_sym_break] = ACTIONS(2315), + [anon_sym_continue] = ACTIONS(2315), + [anon_sym_goto] = ACTIONS(2315), + [anon_sym_DASH_DASH] = ACTIONS(2317), + [anon_sym_PLUS_PLUS] = ACTIONS(2317), + [anon_sym_sizeof] = ACTIONS(2315), + [sym_number_literal] = ACTIONS(2317), + [anon_sym_L_SQUOTE] = ACTIONS(2317), + [anon_sym_u_SQUOTE] = ACTIONS(2317), + [anon_sym_U_SQUOTE] = ACTIONS(2317), + [anon_sym_u8_SQUOTE] = ACTIONS(2317), + [anon_sym_SQUOTE] = ACTIONS(2317), + [anon_sym_L_DQUOTE] = ACTIONS(2317), + [anon_sym_u_DQUOTE] = ACTIONS(2317), + [anon_sym_U_DQUOTE] = ACTIONS(2317), + [anon_sym_u8_DQUOTE] = ACTIONS(2317), + [anon_sym_DQUOTE] = ACTIONS(2317), + [sym_true] = ACTIONS(2315), + [sym_false] = ACTIONS(2315), + [sym_null] = ACTIONS(2315), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2315), + [anon_sym_decltype] = ACTIONS(2315), + [anon_sym_virtual] = ACTIONS(2315), + [anon_sym_explicit] = ACTIONS(2315), + [anon_sym_typename] = ACTIONS(2315), + [anon_sym_template] = ACTIONS(2315), + [anon_sym_operator] = ACTIONS(2315), + [anon_sym_delete] = ACTIONS(2315), + [anon_sym_throw] = ACTIONS(2315), + [anon_sym_namespace] = ACTIONS(2315), + [anon_sym_using] = ACTIONS(2315), + [anon_sym_static_assert] = ACTIONS(2315), + [anon_sym_concept] = ACTIONS(2315), + [anon_sym_co_return] = ACTIONS(2315), + [anon_sym_co_yield] = ACTIONS(2315), + [anon_sym_try] = ACTIONS(2315), + [anon_sym_co_await] = ACTIONS(2315), + [anon_sym_new] = ACTIONS(2315), + [anon_sym_requires] = ACTIONS(2315), + [sym_this] = ACTIONS(2315), + [sym_nullptr] = ACTIONS(2315), + [sym_raw_string_literal] = ACTIONS(2317), + }, + [770] = { + [sym_identifier] = ACTIONS(2419), + [aux_sym_preproc_include_token1] = ACTIONS(2419), + [aux_sym_preproc_def_token1] = ACTIONS(2419), + [aux_sym_preproc_if_token1] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2419), + [sym_preproc_directive] = ACTIONS(2419), + [anon_sym_LPAREN2] = ACTIONS(2421), + [anon_sym_BANG] = ACTIONS(2421), + [anon_sym_TILDE] = ACTIONS(2421), + [anon_sym_DASH] = ACTIONS(2419), + [anon_sym_PLUS] = ACTIONS(2419), + [anon_sym_STAR] = ACTIONS(2421), + [anon_sym_AMP_AMP] = ACTIONS(2421), + [anon_sym_AMP] = ACTIONS(2419), + [anon_sym_SEMI] = ACTIONS(2421), + [anon_sym_typedef] = ACTIONS(2419), + [anon_sym_extern] = ACTIONS(2419), + [anon_sym___attribute__] = ACTIONS(2419), + [anon_sym_COLON_COLON] = ACTIONS(2421), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2421), + [anon_sym___declspec] = ACTIONS(2419), + [anon_sym___based] = ACTIONS(2419), + [anon_sym___cdecl] = ACTIONS(2419), + [anon_sym___clrcall] = ACTIONS(2419), + [anon_sym___stdcall] = ACTIONS(2419), + [anon_sym___fastcall] = ACTIONS(2419), + [anon_sym___thiscall] = ACTIONS(2419), + [anon_sym___vectorcall] = ACTIONS(2419), + [anon_sym_LBRACE] = ACTIONS(2421), + [anon_sym_RBRACE] = ACTIONS(2421), + [anon_sym_LBRACK] = ACTIONS(2419), + [anon_sym_static] = ACTIONS(2419), + [anon_sym_register] = ACTIONS(2419), + [anon_sym_inline] = ACTIONS(2419), + [anon_sym_thread_local] = ACTIONS(2419), + [anon_sym_const] = ACTIONS(2419), + [anon_sym_volatile] = ACTIONS(2419), + [anon_sym_restrict] = ACTIONS(2419), + [anon_sym__Atomic] = ACTIONS(2419), + [anon_sym_mutable] = ACTIONS(2419), + [anon_sym_constexpr] = ACTIONS(2419), + [anon_sym_constinit] = ACTIONS(2419), + [anon_sym_consteval] = ACTIONS(2419), + [anon_sym_signed] = ACTIONS(2419), + [anon_sym_unsigned] = ACTIONS(2419), + [anon_sym_long] = ACTIONS(2419), + [anon_sym_short] = ACTIONS(2419), + [sym_primitive_type] = ACTIONS(2419), + [anon_sym_enum] = ACTIONS(2419), + [anon_sym_class] = ACTIONS(2419), + [anon_sym_struct] = ACTIONS(2419), + [anon_sym_union] = ACTIONS(2419), + [anon_sym_if] = ACTIONS(2419), + [anon_sym_switch] = ACTIONS(2419), + [anon_sym_case] = ACTIONS(2419), + [anon_sym_default] = ACTIONS(2419), + [anon_sym_while] = ACTIONS(2419), + [anon_sym_do] = ACTIONS(2419), + [anon_sym_for] = ACTIONS(2419), + [anon_sym_return] = ACTIONS(2419), + [anon_sym_break] = ACTIONS(2419), + [anon_sym_continue] = ACTIONS(2419), + [anon_sym_goto] = ACTIONS(2419), + [anon_sym_DASH_DASH] = ACTIONS(2421), + [anon_sym_PLUS_PLUS] = ACTIONS(2421), + [anon_sym_sizeof] = ACTIONS(2419), + [sym_number_literal] = ACTIONS(2421), + [anon_sym_L_SQUOTE] = ACTIONS(2421), + [anon_sym_u_SQUOTE] = ACTIONS(2421), + [anon_sym_U_SQUOTE] = ACTIONS(2421), + [anon_sym_u8_SQUOTE] = ACTIONS(2421), + [anon_sym_SQUOTE] = ACTIONS(2421), + [anon_sym_L_DQUOTE] = ACTIONS(2421), + [anon_sym_u_DQUOTE] = ACTIONS(2421), + [anon_sym_U_DQUOTE] = ACTIONS(2421), + [anon_sym_u8_DQUOTE] = ACTIONS(2421), + [anon_sym_DQUOTE] = ACTIONS(2421), + [sym_true] = ACTIONS(2419), + [sym_false] = ACTIONS(2419), + [sym_null] = ACTIONS(2419), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2419), + [anon_sym_decltype] = ACTIONS(2419), + [anon_sym_virtual] = ACTIONS(2419), + [anon_sym_explicit] = ACTIONS(2419), + [anon_sym_typename] = ACTIONS(2419), + [anon_sym_template] = ACTIONS(2419), + [anon_sym_operator] = ACTIONS(2419), + [anon_sym_delete] = ACTIONS(2419), + [anon_sym_throw] = ACTIONS(2419), + [anon_sym_namespace] = ACTIONS(2419), + [anon_sym_using] = ACTIONS(2419), + [anon_sym_static_assert] = ACTIONS(2419), + [anon_sym_concept] = ACTIONS(2419), + [anon_sym_co_return] = ACTIONS(2419), + [anon_sym_co_yield] = ACTIONS(2419), + [anon_sym_try] = ACTIONS(2419), + [anon_sym_co_await] = ACTIONS(2419), + [anon_sym_new] = ACTIONS(2419), + [anon_sym_requires] = ACTIONS(2419), + [sym_this] = ACTIONS(2419), + [sym_nullptr] = ACTIONS(2419), + [sym_raw_string_literal] = ACTIONS(2421), + }, + [771] = { + [sym_identifier] = ACTIONS(2255), + [aux_sym_preproc_include_token1] = ACTIONS(2255), + [aux_sym_preproc_def_token1] = ACTIONS(2255), + [aux_sym_preproc_if_token1] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2255), + [sym_preproc_directive] = ACTIONS(2255), + [anon_sym_LPAREN2] = ACTIONS(2257), + [anon_sym_BANG] = ACTIONS(2257), + [anon_sym_TILDE] = ACTIONS(2257), + [anon_sym_DASH] = ACTIONS(2255), + [anon_sym_PLUS] = ACTIONS(2255), + [anon_sym_STAR] = ACTIONS(2257), + [anon_sym_AMP_AMP] = ACTIONS(2257), + [anon_sym_AMP] = ACTIONS(2255), + [anon_sym_SEMI] = ACTIONS(2257), + [anon_sym_typedef] = ACTIONS(2255), + [anon_sym_extern] = ACTIONS(2255), + [anon_sym___attribute__] = ACTIONS(2255), + [anon_sym_COLON_COLON] = ACTIONS(2257), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2257), + [anon_sym___declspec] = ACTIONS(2255), + [anon_sym___based] = ACTIONS(2255), + [anon_sym___cdecl] = ACTIONS(2255), + [anon_sym___clrcall] = ACTIONS(2255), + [anon_sym___stdcall] = ACTIONS(2255), + [anon_sym___fastcall] = ACTIONS(2255), + [anon_sym___thiscall] = ACTIONS(2255), + [anon_sym___vectorcall] = ACTIONS(2255), + [anon_sym_LBRACE] = ACTIONS(2257), + [anon_sym_RBRACE] = ACTIONS(2257), + [anon_sym_LBRACK] = ACTIONS(2255), + [anon_sym_static] = ACTIONS(2255), + [anon_sym_register] = ACTIONS(2255), + [anon_sym_inline] = ACTIONS(2255), + [anon_sym_thread_local] = ACTIONS(2255), + [anon_sym_const] = ACTIONS(2255), + [anon_sym_volatile] = ACTIONS(2255), + [anon_sym_restrict] = ACTIONS(2255), + [anon_sym__Atomic] = ACTIONS(2255), + [anon_sym_mutable] = ACTIONS(2255), + [anon_sym_constexpr] = ACTIONS(2255), + [anon_sym_constinit] = ACTIONS(2255), + [anon_sym_consteval] = ACTIONS(2255), + [anon_sym_signed] = ACTIONS(2255), + [anon_sym_unsigned] = ACTIONS(2255), + [anon_sym_long] = ACTIONS(2255), + [anon_sym_short] = ACTIONS(2255), + [sym_primitive_type] = ACTIONS(2255), + [anon_sym_enum] = ACTIONS(2255), + [anon_sym_class] = ACTIONS(2255), + [anon_sym_struct] = ACTIONS(2255), + [anon_sym_union] = ACTIONS(2255), + [anon_sym_if] = ACTIONS(2255), + [anon_sym_switch] = ACTIONS(2255), + [anon_sym_case] = ACTIONS(2255), + [anon_sym_default] = ACTIONS(2255), + [anon_sym_while] = ACTIONS(2255), + [anon_sym_do] = ACTIONS(2255), + [anon_sym_for] = ACTIONS(2255), + [anon_sym_return] = ACTIONS(2255), + [anon_sym_break] = ACTIONS(2255), + [anon_sym_continue] = ACTIONS(2255), + [anon_sym_goto] = ACTIONS(2255), + [anon_sym_DASH_DASH] = ACTIONS(2257), + [anon_sym_PLUS_PLUS] = ACTIONS(2257), + [anon_sym_sizeof] = ACTIONS(2255), + [sym_number_literal] = ACTIONS(2257), + [anon_sym_L_SQUOTE] = ACTIONS(2257), + [anon_sym_u_SQUOTE] = ACTIONS(2257), + [anon_sym_U_SQUOTE] = ACTIONS(2257), + [anon_sym_u8_SQUOTE] = ACTIONS(2257), + [anon_sym_SQUOTE] = ACTIONS(2257), + [anon_sym_L_DQUOTE] = ACTIONS(2257), + [anon_sym_u_DQUOTE] = ACTIONS(2257), + [anon_sym_U_DQUOTE] = ACTIONS(2257), + [anon_sym_u8_DQUOTE] = ACTIONS(2257), + [anon_sym_DQUOTE] = ACTIONS(2257), + [sym_true] = ACTIONS(2255), + [sym_false] = ACTIONS(2255), + [sym_null] = ACTIONS(2255), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2255), + [anon_sym_decltype] = ACTIONS(2255), + [anon_sym_virtual] = ACTIONS(2255), + [anon_sym_explicit] = ACTIONS(2255), + [anon_sym_typename] = ACTIONS(2255), + [anon_sym_template] = ACTIONS(2255), + [anon_sym_operator] = ACTIONS(2255), + [anon_sym_delete] = ACTIONS(2255), + [anon_sym_throw] = ACTIONS(2255), + [anon_sym_namespace] = ACTIONS(2255), + [anon_sym_using] = ACTIONS(2255), + [anon_sym_static_assert] = ACTIONS(2255), + [anon_sym_concept] = ACTIONS(2255), + [anon_sym_co_return] = ACTIONS(2255), + [anon_sym_co_yield] = ACTIONS(2255), + [anon_sym_try] = ACTIONS(2255), + [anon_sym_co_await] = ACTIONS(2255), + [anon_sym_new] = ACTIONS(2255), + [anon_sym_requires] = ACTIONS(2255), + [sym_this] = ACTIONS(2255), + [sym_nullptr] = ACTIONS(2255), + [sym_raw_string_literal] = ACTIONS(2257), + }, + [772] = { + [sym_identifier] = ACTIONS(2247), + [aux_sym_preproc_include_token1] = ACTIONS(2247), + [aux_sym_preproc_def_token1] = ACTIONS(2247), + [aux_sym_preproc_if_token1] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2247), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2247), + [sym_preproc_directive] = ACTIONS(2247), + [anon_sym_LPAREN2] = ACTIONS(2249), + [anon_sym_BANG] = ACTIONS(2249), + [anon_sym_TILDE] = ACTIONS(2249), + [anon_sym_DASH] = ACTIONS(2247), + [anon_sym_PLUS] = ACTIONS(2247), + [anon_sym_STAR] = ACTIONS(2249), + [anon_sym_AMP_AMP] = ACTIONS(2249), + [anon_sym_AMP] = ACTIONS(2247), + [anon_sym_SEMI] = ACTIONS(2249), + [anon_sym_typedef] = ACTIONS(2247), + [anon_sym_extern] = ACTIONS(2247), + [anon_sym___attribute__] = ACTIONS(2247), + [anon_sym_COLON_COLON] = ACTIONS(2249), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2249), + [anon_sym___declspec] = ACTIONS(2247), + [anon_sym___based] = ACTIONS(2247), + [anon_sym___cdecl] = ACTIONS(2247), + [anon_sym___clrcall] = ACTIONS(2247), + [anon_sym___stdcall] = ACTIONS(2247), + [anon_sym___fastcall] = ACTIONS(2247), + [anon_sym___thiscall] = ACTIONS(2247), + [anon_sym___vectorcall] = ACTIONS(2247), + [anon_sym_LBRACE] = ACTIONS(2249), + [anon_sym_RBRACE] = ACTIONS(2249), + [anon_sym_LBRACK] = ACTIONS(2247), + [anon_sym_static] = ACTIONS(2247), + [anon_sym_register] = ACTIONS(2247), + [anon_sym_inline] = ACTIONS(2247), + [anon_sym_thread_local] = ACTIONS(2247), + [anon_sym_const] = ACTIONS(2247), + [anon_sym_volatile] = ACTIONS(2247), + [anon_sym_restrict] = ACTIONS(2247), + [anon_sym__Atomic] = ACTIONS(2247), + [anon_sym_mutable] = ACTIONS(2247), + [anon_sym_constexpr] = ACTIONS(2247), + [anon_sym_constinit] = ACTIONS(2247), + [anon_sym_consteval] = ACTIONS(2247), + [anon_sym_signed] = ACTIONS(2247), + [anon_sym_unsigned] = ACTIONS(2247), + [anon_sym_long] = ACTIONS(2247), + [anon_sym_short] = ACTIONS(2247), + [sym_primitive_type] = ACTIONS(2247), + [anon_sym_enum] = ACTIONS(2247), + [anon_sym_class] = ACTIONS(2247), + [anon_sym_struct] = ACTIONS(2247), + [anon_sym_union] = ACTIONS(2247), + [anon_sym_if] = ACTIONS(2247), + [anon_sym_switch] = ACTIONS(2247), + [anon_sym_case] = ACTIONS(2247), + [anon_sym_default] = ACTIONS(2247), + [anon_sym_while] = ACTIONS(2247), + [anon_sym_do] = ACTIONS(2247), + [anon_sym_for] = ACTIONS(2247), + [anon_sym_return] = ACTIONS(2247), + [anon_sym_break] = ACTIONS(2247), + [anon_sym_continue] = ACTIONS(2247), + [anon_sym_goto] = ACTIONS(2247), + [anon_sym_DASH_DASH] = ACTIONS(2249), + [anon_sym_PLUS_PLUS] = ACTIONS(2249), + [anon_sym_sizeof] = ACTIONS(2247), + [sym_number_literal] = ACTIONS(2249), + [anon_sym_L_SQUOTE] = ACTIONS(2249), + [anon_sym_u_SQUOTE] = ACTIONS(2249), + [anon_sym_U_SQUOTE] = ACTIONS(2249), + [anon_sym_u8_SQUOTE] = ACTIONS(2249), + [anon_sym_SQUOTE] = ACTIONS(2249), + [anon_sym_L_DQUOTE] = ACTIONS(2249), + [anon_sym_u_DQUOTE] = ACTIONS(2249), + [anon_sym_U_DQUOTE] = ACTIONS(2249), + [anon_sym_u8_DQUOTE] = ACTIONS(2249), + [anon_sym_DQUOTE] = ACTIONS(2249), + [sym_true] = ACTIONS(2247), + [sym_false] = ACTIONS(2247), + [sym_null] = ACTIONS(2247), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2247), + [anon_sym_decltype] = ACTIONS(2247), + [anon_sym_virtual] = ACTIONS(2247), + [anon_sym_explicit] = ACTIONS(2247), + [anon_sym_typename] = ACTIONS(2247), + [anon_sym_template] = ACTIONS(2247), + [anon_sym_operator] = ACTIONS(2247), + [anon_sym_delete] = ACTIONS(2247), + [anon_sym_throw] = ACTIONS(2247), + [anon_sym_namespace] = ACTIONS(2247), + [anon_sym_using] = ACTIONS(2247), + [anon_sym_static_assert] = ACTIONS(2247), + [anon_sym_concept] = ACTIONS(2247), + [anon_sym_co_return] = ACTIONS(2247), + [anon_sym_co_yield] = ACTIONS(2247), + [anon_sym_try] = ACTIONS(2247), + [anon_sym_co_await] = ACTIONS(2247), + [anon_sym_new] = ACTIONS(2247), + [anon_sym_requires] = ACTIONS(2247), + [sym_this] = ACTIONS(2247), + [sym_nullptr] = ACTIONS(2247), + [sym_raw_string_literal] = ACTIONS(2249), + }, + [773] = { + [sym_identifier] = ACTIONS(2415), + [aux_sym_preproc_include_token1] = ACTIONS(2415), + [aux_sym_preproc_def_token1] = ACTIONS(2415), + [aux_sym_preproc_if_token1] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2415), + [sym_preproc_directive] = ACTIONS(2415), + [anon_sym_LPAREN2] = ACTIONS(2417), + [anon_sym_BANG] = ACTIONS(2417), + [anon_sym_TILDE] = ACTIONS(2417), + [anon_sym_DASH] = ACTIONS(2415), + [anon_sym_PLUS] = ACTIONS(2415), + [anon_sym_STAR] = ACTIONS(2417), + [anon_sym_AMP_AMP] = ACTIONS(2417), + [anon_sym_AMP] = ACTIONS(2415), + [anon_sym_SEMI] = ACTIONS(2417), + [anon_sym_typedef] = ACTIONS(2415), + [anon_sym_extern] = ACTIONS(2415), + [anon_sym___attribute__] = ACTIONS(2415), + [anon_sym_COLON_COLON] = ACTIONS(2417), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2417), + [anon_sym___declspec] = ACTIONS(2415), + [anon_sym___based] = ACTIONS(2415), + [anon_sym___cdecl] = ACTIONS(2415), + [anon_sym___clrcall] = ACTIONS(2415), + [anon_sym___stdcall] = ACTIONS(2415), + [anon_sym___fastcall] = ACTIONS(2415), + [anon_sym___thiscall] = ACTIONS(2415), + [anon_sym___vectorcall] = ACTIONS(2415), + [anon_sym_LBRACE] = ACTIONS(2417), + [anon_sym_RBRACE] = ACTIONS(2417), + [anon_sym_LBRACK] = ACTIONS(2415), + [anon_sym_static] = ACTIONS(2415), + [anon_sym_register] = ACTIONS(2415), + [anon_sym_inline] = ACTIONS(2415), + [anon_sym_thread_local] = ACTIONS(2415), + [anon_sym_const] = ACTIONS(2415), + [anon_sym_volatile] = ACTIONS(2415), + [anon_sym_restrict] = ACTIONS(2415), + [anon_sym__Atomic] = ACTIONS(2415), + [anon_sym_mutable] = ACTIONS(2415), + [anon_sym_constexpr] = ACTIONS(2415), + [anon_sym_constinit] = ACTIONS(2415), + [anon_sym_consteval] = ACTIONS(2415), + [anon_sym_signed] = ACTIONS(2415), + [anon_sym_unsigned] = ACTIONS(2415), + [anon_sym_long] = ACTIONS(2415), + [anon_sym_short] = ACTIONS(2415), + [sym_primitive_type] = ACTIONS(2415), + [anon_sym_enum] = ACTIONS(2415), + [anon_sym_class] = ACTIONS(2415), + [anon_sym_struct] = ACTIONS(2415), + [anon_sym_union] = ACTIONS(2415), + [anon_sym_if] = ACTIONS(2415), + [anon_sym_switch] = ACTIONS(2415), + [anon_sym_case] = ACTIONS(2415), + [anon_sym_default] = ACTIONS(2415), + [anon_sym_while] = ACTIONS(2415), + [anon_sym_do] = ACTIONS(2415), + [anon_sym_for] = ACTIONS(2415), + [anon_sym_return] = ACTIONS(2415), + [anon_sym_break] = ACTIONS(2415), + [anon_sym_continue] = ACTIONS(2415), + [anon_sym_goto] = ACTIONS(2415), + [anon_sym_DASH_DASH] = ACTIONS(2417), + [anon_sym_PLUS_PLUS] = ACTIONS(2417), + [anon_sym_sizeof] = ACTIONS(2415), + [sym_number_literal] = ACTIONS(2417), + [anon_sym_L_SQUOTE] = ACTIONS(2417), + [anon_sym_u_SQUOTE] = ACTIONS(2417), + [anon_sym_U_SQUOTE] = ACTIONS(2417), + [anon_sym_u8_SQUOTE] = ACTIONS(2417), + [anon_sym_SQUOTE] = ACTIONS(2417), + [anon_sym_L_DQUOTE] = ACTIONS(2417), + [anon_sym_u_DQUOTE] = ACTIONS(2417), + [anon_sym_U_DQUOTE] = ACTIONS(2417), + [anon_sym_u8_DQUOTE] = ACTIONS(2417), + [anon_sym_DQUOTE] = ACTIONS(2417), + [sym_true] = ACTIONS(2415), + [sym_false] = ACTIONS(2415), + [sym_null] = ACTIONS(2415), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2415), + [anon_sym_decltype] = ACTIONS(2415), + [anon_sym_virtual] = ACTIONS(2415), + [anon_sym_explicit] = ACTIONS(2415), + [anon_sym_typename] = ACTIONS(2415), + [anon_sym_template] = ACTIONS(2415), + [anon_sym_operator] = ACTIONS(2415), + [anon_sym_delete] = ACTIONS(2415), + [anon_sym_throw] = ACTIONS(2415), + [anon_sym_namespace] = ACTIONS(2415), + [anon_sym_using] = ACTIONS(2415), + [anon_sym_static_assert] = ACTIONS(2415), + [anon_sym_concept] = ACTIONS(2415), + [anon_sym_co_return] = ACTIONS(2415), + [anon_sym_co_yield] = ACTIONS(2415), + [anon_sym_try] = ACTIONS(2415), + [anon_sym_co_await] = ACTIONS(2415), + [anon_sym_new] = ACTIONS(2415), + [anon_sym_requires] = ACTIONS(2415), + [sym_this] = ACTIONS(2415), + [sym_nullptr] = ACTIONS(2415), + [sym_raw_string_literal] = ACTIONS(2417), + }, + [774] = { + [sym_identifier] = ACTIONS(2279), + [aux_sym_preproc_include_token1] = ACTIONS(2279), + [aux_sym_preproc_def_token1] = ACTIONS(2279), + [aux_sym_preproc_if_token1] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2279), + [sym_preproc_directive] = ACTIONS(2279), + [anon_sym_LPAREN2] = ACTIONS(2281), + [anon_sym_BANG] = ACTIONS(2281), + [anon_sym_TILDE] = ACTIONS(2281), + [anon_sym_DASH] = ACTIONS(2279), + [anon_sym_PLUS] = ACTIONS(2279), + [anon_sym_STAR] = ACTIONS(2281), + [anon_sym_AMP_AMP] = ACTIONS(2281), + [anon_sym_AMP] = ACTIONS(2279), + [anon_sym_SEMI] = ACTIONS(2281), + [anon_sym_typedef] = ACTIONS(2279), + [anon_sym_extern] = ACTIONS(2279), + [anon_sym___attribute__] = ACTIONS(2279), + [anon_sym_COLON_COLON] = ACTIONS(2281), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2281), + [anon_sym___declspec] = ACTIONS(2279), + [anon_sym___based] = ACTIONS(2279), + [anon_sym___cdecl] = ACTIONS(2279), + [anon_sym___clrcall] = ACTIONS(2279), + [anon_sym___stdcall] = ACTIONS(2279), + [anon_sym___fastcall] = ACTIONS(2279), + [anon_sym___thiscall] = ACTIONS(2279), + [anon_sym___vectorcall] = ACTIONS(2279), + [anon_sym_LBRACE] = ACTIONS(2281), + [anon_sym_RBRACE] = ACTIONS(2281), + [anon_sym_LBRACK] = ACTIONS(2279), + [anon_sym_static] = ACTIONS(2279), + [anon_sym_register] = ACTIONS(2279), + [anon_sym_inline] = ACTIONS(2279), + [anon_sym_thread_local] = ACTIONS(2279), + [anon_sym_const] = ACTIONS(2279), + [anon_sym_volatile] = ACTIONS(2279), + [anon_sym_restrict] = ACTIONS(2279), + [anon_sym__Atomic] = ACTIONS(2279), + [anon_sym_mutable] = ACTIONS(2279), + [anon_sym_constexpr] = ACTIONS(2279), + [anon_sym_constinit] = ACTIONS(2279), + [anon_sym_consteval] = ACTIONS(2279), + [anon_sym_signed] = ACTIONS(2279), + [anon_sym_unsigned] = ACTIONS(2279), + [anon_sym_long] = ACTIONS(2279), + [anon_sym_short] = ACTIONS(2279), + [sym_primitive_type] = ACTIONS(2279), + [anon_sym_enum] = ACTIONS(2279), + [anon_sym_class] = ACTIONS(2279), + [anon_sym_struct] = ACTIONS(2279), + [anon_sym_union] = ACTIONS(2279), + [anon_sym_if] = ACTIONS(2279), + [anon_sym_switch] = ACTIONS(2279), + [anon_sym_case] = ACTIONS(2279), + [anon_sym_default] = ACTIONS(2279), + [anon_sym_while] = ACTIONS(2279), + [anon_sym_do] = ACTIONS(2279), + [anon_sym_for] = ACTIONS(2279), + [anon_sym_return] = ACTIONS(2279), + [anon_sym_break] = ACTIONS(2279), + [anon_sym_continue] = ACTIONS(2279), + [anon_sym_goto] = ACTIONS(2279), + [anon_sym_DASH_DASH] = ACTIONS(2281), + [anon_sym_PLUS_PLUS] = ACTIONS(2281), + [anon_sym_sizeof] = ACTIONS(2279), + [sym_number_literal] = ACTIONS(2281), + [anon_sym_L_SQUOTE] = ACTIONS(2281), + [anon_sym_u_SQUOTE] = ACTIONS(2281), + [anon_sym_U_SQUOTE] = ACTIONS(2281), + [anon_sym_u8_SQUOTE] = ACTIONS(2281), + [anon_sym_SQUOTE] = ACTIONS(2281), + [anon_sym_L_DQUOTE] = ACTIONS(2281), + [anon_sym_u_DQUOTE] = ACTIONS(2281), + [anon_sym_U_DQUOTE] = ACTIONS(2281), + [anon_sym_u8_DQUOTE] = ACTIONS(2281), + [anon_sym_DQUOTE] = ACTIONS(2281), + [sym_true] = ACTIONS(2279), + [sym_false] = ACTIONS(2279), + [sym_null] = ACTIONS(2279), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2279), + [anon_sym_decltype] = ACTIONS(2279), + [anon_sym_virtual] = ACTIONS(2279), + [anon_sym_explicit] = ACTIONS(2279), + [anon_sym_typename] = ACTIONS(2279), + [anon_sym_template] = ACTIONS(2279), + [anon_sym_operator] = ACTIONS(2279), + [anon_sym_delete] = ACTIONS(2279), + [anon_sym_throw] = ACTIONS(2279), + [anon_sym_namespace] = ACTIONS(2279), + [anon_sym_using] = ACTIONS(2279), + [anon_sym_static_assert] = ACTIONS(2279), + [anon_sym_concept] = ACTIONS(2279), + [anon_sym_co_return] = ACTIONS(2279), + [anon_sym_co_yield] = ACTIONS(2279), + [anon_sym_try] = ACTIONS(2279), + [anon_sym_co_await] = ACTIONS(2279), + [anon_sym_new] = ACTIONS(2279), + [anon_sym_requires] = ACTIONS(2279), + [sym_this] = ACTIONS(2279), + [sym_nullptr] = ACTIONS(2279), + [sym_raw_string_literal] = ACTIONS(2281), + }, + [775] = { + [sym_identifier] = ACTIONS(2319), + [aux_sym_preproc_include_token1] = ACTIONS(2319), + [aux_sym_preproc_def_token1] = ACTIONS(2319), + [aux_sym_preproc_if_token1] = ACTIONS(2319), + [aux_sym_preproc_if_token2] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2319), + [sym_preproc_directive] = ACTIONS(2319), + [anon_sym_LPAREN2] = ACTIONS(2321), + [anon_sym_BANG] = ACTIONS(2321), + [anon_sym_TILDE] = ACTIONS(2321), + [anon_sym_DASH] = ACTIONS(2319), + [anon_sym_PLUS] = ACTIONS(2319), + [anon_sym_STAR] = ACTIONS(2321), + [anon_sym_AMP_AMP] = ACTIONS(2321), + [anon_sym_AMP] = ACTIONS(2319), + [anon_sym_SEMI] = ACTIONS(2321), + [anon_sym_typedef] = ACTIONS(2319), + [anon_sym_extern] = ACTIONS(2319), + [anon_sym___attribute__] = ACTIONS(2319), + [anon_sym_COLON_COLON] = ACTIONS(2321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2321), + [anon_sym___declspec] = ACTIONS(2319), + [anon_sym___based] = ACTIONS(2319), + [anon_sym___cdecl] = ACTIONS(2319), + [anon_sym___clrcall] = ACTIONS(2319), + [anon_sym___stdcall] = ACTIONS(2319), + [anon_sym___fastcall] = ACTIONS(2319), + [anon_sym___thiscall] = ACTIONS(2319), + [anon_sym___vectorcall] = ACTIONS(2319), + [anon_sym_LBRACE] = ACTIONS(2321), + [anon_sym_LBRACK] = ACTIONS(2319), + [anon_sym_static] = ACTIONS(2319), + [anon_sym_register] = ACTIONS(2319), + [anon_sym_inline] = ACTIONS(2319), + [anon_sym_thread_local] = ACTIONS(2319), + [anon_sym_const] = ACTIONS(2319), + [anon_sym_volatile] = ACTIONS(2319), + [anon_sym_restrict] = ACTIONS(2319), + [anon_sym__Atomic] = ACTIONS(2319), + [anon_sym_mutable] = ACTIONS(2319), + [anon_sym_constexpr] = ACTIONS(2319), + [anon_sym_constinit] = ACTIONS(2319), + [anon_sym_consteval] = ACTIONS(2319), + [anon_sym_signed] = ACTIONS(2319), + [anon_sym_unsigned] = ACTIONS(2319), + [anon_sym_long] = ACTIONS(2319), + [anon_sym_short] = ACTIONS(2319), + [sym_primitive_type] = ACTIONS(2319), + [anon_sym_enum] = ACTIONS(2319), + [anon_sym_class] = ACTIONS(2319), + [anon_sym_struct] = ACTIONS(2319), + [anon_sym_union] = ACTIONS(2319), + [anon_sym_if] = ACTIONS(2319), + [anon_sym_switch] = ACTIONS(2319), + [anon_sym_case] = ACTIONS(2319), + [anon_sym_default] = ACTIONS(2319), + [anon_sym_while] = ACTIONS(2319), + [anon_sym_do] = ACTIONS(2319), + [anon_sym_for] = ACTIONS(2319), + [anon_sym_return] = ACTIONS(2319), + [anon_sym_break] = ACTIONS(2319), + [anon_sym_continue] = ACTIONS(2319), + [anon_sym_goto] = ACTIONS(2319), + [anon_sym_DASH_DASH] = ACTIONS(2321), + [anon_sym_PLUS_PLUS] = ACTIONS(2321), + [anon_sym_sizeof] = ACTIONS(2319), + [sym_number_literal] = ACTIONS(2321), + [anon_sym_L_SQUOTE] = ACTIONS(2321), + [anon_sym_u_SQUOTE] = ACTIONS(2321), + [anon_sym_U_SQUOTE] = ACTIONS(2321), + [anon_sym_u8_SQUOTE] = ACTIONS(2321), + [anon_sym_SQUOTE] = ACTIONS(2321), + [anon_sym_L_DQUOTE] = ACTIONS(2321), + [anon_sym_u_DQUOTE] = ACTIONS(2321), + [anon_sym_U_DQUOTE] = ACTIONS(2321), + [anon_sym_u8_DQUOTE] = ACTIONS(2321), + [anon_sym_DQUOTE] = ACTIONS(2321), + [sym_true] = ACTIONS(2319), + [sym_false] = ACTIONS(2319), + [sym_null] = ACTIONS(2319), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2319), + [anon_sym_decltype] = ACTIONS(2319), + [anon_sym_virtual] = ACTIONS(2319), + [anon_sym_explicit] = ACTIONS(2319), + [anon_sym_typename] = ACTIONS(2319), + [anon_sym_template] = ACTIONS(2319), + [anon_sym_operator] = ACTIONS(2319), + [anon_sym_delete] = ACTIONS(2319), + [anon_sym_throw] = ACTIONS(2319), + [anon_sym_namespace] = ACTIONS(2319), + [anon_sym_using] = ACTIONS(2319), + [anon_sym_static_assert] = ACTIONS(2319), + [anon_sym_concept] = ACTIONS(2319), + [anon_sym_co_return] = ACTIONS(2319), + [anon_sym_co_yield] = ACTIONS(2319), + [anon_sym_try] = ACTIONS(2319), + [anon_sym_co_await] = ACTIONS(2319), + [anon_sym_new] = ACTIONS(2319), + [anon_sym_requires] = ACTIONS(2319), + [sym_this] = ACTIONS(2319), + [sym_nullptr] = ACTIONS(2319), + [sym_raw_string_literal] = ACTIONS(2321), + }, + [776] = { + [sym_identifier] = ACTIONS(2255), + [aux_sym_preproc_include_token1] = ACTIONS(2255), + [aux_sym_preproc_def_token1] = ACTIONS(2255), + [aux_sym_preproc_if_token1] = ACTIONS(2255), + [aux_sym_preproc_if_token2] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2255), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2255), + [sym_preproc_directive] = ACTIONS(2255), + [anon_sym_LPAREN2] = ACTIONS(2257), + [anon_sym_BANG] = ACTIONS(2257), + [anon_sym_TILDE] = ACTIONS(2257), + [anon_sym_DASH] = ACTIONS(2255), + [anon_sym_PLUS] = ACTIONS(2255), + [anon_sym_STAR] = ACTIONS(2257), + [anon_sym_AMP_AMP] = ACTIONS(2257), + [anon_sym_AMP] = ACTIONS(2255), + [anon_sym_SEMI] = ACTIONS(2257), + [anon_sym_typedef] = ACTIONS(2255), + [anon_sym_extern] = ACTIONS(2255), + [anon_sym___attribute__] = ACTIONS(2255), + [anon_sym_COLON_COLON] = ACTIONS(2257), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2257), + [anon_sym___declspec] = ACTIONS(2255), + [anon_sym___based] = ACTIONS(2255), + [anon_sym___cdecl] = ACTIONS(2255), + [anon_sym___clrcall] = ACTIONS(2255), + [anon_sym___stdcall] = ACTIONS(2255), + [anon_sym___fastcall] = ACTIONS(2255), + [anon_sym___thiscall] = ACTIONS(2255), + [anon_sym___vectorcall] = ACTIONS(2255), + [anon_sym_LBRACE] = ACTIONS(2257), + [anon_sym_LBRACK] = ACTIONS(2255), + [anon_sym_static] = ACTIONS(2255), + [anon_sym_register] = ACTIONS(2255), + [anon_sym_inline] = ACTIONS(2255), + [anon_sym_thread_local] = ACTIONS(2255), + [anon_sym_const] = ACTIONS(2255), + [anon_sym_volatile] = ACTIONS(2255), + [anon_sym_restrict] = ACTIONS(2255), + [anon_sym__Atomic] = ACTIONS(2255), + [anon_sym_mutable] = ACTIONS(2255), + [anon_sym_constexpr] = ACTIONS(2255), + [anon_sym_constinit] = ACTIONS(2255), + [anon_sym_consteval] = ACTIONS(2255), + [anon_sym_signed] = ACTIONS(2255), + [anon_sym_unsigned] = ACTIONS(2255), + [anon_sym_long] = ACTIONS(2255), + [anon_sym_short] = ACTIONS(2255), + [sym_primitive_type] = ACTIONS(2255), + [anon_sym_enum] = ACTIONS(2255), + [anon_sym_class] = ACTIONS(2255), + [anon_sym_struct] = ACTIONS(2255), + [anon_sym_union] = ACTIONS(2255), + [anon_sym_if] = ACTIONS(2255), + [anon_sym_switch] = ACTIONS(2255), + [anon_sym_case] = ACTIONS(2255), + [anon_sym_default] = ACTIONS(2255), + [anon_sym_while] = ACTIONS(2255), + [anon_sym_do] = ACTIONS(2255), + [anon_sym_for] = ACTIONS(2255), + [anon_sym_return] = ACTIONS(2255), + [anon_sym_break] = ACTIONS(2255), + [anon_sym_continue] = ACTIONS(2255), + [anon_sym_goto] = ACTIONS(2255), + [anon_sym_DASH_DASH] = ACTIONS(2257), + [anon_sym_PLUS_PLUS] = ACTIONS(2257), + [anon_sym_sizeof] = ACTIONS(2255), + [sym_number_literal] = ACTIONS(2257), + [anon_sym_L_SQUOTE] = ACTIONS(2257), + [anon_sym_u_SQUOTE] = ACTIONS(2257), + [anon_sym_U_SQUOTE] = ACTIONS(2257), + [anon_sym_u8_SQUOTE] = ACTIONS(2257), + [anon_sym_SQUOTE] = ACTIONS(2257), + [anon_sym_L_DQUOTE] = ACTIONS(2257), + [anon_sym_u_DQUOTE] = ACTIONS(2257), + [anon_sym_U_DQUOTE] = ACTIONS(2257), + [anon_sym_u8_DQUOTE] = ACTIONS(2257), + [anon_sym_DQUOTE] = ACTIONS(2257), + [sym_true] = ACTIONS(2255), + [sym_false] = ACTIONS(2255), + [sym_null] = ACTIONS(2255), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2255), + [anon_sym_decltype] = ACTIONS(2255), + [anon_sym_virtual] = ACTIONS(2255), + [anon_sym_explicit] = ACTIONS(2255), + [anon_sym_typename] = ACTIONS(2255), + [anon_sym_template] = ACTIONS(2255), + [anon_sym_operator] = ACTIONS(2255), + [anon_sym_delete] = ACTIONS(2255), + [anon_sym_throw] = ACTIONS(2255), + [anon_sym_namespace] = ACTIONS(2255), + [anon_sym_using] = ACTIONS(2255), + [anon_sym_static_assert] = ACTIONS(2255), + [anon_sym_concept] = ACTIONS(2255), + [anon_sym_co_return] = ACTIONS(2255), + [anon_sym_co_yield] = ACTIONS(2255), + [anon_sym_try] = ACTIONS(2255), + [anon_sym_co_await] = ACTIONS(2255), + [anon_sym_new] = ACTIONS(2255), + [anon_sym_requires] = ACTIONS(2255), + [sym_this] = ACTIONS(2255), + [sym_nullptr] = ACTIONS(2255), + [sym_raw_string_literal] = ACTIONS(2257), + }, + [777] = { + [sym_identifier] = ACTIONS(2283), + [aux_sym_preproc_include_token1] = ACTIONS(2283), + [aux_sym_preproc_def_token1] = ACTIONS(2283), + [aux_sym_preproc_if_token1] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2283), + [sym_preproc_directive] = ACTIONS(2283), + [anon_sym_LPAREN2] = ACTIONS(2285), + [anon_sym_BANG] = ACTIONS(2285), + [anon_sym_TILDE] = ACTIONS(2285), + [anon_sym_DASH] = ACTIONS(2283), + [anon_sym_PLUS] = ACTIONS(2283), + [anon_sym_STAR] = ACTIONS(2285), + [anon_sym_AMP_AMP] = ACTIONS(2285), + [anon_sym_AMP] = ACTIONS(2283), + [anon_sym_SEMI] = ACTIONS(2285), + [anon_sym_typedef] = ACTIONS(2283), + [anon_sym_extern] = ACTIONS(2283), + [anon_sym___attribute__] = ACTIONS(2283), + [anon_sym_COLON_COLON] = ACTIONS(2285), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2285), + [anon_sym___declspec] = ACTIONS(2283), + [anon_sym___based] = ACTIONS(2283), + [anon_sym___cdecl] = ACTIONS(2283), + [anon_sym___clrcall] = ACTIONS(2283), + [anon_sym___stdcall] = ACTIONS(2283), + [anon_sym___fastcall] = ACTIONS(2283), + [anon_sym___thiscall] = ACTIONS(2283), + [anon_sym___vectorcall] = ACTIONS(2283), + [anon_sym_LBRACE] = ACTIONS(2285), + [anon_sym_RBRACE] = ACTIONS(2285), + [anon_sym_LBRACK] = ACTIONS(2283), + [anon_sym_static] = ACTIONS(2283), + [anon_sym_register] = ACTIONS(2283), + [anon_sym_inline] = ACTIONS(2283), + [anon_sym_thread_local] = ACTIONS(2283), + [anon_sym_const] = ACTIONS(2283), + [anon_sym_volatile] = ACTIONS(2283), + [anon_sym_restrict] = ACTIONS(2283), + [anon_sym__Atomic] = ACTIONS(2283), + [anon_sym_mutable] = ACTIONS(2283), + [anon_sym_constexpr] = ACTIONS(2283), + [anon_sym_constinit] = ACTIONS(2283), + [anon_sym_consteval] = ACTIONS(2283), + [anon_sym_signed] = ACTIONS(2283), + [anon_sym_unsigned] = ACTIONS(2283), + [anon_sym_long] = ACTIONS(2283), + [anon_sym_short] = ACTIONS(2283), + [sym_primitive_type] = ACTIONS(2283), + [anon_sym_enum] = ACTIONS(2283), + [anon_sym_class] = ACTIONS(2283), + [anon_sym_struct] = ACTIONS(2283), + [anon_sym_union] = ACTIONS(2283), + [anon_sym_if] = ACTIONS(2283), + [anon_sym_switch] = ACTIONS(2283), + [anon_sym_case] = ACTIONS(2283), + [anon_sym_default] = ACTIONS(2283), + [anon_sym_while] = ACTIONS(2283), + [anon_sym_do] = ACTIONS(2283), + [anon_sym_for] = ACTIONS(2283), + [anon_sym_return] = ACTIONS(2283), + [anon_sym_break] = ACTIONS(2283), + [anon_sym_continue] = ACTIONS(2283), + [anon_sym_goto] = ACTIONS(2283), + [anon_sym_DASH_DASH] = ACTIONS(2285), + [anon_sym_PLUS_PLUS] = ACTIONS(2285), + [anon_sym_sizeof] = ACTIONS(2283), + [sym_number_literal] = ACTIONS(2285), + [anon_sym_L_SQUOTE] = ACTIONS(2285), + [anon_sym_u_SQUOTE] = ACTIONS(2285), + [anon_sym_U_SQUOTE] = ACTIONS(2285), + [anon_sym_u8_SQUOTE] = ACTIONS(2285), + [anon_sym_SQUOTE] = ACTIONS(2285), + [anon_sym_L_DQUOTE] = ACTIONS(2285), + [anon_sym_u_DQUOTE] = ACTIONS(2285), + [anon_sym_U_DQUOTE] = ACTIONS(2285), + [anon_sym_u8_DQUOTE] = ACTIONS(2285), + [anon_sym_DQUOTE] = ACTIONS(2285), + [sym_true] = ACTIONS(2283), + [sym_false] = ACTIONS(2283), + [sym_null] = ACTIONS(2283), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2283), + [anon_sym_decltype] = ACTIONS(2283), + [anon_sym_virtual] = ACTIONS(2283), + [anon_sym_explicit] = ACTIONS(2283), + [anon_sym_typename] = ACTIONS(2283), + [anon_sym_template] = ACTIONS(2283), + [anon_sym_operator] = ACTIONS(2283), + [anon_sym_delete] = ACTIONS(2283), + [anon_sym_throw] = ACTIONS(2283), + [anon_sym_namespace] = ACTIONS(2283), + [anon_sym_using] = ACTIONS(2283), + [anon_sym_static_assert] = ACTIONS(2283), + [anon_sym_concept] = ACTIONS(2283), + [anon_sym_co_return] = ACTIONS(2283), + [anon_sym_co_yield] = ACTIONS(2283), + [anon_sym_try] = ACTIONS(2283), + [anon_sym_co_await] = ACTIONS(2283), + [anon_sym_new] = ACTIONS(2283), + [anon_sym_requires] = ACTIONS(2283), + [sym_this] = ACTIONS(2283), + [sym_nullptr] = ACTIONS(2283), + [sym_raw_string_literal] = ACTIONS(2285), + }, + [778] = { + [sym_identifier] = ACTIONS(2311), + [aux_sym_preproc_include_token1] = ACTIONS(2311), + [aux_sym_preproc_def_token1] = ACTIONS(2311), + [aux_sym_preproc_if_token1] = ACTIONS(2311), + [aux_sym_preproc_if_token2] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2311), + [sym_preproc_directive] = ACTIONS(2311), + [anon_sym_LPAREN2] = ACTIONS(2313), + [anon_sym_BANG] = ACTIONS(2313), + [anon_sym_TILDE] = ACTIONS(2313), + [anon_sym_DASH] = ACTIONS(2311), + [anon_sym_PLUS] = ACTIONS(2311), + [anon_sym_STAR] = ACTIONS(2313), + [anon_sym_AMP_AMP] = ACTIONS(2313), + [anon_sym_AMP] = ACTIONS(2311), + [anon_sym_SEMI] = ACTIONS(2313), + [anon_sym_typedef] = ACTIONS(2311), + [anon_sym_extern] = ACTIONS(2311), + [anon_sym___attribute__] = ACTIONS(2311), + [anon_sym_COLON_COLON] = ACTIONS(2313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2313), + [anon_sym___declspec] = ACTIONS(2311), + [anon_sym___based] = ACTIONS(2311), + [anon_sym___cdecl] = ACTIONS(2311), + [anon_sym___clrcall] = ACTIONS(2311), + [anon_sym___stdcall] = ACTIONS(2311), + [anon_sym___fastcall] = ACTIONS(2311), + [anon_sym___thiscall] = ACTIONS(2311), + [anon_sym___vectorcall] = ACTIONS(2311), + [anon_sym_LBRACE] = ACTIONS(2313), + [anon_sym_LBRACK] = ACTIONS(2311), + [anon_sym_static] = ACTIONS(2311), + [anon_sym_register] = ACTIONS(2311), + [anon_sym_inline] = ACTIONS(2311), + [anon_sym_thread_local] = ACTIONS(2311), + [anon_sym_const] = ACTIONS(2311), + [anon_sym_volatile] = ACTIONS(2311), + [anon_sym_restrict] = ACTIONS(2311), + [anon_sym__Atomic] = ACTIONS(2311), + [anon_sym_mutable] = ACTIONS(2311), + [anon_sym_constexpr] = ACTIONS(2311), + [anon_sym_constinit] = ACTIONS(2311), + [anon_sym_consteval] = ACTIONS(2311), + [anon_sym_signed] = ACTIONS(2311), + [anon_sym_unsigned] = ACTIONS(2311), + [anon_sym_long] = ACTIONS(2311), + [anon_sym_short] = ACTIONS(2311), + [sym_primitive_type] = ACTIONS(2311), + [anon_sym_enum] = ACTIONS(2311), + [anon_sym_class] = ACTIONS(2311), + [anon_sym_struct] = ACTIONS(2311), + [anon_sym_union] = ACTIONS(2311), + [anon_sym_if] = ACTIONS(2311), + [anon_sym_switch] = ACTIONS(2311), + [anon_sym_case] = ACTIONS(2311), + [anon_sym_default] = ACTIONS(2311), + [anon_sym_while] = ACTIONS(2311), + [anon_sym_do] = ACTIONS(2311), + [anon_sym_for] = ACTIONS(2311), + [anon_sym_return] = ACTIONS(2311), + [anon_sym_break] = ACTIONS(2311), + [anon_sym_continue] = ACTIONS(2311), + [anon_sym_goto] = ACTIONS(2311), + [anon_sym_DASH_DASH] = ACTIONS(2313), + [anon_sym_PLUS_PLUS] = ACTIONS(2313), + [anon_sym_sizeof] = ACTIONS(2311), + [sym_number_literal] = ACTIONS(2313), + [anon_sym_L_SQUOTE] = ACTIONS(2313), + [anon_sym_u_SQUOTE] = ACTIONS(2313), + [anon_sym_U_SQUOTE] = ACTIONS(2313), + [anon_sym_u8_SQUOTE] = ACTIONS(2313), + [anon_sym_SQUOTE] = ACTIONS(2313), + [anon_sym_L_DQUOTE] = ACTIONS(2313), + [anon_sym_u_DQUOTE] = ACTIONS(2313), + [anon_sym_U_DQUOTE] = ACTIONS(2313), + [anon_sym_u8_DQUOTE] = ACTIONS(2313), + [anon_sym_DQUOTE] = ACTIONS(2313), + [sym_true] = ACTIONS(2311), + [sym_false] = ACTIONS(2311), + [sym_null] = ACTIONS(2311), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2311), + [anon_sym_decltype] = ACTIONS(2311), + [anon_sym_virtual] = ACTIONS(2311), + [anon_sym_explicit] = ACTIONS(2311), + [anon_sym_typename] = ACTIONS(2311), + [anon_sym_template] = ACTIONS(2311), + [anon_sym_operator] = ACTIONS(2311), + [anon_sym_delete] = ACTIONS(2311), + [anon_sym_throw] = ACTIONS(2311), + [anon_sym_namespace] = ACTIONS(2311), + [anon_sym_using] = ACTIONS(2311), + [anon_sym_static_assert] = ACTIONS(2311), + [anon_sym_concept] = ACTIONS(2311), + [anon_sym_co_return] = ACTIONS(2311), + [anon_sym_co_yield] = ACTIONS(2311), + [anon_sym_try] = ACTIONS(2311), + [anon_sym_co_await] = ACTIONS(2311), + [anon_sym_new] = ACTIONS(2311), + [anon_sym_requires] = ACTIONS(2311), + [sym_this] = ACTIONS(2311), + [sym_nullptr] = ACTIONS(2311), + [sym_raw_string_literal] = ACTIONS(2313), + }, + [779] = { + [sym_identifier] = ACTIONS(2365), + [aux_sym_preproc_include_token1] = ACTIONS(2365), + [aux_sym_preproc_def_token1] = ACTIONS(2365), + [aux_sym_preproc_if_token1] = ACTIONS(2365), + [aux_sym_preproc_if_token2] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2365), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2365), + [sym_preproc_directive] = ACTIONS(2365), + [anon_sym_LPAREN2] = ACTIONS(2367), + [anon_sym_BANG] = ACTIONS(2367), + [anon_sym_TILDE] = ACTIONS(2367), + [anon_sym_DASH] = ACTIONS(2365), + [anon_sym_PLUS] = ACTIONS(2365), + [anon_sym_STAR] = ACTIONS(2367), + [anon_sym_AMP_AMP] = ACTIONS(2367), + [anon_sym_AMP] = ACTIONS(2365), + [anon_sym_SEMI] = ACTIONS(2367), + [anon_sym_typedef] = ACTIONS(2365), + [anon_sym_extern] = ACTIONS(2365), + [anon_sym___attribute__] = ACTIONS(2365), + [anon_sym_COLON_COLON] = ACTIONS(2367), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2367), + [anon_sym___declspec] = ACTIONS(2365), + [anon_sym___based] = ACTIONS(2365), + [anon_sym___cdecl] = ACTIONS(2365), + [anon_sym___clrcall] = ACTIONS(2365), + [anon_sym___stdcall] = ACTIONS(2365), + [anon_sym___fastcall] = ACTIONS(2365), + [anon_sym___thiscall] = ACTIONS(2365), + [anon_sym___vectorcall] = ACTIONS(2365), + [anon_sym_LBRACE] = ACTIONS(2367), + [anon_sym_LBRACK] = ACTIONS(2365), + [anon_sym_static] = ACTIONS(2365), + [anon_sym_register] = ACTIONS(2365), + [anon_sym_inline] = ACTIONS(2365), + [anon_sym_thread_local] = ACTIONS(2365), + [anon_sym_const] = ACTIONS(2365), + [anon_sym_volatile] = ACTIONS(2365), + [anon_sym_restrict] = ACTIONS(2365), + [anon_sym__Atomic] = ACTIONS(2365), + [anon_sym_mutable] = ACTIONS(2365), + [anon_sym_constexpr] = ACTIONS(2365), + [anon_sym_constinit] = ACTIONS(2365), + [anon_sym_consteval] = ACTIONS(2365), + [anon_sym_signed] = ACTIONS(2365), + [anon_sym_unsigned] = ACTIONS(2365), + [anon_sym_long] = ACTIONS(2365), + [anon_sym_short] = ACTIONS(2365), + [sym_primitive_type] = ACTIONS(2365), + [anon_sym_enum] = ACTIONS(2365), + [anon_sym_class] = ACTIONS(2365), + [anon_sym_struct] = ACTIONS(2365), + [anon_sym_union] = ACTIONS(2365), + [anon_sym_if] = ACTIONS(2365), + [anon_sym_switch] = ACTIONS(2365), + [anon_sym_case] = ACTIONS(2365), + [anon_sym_default] = ACTIONS(2365), + [anon_sym_while] = ACTIONS(2365), + [anon_sym_do] = ACTIONS(2365), + [anon_sym_for] = ACTIONS(2365), + [anon_sym_return] = ACTIONS(2365), + [anon_sym_break] = ACTIONS(2365), + [anon_sym_continue] = ACTIONS(2365), + [anon_sym_goto] = ACTIONS(2365), + [anon_sym_DASH_DASH] = ACTIONS(2367), + [anon_sym_PLUS_PLUS] = ACTIONS(2367), + [anon_sym_sizeof] = ACTIONS(2365), + [sym_number_literal] = ACTIONS(2367), + [anon_sym_L_SQUOTE] = ACTIONS(2367), + [anon_sym_u_SQUOTE] = ACTIONS(2367), + [anon_sym_U_SQUOTE] = ACTIONS(2367), + [anon_sym_u8_SQUOTE] = ACTIONS(2367), + [anon_sym_SQUOTE] = ACTIONS(2367), + [anon_sym_L_DQUOTE] = ACTIONS(2367), + [anon_sym_u_DQUOTE] = ACTIONS(2367), + [anon_sym_U_DQUOTE] = ACTIONS(2367), + [anon_sym_u8_DQUOTE] = ACTIONS(2367), + [anon_sym_DQUOTE] = ACTIONS(2367), + [sym_true] = ACTIONS(2365), + [sym_false] = ACTIONS(2365), + [sym_null] = ACTIONS(2365), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2365), + [anon_sym_decltype] = ACTIONS(2365), + [anon_sym_virtual] = ACTIONS(2365), + [anon_sym_explicit] = ACTIONS(2365), + [anon_sym_typename] = ACTIONS(2365), + [anon_sym_template] = ACTIONS(2365), + [anon_sym_operator] = ACTIONS(2365), + [anon_sym_delete] = ACTIONS(2365), + [anon_sym_throw] = ACTIONS(2365), + [anon_sym_namespace] = ACTIONS(2365), + [anon_sym_using] = ACTIONS(2365), + [anon_sym_static_assert] = ACTIONS(2365), + [anon_sym_concept] = ACTIONS(2365), + [anon_sym_co_return] = ACTIONS(2365), + [anon_sym_co_yield] = ACTIONS(2365), + [anon_sym_try] = ACTIONS(2365), + [anon_sym_co_await] = ACTIONS(2365), + [anon_sym_new] = ACTIONS(2365), + [anon_sym_requires] = ACTIONS(2365), + [sym_this] = ACTIONS(2365), + [sym_nullptr] = ACTIONS(2365), + [sym_raw_string_literal] = ACTIONS(2367), + }, + [780] = { + [ts_builtin_sym_end] = ACTIONS(2245), + [sym_identifier] = ACTIONS(2243), + [aux_sym_preproc_include_token1] = ACTIONS(2243), + [aux_sym_preproc_def_token1] = ACTIONS(2243), + [aux_sym_preproc_if_token1] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2243), + [sym_preproc_directive] = ACTIONS(2243), + [anon_sym_LPAREN2] = ACTIONS(2245), + [anon_sym_BANG] = ACTIONS(2245), + [anon_sym_TILDE] = ACTIONS(2245), + [anon_sym_DASH] = ACTIONS(2243), + [anon_sym_PLUS] = ACTIONS(2243), + [anon_sym_STAR] = ACTIONS(2245), + [anon_sym_AMP_AMP] = ACTIONS(2245), + [anon_sym_AMP] = ACTIONS(2243), + [anon_sym_SEMI] = ACTIONS(2245), + [anon_sym_typedef] = ACTIONS(2243), + [anon_sym_extern] = ACTIONS(2243), + [anon_sym___attribute__] = ACTIONS(2243), + [anon_sym_COLON_COLON] = ACTIONS(2245), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2245), + [anon_sym___declspec] = ACTIONS(2243), + [anon_sym___based] = ACTIONS(2243), + [anon_sym___cdecl] = ACTIONS(2243), + [anon_sym___clrcall] = ACTIONS(2243), + [anon_sym___stdcall] = ACTIONS(2243), + [anon_sym___fastcall] = ACTIONS(2243), + [anon_sym___thiscall] = ACTIONS(2243), + [anon_sym___vectorcall] = ACTIONS(2243), + [anon_sym_LBRACE] = ACTIONS(2245), + [anon_sym_LBRACK] = ACTIONS(2243), + [anon_sym_static] = ACTIONS(2243), + [anon_sym_register] = ACTIONS(2243), + [anon_sym_inline] = ACTIONS(2243), + [anon_sym_thread_local] = ACTIONS(2243), + [anon_sym_const] = ACTIONS(2243), + [anon_sym_volatile] = ACTIONS(2243), + [anon_sym_restrict] = ACTIONS(2243), + [anon_sym__Atomic] = ACTIONS(2243), + [anon_sym_mutable] = ACTIONS(2243), + [anon_sym_constexpr] = ACTIONS(2243), + [anon_sym_constinit] = ACTIONS(2243), + [anon_sym_consteval] = ACTIONS(2243), + [anon_sym_signed] = ACTIONS(2243), + [anon_sym_unsigned] = ACTIONS(2243), + [anon_sym_long] = ACTIONS(2243), + [anon_sym_short] = ACTIONS(2243), + [sym_primitive_type] = ACTIONS(2243), + [anon_sym_enum] = ACTIONS(2243), + [anon_sym_class] = ACTIONS(2243), + [anon_sym_struct] = ACTIONS(2243), + [anon_sym_union] = ACTIONS(2243), + [anon_sym_if] = ACTIONS(2243), + [anon_sym_switch] = ACTIONS(2243), + [anon_sym_case] = ACTIONS(2243), + [anon_sym_default] = ACTIONS(2243), + [anon_sym_while] = ACTIONS(2243), + [anon_sym_do] = ACTIONS(2243), + [anon_sym_for] = ACTIONS(2243), + [anon_sym_return] = ACTIONS(2243), + [anon_sym_break] = ACTIONS(2243), + [anon_sym_continue] = ACTIONS(2243), + [anon_sym_goto] = ACTIONS(2243), + [anon_sym_DASH_DASH] = ACTIONS(2245), + [anon_sym_PLUS_PLUS] = ACTIONS(2245), + [anon_sym_sizeof] = ACTIONS(2243), + [sym_number_literal] = ACTIONS(2245), + [anon_sym_L_SQUOTE] = ACTIONS(2245), + [anon_sym_u_SQUOTE] = ACTIONS(2245), + [anon_sym_U_SQUOTE] = ACTIONS(2245), + [anon_sym_u8_SQUOTE] = ACTIONS(2245), + [anon_sym_SQUOTE] = ACTIONS(2245), + [anon_sym_L_DQUOTE] = ACTIONS(2245), + [anon_sym_u_DQUOTE] = ACTIONS(2245), + [anon_sym_U_DQUOTE] = ACTIONS(2245), + [anon_sym_u8_DQUOTE] = ACTIONS(2245), + [anon_sym_DQUOTE] = ACTIONS(2245), + [sym_true] = ACTIONS(2243), + [sym_false] = ACTIONS(2243), + [sym_null] = ACTIONS(2243), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2243), + [anon_sym_decltype] = ACTIONS(2243), + [anon_sym_virtual] = ACTIONS(2243), + [anon_sym_explicit] = ACTIONS(2243), + [anon_sym_typename] = ACTIONS(2243), + [anon_sym_template] = ACTIONS(2243), + [anon_sym_operator] = ACTIONS(2243), + [anon_sym_delete] = ACTIONS(2243), + [anon_sym_throw] = ACTIONS(2243), + [anon_sym_namespace] = ACTIONS(2243), + [anon_sym_using] = ACTIONS(2243), + [anon_sym_static_assert] = ACTIONS(2243), + [anon_sym_concept] = ACTIONS(2243), + [anon_sym_co_return] = ACTIONS(2243), + [anon_sym_co_yield] = ACTIONS(2243), + [anon_sym_try] = ACTIONS(2243), + [anon_sym_co_await] = ACTIONS(2243), + [anon_sym_new] = ACTIONS(2243), + [anon_sym_requires] = ACTIONS(2243), + [sym_this] = ACTIONS(2243), + [sym_nullptr] = ACTIONS(2243), + [sym_raw_string_literal] = ACTIONS(2245), + }, + [781] = { + [ts_builtin_sym_end] = ACTIONS(2237), + [sym_identifier] = ACTIONS(2235), + [aux_sym_preproc_include_token1] = ACTIONS(2235), + [aux_sym_preproc_def_token1] = ACTIONS(2235), + [aux_sym_preproc_if_token1] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2235), + [sym_preproc_directive] = ACTIONS(2235), + [anon_sym_LPAREN2] = ACTIONS(2237), + [anon_sym_BANG] = ACTIONS(2237), + [anon_sym_TILDE] = ACTIONS(2237), + [anon_sym_DASH] = ACTIONS(2235), + [anon_sym_PLUS] = ACTIONS(2235), + [anon_sym_STAR] = ACTIONS(2237), + [anon_sym_AMP_AMP] = ACTIONS(2237), + [anon_sym_AMP] = ACTIONS(2235), + [anon_sym_SEMI] = ACTIONS(2237), + [anon_sym_typedef] = ACTIONS(2235), + [anon_sym_extern] = ACTIONS(2235), + [anon_sym___attribute__] = ACTIONS(2235), + [anon_sym_COLON_COLON] = ACTIONS(2237), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2237), + [anon_sym___declspec] = ACTIONS(2235), + [anon_sym___based] = ACTIONS(2235), + [anon_sym___cdecl] = ACTIONS(2235), + [anon_sym___clrcall] = ACTIONS(2235), + [anon_sym___stdcall] = ACTIONS(2235), + [anon_sym___fastcall] = ACTIONS(2235), + [anon_sym___thiscall] = ACTIONS(2235), + [anon_sym___vectorcall] = ACTIONS(2235), + [anon_sym_LBRACE] = ACTIONS(2237), + [anon_sym_LBRACK] = ACTIONS(2235), + [anon_sym_static] = ACTIONS(2235), + [anon_sym_register] = ACTIONS(2235), + [anon_sym_inline] = ACTIONS(2235), + [anon_sym_thread_local] = ACTIONS(2235), + [anon_sym_const] = ACTIONS(2235), + [anon_sym_volatile] = ACTIONS(2235), + [anon_sym_restrict] = ACTIONS(2235), + [anon_sym__Atomic] = ACTIONS(2235), + [anon_sym_mutable] = ACTIONS(2235), + [anon_sym_constexpr] = ACTIONS(2235), + [anon_sym_constinit] = ACTIONS(2235), + [anon_sym_consteval] = ACTIONS(2235), + [anon_sym_signed] = ACTIONS(2235), + [anon_sym_unsigned] = ACTIONS(2235), + [anon_sym_long] = ACTIONS(2235), + [anon_sym_short] = ACTIONS(2235), + [sym_primitive_type] = ACTIONS(2235), + [anon_sym_enum] = ACTIONS(2235), + [anon_sym_class] = ACTIONS(2235), + [anon_sym_struct] = ACTIONS(2235), + [anon_sym_union] = ACTIONS(2235), + [anon_sym_if] = ACTIONS(2235), + [anon_sym_switch] = ACTIONS(2235), + [anon_sym_case] = ACTIONS(2235), + [anon_sym_default] = ACTIONS(2235), + [anon_sym_while] = ACTIONS(2235), + [anon_sym_do] = ACTIONS(2235), + [anon_sym_for] = ACTIONS(2235), + [anon_sym_return] = ACTIONS(2235), + [anon_sym_break] = ACTIONS(2235), + [anon_sym_continue] = ACTIONS(2235), + [anon_sym_goto] = ACTIONS(2235), + [anon_sym_DASH_DASH] = ACTIONS(2237), + [anon_sym_PLUS_PLUS] = ACTIONS(2237), + [anon_sym_sizeof] = ACTIONS(2235), + [sym_number_literal] = ACTIONS(2237), + [anon_sym_L_SQUOTE] = ACTIONS(2237), + [anon_sym_u_SQUOTE] = ACTIONS(2237), + [anon_sym_U_SQUOTE] = ACTIONS(2237), + [anon_sym_u8_SQUOTE] = ACTIONS(2237), + [anon_sym_SQUOTE] = ACTIONS(2237), + [anon_sym_L_DQUOTE] = ACTIONS(2237), + [anon_sym_u_DQUOTE] = ACTIONS(2237), + [anon_sym_U_DQUOTE] = ACTIONS(2237), + [anon_sym_u8_DQUOTE] = ACTIONS(2237), + [anon_sym_DQUOTE] = ACTIONS(2237), + [sym_true] = ACTIONS(2235), + [sym_false] = ACTIONS(2235), + [sym_null] = ACTIONS(2235), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2235), + [anon_sym_decltype] = ACTIONS(2235), + [anon_sym_virtual] = ACTIONS(2235), + [anon_sym_explicit] = ACTIONS(2235), + [anon_sym_typename] = ACTIONS(2235), + [anon_sym_template] = ACTIONS(2235), + [anon_sym_operator] = ACTIONS(2235), + [anon_sym_delete] = ACTIONS(2235), + [anon_sym_throw] = ACTIONS(2235), + [anon_sym_namespace] = ACTIONS(2235), + [anon_sym_using] = ACTIONS(2235), + [anon_sym_static_assert] = ACTIONS(2235), + [anon_sym_concept] = ACTIONS(2235), + [anon_sym_co_return] = ACTIONS(2235), + [anon_sym_co_yield] = ACTIONS(2235), + [anon_sym_try] = ACTIONS(2235), + [anon_sym_co_await] = ACTIONS(2235), + [anon_sym_new] = ACTIONS(2235), + [anon_sym_requires] = ACTIONS(2235), + [sym_this] = ACTIONS(2235), + [sym_nullptr] = ACTIONS(2235), + [sym_raw_string_literal] = ACTIONS(2237), + }, + [782] = { + [sym_identifier] = ACTIONS(2307), + [aux_sym_preproc_include_token1] = ACTIONS(2307), + [aux_sym_preproc_def_token1] = ACTIONS(2307), + [aux_sym_preproc_if_token1] = ACTIONS(2307), + [aux_sym_preproc_if_token2] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2307), + [sym_preproc_directive] = ACTIONS(2307), + [anon_sym_LPAREN2] = ACTIONS(2309), + [anon_sym_BANG] = ACTIONS(2309), + [anon_sym_TILDE] = ACTIONS(2309), + [anon_sym_DASH] = ACTIONS(2307), + [anon_sym_PLUS] = ACTIONS(2307), + [anon_sym_STAR] = ACTIONS(2309), + [anon_sym_AMP_AMP] = ACTIONS(2309), + [anon_sym_AMP] = ACTIONS(2307), + [anon_sym_SEMI] = ACTIONS(2309), + [anon_sym_typedef] = ACTIONS(2307), + [anon_sym_extern] = ACTIONS(2307), + [anon_sym___attribute__] = ACTIONS(2307), + [anon_sym_COLON_COLON] = ACTIONS(2309), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2309), + [anon_sym___declspec] = ACTIONS(2307), + [anon_sym___based] = ACTIONS(2307), + [anon_sym___cdecl] = ACTIONS(2307), + [anon_sym___clrcall] = ACTIONS(2307), + [anon_sym___stdcall] = ACTIONS(2307), + [anon_sym___fastcall] = ACTIONS(2307), + [anon_sym___thiscall] = ACTIONS(2307), + [anon_sym___vectorcall] = ACTIONS(2307), + [anon_sym_LBRACE] = ACTIONS(2309), + [anon_sym_LBRACK] = ACTIONS(2307), + [anon_sym_static] = ACTIONS(2307), + [anon_sym_register] = ACTIONS(2307), + [anon_sym_inline] = ACTIONS(2307), + [anon_sym_thread_local] = ACTIONS(2307), + [anon_sym_const] = ACTIONS(2307), + [anon_sym_volatile] = ACTIONS(2307), + [anon_sym_restrict] = ACTIONS(2307), + [anon_sym__Atomic] = ACTIONS(2307), + [anon_sym_mutable] = ACTIONS(2307), + [anon_sym_constexpr] = ACTIONS(2307), + [anon_sym_constinit] = ACTIONS(2307), + [anon_sym_consteval] = ACTIONS(2307), + [anon_sym_signed] = ACTIONS(2307), + [anon_sym_unsigned] = ACTIONS(2307), + [anon_sym_long] = ACTIONS(2307), + [anon_sym_short] = ACTIONS(2307), + [sym_primitive_type] = ACTIONS(2307), + [anon_sym_enum] = ACTIONS(2307), + [anon_sym_class] = ACTIONS(2307), + [anon_sym_struct] = ACTIONS(2307), + [anon_sym_union] = ACTIONS(2307), + [anon_sym_if] = ACTIONS(2307), + [anon_sym_switch] = ACTIONS(2307), + [anon_sym_case] = ACTIONS(2307), + [anon_sym_default] = ACTIONS(2307), + [anon_sym_while] = ACTIONS(2307), + [anon_sym_do] = ACTIONS(2307), + [anon_sym_for] = ACTIONS(2307), + [anon_sym_return] = ACTIONS(2307), + [anon_sym_break] = ACTIONS(2307), + [anon_sym_continue] = ACTIONS(2307), + [anon_sym_goto] = ACTIONS(2307), + [anon_sym_DASH_DASH] = ACTIONS(2309), + [anon_sym_PLUS_PLUS] = ACTIONS(2309), + [anon_sym_sizeof] = ACTIONS(2307), + [sym_number_literal] = ACTIONS(2309), + [anon_sym_L_SQUOTE] = ACTIONS(2309), + [anon_sym_u_SQUOTE] = ACTIONS(2309), + [anon_sym_U_SQUOTE] = ACTIONS(2309), + [anon_sym_u8_SQUOTE] = ACTIONS(2309), + [anon_sym_SQUOTE] = ACTIONS(2309), + [anon_sym_L_DQUOTE] = ACTIONS(2309), + [anon_sym_u_DQUOTE] = ACTIONS(2309), + [anon_sym_U_DQUOTE] = ACTIONS(2309), + [anon_sym_u8_DQUOTE] = ACTIONS(2309), + [anon_sym_DQUOTE] = ACTIONS(2309), + [sym_true] = ACTIONS(2307), + [sym_false] = ACTIONS(2307), + [sym_null] = ACTIONS(2307), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2307), + [anon_sym_decltype] = ACTIONS(2307), + [anon_sym_virtual] = ACTIONS(2307), + [anon_sym_explicit] = ACTIONS(2307), + [anon_sym_typename] = ACTIONS(2307), + [anon_sym_template] = ACTIONS(2307), + [anon_sym_operator] = ACTIONS(2307), + [anon_sym_delete] = ACTIONS(2307), + [anon_sym_throw] = ACTIONS(2307), + [anon_sym_namespace] = ACTIONS(2307), + [anon_sym_using] = ACTIONS(2307), + [anon_sym_static_assert] = ACTIONS(2307), + [anon_sym_concept] = ACTIONS(2307), + [anon_sym_co_return] = ACTIONS(2307), + [anon_sym_co_yield] = ACTIONS(2307), + [anon_sym_try] = ACTIONS(2307), + [anon_sym_co_await] = ACTIONS(2307), + [anon_sym_new] = ACTIONS(2307), + [anon_sym_requires] = ACTIONS(2307), + [sym_this] = ACTIONS(2307), + [sym_nullptr] = ACTIONS(2307), + [sym_raw_string_literal] = ACTIONS(2309), + }, + [783] = { + [sym_identifier] = ACTIONS(2407), + [aux_sym_preproc_include_token1] = ACTIONS(2407), + [aux_sym_preproc_def_token1] = ACTIONS(2407), + [aux_sym_preproc_if_token1] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2407), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2407), + [sym_preproc_directive] = ACTIONS(2407), + [anon_sym_LPAREN2] = ACTIONS(2409), + [anon_sym_BANG] = ACTIONS(2409), + [anon_sym_TILDE] = ACTIONS(2409), + [anon_sym_DASH] = ACTIONS(2407), + [anon_sym_PLUS] = ACTIONS(2407), + [anon_sym_STAR] = ACTIONS(2409), + [anon_sym_AMP_AMP] = ACTIONS(2409), + [anon_sym_AMP] = ACTIONS(2407), + [anon_sym_SEMI] = ACTIONS(2409), + [anon_sym_typedef] = ACTIONS(2407), + [anon_sym_extern] = ACTIONS(2407), + [anon_sym___attribute__] = ACTIONS(2407), + [anon_sym_COLON_COLON] = ACTIONS(2409), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2409), + [anon_sym___declspec] = ACTIONS(2407), + [anon_sym___based] = ACTIONS(2407), + [anon_sym___cdecl] = ACTIONS(2407), + [anon_sym___clrcall] = ACTIONS(2407), + [anon_sym___stdcall] = ACTIONS(2407), + [anon_sym___fastcall] = ACTIONS(2407), + [anon_sym___thiscall] = ACTIONS(2407), + [anon_sym___vectorcall] = ACTIONS(2407), + [anon_sym_LBRACE] = ACTIONS(2409), + [anon_sym_RBRACE] = ACTIONS(2409), + [anon_sym_LBRACK] = ACTIONS(2407), + [anon_sym_static] = ACTIONS(2407), + [anon_sym_register] = ACTIONS(2407), + [anon_sym_inline] = ACTIONS(2407), + [anon_sym_thread_local] = ACTIONS(2407), + [anon_sym_const] = ACTIONS(2407), + [anon_sym_volatile] = ACTIONS(2407), + [anon_sym_restrict] = ACTIONS(2407), + [anon_sym__Atomic] = ACTIONS(2407), + [anon_sym_mutable] = ACTIONS(2407), + [anon_sym_constexpr] = ACTIONS(2407), + [anon_sym_constinit] = ACTIONS(2407), + [anon_sym_consteval] = ACTIONS(2407), + [anon_sym_signed] = ACTIONS(2407), + [anon_sym_unsigned] = ACTIONS(2407), + [anon_sym_long] = ACTIONS(2407), + [anon_sym_short] = ACTIONS(2407), + [sym_primitive_type] = ACTIONS(2407), + [anon_sym_enum] = ACTIONS(2407), + [anon_sym_class] = ACTIONS(2407), + [anon_sym_struct] = ACTIONS(2407), + [anon_sym_union] = ACTIONS(2407), + [anon_sym_if] = ACTIONS(2407), + [anon_sym_switch] = ACTIONS(2407), + [anon_sym_case] = ACTIONS(2407), + [anon_sym_default] = ACTIONS(2407), + [anon_sym_while] = ACTIONS(2407), + [anon_sym_do] = ACTIONS(2407), + [anon_sym_for] = ACTIONS(2407), + [anon_sym_return] = ACTIONS(2407), + [anon_sym_break] = ACTIONS(2407), + [anon_sym_continue] = ACTIONS(2407), + [anon_sym_goto] = ACTIONS(2407), + [anon_sym_DASH_DASH] = ACTIONS(2409), + [anon_sym_PLUS_PLUS] = ACTIONS(2409), + [anon_sym_sizeof] = ACTIONS(2407), + [sym_number_literal] = ACTIONS(2409), + [anon_sym_L_SQUOTE] = ACTIONS(2409), + [anon_sym_u_SQUOTE] = ACTIONS(2409), + [anon_sym_U_SQUOTE] = ACTIONS(2409), + [anon_sym_u8_SQUOTE] = ACTIONS(2409), + [anon_sym_SQUOTE] = ACTIONS(2409), + [anon_sym_L_DQUOTE] = ACTIONS(2409), + [anon_sym_u_DQUOTE] = ACTIONS(2409), + [anon_sym_U_DQUOTE] = ACTIONS(2409), + [anon_sym_u8_DQUOTE] = ACTIONS(2409), + [anon_sym_DQUOTE] = ACTIONS(2409), + [sym_true] = ACTIONS(2407), + [sym_false] = ACTIONS(2407), + [sym_null] = ACTIONS(2407), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2407), + [anon_sym_decltype] = ACTIONS(2407), + [anon_sym_virtual] = ACTIONS(2407), + [anon_sym_explicit] = ACTIONS(2407), + [anon_sym_typename] = ACTIONS(2407), + [anon_sym_template] = ACTIONS(2407), + [anon_sym_operator] = ACTIONS(2407), + [anon_sym_delete] = ACTIONS(2407), + [anon_sym_throw] = ACTIONS(2407), + [anon_sym_namespace] = ACTIONS(2407), + [anon_sym_using] = ACTIONS(2407), + [anon_sym_static_assert] = ACTIONS(2407), + [anon_sym_concept] = ACTIONS(2407), + [anon_sym_co_return] = ACTIONS(2407), + [anon_sym_co_yield] = ACTIONS(2407), + [anon_sym_try] = ACTIONS(2407), + [anon_sym_co_await] = ACTIONS(2407), + [anon_sym_new] = ACTIONS(2407), + [anon_sym_requires] = ACTIONS(2407), + [sym_this] = ACTIONS(2407), + [sym_nullptr] = ACTIONS(2407), + [sym_raw_string_literal] = ACTIONS(2409), + }, + [784] = { + [sym_identifier] = ACTIONS(2375), + [aux_sym_preproc_include_token1] = ACTIONS(2375), + [aux_sym_preproc_def_token1] = ACTIONS(2375), + [aux_sym_preproc_if_token1] = ACTIONS(2375), + [aux_sym_preproc_if_token2] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2375), + [sym_preproc_directive] = ACTIONS(2375), + [anon_sym_LPAREN2] = ACTIONS(2377), + [anon_sym_BANG] = ACTIONS(2377), + [anon_sym_TILDE] = ACTIONS(2377), + [anon_sym_DASH] = ACTIONS(2375), + [anon_sym_PLUS] = ACTIONS(2375), + [anon_sym_STAR] = ACTIONS(2377), + [anon_sym_AMP_AMP] = ACTIONS(2377), + [anon_sym_AMP] = ACTIONS(2375), + [anon_sym_SEMI] = ACTIONS(2377), + [anon_sym_typedef] = ACTIONS(2375), + [anon_sym_extern] = ACTIONS(2375), + [anon_sym___attribute__] = ACTIONS(2375), + [anon_sym_COLON_COLON] = ACTIONS(2377), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2377), + [anon_sym___declspec] = ACTIONS(2375), + [anon_sym___based] = ACTIONS(2375), + [anon_sym___cdecl] = ACTIONS(2375), + [anon_sym___clrcall] = ACTIONS(2375), + [anon_sym___stdcall] = ACTIONS(2375), + [anon_sym___fastcall] = ACTIONS(2375), + [anon_sym___thiscall] = ACTIONS(2375), + [anon_sym___vectorcall] = ACTIONS(2375), + [anon_sym_LBRACE] = ACTIONS(2377), + [anon_sym_LBRACK] = ACTIONS(2375), + [anon_sym_static] = ACTIONS(2375), + [anon_sym_register] = ACTIONS(2375), + [anon_sym_inline] = ACTIONS(2375), + [anon_sym_thread_local] = ACTIONS(2375), + [anon_sym_const] = ACTIONS(2375), + [anon_sym_volatile] = ACTIONS(2375), + [anon_sym_restrict] = ACTIONS(2375), + [anon_sym__Atomic] = ACTIONS(2375), + [anon_sym_mutable] = ACTIONS(2375), + [anon_sym_constexpr] = ACTIONS(2375), + [anon_sym_constinit] = ACTIONS(2375), + [anon_sym_consteval] = ACTIONS(2375), + [anon_sym_signed] = ACTIONS(2375), + [anon_sym_unsigned] = ACTIONS(2375), + [anon_sym_long] = ACTIONS(2375), + [anon_sym_short] = ACTIONS(2375), + [sym_primitive_type] = ACTIONS(2375), + [anon_sym_enum] = ACTIONS(2375), + [anon_sym_class] = ACTIONS(2375), + [anon_sym_struct] = ACTIONS(2375), + [anon_sym_union] = ACTIONS(2375), + [anon_sym_if] = ACTIONS(2375), + [anon_sym_switch] = ACTIONS(2375), + [anon_sym_case] = ACTIONS(2375), + [anon_sym_default] = ACTIONS(2375), + [anon_sym_while] = ACTIONS(2375), + [anon_sym_do] = ACTIONS(2375), + [anon_sym_for] = ACTIONS(2375), + [anon_sym_return] = ACTIONS(2375), + [anon_sym_break] = ACTIONS(2375), + [anon_sym_continue] = ACTIONS(2375), + [anon_sym_goto] = ACTIONS(2375), + [anon_sym_DASH_DASH] = ACTIONS(2377), + [anon_sym_PLUS_PLUS] = ACTIONS(2377), + [anon_sym_sizeof] = ACTIONS(2375), + [sym_number_literal] = ACTIONS(2377), + [anon_sym_L_SQUOTE] = ACTIONS(2377), + [anon_sym_u_SQUOTE] = ACTIONS(2377), + [anon_sym_U_SQUOTE] = ACTIONS(2377), + [anon_sym_u8_SQUOTE] = ACTIONS(2377), + [anon_sym_SQUOTE] = ACTIONS(2377), + [anon_sym_L_DQUOTE] = ACTIONS(2377), + [anon_sym_u_DQUOTE] = ACTIONS(2377), + [anon_sym_U_DQUOTE] = ACTIONS(2377), + [anon_sym_u8_DQUOTE] = ACTIONS(2377), + [anon_sym_DQUOTE] = ACTIONS(2377), + [sym_true] = ACTIONS(2375), + [sym_false] = ACTIONS(2375), + [sym_null] = ACTIONS(2375), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2375), + [anon_sym_decltype] = ACTIONS(2375), + [anon_sym_virtual] = ACTIONS(2375), + [anon_sym_explicit] = ACTIONS(2375), + [anon_sym_typename] = ACTIONS(2375), + [anon_sym_template] = ACTIONS(2375), + [anon_sym_operator] = ACTIONS(2375), + [anon_sym_delete] = ACTIONS(2375), + [anon_sym_throw] = ACTIONS(2375), + [anon_sym_namespace] = ACTIONS(2375), + [anon_sym_using] = ACTIONS(2375), + [anon_sym_static_assert] = ACTIONS(2375), + [anon_sym_concept] = ACTIONS(2375), + [anon_sym_co_return] = ACTIONS(2375), + [anon_sym_co_yield] = ACTIONS(2375), + [anon_sym_try] = ACTIONS(2375), + [anon_sym_co_await] = ACTIONS(2375), + [anon_sym_new] = ACTIONS(2375), + [anon_sym_requires] = ACTIONS(2375), + [sym_this] = ACTIONS(2375), + [sym_nullptr] = ACTIONS(2375), + [sym_raw_string_literal] = ACTIONS(2377), + }, + [785] = { + [sym_identifier] = ACTIONS(2303), + [aux_sym_preproc_include_token1] = ACTIONS(2303), + [aux_sym_preproc_def_token1] = ACTIONS(2303), + [aux_sym_preproc_if_token1] = ACTIONS(2303), + [aux_sym_preproc_if_token2] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2303), + [sym_preproc_directive] = ACTIONS(2303), + [anon_sym_LPAREN2] = ACTIONS(2305), + [anon_sym_BANG] = ACTIONS(2305), + [anon_sym_TILDE] = ACTIONS(2305), + [anon_sym_DASH] = ACTIONS(2303), + [anon_sym_PLUS] = ACTIONS(2303), + [anon_sym_STAR] = ACTIONS(2305), + [anon_sym_AMP_AMP] = ACTIONS(2305), + [anon_sym_AMP] = ACTIONS(2303), + [anon_sym_SEMI] = ACTIONS(2305), + [anon_sym_typedef] = ACTIONS(2303), + [anon_sym_extern] = ACTIONS(2303), + [anon_sym___attribute__] = ACTIONS(2303), + [anon_sym_COLON_COLON] = ACTIONS(2305), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2305), + [anon_sym___declspec] = ACTIONS(2303), + [anon_sym___based] = ACTIONS(2303), + [anon_sym___cdecl] = ACTIONS(2303), + [anon_sym___clrcall] = ACTIONS(2303), + [anon_sym___stdcall] = ACTIONS(2303), + [anon_sym___fastcall] = ACTIONS(2303), + [anon_sym___thiscall] = ACTIONS(2303), + [anon_sym___vectorcall] = ACTIONS(2303), + [anon_sym_LBRACE] = ACTIONS(2305), + [anon_sym_LBRACK] = ACTIONS(2303), + [anon_sym_static] = ACTIONS(2303), + [anon_sym_register] = ACTIONS(2303), + [anon_sym_inline] = ACTIONS(2303), + [anon_sym_thread_local] = ACTIONS(2303), + [anon_sym_const] = ACTIONS(2303), + [anon_sym_volatile] = ACTIONS(2303), + [anon_sym_restrict] = ACTIONS(2303), + [anon_sym__Atomic] = ACTIONS(2303), + [anon_sym_mutable] = ACTIONS(2303), + [anon_sym_constexpr] = ACTIONS(2303), + [anon_sym_constinit] = ACTIONS(2303), + [anon_sym_consteval] = ACTIONS(2303), + [anon_sym_signed] = ACTIONS(2303), + [anon_sym_unsigned] = ACTIONS(2303), + [anon_sym_long] = ACTIONS(2303), + [anon_sym_short] = ACTIONS(2303), + [sym_primitive_type] = ACTIONS(2303), + [anon_sym_enum] = ACTIONS(2303), + [anon_sym_class] = ACTIONS(2303), + [anon_sym_struct] = ACTIONS(2303), + [anon_sym_union] = ACTIONS(2303), + [anon_sym_if] = ACTIONS(2303), + [anon_sym_switch] = ACTIONS(2303), + [anon_sym_case] = ACTIONS(2303), + [anon_sym_default] = ACTIONS(2303), + [anon_sym_while] = ACTIONS(2303), + [anon_sym_do] = ACTIONS(2303), + [anon_sym_for] = ACTIONS(2303), + [anon_sym_return] = ACTIONS(2303), + [anon_sym_break] = ACTIONS(2303), + [anon_sym_continue] = ACTIONS(2303), + [anon_sym_goto] = ACTIONS(2303), + [anon_sym_DASH_DASH] = ACTIONS(2305), + [anon_sym_PLUS_PLUS] = ACTIONS(2305), + [anon_sym_sizeof] = ACTIONS(2303), + [sym_number_literal] = ACTIONS(2305), + [anon_sym_L_SQUOTE] = ACTIONS(2305), + [anon_sym_u_SQUOTE] = ACTIONS(2305), + [anon_sym_U_SQUOTE] = ACTIONS(2305), + [anon_sym_u8_SQUOTE] = ACTIONS(2305), + [anon_sym_SQUOTE] = ACTIONS(2305), + [anon_sym_L_DQUOTE] = ACTIONS(2305), + [anon_sym_u_DQUOTE] = ACTIONS(2305), + [anon_sym_U_DQUOTE] = ACTIONS(2305), + [anon_sym_u8_DQUOTE] = ACTIONS(2305), + [anon_sym_DQUOTE] = ACTIONS(2305), + [sym_true] = ACTIONS(2303), + [sym_false] = ACTIONS(2303), + [sym_null] = ACTIONS(2303), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2303), + [anon_sym_decltype] = ACTIONS(2303), + [anon_sym_virtual] = ACTIONS(2303), + [anon_sym_explicit] = ACTIONS(2303), + [anon_sym_typename] = ACTIONS(2303), + [anon_sym_template] = ACTIONS(2303), + [anon_sym_operator] = ACTIONS(2303), + [anon_sym_delete] = ACTIONS(2303), + [anon_sym_throw] = ACTIONS(2303), + [anon_sym_namespace] = ACTIONS(2303), + [anon_sym_using] = ACTIONS(2303), + [anon_sym_static_assert] = ACTIONS(2303), + [anon_sym_concept] = ACTIONS(2303), + [anon_sym_co_return] = ACTIONS(2303), + [anon_sym_co_yield] = ACTIONS(2303), + [anon_sym_try] = ACTIONS(2303), + [anon_sym_co_await] = ACTIONS(2303), + [anon_sym_new] = ACTIONS(2303), + [anon_sym_requires] = ACTIONS(2303), + [sym_this] = ACTIONS(2303), + [sym_nullptr] = ACTIONS(2303), + [sym_raw_string_literal] = ACTIONS(2305), + }, + [786] = { + [ts_builtin_sym_end] = ACTIONS(2337), + [sym_identifier] = ACTIONS(2335), + [aux_sym_preproc_include_token1] = ACTIONS(2335), + [aux_sym_preproc_def_token1] = ACTIONS(2335), + [aux_sym_preproc_if_token1] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2335), + [sym_preproc_directive] = ACTIONS(2335), + [anon_sym_LPAREN2] = ACTIONS(2337), + [anon_sym_BANG] = ACTIONS(2337), + [anon_sym_TILDE] = ACTIONS(2337), + [anon_sym_DASH] = ACTIONS(2335), + [anon_sym_PLUS] = ACTIONS(2335), + [anon_sym_STAR] = ACTIONS(2337), + [anon_sym_AMP_AMP] = ACTIONS(2337), + [anon_sym_AMP] = ACTIONS(2335), + [anon_sym_SEMI] = ACTIONS(2337), + [anon_sym_typedef] = ACTIONS(2335), + [anon_sym_extern] = ACTIONS(2335), + [anon_sym___attribute__] = ACTIONS(2335), + [anon_sym_COLON_COLON] = ACTIONS(2337), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2337), + [anon_sym___declspec] = ACTIONS(2335), + [anon_sym___based] = ACTIONS(2335), + [anon_sym___cdecl] = ACTIONS(2335), + [anon_sym___clrcall] = ACTIONS(2335), + [anon_sym___stdcall] = ACTIONS(2335), + [anon_sym___fastcall] = ACTIONS(2335), + [anon_sym___thiscall] = ACTIONS(2335), + [anon_sym___vectorcall] = ACTIONS(2335), + [anon_sym_LBRACE] = ACTIONS(2337), + [anon_sym_LBRACK] = ACTIONS(2335), + [anon_sym_static] = ACTIONS(2335), + [anon_sym_register] = ACTIONS(2335), + [anon_sym_inline] = ACTIONS(2335), + [anon_sym_thread_local] = ACTIONS(2335), + [anon_sym_const] = ACTIONS(2335), + [anon_sym_volatile] = ACTIONS(2335), + [anon_sym_restrict] = ACTIONS(2335), + [anon_sym__Atomic] = ACTIONS(2335), + [anon_sym_mutable] = ACTIONS(2335), + [anon_sym_constexpr] = ACTIONS(2335), + [anon_sym_constinit] = ACTIONS(2335), + [anon_sym_consteval] = ACTIONS(2335), + [anon_sym_signed] = ACTIONS(2335), + [anon_sym_unsigned] = ACTIONS(2335), + [anon_sym_long] = ACTIONS(2335), + [anon_sym_short] = ACTIONS(2335), + [sym_primitive_type] = ACTIONS(2335), + [anon_sym_enum] = ACTIONS(2335), + [anon_sym_class] = ACTIONS(2335), + [anon_sym_struct] = ACTIONS(2335), + [anon_sym_union] = ACTIONS(2335), + [anon_sym_if] = ACTIONS(2335), + [anon_sym_switch] = ACTIONS(2335), + [anon_sym_case] = ACTIONS(2335), + [anon_sym_default] = ACTIONS(2335), + [anon_sym_while] = ACTIONS(2335), + [anon_sym_do] = ACTIONS(2335), + [anon_sym_for] = ACTIONS(2335), + [anon_sym_return] = ACTIONS(2335), + [anon_sym_break] = ACTIONS(2335), + [anon_sym_continue] = ACTIONS(2335), + [anon_sym_goto] = ACTIONS(2335), + [anon_sym_DASH_DASH] = ACTIONS(2337), + [anon_sym_PLUS_PLUS] = ACTIONS(2337), + [anon_sym_sizeof] = ACTIONS(2335), + [sym_number_literal] = ACTIONS(2337), + [anon_sym_L_SQUOTE] = ACTIONS(2337), + [anon_sym_u_SQUOTE] = ACTIONS(2337), + [anon_sym_U_SQUOTE] = ACTIONS(2337), + [anon_sym_u8_SQUOTE] = ACTIONS(2337), + [anon_sym_SQUOTE] = ACTIONS(2337), + [anon_sym_L_DQUOTE] = ACTIONS(2337), + [anon_sym_u_DQUOTE] = ACTIONS(2337), + [anon_sym_U_DQUOTE] = ACTIONS(2337), + [anon_sym_u8_DQUOTE] = ACTIONS(2337), + [anon_sym_DQUOTE] = ACTIONS(2337), + [sym_true] = ACTIONS(2335), + [sym_false] = ACTIONS(2335), + [sym_null] = ACTIONS(2335), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2335), + [anon_sym_decltype] = ACTIONS(2335), + [anon_sym_virtual] = ACTIONS(2335), + [anon_sym_explicit] = ACTIONS(2335), + [anon_sym_typename] = ACTIONS(2335), + [anon_sym_template] = ACTIONS(2335), + [anon_sym_operator] = ACTIONS(2335), + [anon_sym_delete] = ACTIONS(2335), + [anon_sym_throw] = ACTIONS(2335), + [anon_sym_namespace] = ACTIONS(2335), + [anon_sym_using] = ACTIONS(2335), + [anon_sym_static_assert] = ACTIONS(2335), + [anon_sym_concept] = ACTIONS(2335), + [anon_sym_co_return] = ACTIONS(2335), + [anon_sym_co_yield] = ACTIONS(2335), + [anon_sym_try] = ACTIONS(2335), + [anon_sym_co_await] = ACTIONS(2335), + [anon_sym_new] = ACTIONS(2335), + [anon_sym_requires] = ACTIONS(2335), + [sym_this] = ACTIONS(2335), + [sym_nullptr] = ACTIONS(2335), + [sym_raw_string_literal] = ACTIONS(2337), + }, + [787] = { + [sym_identifier] = ACTIONS(2299), + [aux_sym_preproc_include_token1] = ACTIONS(2299), + [aux_sym_preproc_def_token1] = ACTIONS(2299), + [aux_sym_preproc_if_token1] = ACTIONS(2299), + [aux_sym_preproc_if_token2] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2299), + [sym_preproc_directive] = ACTIONS(2299), + [anon_sym_LPAREN2] = ACTIONS(2301), + [anon_sym_BANG] = ACTIONS(2301), + [anon_sym_TILDE] = ACTIONS(2301), + [anon_sym_DASH] = ACTIONS(2299), + [anon_sym_PLUS] = ACTIONS(2299), + [anon_sym_STAR] = ACTIONS(2301), + [anon_sym_AMP_AMP] = ACTIONS(2301), + [anon_sym_AMP] = ACTIONS(2299), + [anon_sym_SEMI] = ACTIONS(2301), + [anon_sym_typedef] = ACTIONS(2299), + [anon_sym_extern] = ACTIONS(2299), + [anon_sym___attribute__] = ACTIONS(2299), + [anon_sym_COLON_COLON] = ACTIONS(2301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2301), + [anon_sym___declspec] = ACTIONS(2299), + [anon_sym___based] = ACTIONS(2299), + [anon_sym___cdecl] = ACTIONS(2299), + [anon_sym___clrcall] = ACTIONS(2299), + [anon_sym___stdcall] = ACTIONS(2299), + [anon_sym___fastcall] = ACTIONS(2299), + [anon_sym___thiscall] = ACTIONS(2299), + [anon_sym___vectorcall] = ACTIONS(2299), + [anon_sym_LBRACE] = ACTIONS(2301), + [anon_sym_LBRACK] = ACTIONS(2299), + [anon_sym_static] = ACTIONS(2299), + [anon_sym_register] = ACTIONS(2299), + [anon_sym_inline] = ACTIONS(2299), + [anon_sym_thread_local] = ACTIONS(2299), + [anon_sym_const] = ACTIONS(2299), + [anon_sym_volatile] = ACTIONS(2299), + [anon_sym_restrict] = ACTIONS(2299), + [anon_sym__Atomic] = ACTIONS(2299), + [anon_sym_mutable] = ACTIONS(2299), + [anon_sym_constexpr] = ACTIONS(2299), + [anon_sym_constinit] = ACTIONS(2299), + [anon_sym_consteval] = ACTIONS(2299), + [anon_sym_signed] = ACTIONS(2299), + [anon_sym_unsigned] = ACTIONS(2299), + [anon_sym_long] = ACTIONS(2299), + [anon_sym_short] = ACTIONS(2299), + [sym_primitive_type] = ACTIONS(2299), + [anon_sym_enum] = ACTIONS(2299), + [anon_sym_class] = ACTIONS(2299), + [anon_sym_struct] = ACTIONS(2299), + [anon_sym_union] = ACTIONS(2299), + [anon_sym_if] = ACTIONS(2299), + [anon_sym_switch] = ACTIONS(2299), + [anon_sym_case] = ACTIONS(2299), + [anon_sym_default] = ACTIONS(2299), + [anon_sym_while] = ACTIONS(2299), + [anon_sym_do] = ACTIONS(2299), + [anon_sym_for] = ACTIONS(2299), + [anon_sym_return] = ACTIONS(2299), + [anon_sym_break] = ACTIONS(2299), + [anon_sym_continue] = ACTIONS(2299), + [anon_sym_goto] = ACTIONS(2299), + [anon_sym_DASH_DASH] = ACTIONS(2301), + [anon_sym_PLUS_PLUS] = ACTIONS(2301), + [anon_sym_sizeof] = ACTIONS(2299), + [sym_number_literal] = ACTIONS(2301), + [anon_sym_L_SQUOTE] = ACTIONS(2301), + [anon_sym_u_SQUOTE] = ACTIONS(2301), + [anon_sym_U_SQUOTE] = ACTIONS(2301), + [anon_sym_u8_SQUOTE] = ACTIONS(2301), + [anon_sym_SQUOTE] = ACTIONS(2301), + [anon_sym_L_DQUOTE] = ACTIONS(2301), + [anon_sym_u_DQUOTE] = ACTIONS(2301), + [anon_sym_U_DQUOTE] = ACTIONS(2301), + [anon_sym_u8_DQUOTE] = ACTIONS(2301), + [anon_sym_DQUOTE] = ACTIONS(2301), + [sym_true] = ACTIONS(2299), + [sym_false] = ACTIONS(2299), + [sym_null] = ACTIONS(2299), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2299), + [anon_sym_decltype] = ACTIONS(2299), + [anon_sym_virtual] = ACTIONS(2299), + [anon_sym_explicit] = ACTIONS(2299), + [anon_sym_typename] = ACTIONS(2299), + [anon_sym_template] = ACTIONS(2299), + [anon_sym_operator] = ACTIONS(2299), + [anon_sym_delete] = ACTIONS(2299), + [anon_sym_throw] = ACTIONS(2299), + [anon_sym_namespace] = ACTIONS(2299), + [anon_sym_using] = ACTIONS(2299), + [anon_sym_static_assert] = ACTIONS(2299), + [anon_sym_concept] = ACTIONS(2299), + [anon_sym_co_return] = ACTIONS(2299), + [anon_sym_co_yield] = ACTIONS(2299), + [anon_sym_try] = ACTIONS(2299), + [anon_sym_co_await] = ACTIONS(2299), + [anon_sym_new] = ACTIONS(2299), + [anon_sym_requires] = ACTIONS(2299), + [sym_this] = ACTIONS(2299), + [sym_nullptr] = ACTIONS(2299), + [sym_raw_string_literal] = ACTIONS(2301), + }, + [788] = { + [ts_builtin_sym_end] = ACTIONS(2333), + [sym_identifier] = ACTIONS(2331), + [aux_sym_preproc_include_token1] = ACTIONS(2331), + [aux_sym_preproc_def_token1] = ACTIONS(2331), + [aux_sym_preproc_if_token1] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2331), + [sym_preproc_directive] = ACTIONS(2331), + [anon_sym_LPAREN2] = ACTIONS(2333), + [anon_sym_BANG] = ACTIONS(2333), + [anon_sym_TILDE] = ACTIONS(2333), + [anon_sym_DASH] = ACTIONS(2331), + [anon_sym_PLUS] = ACTIONS(2331), + [anon_sym_STAR] = ACTIONS(2333), + [anon_sym_AMP_AMP] = ACTIONS(2333), + [anon_sym_AMP] = ACTIONS(2331), + [anon_sym_SEMI] = ACTIONS(2333), + [anon_sym_typedef] = ACTIONS(2331), + [anon_sym_extern] = ACTIONS(2331), + [anon_sym___attribute__] = ACTIONS(2331), + [anon_sym_COLON_COLON] = ACTIONS(2333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2333), + [anon_sym___declspec] = ACTIONS(2331), + [anon_sym___based] = ACTIONS(2331), + [anon_sym___cdecl] = ACTIONS(2331), + [anon_sym___clrcall] = ACTIONS(2331), + [anon_sym___stdcall] = ACTIONS(2331), + [anon_sym___fastcall] = ACTIONS(2331), + [anon_sym___thiscall] = ACTIONS(2331), + [anon_sym___vectorcall] = ACTIONS(2331), + [anon_sym_LBRACE] = ACTIONS(2333), + [anon_sym_LBRACK] = ACTIONS(2331), + [anon_sym_static] = ACTIONS(2331), + [anon_sym_register] = ACTIONS(2331), + [anon_sym_inline] = ACTIONS(2331), + [anon_sym_thread_local] = ACTIONS(2331), + [anon_sym_const] = ACTIONS(2331), + [anon_sym_volatile] = ACTIONS(2331), + [anon_sym_restrict] = ACTIONS(2331), + [anon_sym__Atomic] = ACTIONS(2331), + [anon_sym_mutable] = ACTIONS(2331), + [anon_sym_constexpr] = ACTIONS(2331), + [anon_sym_constinit] = ACTIONS(2331), + [anon_sym_consteval] = ACTIONS(2331), + [anon_sym_signed] = ACTIONS(2331), + [anon_sym_unsigned] = ACTIONS(2331), + [anon_sym_long] = ACTIONS(2331), + [anon_sym_short] = ACTIONS(2331), + [sym_primitive_type] = ACTIONS(2331), + [anon_sym_enum] = ACTIONS(2331), + [anon_sym_class] = ACTIONS(2331), + [anon_sym_struct] = ACTIONS(2331), + [anon_sym_union] = ACTIONS(2331), + [anon_sym_if] = ACTIONS(2331), + [anon_sym_switch] = ACTIONS(2331), + [anon_sym_case] = ACTIONS(2331), + [anon_sym_default] = ACTIONS(2331), + [anon_sym_while] = ACTIONS(2331), + [anon_sym_do] = ACTIONS(2331), + [anon_sym_for] = ACTIONS(2331), + [anon_sym_return] = ACTIONS(2331), + [anon_sym_break] = ACTIONS(2331), + [anon_sym_continue] = ACTIONS(2331), + [anon_sym_goto] = ACTIONS(2331), + [anon_sym_DASH_DASH] = ACTIONS(2333), + [anon_sym_PLUS_PLUS] = ACTIONS(2333), + [anon_sym_sizeof] = ACTIONS(2331), + [sym_number_literal] = ACTIONS(2333), + [anon_sym_L_SQUOTE] = ACTIONS(2333), + [anon_sym_u_SQUOTE] = ACTIONS(2333), + [anon_sym_U_SQUOTE] = ACTIONS(2333), + [anon_sym_u8_SQUOTE] = ACTIONS(2333), + [anon_sym_SQUOTE] = ACTIONS(2333), + [anon_sym_L_DQUOTE] = ACTIONS(2333), + [anon_sym_u_DQUOTE] = ACTIONS(2333), + [anon_sym_U_DQUOTE] = ACTIONS(2333), + [anon_sym_u8_DQUOTE] = ACTIONS(2333), + [anon_sym_DQUOTE] = ACTIONS(2333), + [sym_true] = ACTIONS(2331), + [sym_false] = ACTIONS(2331), + [sym_null] = ACTIONS(2331), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2331), + [anon_sym_decltype] = ACTIONS(2331), + [anon_sym_virtual] = ACTIONS(2331), + [anon_sym_explicit] = ACTIONS(2331), + [anon_sym_typename] = ACTIONS(2331), + [anon_sym_template] = ACTIONS(2331), + [anon_sym_operator] = ACTIONS(2331), + [anon_sym_delete] = ACTIONS(2331), + [anon_sym_throw] = ACTIONS(2331), + [anon_sym_namespace] = ACTIONS(2331), + [anon_sym_using] = ACTIONS(2331), + [anon_sym_static_assert] = ACTIONS(2331), + [anon_sym_concept] = ACTIONS(2331), + [anon_sym_co_return] = ACTIONS(2331), + [anon_sym_co_yield] = ACTIONS(2331), + [anon_sym_try] = ACTIONS(2331), + [anon_sym_co_await] = ACTIONS(2331), + [anon_sym_new] = ACTIONS(2331), + [anon_sym_requires] = ACTIONS(2331), + [sym_this] = ACTIONS(2331), + [sym_nullptr] = ACTIONS(2331), + [sym_raw_string_literal] = ACTIONS(2333), + }, + [789] = { + [sym_identifier] = ACTIONS(2339), + [aux_sym_preproc_include_token1] = ACTIONS(2339), + [aux_sym_preproc_def_token1] = ACTIONS(2339), + [aux_sym_preproc_if_token1] = ACTIONS(2339), + [aux_sym_preproc_if_token2] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2339), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2339), + [sym_preproc_directive] = ACTIONS(2339), + [anon_sym_LPAREN2] = ACTIONS(2341), + [anon_sym_BANG] = ACTIONS(2341), + [anon_sym_TILDE] = ACTIONS(2341), + [anon_sym_DASH] = ACTIONS(2339), + [anon_sym_PLUS] = ACTIONS(2339), + [anon_sym_STAR] = ACTIONS(2341), + [anon_sym_AMP_AMP] = ACTIONS(2341), + [anon_sym_AMP] = ACTIONS(2339), + [anon_sym_SEMI] = ACTIONS(2341), + [anon_sym_typedef] = ACTIONS(2339), + [anon_sym_extern] = ACTIONS(2339), + [anon_sym___attribute__] = ACTIONS(2339), + [anon_sym_COLON_COLON] = ACTIONS(2341), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2341), + [anon_sym___declspec] = ACTIONS(2339), + [anon_sym___based] = ACTIONS(2339), + [anon_sym___cdecl] = ACTIONS(2339), + [anon_sym___clrcall] = ACTIONS(2339), + [anon_sym___stdcall] = ACTIONS(2339), + [anon_sym___fastcall] = ACTIONS(2339), + [anon_sym___thiscall] = ACTIONS(2339), + [anon_sym___vectorcall] = ACTIONS(2339), + [anon_sym_LBRACE] = ACTIONS(2341), + [anon_sym_LBRACK] = ACTIONS(2339), + [anon_sym_static] = ACTIONS(2339), + [anon_sym_register] = ACTIONS(2339), + [anon_sym_inline] = ACTIONS(2339), + [anon_sym_thread_local] = ACTIONS(2339), + [anon_sym_const] = ACTIONS(2339), + [anon_sym_volatile] = ACTIONS(2339), + [anon_sym_restrict] = ACTIONS(2339), + [anon_sym__Atomic] = ACTIONS(2339), + [anon_sym_mutable] = ACTIONS(2339), + [anon_sym_constexpr] = ACTIONS(2339), + [anon_sym_constinit] = ACTIONS(2339), + [anon_sym_consteval] = ACTIONS(2339), + [anon_sym_signed] = ACTIONS(2339), + [anon_sym_unsigned] = ACTIONS(2339), + [anon_sym_long] = ACTIONS(2339), + [anon_sym_short] = ACTIONS(2339), + [sym_primitive_type] = ACTIONS(2339), + [anon_sym_enum] = ACTIONS(2339), + [anon_sym_class] = ACTIONS(2339), + [anon_sym_struct] = ACTIONS(2339), + [anon_sym_union] = ACTIONS(2339), + [anon_sym_if] = ACTIONS(2339), + [anon_sym_switch] = ACTIONS(2339), + [anon_sym_case] = ACTIONS(2339), + [anon_sym_default] = ACTIONS(2339), + [anon_sym_while] = ACTIONS(2339), + [anon_sym_do] = ACTIONS(2339), + [anon_sym_for] = ACTIONS(2339), + [anon_sym_return] = ACTIONS(2339), + [anon_sym_break] = ACTIONS(2339), + [anon_sym_continue] = ACTIONS(2339), + [anon_sym_goto] = ACTIONS(2339), + [anon_sym_DASH_DASH] = ACTIONS(2341), + [anon_sym_PLUS_PLUS] = ACTIONS(2341), + [anon_sym_sizeof] = ACTIONS(2339), + [sym_number_literal] = ACTIONS(2341), + [anon_sym_L_SQUOTE] = ACTIONS(2341), + [anon_sym_u_SQUOTE] = ACTIONS(2341), + [anon_sym_U_SQUOTE] = ACTIONS(2341), + [anon_sym_u8_SQUOTE] = ACTIONS(2341), + [anon_sym_SQUOTE] = ACTIONS(2341), + [anon_sym_L_DQUOTE] = ACTIONS(2341), + [anon_sym_u_DQUOTE] = ACTIONS(2341), + [anon_sym_U_DQUOTE] = ACTIONS(2341), + [anon_sym_u8_DQUOTE] = ACTIONS(2341), + [anon_sym_DQUOTE] = ACTIONS(2341), + [sym_true] = ACTIONS(2339), + [sym_false] = ACTIONS(2339), + [sym_null] = ACTIONS(2339), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2339), + [anon_sym_decltype] = ACTIONS(2339), + [anon_sym_virtual] = ACTIONS(2339), + [anon_sym_explicit] = ACTIONS(2339), + [anon_sym_typename] = ACTIONS(2339), + [anon_sym_template] = ACTIONS(2339), + [anon_sym_operator] = ACTIONS(2339), + [anon_sym_delete] = ACTIONS(2339), + [anon_sym_throw] = ACTIONS(2339), + [anon_sym_namespace] = ACTIONS(2339), + [anon_sym_using] = ACTIONS(2339), + [anon_sym_static_assert] = ACTIONS(2339), + [anon_sym_concept] = ACTIONS(2339), + [anon_sym_co_return] = ACTIONS(2339), + [anon_sym_co_yield] = ACTIONS(2339), + [anon_sym_try] = ACTIONS(2339), + [anon_sym_co_await] = ACTIONS(2339), + [anon_sym_new] = ACTIONS(2339), + [anon_sym_requires] = ACTIONS(2339), + [sym_this] = ACTIONS(2339), + [sym_nullptr] = ACTIONS(2339), + [sym_raw_string_literal] = ACTIONS(2341), + }, + [790] = { + [sym_identifier] = ACTIONS(2335), + [aux_sym_preproc_include_token1] = ACTIONS(2335), + [aux_sym_preproc_def_token1] = ACTIONS(2335), + [aux_sym_preproc_if_token1] = ACTIONS(2335), + [aux_sym_preproc_if_token2] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2335), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2335), + [sym_preproc_directive] = ACTIONS(2335), + [anon_sym_LPAREN2] = ACTIONS(2337), + [anon_sym_BANG] = ACTIONS(2337), + [anon_sym_TILDE] = ACTIONS(2337), + [anon_sym_DASH] = ACTIONS(2335), + [anon_sym_PLUS] = ACTIONS(2335), + [anon_sym_STAR] = ACTIONS(2337), + [anon_sym_AMP_AMP] = ACTIONS(2337), + [anon_sym_AMP] = ACTIONS(2335), + [anon_sym_SEMI] = ACTIONS(2337), + [anon_sym_typedef] = ACTIONS(2335), + [anon_sym_extern] = ACTIONS(2335), + [anon_sym___attribute__] = ACTIONS(2335), + [anon_sym_COLON_COLON] = ACTIONS(2337), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2337), + [anon_sym___declspec] = ACTIONS(2335), + [anon_sym___based] = ACTIONS(2335), + [anon_sym___cdecl] = ACTIONS(2335), + [anon_sym___clrcall] = ACTIONS(2335), + [anon_sym___stdcall] = ACTIONS(2335), + [anon_sym___fastcall] = ACTIONS(2335), + [anon_sym___thiscall] = ACTIONS(2335), + [anon_sym___vectorcall] = ACTIONS(2335), + [anon_sym_LBRACE] = ACTIONS(2337), + [anon_sym_LBRACK] = ACTIONS(2335), + [anon_sym_static] = ACTIONS(2335), + [anon_sym_register] = ACTIONS(2335), + [anon_sym_inline] = ACTIONS(2335), + [anon_sym_thread_local] = ACTIONS(2335), + [anon_sym_const] = ACTIONS(2335), + [anon_sym_volatile] = ACTIONS(2335), + [anon_sym_restrict] = ACTIONS(2335), + [anon_sym__Atomic] = ACTIONS(2335), + [anon_sym_mutable] = ACTIONS(2335), + [anon_sym_constexpr] = ACTIONS(2335), + [anon_sym_constinit] = ACTIONS(2335), + [anon_sym_consteval] = ACTIONS(2335), + [anon_sym_signed] = ACTIONS(2335), + [anon_sym_unsigned] = ACTIONS(2335), + [anon_sym_long] = ACTIONS(2335), + [anon_sym_short] = ACTIONS(2335), + [sym_primitive_type] = ACTIONS(2335), + [anon_sym_enum] = ACTIONS(2335), + [anon_sym_class] = ACTIONS(2335), + [anon_sym_struct] = ACTIONS(2335), + [anon_sym_union] = ACTIONS(2335), + [anon_sym_if] = ACTIONS(2335), + [anon_sym_switch] = ACTIONS(2335), + [anon_sym_case] = ACTIONS(2335), + [anon_sym_default] = ACTIONS(2335), + [anon_sym_while] = ACTIONS(2335), + [anon_sym_do] = ACTIONS(2335), + [anon_sym_for] = ACTIONS(2335), + [anon_sym_return] = ACTIONS(2335), + [anon_sym_break] = ACTIONS(2335), + [anon_sym_continue] = ACTIONS(2335), + [anon_sym_goto] = ACTIONS(2335), + [anon_sym_DASH_DASH] = ACTIONS(2337), + [anon_sym_PLUS_PLUS] = ACTIONS(2337), + [anon_sym_sizeof] = ACTIONS(2335), + [sym_number_literal] = ACTIONS(2337), + [anon_sym_L_SQUOTE] = ACTIONS(2337), + [anon_sym_u_SQUOTE] = ACTIONS(2337), + [anon_sym_U_SQUOTE] = ACTIONS(2337), + [anon_sym_u8_SQUOTE] = ACTIONS(2337), + [anon_sym_SQUOTE] = ACTIONS(2337), + [anon_sym_L_DQUOTE] = ACTIONS(2337), + [anon_sym_u_DQUOTE] = ACTIONS(2337), + [anon_sym_U_DQUOTE] = ACTIONS(2337), + [anon_sym_u8_DQUOTE] = ACTIONS(2337), + [anon_sym_DQUOTE] = ACTIONS(2337), + [sym_true] = ACTIONS(2335), + [sym_false] = ACTIONS(2335), + [sym_null] = ACTIONS(2335), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2335), + [anon_sym_decltype] = ACTIONS(2335), + [anon_sym_virtual] = ACTIONS(2335), + [anon_sym_explicit] = ACTIONS(2335), + [anon_sym_typename] = ACTIONS(2335), + [anon_sym_template] = ACTIONS(2335), + [anon_sym_operator] = ACTIONS(2335), + [anon_sym_delete] = ACTIONS(2335), + [anon_sym_throw] = ACTIONS(2335), + [anon_sym_namespace] = ACTIONS(2335), + [anon_sym_using] = ACTIONS(2335), + [anon_sym_static_assert] = ACTIONS(2335), + [anon_sym_concept] = ACTIONS(2335), + [anon_sym_co_return] = ACTIONS(2335), + [anon_sym_co_yield] = ACTIONS(2335), + [anon_sym_try] = ACTIONS(2335), + [anon_sym_co_await] = ACTIONS(2335), + [anon_sym_new] = ACTIONS(2335), + [anon_sym_requires] = ACTIONS(2335), + [sym_this] = ACTIONS(2335), + [sym_nullptr] = ACTIONS(2335), + [sym_raw_string_literal] = ACTIONS(2337), + }, + [791] = { + [sym_identifier] = ACTIONS(2251), + [aux_sym_preproc_include_token1] = ACTIONS(2251), + [aux_sym_preproc_def_token1] = ACTIONS(2251), + [aux_sym_preproc_if_token1] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2251), + [sym_preproc_directive] = ACTIONS(2251), + [anon_sym_LPAREN2] = ACTIONS(2253), + [anon_sym_BANG] = ACTIONS(2253), + [anon_sym_TILDE] = ACTIONS(2253), + [anon_sym_DASH] = ACTIONS(2251), + [anon_sym_PLUS] = ACTIONS(2251), + [anon_sym_STAR] = ACTIONS(2253), + [anon_sym_AMP_AMP] = ACTIONS(2253), + [anon_sym_AMP] = ACTIONS(2251), + [anon_sym_SEMI] = ACTIONS(2253), + [anon_sym_typedef] = ACTIONS(2251), + [anon_sym_extern] = ACTIONS(2251), + [anon_sym___attribute__] = ACTIONS(2251), + [anon_sym_COLON_COLON] = ACTIONS(2253), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2253), + [anon_sym___declspec] = ACTIONS(2251), + [anon_sym___based] = ACTIONS(2251), + [anon_sym___cdecl] = ACTIONS(2251), + [anon_sym___clrcall] = ACTIONS(2251), + [anon_sym___stdcall] = ACTIONS(2251), + [anon_sym___fastcall] = ACTIONS(2251), + [anon_sym___thiscall] = ACTIONS(2251), + [anon_sym___vectorcall] = ACTIONS(2251), + [anon_sym_LBRACE] = ACTIONS(2253), + [anon_sym_RBRACE] = ACTIONS(2253), + [anon_sym_LBRACK] = ACTIONS(2251), + [anon_sym_static] = ACTIONS(2251), + [anon_sym_register] = ACTIONS(2251), + [anon_sym_inline] = ACTIONS(2251), + [anon_sym_thread_local] = ACTIONS(2251), + [anon_sym_const] = ACTIONS(2251), + [anon_sym_volatile] = ACTIONS(2251), + [anon_sym_restrict] = ACTIONS(2251), + [anon_sym__Atomic] = ACTIONS(2251), + [anon_sym_mutable] = ACTIONS(2251), + [anon_sym_constexpr] = ACTIONS(2251), + [anon_sym_constinit] = ACTIONS(2251), + [anon_sym_consteval] = ACTIONS(2251), + [anon_sym_signed] = ACTIONS(2251), + [anon_sym_unsigned] = ACTIONS(2251), + [anon_sym_long] = ACTIONS(2251), + [anon_sym_short] = ACTIONS(2251), + [sym_primitive_type] = ACTIONS(2251), + [anon_sym_enum] = ACTIONS(2251), + [anon_sym_class] = ACTIONS(2251), + [anon_sym_struct] = ACTIONS(2251), + [anon_sym_union] = ACTIONS(2251), + [anon_sym_if] = ACTIONS(2251), + [anon_sym_switch] = ACTIONS(2251), + [anon_sym_case] = ACTIONS(2251), + [anon_sym_default] = ACTIONS(2251), + [anon_sym_while] = ACTIONS(2251), + [anon_sym_do] = ACTIONS(2251), + [anon_sym_for] = ACTIONS(2251), + [anon_sym_return] = ACTIONS(2251), + [anon_sym_break] = ACTIONS(2251), + [anon_sym_continue] = ACTIONS(2251), + [anon_sym_goto] = ACTIONS(2251), + [anon_sym_DASH_DASH] = ACTIONS(2253), + [anon_sym_PLUS_PLUS] = ACTIONS(2253), + [anon_sym_sizeof] = ACTIONS(2251), + [sym_number_literal] = ACTIONS(2253), + [anon_sym_L_SQUOTE] = ACTIONS(2253), + [anon_sym_u_SQUOTE] = ACTIONS(2253), + [anon_sym_U_SQUOTE] = ACTIONS(2253), + [anon_sym_u8_SQUOTE] = ACTIONS(2253), + [anon_sym_SQUOTE] = ACTIONS(2253), + [anon_sym_L_DQUOTE] = ACTIONS(2253), + [anon_sym_u_DQUOTE] = ACTIONS(2253), + [anon_sym_U_DQUOTE] = ACTIONS(2253), + [anon_sym_u8_DQUOTE] = ACTIONS(2253), + [anon_sym_DQUOTE] = ACTIONS(2253), + [sym_true] = ACTIONS(2251), + [sym_false] = ACTIONS(2251), + [sym_null] = ACTIONS(2251), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2251), + [anon_sym_decltype] = ACTIONS(2251), + [anon_sym_virtual] = ACTIONS(2251), + [anon_sym_explicit] = ACTIONS(2251), + [anon_sym_typename] = ACTIONS(2251), + [anon_sym_template] = ACTIONS(2251), + [anon_sym_operator] = ACTIONS(2251), + [anon_sym_delete] = ACTIONS(2251), + [anon_sym_throw] = ACTIONS(2251), + [anon_sym_namespace] = ACTIONS(2251), + [anon_sym_using] = ACTIONS(2251), + [anon_sym_static_assert] = ACTIONS(2251), + [anon_sym_concept] = ACTIONS(2251), + [anon_sym_co_return] = ACTIONS(2251), + [anon_sym_co_yield] = ACTIONS(2251), + [anon_sym_try] = ACTIONS(2251), + [anon_sym_co_await] = ACTIONS(2251), + [anon_sym_new] = ACTIONS(2251), + [anon_sym_requires] = ACTIONS(2251), + [sym_this] = ACTIONS(2251), + [sym_nullptr] = ACTIONS(2251), + [sym_raw_string_literal] = ACTIONS(2253), + }, + [792] = { + [sym_identifier] = ACTIONS(2191), + [aux_sym_preproc_include_token1] = ACTIONS(2191), + [aux_sym_preproc_def_token1] = ACTIONS(2191), + [aux_sym_preproc_if_token1] = ACTIONS(2191), + [aux_sym_preproc_if_token2] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2191), + [sym_preproc_directive] = ACTIONS(2191), + [anon_sym_LPAREN2] = ACTIONS(2193), + [anon_sym_BANG] = ACTIONS(2193), + [anon_sym_TILDE] = ACTIONS(2193), + [anon_sym_DASH] = ACTIONS(2191), + [anon_sym_PLUS] = ACTIONS(2191), + [anon_sym_STAR] = ACTIONS(2193), + [anon_sym_AMP_AMP] = ACTIONS(2193), + [anon_sym_AMP] = ACTIONS(2191), + [anon_sym_SEMI] = ACTIONS(2193), + [anon_sym_typedef] = ACTIONS(2191), + [anon_sym_extern] = ACTIONS(2191), + [anon_sym___attribute__] = ACTIONS(2191), + [anon_sym_COLON_COLON] = ACTIONS(2193), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2193), + [anon_sym___declspec] = ACTIONS(2191), + [anon_sym___based] = ACTIONS(2191), + [anon_sym___cdecl] = ACTIONS(2191), + [anon_sym___clrcall] = ACTIONS(2191), + [anon_sym___stdcall] = ACTIONS(2191), + [anon_sym___fastcall] = ACTIONS(2191), + [anon_sym___thiscall] = ACTIONS(2191), + [anon_sym___vectorcall] = ACTIONS(2191), + [anon_sym_LBRACE] = ACTIONS(2193), + [anon_sym_LBRACK] = ACTIONS(2191), + [anon_sym_static] = ACTIONS(2191), + [anon_sym_register] = ACTIONS(2191), + [anon_sym_inline] = ACTIONS(2191), + [anon_sym_thread_local] = ACTIONS(2191), + [anon_sym_const] = ACTIONS(2191), + [anon_sym_volatile] = ACTIONS(2191), + [anon_sym_restrict] = ACTIONS(2191), + [anon_sym__Atomic] = ACTIONS(2191), + [anon_sym_mutable] = ACTIONS(2191), + [anon_sym_constexpr] = ACTIONS(2191), + [anon_sym_constinit] = ACTIONS(2191), + [anon_sym_consteval] = ACTIONS(2191), + [anon_sym_signed] = ACTIONS(2191), + [anon_sym_unsigned] = ACTIONS(2191), + [anon_sym_long] = ACTIONS(2191), + [anon_sym_short] = ACTIONS(2191), + [sym_primitive_type] = ACTIONS(2191), + [anon_sym_enum] = ACTIONS(2191), + [anon_sym_class] = ACTIONS(2191), + [anon_sym_struct] = ACTIONS(2191), + [anon_sym_union] = ACTIONS(2191), + [anon_sym_if] = ACTIONS(2191), + [anon_sym_switch] = ACTIONS(2191), + [anon_sym_case] = ACTIONS(2191), + [anon_sym_default] = ACTIONS(2191), + [anon_sym_while] = ACTIONS(2191), + [anon_sym_do] = ACTIONS(2191), + [anon_sym_for] = ACTIONS(2191), + [anon_sym_return] = ACTIONS(2191), + [anon_sym_break] = ACTIONS(2191), + [anon_sym_continue] = ACTIONS(2191), + [anon_sym_goto] = ACTIONS(2191), + [anon_sym_DASH_DASH] = ACTIONS(2193), + [anon_sym_PLUS_PLUS] = ACTIONS(2193), + [anon_sym_sizeof] = ACTIONS(2191), + [sym_number_literal] = ACTIONS(2193), + [anon_sym_L_SQUOTE] = ACTIONS(2193), + [anon_sym_u_SQUOTE] = ACTIONS(2193), + [anon_sym_U_SQUOTE] = ACTIONS(2193), + [anon_sym_u8_SQUOTE] = ACTIONS(2193), + [anon_sym_SQUOTE] = ACTIONS(2193), + [anon_sym_L_DQUOTE] = ACTIONS(2193), + [anon_sym_u_DQUOTE] = ACTIONS(2193), + [anon_sym_U_DQUOTE] = ACTIONS(2193), + [anon_sym_u8_DQUOTE] = ACTIONS(2193), + [anon_sym_DQUOTE] = ACTIONS(2193), + [sym_true] = ACTIONS(2191), + [sym_false] = ACTIONS(2191), + [sym_null] = ACTIONS(2191), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2191), + [anon_sym_decltype] = ACTIONS(2191), + [anon_sym_virtual] = ACTIONS(2191), + [anon_sym_explicit] = ACTIONS(2191), + [anon_sym_typename] = ACTIONS(2191), + [anon_sym_template] = ACTIONS(2191), + [anon_sym_operator] = ACTIONS(2191), + [anon_sym_delete] = ACTIONS(2191), + [anon_sym_throw] = ACTIONS(2191), + [anon_sym_namespace] = ACTIONS(2191), + [anon_sym_using] = ACTIONS(2191), + [anon_sym_static_assert] = ACTIONS(2191), + [anon_sym_concept] = ACTIONS(2191), + [anon_sym_co_return] = ACTIONS(2191), + [anon_sym_co_yield] = ACTIONS(2191), + [anon_sym_try] = ACTIONS(2191), + [anon_sym_co_await] = ACTIONS(2191), + [anon_sym_new] = ACTIONS(2191), + [anon_sym_requires] = ACTIONS(2191), + [sym_this] = ACTIONS(2191), + [sym_nullptr] = ACTIONS(2191), + [sym_raw_string_literal] = ACTIONS(2193), + }, + [793] = { + [ts_builtin_sym_end] = ACTIONS(2385), + [sym_identifier] = ACTIONS(2383), + [aux_sym_preproc_include_token1] = ACTIONS(2383), + [aux_sym_preproc_def_token1] = ACTIONS(2383), + [aux_sym_preproc_if_token1] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2383), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2383), + [sym_preproc_directive] = ACTIONS(2383), + [anon_sym_LPAREN2] = ACTIONS(2385), + [anon_sym_BANG] = ACTIONS(2385), + [anon_sym_TILDE] = ACTIONS(2385), + [anon_sym_DASH] = ACTIONS(2383), + [anon_sym_PLUS] = ACTIONS(2383), + [anon_sym_STAR] = ACTIONS(2385), + [anon_sym_AMP_AMP] = ACTIONS(2385), + [anon_sym_AMP] = ACTIONS(2383), + [anon_sym_SEMI] = ACTIONS(2385), + [anon_sym_typedef] = ACTIONS(2383), + [anon_sym_extern] = ACTIONS(2383), + [anon_sym___attribute__] = ACTIONS(2383), + [anon_sym_COLON_COLON] = ACTIONS(2385), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2385), + [anon_sym___declspec] = ACTIONS(2383), + [anon_sym___based] = ACTIONS(2383), + [anon_sym___cdecl] = ACTIONS(2383), + [anon_sym___clrcall] = ACTIONS(2383), + [anon_sym___stdcall] = ACTIONS(2383), + [anon_sym___fastcall] = ACTIONS(2383), + [anon_sym___thiscall] = ACTIONS(2383), + [anon_sym___vectorcall] = ACTIONS(2383), + [anon_sym_LBRACE] = ACTIONS(2385), + [anon_sym_LBRACK] = ACTIONS(2383), + [anon_sym_static] = ACTIONS(2383), + [anon_sym_register] = ACTIONS(2383), + [anon_sym_inline] = ACTIONS(2383), + [anon_sym_thread_local] = ACTIONS(2383), + [anon_sym_const] = ACTIONS(2383), + [anon_sym_volatile] = ACTIONS(2383), + [anon_sym_restrict] = ACTIONS(2383), + [anon_sym__Atomic] = ACTIONS(2383), + [anon_sym_mutable] = ACTIONS(2383), + [anon_sym_constexpr] = ACTIONS(2383), + [anon_sym_constinit] = ACTIONS(2383), + [anon_sym_consteval] = ACTIONS(2383), + [anon_sym_signed] = ACTIONS(2383), + [anon_sym_unsigned] = ACTIONS(2383), + [anon_sym_long] = ACTIONS(2383), + [anon_sym_short] = ACTIONS(2383), + [sym_primitive_type] = ACTIONS(2383), + [anon_sym_enum] = ACTIONS(2383), + [anon_sym_class] = ACTIONS(2383), + [anon_sym_struct] = ACTIONS(2383), + [anon_sym_union] = ACTIONS(2383), + [anon_sym_if] = ACTIONS(2383), + [anon_sym_switch] = ACTIONS(2383), + [anon_sym_case] = ACTIONS(2383), + [anon_sym_default] = ACTIONS(2383), + [anon_sym_while] = ACTIONS(2383), + [anon_sym_do] = ACTIONS(2383), + [anon_sym_for] = ACTIONS(2383), + [anon_sym_return] = ACTIONS(2383), + [anon_sym_break] = ACTIONS(2383), + [anon_sym_continue] = ACTIONS(2383), + [anon_sym_goto] = ACTIONS(2383), + [anon_sym_DASH_DASH] = ACTIONS(2385), + [anon_sym_PLUS_PLUS] = ACTIONS(2385), + [anon_sym_sizeof] = ACTIONS(2383), + [sym_number_literal] = ACTIONS(2385), + [anon_sym_L_SQUOTE] = ACTIONS(2385), + [anon_sym_u_SQUOTE] = ACTIONS(2385), + [anon_sym_U_SQUOTE] = ACTIONS(2385), + [anon_sym_u8_SQUOTE] = ACTIONS(2385), + [anon_sym_SQUOTE] = ACTIONS(2385), + [anon_sym_L_DQUOTE] = ACTIONS(2385), + [anon_sym_u_DQUOTE] = ACTIONS(2385), + [anon_sym_U_DQUOTE] = ACTIONS(2385), + [anon_sym_u8_DQUOTE] = ACTIONS(2385), + [anon_sym_DQUOTE] = ACTIONS(2385), + [sym_true] = ACTIONS(2383), + [sym_false] = ACTIONS(2383), + [sym_null] = ACTIONS(2383), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2383), + [anon_sym_decltype] = ACTIONS(2383), + [anon_sym_virtual] = ACTIONS(2383), + [anon_sym_explicit] = ACTIONS(2383), + [anon_sym_typename] = ACTIONS(2383), + [anon_sym_template] = ACTIONS(2383), + [anon_sym_operator] = ACTIONS(2383), + [anon_sym_delete] = ACTIONS(2383), + [anon_sym_throw] = ACTIONS(2383), + [anon_sym_namespace] = ACTIONS(2383), + [anon_sym_using] = ACTIONS(2383), + [anon_sym_static_assert] = ACTIONS(2383), + [anon_sym_concept] = ACTIONS(2383), + [anon_sym_co_return] = ACTIONS(2383), + [anon_sym_co_yield] = ACTIONS(2383), + [anon_sym_try] = ACTIONS(2383), + [anon_sym_co_await] = ACTIONS(2383), + [anon_sym_new] = ACTIONS(2383), + [anon_sym_requires] = ACTIONS(2383), + [sym_this] = ACTIONS(2383), + [sym_nullptr] = ACTIONS(2383), + [sym_raw_string_literal] = ACTIONS(2385), + }, + [794] = { + [sym_identifier] = ACTIONS(2295), + [aux_sym_preproc_include_token1] = ACTIONS(2295), + [aux_sym_preproc_def_token1] = ACTIONS(2295), + [aux_sym_preproc_if_token1] = ACTIONS(2295), + [aux_sym_preproc_if_token2] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2295), + [sym_preproc_directive] = ACTIONS(2295), + [anon_sym_LPAREN2] = ACTIONS(2297), + [anon_sym_BANG] = ACTIONS(2297), + [anon_sym_TILDE] = ACTIONS(2297), + [anon_sym_DASH] = ACTIONS(2295), + [anon_sym_PLUS] = ACTIONS(2295), + [anon_sym_STAR] = ACTIONS(2297), + [anon_sym_AMP_AMP] = ACTIONS(2297), + [anon_sym_AMP] = ACTIONS(2295), + [anon_sym_SEMI] = ACTIONS(2297), + [anon_sym_typedef] = ACTIONS(2295), + [anon_sym_extern] = ACTIONS(2295), + [anon_sym___attribute__] = ACTIONS(2295), + [anon_sym_COLON_COLON] = ACTIONS(2297), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2297), + [anon_sym___declspec] = ACTIONS(2295), + [anon_sym___based] = ACTIONS(2295), + [anon_sym___cdecl] = ACTIONS(2295), + [anon_sym___clrcall] = ACTIONS(2295), + [anon_sym___stdcall] = ACTIONS(2295), + [anon_sym___fastcall] = ACTIONS(2295), + [anon_sym___thiscall] = ACTIONS(2295), + [anon_sym___vectorcall] = ACTIONS(2295), + [anon_sym_LBRACE] = ACTIONS(2297), + [anon_sym_LBRACK] = ACTIONS(2295), + [anon_sym_static] = ACTIONS(2295), + [anon_sym_register] = ACTIONS(2295), + [anon_sym_inline] = ACTIONS(2295), + [anon_sym_thread_local] = ACTIONS(2295), + [anon_sym_const] = ACTIONS(2295), + [anon_sym_volatile] = ACTIONS(2295), + [anon_sym_restrict] = ACTIONS(2295), + [anon_sym__Atomic] = ACTIONS(2295), + [anon_sym_mutable] = ACTIONS(2295), + [anon_sym_constexpr] = ACTIONS(2295), + [anon_sym_constinit] = ACTIONS(2295), + [anon_sym_consteval] = ACTIONS(2295), + [anon_sym_signed] = ACTIONS(2295), + [anon_sym_unsigned] = ACTIONS(2295), + [anon_sym_long] = ACTIONS(2295), + [anon_sym_short] = ACTIONS(2295), + [sym_primitive_type] = ACTIONS(2295), + [anon_sym_enum] = ACTIONS(2295), + [anon_sym_class] = ACTIONS(2295), + [anon_sym_struct] = ACTIONS(2295), + [anon_sym_union] = ACTIONS(2295), + [anon_sym_if] = ACTIONS(2295), + [anon_sym_switch] = ACTIONS(2295), + [anon_sym_case] = ACTIONS(2295), + [anon_sym_default] = ACTIONS(2295), + [anon_sym_while] = ACTIONS(2295), + [anon_sym_do] = ACTIONS(2295), + [anon_sym_for] = ACTIONS(2295), + [anon_sym_return] = ACTIONS(2295), + [anon_sym_break] = ACTIONS(2295), + [anon_sym_continue] = ACTIONS(2295), + [anon_sym_goto] = ACTIONS(2295), + [anon_sym_DASH_DASH] = ACTIONS(2297), + [anon_sym_PLUS_PLUS] = ACTIONS(2297), + [anon_sym_sizeof] = ACTIONS(2295), + [sym_number_literal] = ACTIONS(2297), + [anon_sym_L_SQUOTE] = ACTIONS(2297), + [anon_sym_u_SQUOTE] = ACTIONS(2297), + [anon_sym_U_SQUOTE] = ACTIONS(2297), + [anon_sym_u8_SQUOTE] = ACTIONS(2297), + [anon_sym_SQUOTE] = ACTIONS(2297), + [anon_sym_L_DQUOTE] = ACTIONS(2297), + [anon_sym_u_DQUOTE] = ACTIONS(2297), + [anon_sym_U_DQUOTE] = ACTIONS(2297), + [anon_sym_u8_DQUOTE] = ACTIONS(2297), + [anon_sym_DQUOTE] = ACTIONS(2297), + [sym_true] = ACTIONS(2295), + [sym_false] = ACTIONS(2295), + [sym_null] = ACTIONS(2295), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2295), + [anon_sym_decltype] = ACTIONS(2295), + [anon_sym_virtual] = ACTIONS(2295), + [anon_sym_explicit] = ACTIONS(2295), + [anon_sym_typename] = ACTIONS(2295), + [anon_sym_template] = ACTIONS(2295), + [anon_sym_operator] = ACTIONS(2295), + [anon_sym_delete] = ACTIONS(2295), + [anon_sym_throw] = ACTIONS(2295), + [anon_sym_namespace] = ACTIONS(2295), + [anon_sym_using] = ACTIONS(2295), + [anon_sym_static_assert] = ACTIONS(2295), + [anon_sym_concept] = ACTIONS(2295), + [anon_sym_co_return] = ACTIONS(2295), + [anon_sym_co_yield] = ACTIONS(2295), + [anon_sym_try] = ACTIONS(2295), + [anon_sym_co_await] = ACTIONS(2295), + [anon_sym_new] = ACTIONS(2295), + [anon_sym_requires] = ACTIONS(2295), + [sym_this] = ACTIONS(2295), + [sym_nullptr] = ACTIONS(2295), + [sym_raw_string_literal] = ACTIONS(2297), + }, + [795] = { + [sym_identifier] = ACTIONS(2239), + [aux_sym_preproc_include_token1] = ACTIONS(2239), + [aux_sym_preproc_def_token1] = ACTIONS(2239), + [aux_sym_preproc_if_token1] = ACTIONS(2239), + [aux_sym_preproc_if_token2] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2239), + [sym_preproc_directive] = ACTIONS(2239), + [anon_sym_LPAREN2] = ACTIONS(2241), + [anon_sym_BANG] = ACTIONS(2241), + [anon_sym_TILDE] = ACTIONS(2241), + [anon_sym_DASH] = ACTIONS(2239), + [anon_sym_PLUS] = ACTIONS(2239), + [anon_sym_STAR] = ACTIONS(2241), + [anon_sym_AMP_AMP] = ACTIONS(2241), + [anon_sym_AMP] = ACTIONS(2239), + [anon_sym_SEMI] = ACTIONS(2241), + [anon_sym_typedef] = ACTIONS(2239), + [anon_sym_extern] = ACTIONS(2239), + [anon_sym___attribute__] = ACTIONS(2239), + [anon_sym_COLON_COLON] = ACTIONS(2241), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2241), + [anon_sym___declspec] = ACTIONS(2239), + [anon_sym___based] = ACTIONS(2239), + [anon_sym___cdecl] = ACTIONS(2239), + [anon_sym___clrcall] = ACTIONS(2239), + [anon_sym___stdcall] = ACTIONS(2239), + [anon_sym___fastcall] = ACTIONS(2239), + [anon_sym___thiscall] = ACTIONS(2239), + [anon_sym___vectorcall] = ACTIONS(2239), + [anon_sym_LBRACE] = ACTIONS(2241), + [anon_sym_LBRACK] = ACTIONS(2239), + [anon_sym_static] = ACTIONS(2239), + [anon_sym_register] = ACTIONS(2239), + [anon_sym_inline] = ACTIONS(2239), + [anon_sym_thread_local] = ACTIONS(2239), + [anon_sym_const] = ACTIONS(2239), + [anon_sym_volatile] = ACTIONS(2239), + [anon_sym_restrict] = ACTIONS(2239), + [anon_sym__Atomic] = ACTIONS(2239), + [anon_sym_mutable] = ACTIONS(2239), + [anon_sym_constexpr] = ACTIONS(2239), + [anon_sym_constinit] = ACTIONS(2239), + [anon_sym_consteval] = ACTIONS(2239), + [anon_sym_signed] = ACTIONS(2239), + [anon_sym_unsigned] = ACTIONS(2239), + [anon_sym_long] = ACTIONS(2239), + [anon_sym_short] = ACTIONS(2239), + [sym_primitive_type] = ACTIONS(2239), + [anon_sym_enum] = ACTIONS(2239), + [anon_sym_class] = ACTIONS(2239), + [anon_sym_struct] = ACTIONS(2239), + [anon_sym_union] = ACTIONS(2239), + [anon_sym_if] = ACTIONS(2239), + [anon_sym_switch] = ACTIONS(2239), + [anon_sym_case] = ACTIONS(2239), + [anon_sym_default] = ACTIONS(2239), + [anon_sym_while] = ACTIONS(2239), + [anon_sym_do] = ACTIONS(2239), + [anon_sym_for] = ACTIONS(2239), + [anon_sym_return] = ACTIONS(2239), + [anon_sym_break] = ACTIONS(2239), + [anon_sym_continue] = ACTIONS(2239), + [anon_sym_goto] = ACTIONS(2239), + [anon_sym_DASH_DASH] = ACTIONS(2241), + [anon_sym_PLUS_PLUS] = ACTIONS(2241), + [anon_sym_sizeof] = ACTIONS(2239), + [sym_number_literal] = ACTIONS(2241), + [anon_sym_L_SQUOTE] = ACTIONS(2241), + [anon_sym_u_SQUOTE] = ACTIONS(2241), + [anon_sym_U_SQUOTE] = ACTIONS(2241), + [anon_sym_u8_SQUOTE] = ACTIONS(2241), + [anon_sym_SQUOTE] = ACTIONS(2241), + [anon_sym_L_DQUOTE] = ACTIONS(2241), + [anon_sym_u_DQUOTE] = ACTIONS(2241), + [anon_sym_U_DQUOTE] = ACTIONS(2241), + [anon_sym_u8_DQUOTE] = ACTIONS(2241), + [anon_sym_DQUOTE] = ACTIONS(2241), + [sym_true] = ACTIONS(2239), + [sym_false] = ACTIONS(2239), + [sym_null] = ACTIONS(2239), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2239), + [anon_sym_decltype] = ACTIONS(2239), + [anon_sym_virtual] = ACTIONS(2239), + [anon_sym_explicit] = ACTIONS(2239), + [anon_sym_typename] = ACTIONS(2239), + [anon_sym_template] = ACTIONS(2239), + [anon_sym_operator] = ACTIONS(2239), + [anon_sym_delete] = ACTIONS(2239), + [anon_sym_throw] = ACTIONS(2239), + [anon_sym_namespace] = ACTIONS(2239), + [anon_sym_using] = ACTIONS(2239), + [anon_sym_static_assert] = ACTIONS(2239), + [anon_sym_concept] = ACTIONS(2239), + [anon_sym_co_return] = ACTIONS(2239), + [anon_sym_co_yield] = ACTIONS(2239), + [anon_sym_try] = ACTIONS(2239), + [anon_sym_co_await] = ACTIONS(2239), + [anon_sym_new] = ACTIONS(2239), + [anon_sym_requires] = ACTIONS(2239), + [sym_this] = ACTIONS(2239), + [sym_nullptr] = ACTIONS(2239), + [sym_raw_string_literal] = ACTIONS(2241), + }, + [796] = { + [sym_identifier] = ACTIONS(2327), + [aux_sym_preproc_include_token1] = ACTIONS(2327), + [aux_sym_preproc_def_token1] = ACTIONS(2327), + [aux_sym_preproc_if_token1] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2327), + [sym_preproc_directive] = ACTIONS(2327), + [anon_sym_LPAREN2] = ACTIONS(2329), + [anon_sym_BANG] = ACTIONS(2329), + [anon_sym_TILDE] = ACTIONS(2329), + [anon_sym_DASH] = ACTIONS(2327), + [anon_sym_PLUS] = ACTIONS(2327), + [anon_sym_STAR] = ACTIONS(2329), + [anon_sym_AMP_AMP] = ACTIONS(2329), + [anon_sym_AMP] = ACTIONS(2327), + [anon_sym_SEMI] = ACTIONS(2329), + [anon_sym_typedef] = ACTIONS(2327), + [anon_sym_extern] = ACTIONS(2327), + [anon_sym___attribute__] = ACTIONS(2327), + [anon_sym_COLON_COLON] = ACTIONS(2329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2329), + [anon_sym___declspec] = ACTIONS(2327), + [anon_sym___based] = ACTIONS(2327), + [anon_sym___cdecl] = ACTIONS(2327), + [anon_sym___clrcall] = ACTIONS(2327), + [anon_sym___stdcall] = ACTIONS(2327), + [anon_sym___fastcall] = ACTIONS(2327), + [anon_sym___thiscall] = ACTIONS(2327), + [anon_sym___vectorcall] = ACTIONS(2327), + [anon_sym_LBRACE] = ACTIONS(2329), + [anon_sym_RBRACE] = ACTIONS(2329), + [anon_sym_LBRACK] = ACTIONS(2327), + [anon_sym_static] = ACTIONS(2327), + [anon_sym_register] = ACTIONS(2327), + [anon_sym_inline] = ACTIONS(2327), + [anon_sym_thread_local] = ACTIONS(2327), + [anon_sym_const] = ACTIONS(2327), + [anon_sym_volatile] = ACTIONS(2327), + [anon_sym_restrict] = ACTIONS(2327), + [anon_sym__Atomic] = ACTIONS(2327), + [anon_sym_mutable] = ACTIONS(2327), + [anon_sym_constexpr] = ACTIONS(2327), + [anon_sym_constinit] = ACTIONS(2327), + [anon_sym_consteval] = ACTIONS(2327), + [anon_sym_signed] = ACTIONS(2327), + [anon_sym_unsigned] = ACTIONS(2327), + [anon_sym_long] = ACTIONS(2327), + [anon_sym_short] = ACTIONS(2327), + [sym_primitive_type] = ACTIONS(2327), + [anon_sym_enum] = ACTIONS(2327), + [anon_sym_class] = ACTIONS(2327), + [anon_sym_struct] = ACTIONS(2327), + [anon_sym_union] = ACTIONS(2327), + [anon_sym_if] = ACTIONS(2327), + [anon_sym_switch] = ACTIONS(2327), + [anon_sym_case] = ACTIONS(2327), + [anon_sym_default] = ACTIONS(2327), + [anon_sym_while] = ACTIONS(2327), + [anon_sym_do] = ACTIONS(2327), + [anon_sym_for] = ACTIONS(2327), + [anon_sym_return] = ACTIONS(2327), + [anon_sym_break] = ACTIONS(2327), + [anon_sym_continue] = ACTIONS(2327), + [anon_sym_goto] = ACTIONS(2327), + [anon_sym_DASH_DASH] = ACTIONS(2329), + [anon_sym_PLUS_PLUS] = ACTIONS(2329), + [anon_sym_sizeof] = ACTIONS(2327), + [sym_number_literal] = ACTIONS(2329), + [anon_sym_L_SQUOTE] = ACTIONS(2329), + [anon_sym_u_SQUOTE] = ACTIONS(2329), + [anon_sym_U_SQUOTE] = ACTIONS(2329), + [anon_sym_u8_SQUOTE] = ACTIONS(2329), + [anon_sym_SQUOTE] = ACTIONS(2329), + [anon_sym_L_DQUOTE] = ACTIONS(2329), + [anon_sym_u_DQUOTE] = ACTIONS(2329), + [anon_sym_U_DQUOTE] = ACTIONS(2329), + [anon_sym_u8_DQUOTE] = ACTIONS(2329), + [anon_sym_DQUOTE] = ACTIONS(2329), + [sym_true] = ACTIONS(2327), + [sym_false] = ACTIONS(2327), + [sym_null] = ACTIONS(2327), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2327), + [anon_sym_decltype] = ACTIONS(2327), + [anon_sym_virtual] = ACTIONS(2327), + [anon_sym_explicit] = ACTIONS(2327), + [anon_sym_typename] = ACTIONS(2327), + [anon_sym_template] = ACTIONS(2327), + [anon_sym_operator] = ACTIONS(2327), + [anon_sym_delete] = ACTIONS(2327), + [anon_sym_throw] = ACTIONS(2327), + [anon_sym_namespace] = ACTIONS(2327), + [anon_sym_using] = ACTIONS(2327), + [anon_sym_static_assert] = ACTIONS(2327), + [anon_sym_concept] = ACTIONS(2327), + [anon_sym_co_return] = ACTIONS(2327), + [anon_sym_co_yield] = ACTIONS(2327), + [anon_sym_try] = ACTIONS(2327), + [anon_sym_co_await] = ACTIONS(2327), + [anon_sym_new] = ACTIONS(2327), + [anon_sym_requires] = ACTIONS(2327), + [sym_this] = ACTIONS(2327), + [sym_nullptr] = ACTIONS(2327), + [sym_raw_string_literal] = ACTIONS(2329), + }, + [797] = { + [ts_builtin_sym_end] = ACTIONS(2223), + [sym_identifier] = ACTIONS(2221), + [aux_sym_preproc_include_token1] = ACTIONS(2221), + [aux_sym_preproc_def_token1] = ACTIONS(2221), + [aux_sym_preproc_if_token1] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2221), + [sym_preproc_directive] = ACTIONS(2221), + [anon_sym_LPAREN2] = ACTIONS(2223), + [anon_sym_BANG] = ACTIONS(2223), + [anon_sym_TILDE] = ACTIONS(2223), + [anon_sym_DASH] = ACTIONS(2221), + [anon_sym_PLUS] = ACTIONS(2221), + [anon_sym_STAR] = ACTIONS(2223), + [anon_sym_AMP_AMP] = ACTIONS(2223), + [anon_sym_AMP] = ACTIONS(2221), + [anon_sym_SEMI] = ACTIONS(2223), + [anon_sym_typedef] = ACTIONS(2221), + [anon_sym_extern] = ACTIONS(2221), + [anon_sym___attribute__] = ACTIONS(2221), + [anon_sym_COLON_COLON] = ACTIONS(2223), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2223), + [anon_sym___declspec] = ACTIONS(2221), + [anon_sym___based] = ACTIONS(2221), + [anon_sym___cdecl] = ACTIONS(2221), + [anon_sym___clrcall] = ACTIONS(2221), + [anon_sym___stdcall] = ACTIONS(2221), + [anon_sym___fastcall] = ACTIONS(2221), + [anon_sym___thiscall] = ACTIONS(2221), + [anon_sym___vectorcall] = ACTIONS(2221), + [anon_sym_LBRACE] = ACTIONS(2223), + [anon_sym_LBRACK] = ACTIONS(2221), + [anon_sym_static] = ACTIONS(2221), + [anon_sym_register] = ACTIONS(2221), + [anon_sym_inline] = ACTIONS(2221), + [anon_sym_thread_local] = ACTIONS(2221), + [anon_sym_const] = ACTIONS(2221), + [anon_sym_volatile] = ACTIONS(2221), + [anon_sym_restrict] = ACTIONS(2221), + [anon_sym__Atomic] = ACTIONS(2221), + [anon_sym_mutable] = ACTIONS(2221), + [anon_sym_constexpr] = ACTIONS(2221), + [anon_sym_constinit] = ACTIONS(2221), + [anon_sym_consteval] = ACTIONS(2221), + [anon_sym_signed] = ACTIONS(2221), + [anon_sym_unsigned] = ACTIONS(2221), + [anon_sym_long] = ACTIONS(2221), + [anon_sym_short] = ACTIONS(2221), + [sym_primitive_type] = ACTIONS(2221), + [anon_sym_enum] = ACTIONS(2221), + [anon_sym_class] = ACTIONS(2221), + [anon_sym_struct] = ACTIONS(2221), + [anon_sym_union] = ACTIONS(2221), + [anon_sym_if] = ACTIONS(2221), + [anon_sym_switch] = ACTIONS(2221), + [anon_sym_case] = ACTIONS(2221), + [anon_sym_default] = ACTIONS(2221), + [anon_sym_while] = ACTIONS(2221), + [anon_sym_do] = ACTIONS(2221), + [anon_sym_for] = ACTIONS(2221), + [anon_sym_return] = ACTIONS(2221), + [anon_sym_break] = ACTIONS(2221), + [anon_sym_continue] = ACTIONS(2221), + [anon_sym_goto] = ACTIONS(2221), + [anon_sym_DASH_DASH] = ACTIONS(2223), + [anon_sym_PLUS_PLUS] = ACTIONS(2223), + [anon_sym_sizeof] = ACTIONS(2221), + [sym_number_literal] = ACTIONS(2223), + [anon_sym_L_SQUOTE] = ACTIONS(2223), + [anon_sym_u_SQUOTE] = ACTIONS(2223), + [anon_sym_U_SQUOTE] = ACTIONS(2223), + [anon_sym_u8_SQUOTE] = ACTIONS(2223), + [anon_sym_SQUOTE] = ACTIONS(2223), + [anon_sym_L_DQUOTE] = ACTIONS(2223), + [anon_sym_u_DQUOTE] = ACTIONS(2223), + [anon_sym_U_DQUOTE] = ACTIONS(2223), + [anon_sym_u8_DQUOTE] = ACTIONS(2223), + [anon_sym_DQUOTE] = ACTIONS(2223), + [sym_true] = ACTIONS(2221), + [sym_false] = ACTIONS(2221), + [sym_null] = ACTIONS(2221), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2221), + [anon_sym_decltype] = ACTIONS(2221), + [anon_sym_virtual] = ACTIONS(2221), + [anon_sym_explicit] = ACTIONS(2221), + [anon_sym_typename] = ACTIONS(2221), + [anon_sym_template] = ACTIONS(2221), + [anon_sym_operator] = ACTIONS(2221), + [anon_sym_delete] = ACTIONS(2221), + [anon_sym_throw] = ACTIONS(2221), + [anon_sym_namespace] = ACTIONS(2221), + [anon_sym_using] = ACTIONS(2221), + [anon_sym_static_assert] = ACTIONS(2221), + [anon_sym_concept] = ACTIONS(2221), + [anon_sym_co_return] = ACTIONS(2221), + [anon_sym_co_yield] = ACTIONS(2221), + [anon_sym_try] = ACTIONS(2221), + [anon_sym_co_await] = ACTIONS(2221), + [anon_sym_new] = ACTIONS(2221), + [anon_sym_requires] = ACTIONS(2221), + [sym_this] = ACTIONS(2221), + [sym_nullptr] = ACTIONS(2221), + [sym_raw_string_literal] = ACTIONS(2223), + }, + [798] = { + [sym_identifier] = ACTIONS(2395), + [aux_sym_preproc_include_token1] = ACTIONS(2395), + [aux_sym_preproc_def_token1] = ACTIONS(2395), + [aux_sym_preproc_if_token1] = ACTIONS(2395), + [aux_sym_preproc_if_token2] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2395), + [sym_preproc_directive] = ACTIONS(2395), + [anon_sym_LPAREN2] = ACTIONS(2397), + [anon_sym_BANG] = ACTIONS(2397), + [anon_sym_TILDE] = ACTIONS(2397), + [anon_sym_DASH] = ACTIONS(2395), + [anon_sym_PLUS] = ACTIONS(2395), + [anon_sym_STAR] = ACTIONS(2397), + [anon_sym_AMP_AMP] = ACTIONS(2397), + [anon_sym_AMP] = ACTIONS(2395), + [anon_sym_SEMI] = ACTIONS(2397), + [anon_sym_typedef] = ACTIONS(2395), + [anon_sym_extern] = ACTIONS(2395), + [anon_sym___attribute__] = ACTIONS(2395), + [anon_sym_COLON_COLON] = ACTIONS(2397), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2397), + [anon_sym___declspec] = ACTIONS(2395), + [anon_sym___based] = ACTIONS(2395), + [anon_sym___cdecl] = ACTIONS(2395), + [anon_sym___clrcall] = ACTIONS(2395), + [anon_sym___stdcall] = ACTIONS(2395), + [anon_sym___fastcall] = ACTIONS(2395), + [anon_sym___thiscall] = ACTIONS(2395), + [anon_sym___vectorcall] = ACTIONS(2395), + [anon_sym_LBRACE] = ACTIONS(2397), + [anon_sym_LBRACK] = ACTIONS(2395), + [anon_sym_static] = ACTIONS(2395), + [anon_sym_register] = ACTIONS(2395), + [anon_sym_inline] = ACTIONS(2395), + [anon_sym_thread_local] = ACTIONS(2395), + [anon_sym_const] = ACTIONS(2395), + [anon_sym_volatile] = ACTIONS(2395), + [anon_sym_restrict] = ACTIONS(2395), + [anon_sym__Atomic] = ACTIONS(2395), + [anon_sym_mutable] = ACTIONS(2395), + [anon_sym_constexpr] = ACTIONS(2395), + [anon_sym_constinit] = ACTIONS(2395), + [anon_sym_consteval] = ACTIONS(2395), + [anon_sym_signed] = ACTIONS(2395), + [anon_sym_unsigned] = ACTIONS(2395), + [anon_sym_long] = ACTIONS(2395), + [anon_sym_short] = ACTIONS(2395), + [sym_primitive_type] = ACTIONS(2395), + [anon_sym_enum] = ACTIONS(2395), + [anon_sym_class] = ACTIONS(2395), + [anon_sym_struct] = ACTIONS(2395), + [anon_sym_union] = ACTIONS(2395), + [anon_sym_if] = ACTIONS(2395), + [anon_sym_switch] = ACTIONS(2395), + [anon_sym_case] = ACTIONS(2395), + [anon_sym_default] = ACTIONS(2395), + [anon_sym_while] = ACTIONS(2395), + [anon_sym_do] = ACTIONS(2395), + [anon_sym_for] = ACTIONS(2395), + [anon_sym_return] = ACTIONS(2395), + [anon_sym_break] = ACTIONS(2395), + [anon_sym_continue] = ACTIONS(2395), + [anon_sym_goto] = ACTIONS(2395), + [anon_sym_DASH_DASH] = ACTIONS(2397), + [anon_sym_PLUS_PLUS] = ACTIONS(2397), + [anon_sym_sizeof] = ACTIONS(2395), + [sym_number_literal] = ACTIONS(2397), + [anon_sym_L_SQUOTE] = ACTIONS(2397), + [anon_sym_u_SQUOTE] = ACTIONS(2397), + [anon_sym_U_SQUOTE] = ACTIONS(2397), + [anon_sym_u8_SQUOTE] = ACTIONS(2397), + [anon_sym_SQUOTE] = ACTIONS(2397), + [anon_sym_L_DQUOTE] = ACTIONS(2397), + [anon_sym_u_DQUOTE] = ACTIONS(2397), + [anon_sym_U_DQUOTE] = ACTIONS(2397), + [anon_sym_u8_DQUOTE] = ACTIONS(2397), + [anon_sym_DQUOTE] = ACTIONS(2397), + [sym_true] = ACTIONS(2395), + [sym_false] = ACTIONS(2395), + [sym_null] = ACTIONS(2395), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2395), + [anon_sym_decltype] = ACTIONS(2395), + [anon_sym_virtual] = ACTIONS(2395), + [anon_sym_explicit] = ACTIONS(2395), + [anon_sym_typename] = ACTIONS(2395), + [anon_sym_template] = ACTIONS(2395), + [anon_sym_operator] = ACTIONS(2395), + [anon_sym_delete] = ACTIONS(2395), + [anon_sym_throw] = ACTIONS(2395), + [anon_sym_namespace] = ACTIONS(2395), + [anon_sym_using] = ACTIONS(2395), + [anon_sym_static_assert] = ACTIONS(2395), + [anon_sym_concept] = ACTIONS(2395), + [anon_sym_co_return] = ACTIONS(2395), + [anon_sym_co_yield] = ACTIONS(2395), + [anon_sym_try] = ACTIONS(2395), + [anon_sym_co_await] = ACTIONS(2395), + [anon_sym_new] = ACTIONS(2395), + [anon_sym_requires] = ACTIONS(2395), + [sym_this] = ACTIONS(2395), + [sym_nullptr] = ACTIONS(2395), + [sym_raw_string_literal] = ACTIONS(2397), + }, + [799] = { + [ts_builtin_sym_end] = ACTIONS(2329), + [sym_identifier] = ACTIONS(2327), + [aux_sym_preproc_include_token1] = ACTIONS(2327), + [aux_sym_preproc_def_token1] = ACTIONS(2327), + [aux_sym_preproc_if_token1] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2327), + [sym_preproc_directive] = ACTIONS(2327), + [anon_sym_LPAREN2] = ACTIONS(2329), + [anon_sym_BANG] = ACTIONS(2329), + [anon_sym_TILDE] = ACTIONS(2329), + [anon_sym_DASH] = ACTIONS(2327), + [anon_sym_PLUS] = ACTIONS(2327), + [anon_sym_STAR] = ACTIONS(2329), + [anon_sym_AMP_AMP] = ACTIONS(2329), + [anon_sym_AMP] = ACTIONS(2327), + [anon_sym_SEMI] = ACTIONS(2329), + [anon_sym_typedef] = ACTIONS(2327), + [anon_sym_extern] = ACTIONS(2327), + [anon_sym___attribute__] = ACTIONS(2327), + [anon_sym_COLON_COLON] = ACTIONS(2329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2329), + [anon_sym___declspec] = ACTIONS(2327), + [anon_sym___based] = ACTIONS(2327), + [anon_sym___cdecl] = ACTIONS(2327), + [anon_sym___clrcall] = ACTIONS(2327), + [anon_sym___stdcall] = ACTIONS(2327), + [anon_sym___fastcall] = ACTIONS(2327), + [anon_sym___thiscall] = ACTIONS(2327), + [anon_sym___vectorcall] = ACTIONS(2327), + [anon_sym_LBRACE] = ACTIONS(2329), + [anon_sym_LBRACK] = ACTIONS(2327), + [anon_sym_static] = ACTIONS(2327), + [anon_sym_register] = ACTIONS(2327), + [anon_sym_inline] = ACTIONS(2327), + [anon_sym_thread_local] = ACTIONS(2327), + [anon_sym_const] = ACTIONS(2327), + [anon_sym_volatile] = ACTIONS(2327), + [anon_sym_restrict] = ACTIONS(2327), + [anon_sym__Atomic] = ACTIONS(2327), + [anon_sym_mutable] = ACTIONS(2327), + [anon_sym_constexpr] = ACTIONS(2327), + [anon_sym_constinit] = ACTIONS(2327), + [anon_sym_consteval] = ACTIONS(2327), + [anon_sym_signed] = ACTIONS(2327), + [anon_sym_unsigned] = ACTIONS(2327), + [anon_sym_long] = ACTIONS(2327), + [anon_sym_short] = ACTIONS(2327), + [sym_primitive_type] = ACTIONS(2327), + [anon_sym_enum] = ACTIONS(2327), + [anon_sym_class] = ACTIONS(2327), + [anon_sym_struct] = ACTIONS(2327), + [anon_sym_union] = ACTIONS(2327), + [anon_sym_if] = ACTIONS(2327), + [anon_sym_switch] = ACTIONS(2327), + [anon_sym_case] = ACTIONS(2327), + [anon_sym_default] = ACTIONS(2327), + [anon_sym_while] = ACTIONS(2327), + [anon_sym_do] = ACTIONS(2327), + [anon_sym_for] = ACTIONS(2327), + [anon_sym_return] = ACTIONS(2327), + [anon_sym_break] = ACTIONS(2327), + [anon_sym_continue] = ACTIONS(2327), + [anon_sym_goto] = ACTIONS(2327), + [anon_sym_DASH_DASH] = ACTIONS(2329), + [anon_sym_PLUS_PLUS] = ACTIONS(2329), + [anon_sym_sizeof] = ACTIONS(2327), + [sym_number_literal] = ACTIONS(2329), + [anon_sym_L_SQUOTE] = ACTIONS(2329), + [anon_sym_u_SQUOTE] = ACTIONS(2329), + [anon_sym_U_SQUOTE] = ACTIONS(2329), + [anon_sym_u8_SQUOTE] = ACTIONS(2329), + [anon_sym_SQUOTE] = ACTIONS(2329), + [anon_sym_L_DQUOTE] = ACTIONS(2329), + [anon_sym_u_DQUOTE] = ACTIONS(2329), + [anon_sym_U_DQUOTE] = ACTIONS(2329), + [anon_sym_u8_DQUOTE] = ACTIONS(2329), + [anon_sym_DQUOTE] = ACTIONS(2329), + [sym_true] = ACTIONS(2327), + [sym_false] = ACTIONS(2327), + [sym_null] = ACTIONS(2327), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2327), + [anon_sym_decltype] = ACTIONS(2327), + [anon_sym_virtual] = ACTIONS(2327), + [anon_sym_explicit] = ACTIONS(2327), + [anon_sym_typename] = ACTIONS(2327), + [anon_sym_template] = ACTIONS(2327), + [anon_sym_operator] = ACTIONS(2327), + [anon_sym_delete] = ACTIONS(2327), + [anon_sym_throw] = ACTIONS(2327), + [anon_sym_namespace] = ACTIONS(2327), + [anon_sym_using] = ACTIONS(2327), + [anon_sym_static_assert] = ACTIONS(2327), + [anon_sym_concept] = ACTIONS(2327), + [anon_sym_co_return] = ACTIONS(2327), + [anon_sym_co_yield] = ACTIONS(2327), + [anon_sym_try] = ACTIONS(2327), + [anon_sym_co_await] = ACTIONS(2327), + [anon_sym_new] = ACTIONS(2327), + [anon_sym_requires] = ACTIONS(2327), + [sym_this] = ACTIONS(2327), + [sym_nullptr] = ACTIONS(2327), + [sym_raw_string_literal] = ACTIONS(2329), + }, + [800] = { + [sym_identifier] = ACTIONS(2399), + [aux_sym_preproc_include_token1] = ACTIONS(2399), + [aux_sym_preproc_def_token1] = ACTIONS(2399), + [aux_sym_preproc_if_token1] = ACTIONS(2399), + [aux_sym_preproc_if_token2] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2399), + [sym_preproc_directive] = ACTIONS(2399), + [anon_sym_LPAREN2] = ACTIONS(2401), + [anon_sym_BANG] = ACTIONS(2401), + [anon_sym_TILDE] = ACTIONS(2401), + [anon_sym_DASH] = ACTIONS(2399), + [anon_sym_PLUS] = ACTIONS(2399), + [anon_sym_STAR] = ACTIONS(2401), + [anon_sym_AMP_AMP] = ACTIONS(2401), + [anon_sym_AMP] = ACTIONS(2399), + [anon_sym_SEMI] = ACTIONS(2401), + [anon_sym_typedef] = ACTIONS(2399), + [anon_sym_extern] = ACTIONS(2399), + [anon_sym___attribute__] = ACTIONS(2399), + [anon_sym_COLON_COLON] = ACTIONS(2401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2401), + [anon_sym___declspec] = ACTIONS(2399), + [anon_sym___based] = ACTIONS(2399), + [anon_sym___cdecl] = ACTIONS(2399), + [anon_sym___clrcall] = ACTIONS(2399), + [anon_sym___stdcall] = ACTIONS(2399), + [anon_sym___fastcall] = ACTIONS(2399), + [anon_sym___thiscall] = ACTIONS(2399), + [anon_sym___vectorcall] = ACTIONS(2399), + [anon_sym_LBRACE] = ACTIONS(2401), + [anon_sym_LBRACK] = ACTIONS(2399), + [anon_sym_static] = ACTIONS(2399), + [anon_sym_register] = ACTIONS(2399), + [anon_sym_inline] = ACTIONS(2399), + [anon_sym_thread_local] = ACTIONS(2399), + [anon_sym_const] = ACTIONS(2399), + [anon_sym_volatile] = ACTIONS(2399), + [anon_sym_restrict] = ACTIONS(2399), + [anon_sym__Atomic] = ACTIONS(2399), + [anon_sym_mutable] = ACTIONS(2399), + [anon_sym_constexpr] = ACTIONS(2399), + [anon_sym_constinit] = ACTIONS(2399), + [anon_sym_consteval] = ACTIONS(2399), + [anon_sym_signed] = ACTIONS(2399), + [anon_sym_unsigned] = ACTIONS(2399), + [anon_sym_long] = ACTIONS(2399), + [anon_sym_short] = ACTIONS(2399), + [sym_primitive_type] = ACTIONS(2399), + [anon_sym_enum] = ACTIONS(2399), + [anon_sym_class] = ACTIONS(2399), + [anon_sym_struct] = ACTIONS(2399), + [anon_sym_union] = ACTIONS(2399), + [anon_sym_if] = ACTIONS(2399), + [anon_sym_switch] = ACTIONS(2399), + [anon_sym_case] = ACTIONS(2399), + [anon_sym_default] = ACTIONS(2399), + [anon_sym_while] = ACTIONS(2399), + [anon_sym_do] = ACTIONS(2399), + [anon_sym_for] = ACTIONS(2399), + [anon_sym_return] = ACTIONS(2399), + [anon_sym_break] = ACTIONS(2399), + [anon_sym_continue] = ACTIONS(2399), + [anon_sym_goto] = ACTIONS(2399), + [anon_sym_DASH_DASH] = ACTIONS(2401), + [anon_sym_PLUS_PLUS] = ACTIONS(2401), + [anon_sym_sizeof] = ACTIONS(2399), + [sym_number_literal] = ACTIONS(2401), + [anon_sym_L_SQUOTE] = ACTIONS(2401), + [anon_sym_u_SQUOTE] = ACTIONS(2401), + [anon_sym_U_SQUOTE] = ACTIONS(2401), + [anon_sym_u8_SQUOTE] = ACTIONS(2401), + [anon_sym_SQUOTE] = ACTIONS(2401), + [anon_sym_L_DQUOTE] = ACTIONS(2401), + [anon_sym_u_DQUOTE] = ACTIONS(2401), + [anon_sym_U_DQUOTE] = ACTIONS(2401), + [anon_sym_u8_DQUOTE] = ACTIONS(2401), + [anon_sym_DQUOTE] = ACTIONS(2401), + [sym_true] = ACTIONS(2399), + [sym_false] = ACTIONS(2399), + [sym_null] = ACTIONS(2399), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2399), + [anon_sym_decltype] = ACTIONS(2399), + [anon_sym_virtual] = ACTIONS(2399), + [anon_sym_explicit] = ACTIONS(2399), + [anon_sym_typename] = ACTIONS(2399), + [anon_sym_template] = ACTIONS(2399), + [anon_sym_operator] = ACTIONS(2399), + [anon_sym_delete] = ACTIONS(2399), + [anon_sym_throw] = ACTIONS(2399), + [anon_sym_namespace] = ACTIONS(2399), + [anon_sym_using] = ACTIONS(2399), + [anon_sym_static_assert] = ACTIONS(2399), + [anon_sym_concept] = ACTIONS(2399), + [anon_sym_co_return] = ACTIONS(2399), + [anon_sym_co_yield] = ACTIONS(2399), + [anon_sym_try] = ACTIONS(2399), + [anon_sym_co_await] = ACTIONS(2399), + [anon_sym_new] = ACTIONS(2399), + [anon_sym_requires] = ACTIONS(2399), + [sym_this] = ACTIONS(2399), + [sym_nullptr] = ACTIONS(2399), + [sym_raw_string_literal] = ACTIONS(2401), + }, + [801] = { + [sym_identifier] = ACTIONS(2279), + [aux_sym_preproc_include_token1] = ACTIONS(2279), + [aux_sym_preproc_def_token1] = ACTIONS(2279), + [aux_sym_preproc_if_token1] = ACTIONS(2279), + [aux_sym_preproc_if_token2] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2279), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2279), + [sym_preproc_directive] = ACTIONS(2279), + [anon_sym_LPAREN2] = ACTIONS(2281), + [anon_sym_BANG] = ACTIONS(2281), + [anon_sym_TILDE] = ACTIONS(2281), + [anon_sym_DASH] = ACTIONS(2279), + [anon_sym_PLUS] = ACTIONS(2279), + [anon_sym_STAR] = ACTIONS(2281), + [anon_sym_AMP_AMP] = ACTIONS(2281), + [anon_sym_AMP] = ACTIONS(2279), + [anon_sym_SEMI] = ACTIONS(2281), + [anon_sym_typedef] = ACTIONS(2279), + [anon_sym_extern] = ACTIONS(2279), + [anon_sym___attribute__] = ACTIONS(2279), + [anon_sym_COLON_COLON] = ACTIONS(2281), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2281), + [anon_sym___declspec] = ACTIONS(2279), + [anon_sym___based] = ACTIONS(2279), + [anon_sym___cdecl] = ACTIONS(2279), + [anon_sym___clrcall] = ACTIONS(2279), + [anon_sym___stdcall] = ACTIONS(2279), + [anon_sym___fastcall] = ACTIONS(2279), + [anon_sym___thiscall] = ACTIONS(2279), + [anon_sym___vectorcall] = ACTIONS(2279), + [anon_sym_LBRACE] = ACTIONS(2281), + [anon_sym_LBRACK] = ACTIONS(2279), + [anon_sym_static] = ACTIONS(2279), + [anon_sym_register] = ACTIONS(2279), + [anon_sym_inline] = ACTIONS(2279), + [anon_sym_thread_local] = ACTIONS(2279), + [anon_sym_const] = ACTIONS(2279), + [anon_sym_volatile] = ACTIONS(2279), + [anon_sym_restrict] = ACTIONS(2279), + [anon_sym__Atomic] = ACTIONS(2279), + [anon_sym_mutable] = ACTIONS(2279), + [anon_sym_constexpr] = ACTIONS(2279), + [anon_sym_constinit] = ACTIONS(2279), + [anon_sym_consteval] = ACTIONS(2279), + [anon_sym_signed] = ACTIONS(2279), + [anon_sym_unsigned] = ACTIONS(2279), + [anon_sym_long] = ACTIONS(2279), + [anon_sym_short] = ACTIONS(2279), + [sym_primitive_type] = ACTIONS(2279), + [anon_sym_enum] = ACTIONS(2279), + [anon_sym_class] = ACTIONS(2279), + [anon_sym_struct] = ACTIONS(2279), + [anon_sym_union] = ACTIONS(2279), + [anon_sym_if] = ACTIONS(2279), + [anon_sym_switch] = ACTIONS(2279), + [anon_sym_case] = ACTIONS(2279), + [anon_sym_default] = ACTIONS(2279), + [anon_sym_while] = ACTIONS(2279), + [anon_sym_do] = ACTIONS(2279), + [anon_sym_for] = ACTIONS(2279), + [anon_sym_return] = ACTIONS(2279), + [anon_sym_break] = ACTIONS(2279), + [anon_sym_continue] = ACTIONS(2279), + [anon_sym_goto] = ACTIONS(2279), + [anon_sym_DASH_DASH] = ACTIONS(2281), + [anon_sym_PLUS_PLUS] = ACTIONS(2281), + [anon_sym_sizeof] = ACTIONS(2279), + [sym_number_literal] = ACTIONS(2281), + [anon_sym_L_SQUOTE] = ACTIONS(2281), + [anon_sym_u_SQUOTE] = ACTIONS(2281), + [anon_sym_U_SQUOTE] = ACTIONS(2281), + [anon_sym_u8_SQUOTE] = ACTIONS(2281), + [anon_sym_SQUOTE] = ACTIONS(2281), + [anon_sym_L_DQUOTE] = ACTIONS(2281), + [anon_sym_u_DQUOTE] = ACTIONS(2281), + [anon_sym_U_DQUOTE] = ACTIONS(2281), + [anon_sym_u8_DQUOTE] = ACTIONS(2281), + [anon_sym_DQUOTE] = ACTIONS(2281), + [sym_true] = ACTIONS(2279), + [sym_false] = ACTIONS(2279), + [sym_null] = ACTIONS(2279), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2279), + [anon_sym_decltype] = ACTIONS(2279), + [anon_sym_virtual] = ACTIONS(2279), + [anon_sym_explicit] = ACTIONS(2279), + [anon_sym_typename] = ACTIONS(2279), + [anon_sym_template] = ACTIONS(2279), + [anon_sym_operator] = ACTIONS(2279), + [anon_sym_delete] = ACTIONS(2279), + [anon_sym_throw] = ACTIONS(2279), + [anon_sym_namespace] = ACTIONS(2279), + [anon_sym_using] = ACTIONS(2279), + [anon_sym_static_assert] = ACTIONS(2279), + [anon_sym_concept] = ACTIONS(2279), + [anon_sym_co_return] = ACTIONS(2279), + [anon_sym_co_yield] = ACTIONS(2279), + [anon_sym_try] = ACTIONS(2279), + [anon_sym_co_await] = ACTIONS(2279), + [anon_sym_new] = ACTIONS(2279), + [anon_sym_requires] = ACTIONS(2279), + [sym_this] = ACTIONS(2279), + [sym_nullptr] = ACTIONS(2279), + [sym_raw_string_literal] = ACTIONS(2281), + }, + [802] = { + [sym_identifier] = ACTIONS(2201), + [aux_sym_preproc_include_token1] = ACTIONS(2201), + [aux_sym_preproc_def_token1] = ACTIONS(2201), + [aux_sym_preproc_if_token1] = ACTIONS(2201), + [aux_sym_preproc_if_token2] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2201), + [sym_preproc_directive] = ACTIONS(2201), + [anon_sym_LPAREN2] = ACTIONS(2203), + [anon_sym_BANG] = ACTIONS(2203), + [anon_sym_TILDE] = ACTIONS(2203), + [anon_sym_DASH] = ACTIONS(2201), + [anon_sym_PLUS] = ACTIONS(2201), + [anon_sym_STAR] = ACTIONS(2203), + [anon_sym_AMP_AMP] = ACTIONS(2203), + [anon_sym_AMP] = ACTIONS(2201), + [anon_sym_SEMI] = ACTIONS(2203), + [anon_sym_typedef] = ACTIONS(2201), + [anon_sym_extern] = ACTIONS(2201), + [anon_sym___attribute__] = ACTIONS(2201), + [anon_sym_COLON_COLON] = ACTIONS(2203), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2203), + [anon_sym___declspec] = ACTIONS(2201), + [anon_sym___based] = ACTIONS(2201), + [anon_sym___cdecl] = ACTIONS(2201), + [anon_sym___clrcall] = ACTIONS(2201), + [anon_sym___stdcall] = ACTIONS(2201), + [anon_sym___fastcall] = ACTIONS(2201), + [anon_sym___thiscall] = ACTIONS(2201), + [anon_sym___vectorcall] = ACTIONS(2201), + [anon_sym_LBRACE] = ACTIONS(2203), + [anon_sym_LBRACK] = ACTIONS(2201), + [anon_sym_static] = ACTIONS(2201), + [anon_sym_register] = ACTIONS(2201), + [anon_sym_inline] = ACTIONS(2201), + [anon_sym_thread_local] = ACTIONS(2201), + [anon_sym_const] = ACTIONS(2201), + [anon_sym_volatile] = ACTIONS(2201), + [anon_sym_restrict] = ACTIONS(2201), + [anon_sym__Atomic] = ACTIONS(2201), + [anon_sym_mutable] = ACTIONS(2201), + [anon_sym_constexpr] = ACTIONS(2201), + [anon_sym_constinit] = ACTIONS(2201), + [anon_sym_consteval] = ACTIONS(2201), + [anon_sym_signed] = ACTIONS(2201), + [anon_sym_unsigned] = ACTIONS(2201), + [anon_sym_long] = ACTIONS(2201), + [anon_sym_short] = ACTIONS(2201), + [sym_primitive_type] = ACTIONS(2201), + [anon_sym_enum] = ACTIONS(2201), + [anon_sym_class] = ACTIONS(2201), + [anon_sym_struct] = ACTIONS(2201), + [anon_sym_union] = ACTIONS(2201), + [anon_sym_if] = ACTIONS(2201), + [anon_sym_switch] = ACTIONS(2201), + [anon_sym_case] = ACTIONS(2201), + [anon_sym_default] = ACTIONS(2201), + [anon_sym_while] = ACTIONS(2201), + [anon_sym_do] = ACTIONS(2201), + [anon_sym_for] = ACTIONS(2201), + [anon_sym_return] = ACTIONS(2201), + [anon_sym_break] = ACTIONS(2201), + [anon_sym_continue] = ACTIONS(2201), + [anon_sym_goto] = ACTIONS(2201), + [anon_sym_DASH_DASH] = ACTIONS(2203), + [anon_sym_PLUS_PLUS] = ACTIONS(2203), + [anon_sym_sizeof] = ACTIONS(2201), + [sym_number_literal] = ACTIONS(2203), + [anon_sym_L_SQUOTE] = ACTIONS(2203), + [anon_sym_u_SQUOTE] = ACTIONS(2203), + [anon_sym_U_SQUOTE] = ACTIONS(2203), + [anon_sym_u8_SQUOTE] = ACTIONS(2203), + [anon_sym_SQUOTE] = ACTIONS(2203), + [anon_sym_L_DQUOTE] = ACTIONS(2203), + [anon_sym_u_DQUOTE] = ACTIONS(2203), + [anon_sym_U_DQUOTE] = ACTIONS(2203), + [anon_sym_u8_DQUOTE] = ACTIONS(2203), + [anon_sym_DQUOTE] = ACTIONS(2203), + [sym_true] = ACTIONS(2201), + [sym_false] = ACTIONS(2201), + [sym_null] = ACTIONS(2201), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2201), + [anon_sym_decltype] = ACTIONS(2201), + [anon_sym_virtual] = ACTIONS(2201), + [anon_sym_explicit] = ACTIONS(2201), + [anon_sym_typename] = ACTIONS(2201), + [anon_sym_template] = ACTIONS(2201), + [anon_sym_operator] = ACTIONS(2201), + [anon_sym_delete] = ACTIONS(2201), + [anon_sym_throw] = ACTIONS(2201), + [anon_sym_namespace] = ACTIONS(2201), + [anon_sym_using] = ACTIONS(2201), + [anon_sym_static_assert] = ACTIONS(2201), + [anon_sym_concept] = ACTIONS(2201), + [anon_sym_co_return] = ACTIONS(2201), + [anon_sym_co_yield] = ACTIONS(2201), + [anon_sym_try] = ACTIONS(2201), + [anon_sym_co_await] = ACTIONS(2201), + [anon_sym_new] = ACTIONS(2201), + [anon_sym_requires] = ACTIONS(2201), + [sym_this] = ACTIONS(2201), + [sym_nullptr] = ACTIONS(2201), + [sym_raw_string_literal] = ACTIONS(2203), + }, + [803] = { + [sym_identifier] = ACTIONS(2267), + [aux_sym_preproc_include_token1] = ACTIONS(2267), + [aux_sym_preproc_def_token1] = ACTIONS(2267), + [aux_sym_preproc_if_token1] = ACTIONS(2267), + [aux_sym_preproc_if_token2] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2267), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2267), + [sym_preproc_directive] = ACTIONS(2267), + [anon_sym_LPAREN2] = ACTIONS(2269), + [anon_sym_BANG] = ACTIONS(2269), + [anon_sym_TILDE] = ACTIONS(2269), + [anon_sym_DASH] = ACTIONS(2267), + [anon_sym_PLUS] = ACTIONS(2267), + [anon_sym_STAR] = ACTIONS(2269), + [anon_sym_AMP_AMP] = ACTIONS(2269), + [anon_sym_AMP] = ACTIONS(2267), + [anon_sym_SEMI] = ACTIONS(2269), + [anon_sym_typedef] = ACTIONS(2267), + [anon_sym_extern] = ACTIONS(2267), + [anon_sym___attribute__] = ACTIONS(2267), + [anon_sym_COLON_COLON] = ACTIONS(2269), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2269), + [anon_sym___declspec] = ACTIONS(2267), + [anon_sym___based] = ACTIONS(2267), + [anon_sym___cdecl] = ACTIONS(2267), + [anon_sym___clrcall] = ACTIONS(2267), + [anon_sym___stdcall] = ACTIONS(2267), + [anon_sym___fastcall] = ACTIONS(2267), + [anon_sym___thiscall] = ACTIONS(2267), + [anon_sym___vectorcall] = ACTIONS(2267), + [anon_sym_LBRACE] = ACTIONS(2269), + [anon_sym_LBRACK] = ACTIONS(2267), + [anon_sym_static] = ACTIONS(2267), + [anon_sym_register] = ACTIONS(2267), + [anon_sym_inline] = ACTIONS(2267), + [anon_sym_thread_local] = ACTIONS(2267), + [anon_sym_const] = ACTIONS(2267), + [anon_sym_volatile] = ACTIONS(2267), + [anon_sym_restrict] = ACTIONS(2267), + [anon_sym__Atomic] = ACTIONS(2267), + [anon_sym_mutable] = ACTIONS(2267), + [anon_sym_constexpr] = ACTIONS(2267), + [anon_sym_constinit] = ACTIONS(2267), + [anon_sym_consteval] = ACTIONS(2267), + [anon_sym_signed] = ACTIONS(2267), + [anon_sym_unsigned] = ACTIONS(2267), + [anon_sym_long] = ACTIONS(2267), + [anon_sym_short] = ACTIONS(2267), + [sym_primitive_type] = ACTIONS(2267), + [anon_sym_enum] = ACTIONS(2267), + [anon_sym_class] = ACTIONS(2267), + [anon_sym_struct] = ACTIONS(2267), + [anon_sym_union] = ACTIONS(2267), + [anon_sym_if] = ACTIONS(2267), + [anon_sym_switch] = ACTIONS(2267), + [anon_sym_case] = ACTIONS(2267), + [anon_sym_default] = ACTIONS(2267), + [anon_sym_while] = ACTIONS(2267), + [anon_sym_do] = ACTIONS(2267), + [anon_sym_for] = ACTIONS(2267), + [anon_sym_return] = ACTIONS(2267), + [anon_sym_break] = ACTIONS(2267), + [anon_sym_continue] = ACTIONS(2267), + [anon_sym_goto] = ACTIONS(2267), + [anon_sym_DASH_DASH] = ACTIONS(2269), + [anon_sym_PLUS_PLUS] = ACTIONS(2269), + [anon_sym_sizeof] = ACTIONS(2267), + [sym_number_literal] = ACTIONS(2269), + [anon_sym_L_SQUOTE] = ACTIONS(2269), + [anon_sym_u_SQUOTE] = ACTIONS(2269), + [anon_sym_U_SQUOTE] = ACTIONS(2269), + [anon_sym_u8_SQUOTE] = ACTIONS(2269), + [anon_sym_SQUOTE] = ACTIONS(2269), + [anon_sym_L_DQUOTE] = ACTIONS(2269), + [anon_sym_u_DQUOTE] = ACTIONS(2269), + [anon_sym_U_DQUOTE] = ACTIONS(2269), + [anon_sym_u8_DQUOTE] = ACTIONS(2269), + [anon_sym_DQUOTE] = ACTIONS(2269), + [sym_true] = ACTIONS(2267), + [sym_false] = ACTIONS(2267), + [sym_null] = ACTIONS(2267), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2267), + [anon_sym_decltype] = ACTIONS(2267), + [anon_sym_virtual] = ACTIONS(2267), + [anon_sym_explicit] = ACTIONS(2267), + [anon_sym_typename] = ACTIONS(2267), + [anon_sym_template] = ACTIONS(2267), + [anon_sym_operator] = ACTIONS(2267), + [anon_sym_delete] = ACTIONS(2267), + [anon_sym_throw] = ACTIONS(2267), + [anon_sym_namespace] = ACTIONS(2267), + [anon_sym_using] = ACTIONS(2267), + [anon_sym_static_assert] = ACTIONS(2267), + [anon_sym_concept] = ACTIONS(2267), + [anon_sym_co_return] = ACTIONS(2267), + [anon_sym_co_yield] = ACTIONS(2267), + [anon_sym_try] = ACTIONS(2267), + [anon_sym_co_await] = ACTIONS(2267), + [anon_sym_new] = ACTIONS(2267), + [anon_sym_requires] = ACTIONS(2267), + [sym_this] = ACTIONS(2267), + [sym_nullptr] = ACTIONS(2267), + [sym_raw_string_literal] = ACTIONS(2269), + }, + [804] = { + [sym_identifier] = ACTIONS(2359), + [aux_sym_preproc_include_token1] = ACTIONS(2359), + [aux_sym_preproc_def_token1] = ACTIONS(2359), + [aux_sym_preproc_if_token1] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2359), + [sym_preproc_directive] = ACTIONS(2359), + [anon_sym_LPAREN2] = ACTIONS(2361), + [anon_sym_BANG] = ACTIONS(2361), + [anon_sym_TILDE] = ACTIONS(2361), + [anon_sym_DASH] = ACTIONS(2359), + [anon_sym_PLUS] = ACTIONS(2359), + [anon_sym_STAR] = ACTIONS(2361), + [anon_sym_AMP_AMP] = ACTIONS(2361), + [anon_sym_AMP] = ACTIONS(2359), + [anon_sym_SEMI] = ACTIONS(2361), + [anon_sym_typedef] = ACTIONS(2359), + [anon_sym_extern] = ACTIONS(2359), + [anon_sym___attribute__] = ACTIONS(2359), + [anon_sym_COLON_COLON] = ACTIONS(2361), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2361), + [anon_sym___declspec] = ACTIONS(2359), + [anon_sym___based] = ACTIONS(2359), + [anon_sym___cdecl] = ACTIONS(2359), + [anon_sym___clrcall] = ACTIONS(2359), + [anon_sym___stdcall] = ACTIONS(2359), + [anon_sym___fastcall] = ACTIONS(2359), + [anon_sym___thiscall] = ACTIONS(2359), + [anon_sym___vectorcall] = ACTIONS(2359), + [anon_sym_LBRACE] = ACTIONS(2361), + [anon_sym_RBRACE] = ACTIONS(2361), + [anon_sym_LBRACK] = ACTIONS(2359), + [anon_sym_static] = ACTIONS(2359), + [anon_sym_register] = ACTIONS(2359), + [anon_sym_inline] = ACTIONS(2359), + [anon_sym_thread_local] = ACTIONS(2359), + [anon_sym_const] = ACTIONS(2359), + [anon_sym_volatile] = ACTIONS(2359), + [anon_sym_restrict] = ACTIONS(2359), + [anon_sym__Atomic] = ACTIONS(2359), + [anon_sym_mutable] = ACTIONS(2359), + [anon_sym_constexpr] = ACTIONS(2359), + [anon_sym_constinit] = ACTIONS(2359), + [anon_sym_consteval] = ACTIONS(2359), + [anon_sym_signed] = ACTIONS(2359), + [anon_sym_unsigned] = ACTIONS(2359), + [anon_sym_long] = ACTIONS(2359), + [anon_sym_short] = ACTIONS(2359), + [sym_primitive_type] = ACTIONS(2359), + [anon_sym_enum] = ACTIONS(2359), + [anon_sym_class] = ACTIONS(2359), + [anon_sym_struct] = ACTIONS(2359), + [anon_sym_union] = ACTIONS(2359), + [anon_sym_if] = ACTIONS(2359), + [anon_sym_switch] = ACTIONS(2359), + [anon_sym_case] = ACTIONS(2359), + [anon_sym_default] = ACTIONS(2359), + [anon_sym_while] = ACTIONS(2359), + [anon_sym_do] = ACTIONS(2359), + [anon_sym_for] = ACTIONS(2359), + [anon_sym_return] = ACTIONS(2359), + [anon_sym_break] = ACTIONS(2359), + [anon_sym_continue] = ACTIONS(2359), + [anon_sym_goto] = ACTIONS(2359), + [anon_sym_DASH_DASH] = ACTIONS(2361), + [anon_sym_PLUS_PLUS] = ACTIONS(2361), + [anon_sym_sizeof] = ACTIONS(2359), + [sym_number_literal] = ACTIONS(2361), + [anon_sym_L_SQUOTE] = ACTIONS(2361), + [anon_sym_u_SQUOTE] = ACTIONS(2361), + [anon_sym_U_SQUOTE] = ACTIONS(2361), + [anon_sym_u8_SQUOTE] = ACTIONS(2361), + [anon_sym_SQUOTE] = ACTIONS(2361), + [anon_sym_L_DQUOTE] = ACTIONS(2361), + [anon_sym_u_DQUOTE] = ACTIONS(2361), + [anon_sym_U_DQUOTE] = ACTIONS(2361), + [anon_sym_u8_DQUOTE] = ACTIONS(2361), + [anon_sym_DQUOTE] = ACTIONS(2361), + [sym_true] = ACTIONS(2359), + [sym_false] = ACTIONS(2359), + [sym_null] = ACTIONS(2359), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2359), + [anon_sym_decltype] = ACTIONS(2359), + [anon_sym_virtual] = ACTIONS(2359), + [anon_sym_explicit] = ACTIONS(2359), + [anon_sym_typename] = ACTIONS(2359), + [anon_sym_template] = ACTIONS(2359), + [anon_sym_operator] = ACTIONS(2359), + [anon_sym_delete] = ACTIONS(2359), + [anon_sym_throw] = ACTIONS(2359), + [anon_sym_namespace] = ACTIONS(2359), + [anon_sym_using] = ACTIONS(2359), + [anon_sym_static_assert] = ACTIONS(2359), + [anon_sym_concept] = ACTIONS(2359), + [anon_sym_co_return] = ACTIONS(2359), + [anon_sym_co_yield] = ACTIONS(2359), + [anon_sym_try] = ACTIONS(2359), + [anon_sym_co_await] = ACTIONS(2359), + [anon_sym_new] = ACTIONS(2359), + [anon_sym_requires] = ACTIONS(2359), + [sym_this] = ACTIONS(2359), + [sym_nullptr] = ACTIONS(2359), + [sym_raw_string_literal] = ACTIONS(2361), + }, + [805] = { + [sym_identifier] = ACTIONS(2283), + [aux_sym_preproc_include_token1] = ACTIONS(2283), + [aux_sym_preproc_def_token1] = ACTIONS(2283), + [aux_sym_preproc_if_token1] = ACTIONS(2283), + [aux_sym_preproc_if_token2] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2283), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2283), + [sym_preproc_directive] = ACTIONS(2283), + [anon_sym_LPAREN2] = ACTIONS(2285), + [anon_sym_BANG] = ACTIONS(2285), + [anon_sym_TILDE] = ACTIONS(2285), + [anon_sym_DASH] = ACTIONS(2283), + [anon_sym_PLUS] = ACTIONS(2283), + [anon_sym_STAR] = ACTIONS(2285), + [anon_sym_AMP_AMP] = ACTIONS(2285), + [anon_sym_AMP] = ACTIONS(2283), + [anon_sym_SEMI] = ACTIONS(2285), + [anon_sym_typedef] = ACTIONS(2283), + [anon_sym_extern] = ACTIONS(2283), + [anon_sym___attribute__] = ACTIONS(2283), + [anon_sym_COLON_COLON] = ACTIONS(2285), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2285), + [anon_sym___declspec] = ACTIONS(2283), + [anon_sym___based] = ACTIONS(2283), + [anon_sym___cdecl] = ACTIONS(2283), + [anon_sym___clrcall] = ACTIONS(2283), + [anon_sym___stdcall] = ACTIONS(2283), + [anon_sym___fastcall] = ACTIONS(2283), + [anon_sym___thiscall] = ACTIONS(2283), + [anon_sym___vectorcall] = ACTIONS(2283), + [anon_sym_LBRACE] = ACTIONS(2285), + [anon_sym_LBRACK] = ACTIONS(2283), + [anon_sym_static] = ACTIONS(2283), + [anon_sym_register] = ACTIONS(2283), + [anon_sym_inline] = ACTIONS(2283), + [anon_sym_thread_local] = ACTIONS(2283), + [anon_sym_const] = ACTIONS(2283), + [anon_sym_volatile] = ACTIONS(2283), + [anon_sym_restrict] = ACTIONS(2283), + [anon_sym__Atomic] = ACTIONS(2283), + [anon_sym_mutable] = ACTIONS(2283), + [anon_sym_constexpr] = ACTIONS(2283), + [anon_sym_constinit] = ACTIONS(2283), + [anon_sym_consteval] = ACTIONS(2283), + [anon_sym_signed] = ACTIONS(2283), + [anon_sym_unsigned] = ACTIONS(2283), + [anon_sym_long] = ACTIONS(2283), + [anon_sym_short] = ACTIONS(2283), + [sym_primitive_type] = ACTIONS(2283), + [anon_sym_enum] = ACTIONS(2283), + [anon_sym_class] = ACTIONS(2283), + [anon_sym_struct] = ACTIONS(2283), + [anon_sym_union] = ACTIONS(2283), + [anon_sym_if] = ACTIONS(2283), + [anon_sym_switch] = ACTIONS(2283), + [anon_sym_case] = ACTIONS(2283), + [anon_sym_default] = ACTIONS(2283), + [anon_sym_while] = ACTIONS(2283), + [anon_sym_do] = ACTIONS(2283), + [anon_sym_for] = ACTIONS(2283), + [anon_sym_return] = ACTIONS(2283), + [anon_sym_break] = ACTIONS(2283), + [anon_sym_continue] = ACTIONS(2283), + [anon_sym_goto] = ACTIONS(2283), + [anon_sym_DASH_DASH] = ACTIONS(2285), + [anon_sym_PLUS_PLUS] = ACTIONS(2285), + [anon_sym_sizeof] = ACTIONS(2283), + [sym_number_literal] = ACTIONS(2285), + [anon_sym_L_SQUOTE] = ACTIONS(2285), + [anon_sym_u_SQUOTE] = ACTIONS(2285), + [anon_sym_U_SQUOTE] = ACTIONS(2285), + [anon_sym_u8_SQUOTE] = ACTIONS(2285), + [anon_sym_SQUOTE] = ACTIONS(2285), + [anon_sym_L_DQUOTE] = ACTIONS(2285), + [anon_sym_u_DQUOTE] = ACTIONS(2285), + [anon_sym_U_DQUOTE] = ACTIONS(2285), + [anon_sym_u8_DQUOTE] = ACTIONS(2285), + [anon_sym_DQUOTE] = ACTIONS(2285), + [sym_true] = ACTIONS(2283), + [sym_false] = ACTIONS(2283), + [sym_null] = ACTIONS(2283), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2283), + [anon_sym_decltype] = ACTIONS(2283), + [anon_sym_virtual] = ACTIONS(2283), + [anon_sym_explicit] = ACTIONS(2283), + [anon_sym_typename] = ACTIONS(2283), + [anon_sym_template] = ACTIONS(2283), + [anon_sym_operator] = ACTIONS(2283), + [anon_sym_delete] = ACTIONS(2283), + [anon_sym_throw] = ACTIONS(2283), + [anon_sym_namespace] = ACTIONS(2283), + [anon_sym_using] = ACTIONS(2283), + [anon_sym_static_assert] = ACTIONS(2283), + [anon_sym_concept] = ACTIONS(2283), + [anon_sym_co_return] = ACTIONS(2283), + [anon_sym_co_yield] = ACTIONS(2283), + [anon_sym_try] = ACTIONS(2283), + [anon_sym_co_await] = ACTIONS(2283), + [anon_sym_new] = ACTIONS(2283), + [anon_sym_requires] = ACTIONS(2283), + [sym_this] = ACTIONS(2283), + [sym_nullptr] = ACTIONS(2283), + [sym_raw_string_literal] = ACTIONS(2285), + }, + [806] = { + [sym_identifier] = ACTIONS(2419), + [aux_sym_preproc_include_token1] = ACTIONS(2419), + [aux_sym_preproc_def_token1] = ACTIONS(2419), + [aux_sym_preproc_if_token1] = ACTIONS(2419), + [aux_sym_preproc_if_token2] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2419), + [sym_preproc_directive] = ACTIONS(2419), + [anon_sym_LPAREN2] = ACTIONS(2421), + [anon_sym_BANG] = ACTIONS(2421), + [anon_sym_TILDE] = ACTIONS(2421), + [anon_sym_DASH] = ACTIONS(2419), + [anon_sym_PLUS] = ACTIONS(2419), + [anon_sym_STAR] = ACTIONS(2421), + [anon_sym_AMP_AMP] = ACTIONS(2421), + [anon_sym_AMP] = ACTIONS(2419), + [anon_sym_SEMI] = ACTIONS(2421), + [anon_sym_typedef] = ACTIONS(2419), + [anon_sym_extern] = ACTIONS(2419), + [anon_sym___attribute__] = ACTIONS(2419), + [anon_sym_COLON_COLON] = ACTIONS(2421), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2421), + [anon_sym___declspec] = ACTIONS(2419), + [anon_sym___based] = ACTIONS(2419), + [anon_sym___cdecl] = ACTIONS(2419), + [anon_sym___clrcall] = ACTIONS(2419), + [anon_sym___stdcall] = ACTIONS(2419), + [anon_sym___fastcall] = ACTIONS(2419), + [anon_sym___thiscall] = ACTIONS(2419), + [anon_sym___vectorcall] = ACTIONS(2419), + [anon_sym_LBRACE] = ACTIONS(2421), + [anon_sym_LBRACK] = ACTIONS(2419), + [anon_sym_static] = ACTIONS(2419), + [anon_sym_register] = ACTIONS(2419), + [anon_sym_inline] = ACTIONS(2419), + [anon_sym_thread_local] = ACTIONS(2419), + [anon_sym_const] = ACTIONS(2419), + [anon_sym_volatile] = ACTIONS(2419), + [anon_sym_restrict] = ACTIONS(2419), + [anon_sym__Atomic] = ACTIONS(2419), + [anon_sym_mutable] = ACTIONS(2419), + [anon_sym_constexpr] = ACTIONS(2419), + [anon_sym_constinit] = ACTIONS(2419), + [anon_sym_consteval] = ACTIONS(2419), + [anon_sym_signed] = ACTIONS(2419), + [anon_sym_unsigned] = ACTIONS(2419), + [anon_sym_long] = ACTIONS(2419), + [anon_sym_short] = ACTIONS(2419), + [sym_primitive_type] = ACTIONS(2419), + [anon_sym_enum] = ACTIONS(2419), + [anon_sym_class] = ACTIONS(2419), + [anon_sym_struct] = ACTIONS(2419), + [anon_sym_union] = ACTIONS(2419), + [anon_sym_if] = ACTIONS(2419), + [anon_sym_switch] = ACTIONS(2419), + [anon_sym_case] = ACTIONS(2419), + [anon_sym_default] = ACTIONS(2419), + [anon_sym_while] = ACTIONS(2419), + [anon_sym_do] = ACTIONS(2419), + [anon_sym_for] = ACTIONS(2419), + [anon_sym_return] = ACTIONS(2419), + [anon_sym_break] = ACTIONS(2419), + [anon_sym_continue] = ACTIONS(2419), + [anon_sym_goto] = ACTIONS(2419), + [anon_sym_DASH_DASH] = ACTIONS(2421), + [anon_sym_PLUS_PLUS] = ACTIONS(2421), + [anon_sym_sizeof] = ACTIONS(2419), + [sym_number_literal] = ACTIONS(2421), + [anon_sym_L_SQUOTE] = ACTIONS(2421), + [anon_sym_u_SQUOTE] = ACTIONS(2421), + [anon_sym_U_SQUOTE] = ACTIONS(2421), + [anon_sym_u8_SQUOTE] = ACTIONS(2421), + [anon_sym_SQUOTE] = ACTIONS(2421), + [anon_sym_L_DQUOTE] = ACTIONS(2421), + [anon_sym_u_DQUOTE] = ACTIONS(2421), + [anon_sym_U_DQUOTE] = ACTIONS(2421), + [anon_sym_u8_DQUOTE] = ACTIONS(2421), + [anon_sym_DQUOTE] = ACTIONS(2421), + [sym_true] = ACTIONS(2419), + [sym_false] = ACTIONS(2419), + [sym_null] = ACTIONS(2419), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2419), + [anon_sym_decltype] = ACTIONS(2419), + [anon_sym_virtual] = ACTIONS(2419), + [anon_sym_explicit] = ACTIONS(2419), + [anon_sym_typename] = ACTIONS(2419), + [anon_sym_template] = ACTIONS(2419), + [anon_sym_operator] = ACTIONS(2419), + [anon_sym_delete] = ACTIONS(2419), + [anon_sym_throw] = ACTIONS(2419), + [anon_sym_namespace] = ACTIONS(2419), + [anon_sym_using] = ACTIONS(2419), + [anon_sym_static_assert] = ACTIONS(2419), + [anon_sym_concept] = ACTIONS(2419), + [anon_sym_co_return] = ACTIONS(2419), + [anon_sym_co_yield] = ACTIONS(2419), + [anon_sym_try] = ACTIONS(2419), + [anon_sym_co_await] = ACTIONS(2419), + [anon_sym_new] = ACTIONS(2419), + [anon_sym_requires] = ACTIONS(2419), + [sym_this] = ACTIONS(2419), + [sym_nullptr] = ACTIONS(2419), + [sym_raw_string_literal] = ACTIONS(2421), + }, + [807] = { + [sym_identifier] = ACTIONS(2331), + [aux_sym_preproc_include_token1] = ACTIONS(2331), + [aux_sym_preproc_def_token1] = ACTIONS(2331), + [aux_sym_preproc_if_token1] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2331), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2331), + [sym_preproc_directive] = ACTIONS(2331), + [anon_sym_LPAREN2] = ACTIONS(2333), + [anon_sym_BANG] = ACTIONS(2333), + [anon_sym_TILDE] = ACTIONS(2333), + [anon_sym_DASH] = ACTIONS(2331), + [anon_sym_PLUS] = ACTIONS(2331), + [anon_sym_STAR] = ACTIONS(2333), + [anon_sym_AMP_AMP] = ACTIONS(2333), + [anon_sym_AMP] = ACTIONS(2331), + [anon_sym_SEMI] = ACTIONS(2333), + [anon_sym_typedef] = ACTIONS(2331), + [anon_sym_extern] = ACTIONS(2331), + [anon_sym___attribute__] = ACTIONS(2331), + [anon_sym_COLON_COLON] = ACTIONS(2333), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2333), + [anon_sym___declspec] = ACTIONS(2331), + [anon_sym___based] = ACTIONS(2331), + [anon_sym___cdecl] = ACTIONS(2331), + [anon_sym___clrcall] = ACTIONS(2331), + [anon_sym___stdcall] = ACTIONS(2331), + [anon_sym___fastcall] = ACTIONS(2331), + [anon_sym___thiscall] = ACTIONS(2331), + [anon_sym___vectorcall] = ACTIONS(2331), + [anon_sym_LBRACE] = ACTIONS(2333), + [anon_sym_RBRACE] = ACTIONS(2333), + [anon_sym_LBRACK] = ACTIONS(2331), + [anon_sym_static] = ACTIONS(2331), + [anon_sym_register] = ACTIONS(2331), + [anon_sym_inline] = ACTIONS(2331), + [anon_sym_thread_local] = ACTIONS(2331), + [anon_sym_const] = ACTIONS(2331), + [anon_sym_volatile] = ACTIONS(2331), + [anon_sym_restrict] = ACTIONS(2331), + [anon_sym__Atomic] = ACTIONS(2331), + [anon_sym_mutable] = ACTIONS(2331), + [anon_sym_constexpr] = ACTIONS(2331), + [anon_sym_constinit] = ACTIONS(2331), + [anon_sym_consteval] = ACTIONS(2331), + [anon_sym_signed] = ACTIONS(2331), + [anon_sym_unsigned] = ACTIONS(2331), + [anon_sym_long] = ACTIONS(2331), + [anon_sym_short] = ACTIONS(2331), + [sym_primitive_type] = ACTIONS(2331), + [anon_sym_enum] = ACTIONS(2331), + [anon_sym_class] = ACTIONS(2331), + [anon_sym_struct] = ACTIONS(2331), + [anon_sym_union] = ACTIONS(2331), + [anon_sym_if] = ACTIONS(2331), + [anon_sym_switch] = ACTIONS(2331), + [anon_sym_case] = ACTIONS(2331), + [anon_sym_default] = ACTIONS(2331), + [anon_sym_while] = ACTIONS(2331), + [anon_sym_do] = ACTIONS(2331), + [anon_sym_for] = ACTIONS(2331), + [anon_sym_return] = ACTIONS(2331), + [anon_sym_break] = ACTIONS(2331), + [anon_sym_continue] = ACTIONS(2331), + [anon_sym_goto] = ACTIONS(2331), + [anon_sym_DASH_DASH] = ACTIONS(2333), + [anon_sym_PLUS_PLUS] = ACTIONS(2333), + [anon_sym_sizeof] = ACTIONS(2331), + [sym_number_literal] = ACTIONS(2333), + [anon_sym_L_SQUOTE] = ACTIONS(2333), + [anon_sym_u_SQUOTE] = ACTIONS(2333), + [anon_sym_U_SQUOTE] = ACTIONS(2333), + [anon_sym_u8_SQUOTE] = ACTIONS(2333), + [anon_sym_SQUOTE] = ACTIONS(2333), + [anon_sym_L_DQUOTE] = ACTIONS(2333), + [anon_sym_u_DQUOTE] = ACTIONS(2333), + [anon_sym_U_DQUOTE] = ACTIONS(2333), + [anon_sym_u8_DQUOTE] = ACTIONS(2333), + [anon_sym_DQUOTE] = ACTIONS(2333), + [sym_true] = ACTIONS(2331), + [sym_false] = ACTIONS(2331), + [sym_null] = ACTIONS(2331), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2331), + [anon_sym_decltype] = ACTIONS(2331), + [anon_sym_virtual] = ACTIONS(2331), + [anon_sym_explicit] = ACTIONS(2331), + [anon_sym_typename] = ACTIONS(2331), + [anon_sym_template] = ACTIONS(2331), + [anon_sym_operator] = ACTIONS(2331), + [anon_sym_delete] = ACTIONS(2331), + [anon_sym_throw] = ACTIONS(2331), + [anon_sym_namespace] = ACTIONS(2331), + [anon_sym_using] = ACTIONS(2331), + [anon_sym_static_assert] = ACTIONS(2331), + [anon_sym_concept] = ACTIONS(2331), + [anon_sym_co_return] = ACTIONS(2331), + [anon_sym_co_yield] = ACTIONS(2331), + [anon_sym_try] = ACTIONS(2331), + [anon_sym_co_await] = ACTIONS(2331), + [anon_sym_new] = ACTIONS(2331), + [anon_sym_requires] = ACTIONS(2331), + [sym_this] = ACTIONS(2331), + [sym_nullptr] = ACTIONS(2331), + [sym_raw_string_literal] = ACTIONS(2333), + }, + [808] = { + [ts_builtin_sym_end] = ACTIONS(2273), + [sym_identifier] = ACTIONS(2271), + [aux_sym_preproc_include_token1] = ACTIONS(2271), + [aux_sym_preproc_def_token1] = ACTIONS(2271), + [aux_sym_preproc_if_token1] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2271), + [sym_preproc_directive] = ACTIONS(2271), + [anon_sym_LPAREN2] = ACTIONS(2273), + [anon_sym_BANG] = ACTIONS(2273), + [anon_sym_TILDE] = ACTIONS(2273), + [anon_sym_DASH] = ACTIONS(2271), + [anon_sym_PLUS] = ACTIONS(2271), + [anon_sym_STAR] = ACTIONS(2273), + [anon_sym_AMP_AMP] = ACTIONS(2273), + [anon_sym_AMP] = ACTIONS(2271), + [anon_sym_SEMI] = ACTIONS(2273), + [anon_sym_typedef] = ACTIONS(2271), + [anon_sym_extern] = ACTIONS(2271), + [anon_sym___attribute__] = ACTIONS(2271), + [anon_sym_COLON_COLON] = ACTIONS(2273), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2273), + [anon_sym___declspec] = ACTIONS(2271), + [anon_sym___based] = ACTIONS(2271), + [anon_sym___cdecl] = ACTIONS(2271), + [anon_sym___clrcall] = ACTIONS(2271), + [anon_sym___stdcall] = ACTIONS(2271), + [anon_sym___fastcall] = ACTIONS(2271), + [anon_sym___thiscall] = ACTIONS(2271), + [anon_sym___vectorcall] = ACTIONS(2271), + [anon_sym_LBRACE] = ACTIONS(2273), + [anon_sym_LBRACK] = ACTIONS(2271), + [anon_sym_static] = ACTIONS(2271), + [anon_sym_register] = ACTIONS(2271), + [anon_sym_inline] = ACTIONS(2271), + [anon_sym_thread_local] = ACTIONS(2271), + [anon_sym_const] = ACTIONS(2271), + [anon_sym_volatile] = ACTIONS(2271), + [anon_sym_restrict] = ACTIONS(2271), + [anon_sym__Atomic] = ACTIONS(2271), + [anon_sym_mutable] = ACTIONS(2271), + [anon_sym_constexpr] = ACTIONS(2271), + [anon_sym_constinit] = ACTIONS(2271), + [anon_sym_consteval] = ACTIONS(2271), + [anon_sym_signed] = ACTIONS(2271), + [anon_sym_unsigned] = ACTIONS(2271), + [anon_sym_long] = ACTIONS(2271), + [anon_sym_short] = ACTIONS(2271), + [sym_primitive_type] = ACTIONS(2271), + [anon_sym_enum] = ACTIONS(2271), + [anon_sym_class] = ACTIONS(2271), + [anon_sym_struct] = ACTIONS(2271), + [anon_sym_union] = ACTIONS(2271), + [anon_sym_if] = ACTIONS(2271), + [anon_sym_switch] = ACTIONS(2271), + [anon_sym_case] = ACTIONS(2271), + [anon_sym_default] = ACTIONS(2271), + [anon_sym_while] = ACTIONS(2271), + [anon_sym_do] = ACTIONS(2271), + [anon_sym_for] = ACTIONS(2271), + [anon_sym_return] = ACTIONS(2271), + [anon_sym_break] = ACTIONS(2271), + [anon_sym_continue] = ACTIONS(2271), + [anon_sym_goto] = ACTIONS(2271), + [anon_sym_DASH_DASH] = ACTIONS(2273), + [anon_sym_PLUS_PLUS] = ACTIONS(2273), + [anon_sym_sizeof] = ACTIONS(2271), + [sym_number_literal] = ACTIONS(2273), + [anon_sym_L_SQUOTE] = ACTIONS(2273), + [anon_sym_u_SQUOTE] = ACTIONS(2273), + [anon_sym_U_SQUOTE] = ACTIONS(2273), + [anon_sym_u8_SQUOTE] = ACTIONS(2273), + [anon_sym_SQUOTE] = ACTIONS(2273), + [anon_sym_L_DQUOTE] = ACTIONS(2273), + [anon_sym_u_DQUOTE] = ACTIONS(2273), + [anon_sym_U_DQUOTE] = ACTIONS(2273), + [anon_sym_u8_DQUOTE] = ACTIONS(2273), + [anon_sym_DQUOTE] = ACTIONS(2273), + [sym_true] = ACTIONS(2271), + [sym_false] = ACTIONS(2271), + [sym_null] = ACTIONS(2271), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2271), + [anon_sym_decltype] = ACTIONS(2271), + [anon_sym_virtual] = ACTIONS(2271), + [anon_sym_explicit] = ACTIONS(2271), + [anon_sym_typename] = ACTIONS(2271), + [anon_sym_template] = ACTIONS(2271), + [anon_sym_operator] = ACTIONS(2271), + [anon_sym_delete] = ACTIONS(2271), + [anon_sym_throw] = ACTIONS(2271), + [anon_sym_namespace] = ACTIONS(2271), + [anon_sym_using] = ACTIONS(2271), + [anon_sym_static_assert] = ACTIONS(2271), + [anon_sym_concept] = ACTIONS(2271), + [anon_sym_co_return] = ACTIONS(2271), + [anon_sym_co_yield] = ACTIONS(2271), + [anon_sym_try] = ACTIONS(2271), + [anon_sym_co_await] = ACTIONS(2271), + [anon_sym_new] = ACTIONS(2271), + [anon_sym_requires] = ACTIONS(2271), + [sym_this] = ACTIONS(2271), + [sym_nullptr] = ACTIONS(2271), + [sym_raw_string_literal] = ACTIONS(2273), + }, + [809] = { + [sym_identifier] = ACTIONS(2323), + [aux_sym_preproc_include_token1] = ACTIONS(2323), + [aux_sym_preproc_def_token1] = ACTIONS(2323), + [aux_sym_preproc_if_token1] = ACTIONS(2323), + [aux_sym_preproc_if_token2] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2323), + [sym_preproc_directive] = ACTIONS(2323), + [anon_sym_LPAREN2] = ACTIONS(2325), + [anon_sym_BANG] = ACTIONS(2325), + [anon_sym_TILDE] = ACTIONS(2325), + [anon_sym_DASH] = ACTIONS(2323), + [anon_sym_PLUS] = ACTIONS(2323), + [anon_sym_STAR] = ACTIONS(2325), + [anon_sym_AMP_AMP] = ACTIONS(2325), + [anon_sym_AMP] = ACTIONS(2323), + [anon_sym_SEMI] = ACTIONS(2325), + [anon_sym_typedef] = ACTIONS(2323), + [anon_sym_extern] = ACTIONS(2323), + [anon_sym___attribute__] = ACTIONS(2323), + [anon_sym_COLON_COLON] = ACTIONS(2325), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2325), + [anon_sym___declspec] = ACTIONS(2323), + [anon_sym___based] = ACTIONS(2323), + [anon_sym___cdecl] = ACTIONS(2323), + [anon_sym___clrcall] = ACTIONS(2323), + [anon_sym___stdcall] = ACTIONS(2323), + [anon_sym___fastcall] = ACTIONS(2323), + [anon_sym___thiscall] = ACTIONS(2323), + [anon_sym___vectorcall] = ACTIONS(2323), + [anon_sym_LBRACE] = ACTIONS(2325), + [anon_sym_LBRACK] = ACTIONS(2323), + [anon_sym_static] = ACTIONS(2323), + [anon_sym_register] = ACTIONS(2323), + [anon_sym_inline] = ACTIONS(2323), + [anon_sym_thread_local] = ACTIONS(2323), + [anon_sym_const] = ACTIONS(2323), + [anon_sym_volatile] = ACTIONS(2323), + [anon_sym_restrict] = ACTIONS(2323), + [anon_sym__Atomic] = ACTIONS(2323), + [anon_sym_mutable] = ACTIONS(2323), + [anon_sym_constexpr] = ACTIONS(2323), + [anon_sym_constinit] = ACTIONS(2323), + [anon_sym_consteval] = ACTIONS(2323), + [anon_sym_signed] = ACTIONS(2323), + [anon_sym_unsigned] = ACTIONS(2323), + [anon_sym_long] = ACTIONS(2323), + [anon_sym_short] = ACTIONS(2323), + [sym_primitive_type] = ACTIONS(2323), + [anon_sym_enum] = ACTIONS(2323), + [anon_sym_class] = ACTIONS(2323), + [anon_sym_struct] = ACTIONS(2323), + [anon_sym_union] = ACTIONS(2323), + [anon_sym_if] = ACTIONS(2323), + [anon_sym_switch] = ACTIONS(2323), + [anon_sym_case] = ACTIONS(2323), + [anon_sym_default] = ACTIONS(2323), + [anon_sym_while] = ACTIONS(2323), + [anon_sym_do] = ACTIONS(2323), + [anon_sym_for] = ACTIONS(2323), + [anon_sym_return] = ACTIONS(2323), + [anon_sym_break] = ACTIONS(2323), + [anon_sym_continue] = ACTIONS(2323), + [anon_sym_goto] = ACTIONS(2323), + [anon_sym_DASH_DASH] = ACTIONS(2325), + [anon_sym_PLUS_PLUS] = ACTIONS(2325), + [anon_sym_sizeof] = ACTIONS(2323), + [sym_number_literal] = ACTIONS(2325), + [anon_sym_L_SQUOTE] = ACTIONS(2325), + [anon_sym_u_SQUOTE] = ACTIONS(2325), + [anon_sym_U_SQUOTE] = ACTIONS(2325), + [anon_sym_u8_SQUOTE] = ACTIONS(2325), + [anon_sym_SQUOTE] = ACTIONS(2325), + [anon_sym_L_DQUOTE] = ACTIONS(2325), + [anon_sym_u_DQUOTE] = ACTIONS(2325), + [anon_sym_U_DQUOTE] = ACTIONS(2325), + [anon_sym_u8_DQUOTE] = ACTIONS(2325), + [anon_sym_DQUOTE] = ACTIONS(2325), + [sym_true] = ACTIONS(2323), + [sym_false] = ACTIONS(2323), + [sym_null] = ACTIONS(2323), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2323), + [anon_sym_decltype] = ACTIONS(2323), + [anon_sym_virtual] = ACTIONS(2323), + [anon_sym_explicit] = ACTIONS(2323), + [anon_sym_typename] = ACTIONS(2323), + [anon_sym_template] = ACTIONS(2323), + [anon_sym_operator] = ACTIONS(2323), + [anon_sym_delete] = ACTIONS(2323), + [anon_sym_throw] = ACTIONS(2323), + [anon_sym_namespace] = ACTIONS(2323), + [anon_sym_using] = ACTIONS(2323), + [anon_sym_static_assert] = ACTIONS(2323), + [anon_sym_concept] = ACTIONS(2323), + [anon_sym_co_return] = ACTIONS(2323), + [anon_sym_co_yield] = ACTIONS(2323), + [anon_sym_try] = ACTIONS(2323), + [anon_sym_co_await] = ACTIONS(2323), + [anon_sym_new] = ACTIONS(2323), + [anon_sym_requires] = ACTIONS(2323), + [sym_this] = ACTIONS(2323), + [sym_nullptr] = ACTIONS(2323), + [sym_raw_string_literal] = ACTIONS(2325), + }, + [810] = { + [sym_identifier] = ACTIONS(2185), + [aux_sym_preproc_include_token1] = ACTIONS(2185), + [aux_sym_preproc_def_token1] = ACTIONS(2185), + [aux_sym_preproc_if_token1] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2185), + [sym_preproc_directive] = ACTIONS(2185), + [anon_sym_LPAREN2] = ACTIONS(2187), + [anon_sym_BANG] = ACTIONS(2187), + [anon_sym_TILDE] = ACTIONS(2187), + [anon_sym_DASH] = ACTIONS(2185), + [anon_sym_PLUS] = ACTIONS(2185), + [anon_sym_STAR] = ACTIONS(2187), + [anon_sym_AMP_AMP] = ACTIONS(2187), + [anon_sym_AMP] = ACTIONS(2185), + [anon_sym_SEMI] = ACTIONS(2187), + [anon_sym_typedef] = ACTIONS(2185), + [anon_sym_extern] = ACTIONS(2185), + [anon_sym___attribute__] = ACTIONS(2185), + [anon_sym_COLON_COLON] = ACTIONS(2187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2187), + [anon_sym___declspec] = ACTIONS(2185), + [anon_sym___based] = ACTIONS(2185), + [anon_sym___cdecl] = ACTIONS(2185), + [anon_sym___clrcall] = ACTIONS(2185), + [anon_sym___stdcall] = ACTIONS(2185), + [anon_sym___fastcall] = ACTIONS(2185), + [anon_sym___thiscall] = ACTIONS(2185), + [anon_sym___vectorcall] = ACTIONS(2185), + [anon_sym_LBRACE] = ACTIONS(2187), + [anon_sym_RBRACE] = ACTIONS(2187), + [anon_sym_LBRACK] = ACTIONS(2185), + [anon_sym_static] = ACTIONS(2185), + [anon_sym_register] = ACTIONS(2185), + [anon_sym_inline] = ACTIONS(2185), + [anon_sym_thread_local] = ACTIONS(2185), + [anon_sym_const] = ACTIONS(2185), + [anon_sym_volatile] = ACTIONS(2185), + [anon_sym_restrict] = ACTIONS(2185), + [anon_sym__Atomic] = ACTIONS(2185), + [anon_sym_mutable] = ACTIONS(2185), + [anon_sym_constexpr] = ACTIONS(2185), + [anon_sym_constinit] = ACTIONS(2185), + [anon_sym_consteval] = ACTIONS(2185), + [anon_sym_signed] = ACTIONS(2185), + [anon_sym_unsigned] = ACTIONS(2185), + [anon_sym_long] = ACTIONS(2185), + [anon_sym_short] = ACTIONS(2185), + [sym_primitive_type] = ACTIONS(2185), + [anon_sym_enum] = ACTIONS(2185), + [anon_sym_class] = ACTIONS(2185), + [anon_sym_struct] = ACTIONS(2185), + [anon_sym_union] = ACTIONS(2185), + [anon_sym_if] = ACTIONS(2185), + [anon_sym_switch] = ACTIONS(2185), + [anon_sym_case] = ACTIONS(2185), + [anon_sym_default] = ACTIONS(2185), + [anon_sym_while] = ACTIONS(2185), + [anon_sym_do] = ACTIONS(2185), + [anon_sym_for] = ACTIONS(2185), + [anon_sym_return] = ACTIONS(2185), + [anon_sym_break] = ACTIONS(2185), + [anon_sym_continue] = ACTIONS(2185), + [anon_sym_goto] = ACTIONS(2185), + [anon_sym_DASH_DASH] = ACTIONS(2187), + [anon_sym_PLUS_PLUS] = ACTIONS(2187), + [anon_sym_sizeof] = ACTIONS(2185), + [sym_number_literal] = ACTIONS(2187), + [anon_sym_L_SQUOTE] = ACTIONS(2187), + [anon_sym_u_SQUOTE] = ACTIONS(2187), + [anon_sym_U_SQUOTE] = ACTIONS(2187), + [anon_sym_u8_SQUOTE] = ACTIONS(2187), + [anon_sym_SQUOTE] = ACTIONS(2187), + [anon_sym_L_DQUOTE] = ACTIONS(2187), + [anon_sym_u_DQUOTE] = ACTIONS(2187), + [anon_sym_U_DQUOTE] = ACTIONS(2187), + [anon_sym_u8_DQUOTE] = ACTIONS(2187), + [anon_sym_DQUOTE] = ACTIONS(2187), + [sym_true] = ACTIONS(2185), + [sym_false] = ACTIONS(2185), + [sym_null] = ACTIONS(2185), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2185), + [anon_sym_decltype] = ACTIONS(2185), + [anon_sym_virtual] = ACTIONS(2185), + [anon_sym_explicit] = ACTIONS(2185), + [anon_sym_typename] = ACTIONS(2185), + [anon_sym_template] = ACTIONS(2185), + [anon_sym_operator] = ACTIONS(2185), + [anon_sym_delete] = ACTIONS(2185), + [anon_sym_throw] = ACTIONS(2185), + [anon_sym_namespace] = ACTIONS(2185), + [anon_sym_using] = ACTIONS(2185), + [anon_sym_static_assert] = ACTIONS(2185), + [anon_sym_concept] = ACTIONS(2185), + [anon_sym_co_return] = ACTIONS(2185), + [anon_sym_co_yield] = ACTIONS(2185), + [anon_sym_try] = ACTIONS(2185), + [anon_sym_co_await] = ACTIONS(2185), + [anon_sym_new] = ACTIONS(2185), + [anon_sym_requires] = ACTIONS(2185), + [sym_this] = ACTIONS(2185), + [sym_nullptr] = ACTIONS(2185), + [sym_raw_string_literal] = ACTIONS(2187), + }, + [811] = { + [sym_identifier] = ACTIONS(2351), + [aux_sym_preproc_include_token1] = ACTIONS(2351), + [aux_sym_preproc_def_token1] = ACTIONS(2351), + [aux_sym_preproc_if_token1] = ACTIONS(2351), + [aux_sym_preproc_if_token2] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2351), + [sym_preproc_directive] = ACTIONS(2351), + [anon_sym_LPAREN2] = ACTIONS(2353), + [anon_sym_BANG] = ACTIONS(2353), + [anon_sym_TILDE] = ACTIONS(2353), + [anon_sym_DASH] = ACTIONS(2351), + [anon_sym_PLUS] = ACTIONS(2351), + [anon_sym_STAR] = ACTIONS(2353), + [anon_sym_AMP_AMP] = ACTIONS(2353), + [anon_sym_AMP] = ACTIONS(2351), + [anon_sym_SEMI] = ACTIONS(2353), + [anon_sym_typedef] = ACTIONS(2351), + [anon_sym_extern] = ACTIONS(2351), + [anon_sym___attribute__] = ACTIONS(2351), + [anon_sym_COLON_COLON] = ACTIONS(2353), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2353), + [anon_sym___declspec] = ACTIONS(2351), + [anon_sym___based] = ACTIONS(2351), + [anon_sym___cdecl] = ACTIONS(2351), + [anon_sym___clrcall] = ACTIONS(2351), + [anon_sym___stdcall] = ACTIONS(2351), + [anon_sym___fastcall] = ACTIONS(2351), + [anon_sym___thiscall] = ACTIONS(2351), + [anon_sym___vectorcall] = ACTIONS(2351), + [anon_sym_LBRACE] = ACTIONS(2353), + [anon_sym_LBRACK] = ACTIONS(2351), + [anon_sym_static] = ACTIONS(2351), + [anon_sym_register] = ACTIONS(2351), + [anon_sym_inline] = ACTIONS(2351), + [anon_sym_thread_local] = ACTIONS(2351), + [anon_sym_const] = ACTIONS(2351), + [anon_sym_volatile] = ACTIONS(2351), + [anon_sym_restrict] = ACTIONS(2351), + [anon_sym__Atomic] = ACTIONS(2351), + [anon_sym_mutable] = ACTIONS(2351), + [anon_sym_constexpr] = ACTIONS(2351), + [anon_sym_constinit] = ACTIONS(2351), + [anon_sym_consteval] = ACTIONS(2351), + [anon_sym_signed] = ACTIONS(2351), + [anon_sym_unsigned] = ACTIONS(2351), + [anon_sym_long] = ACTIONS(2351), + [anon_sym_short] = ACTIONS(2351), + [sym_primitive_type] = ACTIONS(2351), + [anon_sym_enum] = ACTIONS(2351), + [anon_sym_class] = ACTIONS(2351), + [anon_sym_struct] = ACTIONS(2351), + [anon_sym_union] = ACTIONS(2351), + [anon_sym_if] = ACTIONS(2351), + [anon_sym_switch] = ACTIONS(2351), + [anon_sym_case] = ACTIONS(2351), + [anon_sym_default] = ACTIONS(2351), + [anon_sym_while] = ACTIONS(2351), + [anon_sym_do] = ACTIONS(2351), + [anon_sym_for] = ACTIONS(2351), + [anon_sym_return] = ACTIONS(2351), + [anon_sym_break] = ACTIONS(2351), + [anon_sym_continue] = ACTIONS(2351), + [anon_sym_goto] = ACTIONS(2351), + [anon_sym_DASH_DASH] = ACTIONS(2353), + [anon_sym_PLUS_PLUS] = ACTIONS(2353), + [anon_sym_sizeof] = ACTIONS(2351), + [sym_number_literal] = ACTIONS(2353), + [anon_sym_L_SQUOTE] = ACTIONS(2353), + [anon_sym_u_SQUOTE] = ACTIONS(2353), + [anon_sym_U_SQUOTE] = ACTIONS(2353), + [anon_sym_u8_SQUOTE] = ACTIONS(2353), + [anon_sym_SQUOTE] = ACTIONS(2353), + [anon_sym_L_DQUOTE] = ACTIONS(2353), + [anon_sym_u_DQUOTE] = ACTIONS(2353), + [anon_sym_U_DQUOTE] = ACTIONS(2353), + [anon_sym_u8_DQUOTE] = ACTIONS(2353), + [anon_sym_DQUOTE] = ACTIONS(2353), + [sym_true] = ACTIONS(2351), + [sym_false] = ACTIONS(2351), + [sym_null] = ACTIONS(2351), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2351), + [anon_sym_decltype] = ACTIONS(2351), + [anon_sym_virtual] = ACTIONS(2351), + [anon_sym_explicit] = ACTIONS(2351), + [anon_sym_typename] = ACTIONS(2351), + [anon_sym_template] = ACTIONS(2351), + [anon_sym_operator] = ACTIONS(2351), + [anon_sym_delete] = ACTIONS(2351), + [anon_sym_throw] = ACTIONS(2351), + [anon_sym_namespace] = ACTIONS(2351), + [anon_sym_using] = ACTIONS(2351), + [anon_sym_static_assert] = ACTIONS(2351), + [anon_sym_concept] = ACTIONS(2351), + [anon_sym_co_return] = ACTIONS(2351), + [anon_sym_co_yield] = ACTIONS(2351), + [anon_sym_try] = ACTIONS(2351), + [anon_sym_co_await] = ACTIONS(2351), + [anon_sym_new] = ACTIONS(2351), + [anon_sym_requires] = ACTIONS(2351), + [sym_this] = ACTIONS(2351), + [sym_nullptr] = ACTIONS(2351), + [sym_raw_string_literal] = ACTIONS(2353), + }, + [812] = { + [sym_identifier] = ACTIONS(2275), + [aux_sym_preproc_include_token1] = ACTIONS(2275), + [aux_sym_preproc_def_token1] = ACTIONS(2275), + [aux_sym_preproc_if_token1] = ACTIONS(2275), + [aux_sym_preproc_if_token2] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2275), + [sym_preproc_directive] = ACTIONS(2275), + [anon_sym_LPAREN2] = ACTIONS(2277), + [anon_sym_BANG] = ACTIONS(2277), + [anon_sym_TILDE] = ACTIONS(2277), + [anon_sym_DASH] = ACTIONS(2275), + [anon_sym_PLUS] = ACTIONS(2275), + [anon_sym_STAR] = ACTIONS(2277), + [anon_sym_AMP_AMP] = ACTIONS(2277), + [anon_sym_AMP] = ACTIONS(2275), + [anon_sym_SEMI] = ACTIONS(2277), + [anon_sym_typedef] = ACTIONS(2275), + [anon_sym_extern] = ACTIONS(2275), + [anon_sym___attribute__] = ACTIONS(2275), + [anon_sym_COLON_COLON] = ACTIONS(2277), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2277), + [anon_sym___declspec] = ACTIONS(2275), + [anon_sym___based] = ACTIONS(2275), + [anon_sym___cdecl] = ACTIONS(2275), + [anon_sym___clrcall] = ACTIONS(2275), + [anon_sym___stdcall] = ACTIONS(2275), + [anon_sym___fastcall] = ACTIONS(2275), + [anon_sym___thiscall] = ACTIONS(2275), + [anon_sym___vectorcall] = ACTIONS(2275), + [anon_sym_LBRACE] = ACTIONS(2277), + [anon_sym_LBRACK] = ACTIONS(2275), + [anon_sym_static] = ACTIONS(2275), + [anon_sym_register] = ACTIONS(2275), + [anon_sym_inline] = ACTIONS(2275), + [anon_sym_thread_local] = ACTIONS(2275), + [anon_sym_const] = ACTIONS(2275), + [anon_sym_volatile] = ACTIONS(2275), + [anon_sym_restrict] = ACTIONS(2275), + [anon_sym__Atomic] = ACTIONS(2275), + [anon_sym_mutable] = ACTIONS(2275), + [anon_sym_constexpr] = ACTIONS(2275), + [anon_sym_constinit] = ACTIONS(2275), + [anon_sym_consteval] = ACTIONS(2275), + [anon_sym_signed] = ACTIONS(2275), + [anon_sym_unsigned] = ACTIONS(2275), + [anon_sym_long] = ACTIONS(2275), + [anon_sym_short] = ACTIONS(2275), + [sym_primitive_type] = ACTIONS(2275), + [anon_sym_enum] = ACTIONS(2275), + [anon_sym_class] = ACTIONS(2275), + [anon_sym_struct] = ACTIONS(2275), + [anon_sym_union] = ACTIONS(2275), + [anon_sym_if] = ACTIONS(2275), + [anon_sym_switch] = ACTIONS(2275), + [anon_sym_case] = ACTIONS(2275), + [anon_sym_default] = ACTIONS(2275), + [anon_sym_while] = ACTIONS(2275), + [anon_sym_do] = ACTIONS(2275), + [anon_sym_for] = ACTIONS(2275), + [anon_sym_return] = ACTIONS(2275), + [anon_sym_break] = ACTIONS(2275), + [anon_sym_continue] = ACTIONS(2275), + [anon_sym_goto] = ACTIONS(2275), + [anon_sym_DASH_DASH] = ACTIONS(2277), + [anon_sym_PLUS_PLUS] = ACTIONS(2277), + [anon_sym_sizeof] = ACTIONS(2275), + [sym_number_literal] = ACTIONS(2277), + [anon_sym_L_SQUOTE] = ACTIONS(2277), + [anon_sym_u_SQUOTE] = ACTIONS(2277), + [anon_sym_U_SQUOTE] = ACTIONS(2277), + [anon_sym_u8_SQUOTE] = ACTIONS(2277), + [anon_sym_SQUOTE] = ACTIONS(2277), + [anon_sym_L_DQUOTE] = ACTIONS(2277), + [anon_sym_u_DQUOTE] = ACTIONS(2277), + [anon_sym_U_DQUOTE] = ACTIONS(2277), + [anon_sym_u8_DQUOTE] = ACTIONS(2277), + [anon_sym_DQUOTE] = ACTIONS(2277), + [sym_true] = ACTIONS(2275), + [sym_false] = ACTIONS(2275), + [sym_null] = ACTIONS(2275), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2275), + [anon_sym_decltype] = ACTIONS(2275), + [anon_sym_virtual] = ACTIONS(2275), + [anon_sym_explicit] = ACTIONS(2275), + [anon_sym_typename] = ACTIONS(2275), + [anon_sym_template] = ACTIONS(2275), + [anon_sym_operator] = ACTIONS(2275), + [anon_sym_delete] = ACTIONS(2275), + [anon_sym_throw] = ACTIONS(2275), + [anon_sym_namespace] = ACTIONS(2275), + [anon_sym_using] = ACTIONS(2275), + [anon_sym_static_assert] = ACTIONS(2275), + [anon_sym_concept] = ACTIONS(2275), + [anon_sym_co_return] = ACTIONS(2275), + [anon_sym_co_yield] = ACTIONS(2275), + [anon_sym_try] = ACTIONS(2275), + [anon_sym_co_await] = ACTIONS(2275), + [anon_sym_new] = ACTIONS(2275), + [anon_sym_requires] = ACTIONS(2275), + [sym_this] = ACTIONS(2275), + [sym_nullptr] = ACTIONS(2275), + [sym_raw_string_literal] = ACTIONS(2277), + }, + [813] = { + [sym_identifier] = ACTIONS(2343), + [aux_sym_preproc_include_token1] = ACTIONS(2343), + [aux_sym_preproc_def_token1] = ACTIONS(2343), + [aux_sym_preproc_if_token1] = ACTIONS(2343), + [aux_sym_preproc_if_token2] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2343), + [sym_preproc_directive] = ACTIONS(2343), + [anon_sym_LPAREN2] = ACTIONS(2345), + [anon_sym_BANG] = ACTIONS(2345), + [anon_sym_TILDE] = ACTIONS(2345), + [anon_sym_DASH] = ACTIONS(2343), + [anon_sym_PLUS] = ACTIONS(2343), + [anon_sym_STAR] = ACTIONS(2345), + [anon_sym_AMP_AMP] = ACTIONS(2345), + [anon_sym_AMP] = ACTIONS(2343), + [anon_sym_SEMI] = ACTIONS(2345), + [anon_sym_typedef] = ACTIONS(2343), + [anon_sym_extern] = ACTIONS(2343), + [anon_sym___attribute__] = ACTIONS(2343), + [anon_sym_COLON_COLON] = ACTIONS(2345), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2345), + [anon_sym___declspec] = ACTIONS(2343), + [anon_sym___based] = ACTIONS(2343), + [anon_sym___cdecl] = ACTIONS(2343), + [anon_sym___clrcall] = ACTIONS(2343), + [anon_sym___stdcall] = ACTIONS(2343), + [anon_sym___fastcall] = ACTIONS(2343), + [anon_sym___thiscall] = ACTIONS(2343), + [anon_sym___vectorcall] = ACTIONS(2343), + [anon_sym_LBRACE] = ACTIONS(2345), + [anon_sym_LBRACK] = ACTIONS(2343), + [anon_sym_static] = ACTIONS(2343), + [anon_sym_register] = ACTIONS(2343), + [anon_sym_inline] = ACTIONS(2343), + [anon_sym_thread_local] = ACTIONS(2343), + [anon_sym_const] = ACTIONS(2343), + [anon_sym_volatile] = ACTIONS(2343), + [anon_sym_restrict] = ACTIONS(2343), + [anon_sym__Atomic] = ACTIONS(2343), + [anon_sym_mutable] = ACTIONS(2343), + [anon_sym_constexpr] = ACTIONS(2343), + [anon_sym_constinit] = ACTIONS(2343), + [anon_sym_consteval] = ACTIONS(2343), + [anon_sym_signed] = ACTIONS(2343), + [anon_sym_unsigned] = ACTIONS(2343), + [anon_sym_long] = ACTIONS(2343), + [anon_sym_short] = ACTIONS(2343), + [sym_primitive_type] = ACTIONS(2343), + [anon_sym_enum] = ACTIONS(2343), + [anon_sym_class] = ACTIONS(2343), + [anon_sym_struct] = ACTIONS(2343), + [anon_sym_union] = ACTIONS(2343), + [anon_sym_if] = ACTIONS(2343), + [anon_sym_switch] = ACTIONS(2343), + [anon_sym_case] = ACTIONS(2343), + [anon_sym_default] = ACTIONS(2343), + [anon_sym_while] = ACTIONS(2343), + [anon_sym_do] = ACTIONS(2343), + [anon_sym_for] = ACTIONS(2343), + [anon_sym_return] = ACTIONS(2343), + [anon_sym_break] = ACTIONS(2343), + [anon_sym_continue] = ACTIONS(2343), + [anon_sym_goto] = ACTIONS(2343), + [anon_sym_DASH_DASH] = ACTIONS(2345), + [anon_sym_PLUS_PLUS] = ACTIONS(2345), + [anon_sym_sizeof] = ACTIONS(2343), + [sym_number_literal] = ACTIONS(2345), + [anon_sym_L_SQUOTE] = ACTIONS(2345), + [anon_sym_u_SQUOTE] = ACTIONS(2345), + [anon_sym_U_SQUOTE] = ACTIONS(2345), + [anon_sym_u8_SQUOTE] = ACTIONS(2345), + [anon_sym_SQUOTE] = ACTIONS(2345), + [anon_sym_L_DQUOTE] = ACTIONS(2345), + [anon_sym_u_DQUOTE] = ACTIONS(2345), + [anon_sym_U_DQUOTE] = ACTIONS(2345), + [anon_sym_u8_DQUOTE] = ACTIONS(2345), + [anon_sym_DQUOTE] = ACTIONS(2345), + [sym_true] = ACTIONS(2343), + [sym_false] = ACTIONS(2343), + [sym_null] = ACTIONS(2343), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2343), + [anon_sym_decltype] = ACTIONS(2343), + [anon_sym_virtual] = ACTIONS(2343), + [anon_sym_explicit] = ACTIONS(2343), + [anon_sym_typename] = ACTIONS(2343), + [anon_sym_template] = ACTIONS(2343), + [anon_sym_operator] = ACTIONS(2343), + [anon_sym_delete] = ACTIONS(2343), + [anon_sym_throw] = ACTIONS(2343), + [anon_sym_namespace] = ACTIONS(2343), + [anon_sym_using] = ACTIONS(2343), + [anon_sym_static_assert] = ACTIONS(2343), + [anon_sym_concept] = ACTIONS(2343), + [anon_sym_co_return] = ACTIONS(2343), + [anon_sym_co_yield] = ACTIONS(2343), + [anon_sym_try] = ACTIONS(2343), + [anon_sym_co_await] = ACTIONS(2343), + [anon_sym_new] = ACTIONS(2343), + [anon_sym_requires] = ACTIONS(2343), + [sym_this] = ACTIONS(2343), + [sym_nullptr] = ACTIONS(2343), + [sym_raw_string_literal] = ACTIONS(2345), + }, + [814] = { + [ts_builtin_sym_end] = ACTIONS(2277), + [sym_identifier] = ACTIONS(2275), + [aux_sym_preproc_include_token1] = ACTIONS(2275), + [aux_sym_preproc_def_token1] = ACTIONS(2275), + [aux_sym_preproc_if_token1] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2275), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2275), + [sym_preproc_directive] = ACTIONS(2275), + [anon_sym_LPAREN2] = ACTIONS(2277), + [anon_sym_BANG] = ACTIONS(2277), + [anon_sym_TILDE] = ACTIONS(2277), + [anon_sym_DASH] = ACTIONS(2275), + [anon_sym_PLUS] = ACTIONS(2275), + [anon_sym_STAR] = ACTIONS(2277), + [anon_sym_AMP_AMP] = ACTIONS(2277), + [anon_sym_AMP] = ACTIONS(2275), + [anon_sym_SEMI] = ACTIONS(2277), + [anon_sym_typedef] = ACTIONS(2275), + [anon_sym_extern] = ACTIONS(2275), + [anon_sym___attribute__] = ACTIONS(2275), + [anon_sym_COLON_COLON] = ACTIONS(2277), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2277), + [anon_sym___declspec] = ACTIONS(2275), + [anon_sym___based] = ACTIONS(2275), + [anon_sym___cdecl] = ACTIONS(2275), + [anon_sym___clrcall] = ACTIONS(2275), + [anon_sym___stdcall] = ACTIONS(2275), + [anon_sym___fastcall] = ACTIONS(2275), + [anon_sym___thiscall] = ACTIONS(2275), + [anon_sym___vectorcall] = ACTIONS(2275), + [anon_sym_LBRACE] = ACTIONS(2277), + [anon_sym_LBRACK] = ACTIONS(2275), + [anon_sym_static] = ACTIONS(2275), + [anon_sym_register] = ACTIONS(2275), + [anon_sym_inline] = ACTIONS(2275), + [anon_sym_thread_local] = ACTIONS(2275), + [anon_sym_const] = ACTIONS(2275), + [anon_sym_volatile] = ACTIONS(2275), + [anon_sym_restrict] = ACTIONS(2275), + [anon_sym__Atomic] = ACTIONS(2275), + [anon_sym_mutable] = ACTIONS(2275), + [anon_sym_constexpr] = ACTIONS(2275), + [anon_sym_constinit] = ACTIONS(2275), + [anon_sym_consteval] = ACTIONS(2275), + [anon_sym_signed] = ACTIONS(2275), + [anon_sym_unsigned] = ACTIONS(2275), + [anon_sym_long] = ACTIONS(2275), + [anon_sym_short] = ACTIONS(2275), + [sym_primitive_type] = ACTIONS(2275), + [anon_sym_enum] = ACTIONS(2275), + [anon_sym_class] = ACTIONS(2275), + [anon_sym_struct] = ACTIONS(2275), + [anon_sym_union] = ACTIONS(2275), + [anon_sym_if] = ACTIONS(2275), + [anon_sym_switch] = ACTIONS(2275), + [anon_sym_case] = ACTIONS(2275), + [anon_sym_default] = ACTIONS(2275), + [anon_sym_while] = ACTIONS(2275), + [anon_sym_do] = ACTIONS(2275), + [anon_sym_for] = ACTIONS(2275), + [anon_sym_return] = ACTIONS(2275), + [anon_sym_break] = ACTIONS(2275), + [anon_sym_continue] = ACTIONS(2275), + [anon_sym_goto] = ACTIONS(2275), + [anon_sym_DASH_DASH] = ACTIONS(2277), + [anon_sym_PLUS_PLUS] = ACTIONS(2277), + [anon_sym_sizeof] = ACTIONS(2275), + [sym_number_literal] = ACTIONS(2277), + [anon_sym_L_SQUOTE] = ACTIONS(2277), + [anon_sym_u_SQUOTE] = ACTIONS(2277), + [anon_sym_U_SQUOTE] = ACTIONS(2277), + [anon_sym_u8_SQUOTE] = ACTIONS(2277), + [anon_sym_SQUOTE] = ACTIONS(2277), + [anon_sym_L_DQUOTE] = ACTIONS(2277), + [anon_sym_u_DQUOTE] = ACTIONS(2277), + [anon_sym_U_DQUOTE] = ACTIONS(2277), + [anon_sym_u8_DQUOTE] = ACTIONS(2277), + [anon_sym_DQUOTE] = ACTIONS(2277), + [sym_true] = ACTIONS(2275), + [sym_false] = ACTIONS(2275), + [sym_null] = ACTIONS(2275), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2275), + [anon_sym_decltype] = ACTIONS(2275), + [anon_sym_virtual] = ACTIONS(2275), + [anon_sym_explicit] = ACTIONS(2275), + [anon_sym_typename] = ACTIONS(2275), + [anon_sym_template] = ACTIONS(2275), + [anon_sym_operator] = ACTIONS(2275), + [anon_sym_delete] = ACTIONS(2275), + [anon_sym_throw] = ACTIONS(2275), + [anon_sym_namespace] = ACTIONS(2275), + [anon_sym_using] = ACTIONS(2275), + [anon_sym_static_assert] = ACTIONS(2275), + [anon_sym_concept] = ACTIONS(2275), + [anon_sym_co_return] = ACTIONS(2275), + [anon_sym_co_yield] = ACTIONS(2275), + [anon_sym_try] = ACTIONS(2275), + [anon_sym_co_await] = ACTIONS(2275), + [anon_sym_new] = ACTIONS(2275), + [anon_sym_requires] = ACTIONS(2275), + [sym_this] = ACTIONS(2275), + [sym_nullptr] = ACTIONS(2275), + [sym_raw_string_literal] = ACTIONS(2277), + }, + [815] = { + [sym_identifier] = ACTIONS(2403), + [aux_sym_preproc_include_token1] = ACTIONS(2403), + [aux_sym_preproc_def_token1] = ACTIONS(2403), + [aux_sym_preproc_if_token1] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2403), + [sym_preproc_directive] = ACTIONS(2403), + [anon_sym_LPAREN2] = ACTIONS(2405), + [anon_sym_BANG] = ACTIONS(2405), + [anon_sym_TILDE] = ACTIONS(2405), + [anon_sym_DASH] = ACTIONS(2403), + [anon_sym_PLUS] = ACTIONS(2403), + [anon_sym_STAR] = ACTIONS(2405), + [anon_sym_AMP_AMP] = ACTIONS(2405), + [anon_sym_AMP] = ACTIONS(2403), + [anon_sym_SEMI] = ACTIONS(2405), + [anon_sym_typedef] = ACTIONS(2403), + [anon_sym_extern] = ACTIONS(2403), + [anon_sym___attribute__] = ACTIONS(2403), + [anon_sym_COLON_COLON] = ACTIONS(2405), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2405), + [anon_sym___declspec] = ACTIONS(2403), + [anon_sym___based] = ACTIONS(2403), + [anon_sym___cdecl] = ACTIONS(2403), + [anon_sym___clrcall] = ACTIONS(2403), + [anon_sym___stdcall] = ACTIONS(2403), + [anon_sym___fastcall] = ACTIONS(2403), + [anon_sym___thiscall] = ACTIONS(2403), + [anon_sym___vectorcall] = ACTIONS(2403), + [anon_sym_LBRACE] = ACTIONS(2405), + [anon_sym_RBRACE] = ACTIONS(2405), + [anon_sym_LBRACK] = ACTIONS(2403), + [anon_sym_static] = ACTIONS(2403), + [anon_sym_register] = ACTIONS(2403), + [anon_sym_inline] = ACTIONS(2403), + [anon_sym_thread_local] = ACTIONS(2403), + [anon_sym_const] = ACTIONS(2403), + [anon_sym_volatile] = ACTIONS(2403), + [anon_sym_restrict] = ACTIONS(2403), + [anon_sym__Atomic] = ACTIONS(2403), + [anon_sym_mutable] = ACTIONS(2403), + [anon_sym_constexpr] = ACTIONS(2403), + [anon_sym_constinit] = ACTIONS(2403), + [anon_sym_consteval] = ACTIONS(2403), + [anon_sym_signed] = ACTIONS(2403), + [anon_sym_unsigned] = ACTIONS(2403), + [anon_sym_long] = ACTIONS(2403), + [anon_sym_short] = ACTIONS(2403), + [sym_primitive_type] = ACTIONS(2403), + [anon_sym_enum] = ACTIONS(2403), + [anon_sym_class] = ACTIONS(2403), + [anon_sym_struct] = ACTIONS(2403), + [anon_sym_union] = ACTIONS(2403), + [anon_sym_if] = ACTIONS(2403), + [anon_sym_switch] = ACTIONS(2403), + [anon_sym_case] = ACTIONS(2403), + [anon_sym_default] = ACTIONS(2403), + [anon_sym_while] = ACTIONS(2403), + [anon_sym_do] = ACTIONS(2403), + [anon_sym_for] = ACTIONS(2403), + [anon_sym_return] = ACTIONS(2403), + [anon_sym_break] = ACTIONS(2403), + [anon_sym_continue] = ACTIONS(2403), + [anon_sym_goto] = ACTIONS(2403), + [anon_sym_DASH_DASH] = ACTIONS(2405), + [anon_sym_PLUS_PLUS] = ACTIONS(2405), + [anon_sym_sizeof] = ACTIONS(2403), + [sym_number_literal] = ACTIONS(2405), + [anon_sym_L_SQUOTE] = ACTIONS(2405), + [anon_sym_u_SQUOTE] = ACTIONS(2405), + [anon_sym_U_SQUOTE] = ACTIONS(2405), + [anon_sym_u8_SQUOTE] = ACTIONS(2405), + [anon_sym_SQUOTE] = ACTIONS(2405), + [anon_sym_L_DQUOTE] = ACTIONS(2405), + [anon_sym_u_DQUOTE] = ACTIONS(2405), + [anon_sym_U_DQUOTE] = ACTIONS(2405), + [anon_sym_u8_DQUOTE] = ACTIONS(2405), + [anon_sym_DQUOTE] = ACTIONS(2405), + [sym_true] = ACTIONS(2403), + [sym_false] = ACTIONS(2403), + [sym_null] = ACTIONS(2403), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2403), + [anon_sym_decltype] = ACTIONS(2403), + [anon_sym_virtual] = ACTIONS(2403), + [anon_sym_explicit] = ACTIONS(2403), + [anon_sym_typename] = ACTIONS(2403), + [anon_sym_template] = ACTIONS(2403), + [anon_sym_operator] = ACTIONS(2403), + [anon_sym_delete] = ACTIONS(2403), + [anon_sym_throw] = ACTIONS(2403), + [anon_sym_namespace] = ACTIONS(2403), + [anon_sym_using] = ACTIONS(2403), + [anon_sym_static_assert] = ACTIONS(2403), + [anon_sym_concept] = ACTIONS(2403), + [anon_sym_co_return] = ACTIONS(2403), + [anon_sym_co_yield] = ACTIONS(2403), + [anon_sym_try] = ACTIONS(2403), + [anon_sym_co_await] = ACTIONS(2403), + [anon_sym_new] = ACTIONS(2403), + [anon_sym_requires] = ACTIONS(2403), + [sym_this] = ACTIONS(2403), + [sym_nullptr] = ACTIONS(2403), + [sym_raw_string_literal] = ACTIONS(2405), + }, + [816] = { + [ts_builtin_sym_end] = ACTIONS(2297), + [sym_identifier] = ACTIONS(2295), + [aux_sym_preproc_include_token1] = ACTIONS(2295), + [aux_sym_preproc_def_token1] = ACTIONS(2295), + [aux_sym_preproc_if_token1] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2295), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2295), + [sym_preproc_directive] = ACTIONS(2295), + [anon_sym_LPAREN2] = ACTIONS(2297), + [anon_sym_BANG] = ACTIONS(2297), + [anon_sym_TILDE] = ACTIONS(2297), + [anon_sym_DASH] = ACTIONS(2295), + [anon_sym_PLUS] = ACTIONS(2295), + [anon_sym_STAR] = ACTIONS(2297), + [anon_sym_AMP_AMP] = ACTIONS(2297), + [anon_sym_AMP] = ACTIONS(2295), + [anon_sym_SEMI] = ACTIONS(2297), + [anon_sym_typedef] = ACTIONS(2295), + [anon_sym_extern] = ACTIONS(2295), + [anon_sym___attribute__] = ACTIONS(2295), + [anon_sym_COLON_COLON] = ACTIONS(2297), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2297), + [anon_sym___declspec] = ACTIONS(2295), + [anon_sym___based] = ACTIONS(2295), + [anon_sym___cdecl] = ACTIONS(2295), + [anon_sym___clrcall] = ACTIONS(2295), + [anon_sym___stdcall] = ACTIONS(2295), + [anon_sym___fastcall] = ACTIONS(2295), + [anon_sym___thiscall] = ACTIONS(2295), + [anon_sym___vectorcall] = ACTIONS(2295), + [anon_sym_LBRACE] = ACTIONS(2297), + [anon_sym_LBRACK] = ACTIONS(2295), + [anon_sym_static] = ACTIONS(2295), + [anon_sym_register] = ACTIONS(2295), + [anon_sym_inline] = ACTIONS(2295), + [anon_sym_thread_local] = ACTIONS(2295), + [anon_sym_const] = ACTIONS(2295), + [anon_sym_volatile] = ACTIONS(2295), + [anon_sym_restrict] = ACTIONS(2295), + [anon_sym__Atomic] = ACTIONS(2295), + [anon_sym_mutable] = ACTIONS(2295), + [anon_sym_constexpr] = ACTIONS(2295), + [anon_sym_constinit] = ACTIONS(2295), + [anon_sym_consteval] = ACTIONS(2295), + [anon_sym_signed] = ACTIONS(2295), + [anon_sym_unsigned] = ACTIONS(2295), + [anon_sym_long] = ACTIONS(2295), + [anon_sym_short] = ACTIONS(2295), + [sym_primitive_type] = ACTIONS(2295), + [anon_sym_enum] = ACTIONS(2295), + [anon_sym_class] = ACTIONS(2295), + [anon_sym_struct] = ACTIONS(2295), + [anon_sym_union] = ACTIONS(2295), + [anon_sym_if] = ACTIONS(2295), + [anon_sym_switch] = ACTIONS(2295), + [anon_sym_case] = ACTIONS(2295), + [anon_sym_default] = ACTIONS(2295), + [anon_sym_while] = ACTIONS(2295), + [anon_sym_do] = ACTIONS(2295), + [anon_sym_for] = ACTIONS(2295), + [anon_sym_return] = ACTIONS(2295), + [anon_sym_break] = ACTIONS(2295), + [anon_sym_continue] = ACTIONS(2295), + [anon_sym_goto] = ACTIONS(2295), + [anon_sym_DASH_DASH] = ACTIONS(2297), + [anon_sym_PLUS_PLUS] = ACTIONS(2297), + [anon_sym_sizeof] = ACTIONS(2295), + [sym_number_literal] = ACTIONS(2297), + [anon_sym_L_SQUOTE] = ACTIONS(2297), + [anon_sym_u_SQUOTE] = ACTIONS(2297), + [anon_sym_U_SQUOTE] = ACTIONS(2297), + [anon_sym_u8_SQUOTE] = ACTIONS(2297), + [anon_sym_SQUOTE] = ACTIONS(2297), + [anon_sym_L_DQUOTE] = ACTIONS(2297), + [anon_sym_u_DQUOTE] = ACTIONS(2297), + [anon_sym_U_DQUOTE] = ACTIONS(2297), + [anon_sym_u8_DQUOTE] = ACTIONS(2297), + [anon_sym_DQUOTE] = ACTIONS(2297), + [sym_true] = ACTIONS(2295), + [sym_false] = ACTIONS(2295), + [sym_null] = ACTIONS(2295), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2295), + [anon_sym_decltype] = ACTIONS(2295), + [anon_sym_virtual] = ACTIONS(2295), + [anon_sym_explicit] = ACTIONS(2295), + [anon_sym_typename] = ACTIONS(2295), + [anon_sym_template] = ACTIONS(2295), + [anon_sym_operator] = ACTIONS(2295), + [anon_sym_delete] = ACTIONS(2295), + [anon_sym_throw] = ACTIONS(2295), + [anon_sym_namespace] = ACTIONS(2295), + [anon_sym_using] = ACTIONS(2295), + [anon_sym_static_assert] = ACTIONS(2295), + [anon_sym_concept] = ACTIONS(2295), + [anon_sym_co_return] = ACTIONS(2295), + [anon_sym_co_yield] = ACTIONS(2295), + [anon_sym_try] = ACTIONS(2295), + [anon_sym_co_await] = ACTIONS(2295), + [anon_sym_new] = ACTIONS(2295), + [anon_sym_requires] = ACTIONS(2295), + [sym_this] = ACTIONS(2295), + [sym_nullptr] = ACTIONS(2295), + [sym_raw_string_literal] = ACTIONS(2297), + }, + [817] = { + [sym_identifier] = ACTIONS(2271), + [aux_sym_preproc_include_token1] = ACTIONS(2271), + [aux_sym_preproc_def_token1] = ACTIONS(2271), + [aux_sym_preproc_if_token1] = ACTIONS(2271), + [aux_sym_preproc_if_token2] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2271), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2271), + [sym_preproc_directive] = ACTIONS(2271), + [anon_sym_LPAREN2] = ACTIONS(2273), + [anon_sym_BANG] = ACTIONS(2273), + [anon_sym_TILDE] = ACTIONS(2273), + [anon_sym_DASH] = ACTIONS(2271), + [anon_sym_PLUS] = ACTIONS(2271), + [anon_sym_STAR] = ACTIONS(2273), + [anon_sym_AMP_AMP] = ACTIONS(2273), + [anon_sym_AMP] = ACTIONS(2271), + [anon_sym_SEMI] = ACTIONS(2273), + [anon_sym_typedef] = ACTIONS(2271), + [anon_sym_extern] = ACTIONS(2271), + [anon_sym___attribute__] = ACTIONS(2271), + [anon_sym_COLON_COLON] = ACTIONS(2273), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2273), + [anon_sym___declspec] = ACTIONS(2271), + [anon_sym___based] = ACTIONS(2271), + [anon_sym___cdecl] = ACTIONS(2271), + [anon_sym___clrcall] = ACTIONS(2271), + [anon_sym___stdcall] = ACTIONS(2271), + [anon_sym___fastcall] = ACTIONS(2271), + [anon_sym___thiscall] = ACTIONS(2271), + [anon_sym___vectorcall] = ACTIONS(2271), + [anon_sym_LBRACE] = ACTIONS(2273), + [anon_sym_LBRACK] = ACTIONS(2271), + [anon_sym_static] = ACTIONS(2271), + [anon_sym_register] = ACTIONS(2271), + [anon_sym_inline] = ACTIONS(2271), + [anon_sym_thread_local] = ACTIONS(2271), + [anon_sym_const] = ACTIONS(2271), + [anon_sym_volatile] = ACTIONS(2271), + [anon_sym_restrict] = ACTIONS(2271), + [anon_sym__Atomic] = ACTIONS(2271), + [anon_sym_mutable] = ACTIONS(2271), + [anon_sym_constexpr] = ACTIONS(2271), + [anon_sym_constinit] = ACTIONS(2271), + [anon_sym_consteval] = ACTIONS(2271), + [anon_sym_signed] = ACTIONS(2271), + [anon_sym_unsigned] = ACTIONS(2271), + [anon_sym_long] = ACTIONS(2271), + [anon_sym_short] = ACTIONS(2271), + [sym_primitive_type] = ACTIONS(2271), + [anon_sym_enum] = ACTIONS(2271), + [anon_sym_class] = ACTIONS(2271), + [anon_sym_struct] = ACTIONS(2271), + [anon_sym_union] = ACTIONS(2271), + [anon_sym_if] = ACTIONS(2271), + [anon_sym_switch] = ACTIONS(2271), + [anon_sym_case] = ACTIONS(2271), + [anon_sym_default] = ACTIONS(2271), + [anon_sym_while] = ACTIONS(2271), + [anon_sym_do] = ACTIONS(2271), + [anon_sym_for] = ACTIONS(2271), + [anon_sym_return] = ACTIONS(2271), + [anon_sym_break] = ACTIONS(2271), + [anon_sym_continue] = ACTIONS(2271), + [anon_sym_goto] = ACTIONS(2271), + [anon_sym_DASH_DASH] = ACTIONS(2273), + [anon_sym_PLUS_PLUS] = ACTIONS(2273), + [anon_sym_sizeof] = ACTIONS(2271), + [sym_number_literal] = ACTIONS(2273), + [anon_sym_L_SQUOTE] = ACTIONS(2273), + [anon_sym_u_SQUOTE] = ACTIONS(2273), + [anon_sym_U_SQUOTE] = ACTIONS(2273), + [anon_sym_u8_SQUOTE] = ACTIONS(2273), + [anon_sym_SQUOTE] = ACTIONS(2273), + [anon_sym_L_DQUOTE] = ACTIONS(2273), + [anon_sym_u_DQUOTE] = ACTIONS(2273), + [anon_sym_U_DQUOTE] = ACTIONS(2273), + [anon_sym_u8_DQUOTE] = ACTIONS(2273), + [anon_sym_DQUOTE] = ACTIONS(2273), + [sym_true] = ACTIONS(2271), + [sym_false] = ACTIONS(2271), + [sym_null] = ACTIONS(2271), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2271), + [anon_sym_decltype] = ACTIONS(2271), + [anon_sym_virtual] = ACTIONS(2271), + [anon_sym_explicit] = ACTIONS(2271), + [anon_sym_typename] = ACTIONS(2271), + [anon_sym_template] = ACTIONS(2271), + [anon_sym_operator] = ACTIONS(2271), + [anon_sym_delete] = ACTIONS(2271), + [anon_sym_throw] = ACTIONS(2271), + [anon_sym_namespace] = ACTIONS(2271), + [anon_sym_using] = ACTIONS(2271), + [anon_sym_static_assert] = ACTIONS(2271), + [anon_sym_concept] = ACTIONS(2271), + [anon_sym_co_return] = ACTIONS(2271), + [anon_sym_co_yield] = ACTIONS(2271), + [anon_sym_try] = ACTIONS(2271), + [anon_sym_co_await] = ACTIONS(2271), + [anon_sym_new] = ACTIONS(2271), + [anon_sym_requires] = ACTIONS(2271), + [sym_this] = ACTIONS(2271), + [sym_nullptr] = ACTIONS(2271), + [sym_raw_string_literal] = ACTIONS(2273), + }, + [818] = { + [sym_identifier] = ACTIONS(2399), + [aux_sym_preproc_include_token1] = ACTIONS(2399), + [aux_sym_preproc_def_token1] = ACTIONS(2399), + [aux_sym_preproc_if_token1] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2399), + [sym_preproc_directive] = ACTIONS(2399), + [anon_sym_LPAREN2] = ACTIONS(2401), + [anon_sym_BANG] = ACTIONS(2401), + [anon_sym_TILDE] = ACTIONS(2401), + [anon_sym_DASH] = ACTIONS(2399), + [anon_sym_PLUS] = ACTIONS(2399), + [anon_sym_STAR] = ACTIONS(2401), + [anon_sym_AMP_AMP] = ACTIONS(2401), + [anon_sym_AMP] = ACTIONS(2399), + [anon_sym_SEMI] = ACTIONS(2401), + [anon_sym_typedef] = ACTIONS(2399), + [anon_sym_extern] = ACTIONS(2399), + [anon_sym___attribute__] = ACTIONS(2399), + [anon_sym_COLON_COLON] = ACTIONS(2401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2401), + [anon_sym___declspec] = ACTIONS(2399), + [anon_sym___based] = ACTIONS(2399), + [anon_sym___cdecl] = ACTIONS(2399), + [anon_sym___clrcall] = ACTIONS(2399), + [anon_sym___stdcall] = ACTIONS(2399), + [anon_sym___fastcall] = ACTIONS(2399), + [anon_sym___thiscall] = ACTIONS(2399), + [anon_sym___vectorcall] = ACTIONS(2399), + [anon_sym_LBRACE] = ACTIONS(2401), + [anon_sym_RBRACE] = ACTIONS(2401), + [anon_sym_LBRACK] = ACTIONS(2399), + [anon_sym_static] = ACTIONS(2399), + [anon_sym_register] = ACTIONS(2399), + [anon_sym_inline] = ACTIONS(2399), + [anon_sym_thread_local] = ACTIONS(2399), + [anon_sym_const] = ACTIONS(2399), + [anon_sym_volatile] = ACTIONS(2399), + [anon_sym_restrict] = ACTIONS(2399), + [anon_sym__Atomic] = ACTIONS(2399), + [anon_sym_mutable] = ACTIONS(2399), + [anon_sym_constexpr] = ACTIONS(2399), + [anon_sym_constinit] = ACTIONS(2399), + [anon_sym_consteval] = ACTIONS(2399), + [anon_sym_signed] = ACTIONS(2399), + [anon_sym_unsigned] = ACTIONS(2399), + [anon_sym_long] = ACTIONS(2399), + [anon_sym_short] = ACTIONS(2399), + [sym_primitive_type] = ACTIONS(2399), + [anon_sym_enum] = ACTIONS(2399), + [anon_sym_class] = ACTIONS(2399), + [anon_sym_struct] = ACTIONS(2399), + [anon_sym_union] = ACTIONS(2399), + [anon_sym_if] = ACTIONS(2399), + [anon_sym_switch] = ACTIONS(2399), + [anon_sym_case] = ACTIONS(2399), + [anon_sym_default] = ACTIONS(2399), + [anon_sym_while] = ACTIONS(2399), + [anon_sym_do] = ACTIONS(2399), + [anon_sym_for] = ACTIONS(2399), + [anon_sym_return] = ACTIONS(2399), + [anon_sym_break] = ACTIONS(2399), + [anon_sym_continue] = ACTIONS(2399), + [anon_sym_goto] = ACTIONS(2399), + [anon_sym_DASH_DASH] = ACTIONS(2401), + [anon_sym_PLUS_PLUS] = ACTIONS(2401), + [anon_sym_sizeof] = ACTIONS(2399), + [sym_number_literal] = ACTIONS(2401), + [anon_sym_L_SQUOTE] = ACTIONS(2401), + [anon_sym_u_SQUOTE] = ACTIONS(2401), + [anon_sym_U_SQUOTE] = ACTIONS(2401), + [anon_sym_u8_SQUOTE] = ACTIONS(2401), + [anon_sym_SQUOTE] = ACTIONS(2401), + [anon_sym_L_DQUOTE] = ACTIONS(2401), + [anon_sym_u_DQUOTE] = ACTIONS(2401), + [anon_sym_U_DQUOTE] = ACTIONS(2401), + [anon_sym_u8_DQUOTE] = ACTIONS(2401), + [anon_sym_DQUOTE] = ACTIONS(2401), + [sym_true] = ACTIONS(2399), + [sym_false] = ACTIONS(2399), + [sym_null] = ACTIONS(2399), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2399), + [anon_sym_decltype] = ACTIONS(2399), + [anon_sym_virtual] = ACTIONS(2399), + [anon_sym_explicit] = ACTIONS(2399), + [anon_sym_typename] = ACTIONS(2399), + [anon_sym_template] = ACTIONS(2399), + [anon_sym_operator] = ACTIONS(2399), + [anon_sym_delete] = ACTIONS(2399), + [anon_sym_throw] = ACTIONS(2399), + [anon_sym_namespace] = ACTIONS(2399), + [anon_sym_using] = ACTIONS(2399), + [anon_sym_static_assert] = ACTIONS(2399), + [anon_sym_concept] = ACTIONS(2399), + [anon_sym_co_return] = ACTIONS(2399), + [anon_sym_co_yield] = ACTIONS(2399), + [anon_sym_try] = ACTIONS(2399), + [anon_sym_co_await] = ACTIONS(2399), + [anon_sym_new] = ACTIONS(2399), + [anon_sym_requires] = ACTIONS(2399), + [sym_this] = ACTIONS(2399), + [sym_nullptr] = ACTIONS(2399), + [sym_raw_string_literal] = ACTIONS(2401), + }, + [819] = { + [ts_builtin_sym_end] = ACTIONS(2397), + [sym_identifier] = ACTIONS(2395), + [aux_sym_preproc_include_token1] = ACTIONS(2395), + [aux_sym_preproc_def_token1] = ACTIONS(2395), + [aux_sym_preproc_if_token1] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2395), + [sym_preproc_directive] = ACTIONS(2395), + [anon_sym_LPAREN2] = ACTIONS(2397), + [anon_sym_BANG] = ACTIONS(2397), + [anon_sym_TILDE] = ACTIONS(2397), + [anon_sym_DASH] = ACTIONS(2395), + [anon_sym_PLUS] = ACTIONS(2395), + [anon_sym_STAR] = ACTIONS(2397), + [anon_sym_AMP_AMP] = ACTIONS(2397), + [anon_sym_AMP] = ACTIONS(2395), + [anon_sym_SEMI] = ACTIONS(2397), + [anon_sym_typedef] = ACTIONS(2395), + [anon_sym_extern] = ACTIONS(2395), + [anon_sym___attribute__] = ACTIONS(2395), + [anon_sym_COLON_COLON] = ACTIONS(2397), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2397), + [anon_sym___declspec] = ACTIONS(2395), + [anon_sym___based] = ACTIONS(2395), + [anon_sym___cdecl] = ACTIONS(2395), + [anon_sym___clrcall] = ACTIONS(2395), + [anon_sym___stdcall] = ACTIONS(2395), + [anon_sym___fastcall] = ACTIONS(2395), + [anon_sym___thiscall] = ACTIONS(2395), + [anon_sym___vectorcall] = ACTIONS(2395), + [anon_sym_LBRACE] = ACTIONS(2397), + [anon_sym_LBRACK] = ACTIONS(2395), + [anon_sym_static] = ACTIONS(2395), + [anon_sym_register] = ACTIONS(2395), + [anon_sym_inline] = ACTIONS(2395), + [anon_sym_thread_local] = ACTIONS(2395), + [anon_sym_const] = ACTIONS(2395), + [anon_sym_volatile] = ACTIONS(2395), + [anon_sym_restrict] = ACTIONS(2395), + [anon_sym__Atomic] = ACTIONS(2395), + [anon_sym_mutable] = ACTIONS(2395), + [anon_sym_constexpr] = ACTIONS(2395), + [anon_sym_constinit] = ACTIONS(2395), + [anon_sym_consteval] = ACTIONS(2395), + [anon_sym_signed] = ACTIONS(2395), + [anon_sym_unsigned] = ACTIONS(2395), + [anon_sym_long] = ACTIONS(2395), + [anon_sym_short] = ACTIONS(2395), + [sym_primitive_type] = ACTIONS(2395), + [anon_sym_enum] = ACTIONS(2395), + [anon_sym_class] = ACTIONS(2395), + [anon_sym_struct] = ACTIONS(2395), + [anon_sym_union] = ACTIONS(2395), + [anon_sym_if] = ACTIONS(2395), + [anon_sym_switch] = ACTIONS(2395), + [anon_sym_case] = ACTIONS(2395), + [anon_sym_default] = ACTIONS(2395), + [anon_sym_while] = ACTIONS(2395), + [anon_sym_do] = ACTIONS(2395), + [anon_sym_for] = ACTIONS(2395), + [anon_sym_return] = ACTIONS(2395), + [anon_sym_break] = ACTIONS(2395), + [anon_sym_continue] = ACTIONS(2395), + [anon_sym_goto] = ACTIONS(2395), + [anon_sym_DASH_DASH] = ACTIONS(2397), + [anon_sym_PLUS_PLUS] = ACTIONS(2397), + [anon_sym_sizeof] = ACTIONS(2395), + [sym_number_literal] = ACTIONS(2397), + [anon_sym_L_SQUOTE] = ACTIONS(2397), + [anon_sym_u_SQUOTE] = ACTIONS(2397), + [anon_sym_U_SQUOTE] = ACTIONS(2397), + [anon_sym_u8_SQUOTE] = ACTIONS(2397), + [anon_sym_SQUOTE] = ACTIONS(2397), + [anon_sym_L_DQUOTE] = ACTIONS(2397), + [anon_sym_u_DQUOTE] = ACTIONS(2397), + [anon_sym_U_DQUOTE] = ACTIONS(2397), + [anon_sym_u8_DQUOTE] = ACTIONS(2397), + [anon_sym_DQUOTE] = ACTIONS(2397), + [sym_true] = ACTIONS(2395), + [sym_false] = ACTIONS(2395), + [sym_null] = ACTIONS(2395), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2395), + [anon_sym_decltype] = ACTIONS(2395), + [anon_sym_virtual] = ACTIONS(2395), + [anon_sym_explicit] = ACTIONS(2395), + [anon_sym_typename] = ACTIONS(2395), + [anon_sym_template] = ACTIONS(2395), + [anon_sym_operator] = ACTIONS(2395), + [anon_sym_delete] = ACTIONS(2395), + [anon_sym_throw] = ACTIONS(2395), + [anon_sym_namespace] = ACTIONS(2395), + [anon_sym_using] = ACTIONS(2395), + [anon_sym_static_assert] = ACTIONS(2395), + [anon_sym_concept] = ACTIONS(2395), + [anon_sym_co_return] = ACTIONS(2395), + [anon_sym_co_yield] = ACTIONS(2395), + [anon_sym_try] = ACTIONS(2395), + [anon_sym_co_await] = ACTIONS(2395), + [anon_sym_new] = ACTIONS(2395), + [anon_sym_requires] = ACTIONS(2395), + [sym_this] = ACTIONS(2395), + [sym_nullptr] = ACTIONS(2395), + [sym_raw_string_literal] = ACTIONS(2397), + }, + [820] = { + [sym_identifier] = ACTIONS(2387), + [aux_sym_preproc_include_token1] = ACTIONS(2387), + [aux_sym_preproc_def_token1] = ACTIONS(2387), + [aux_sym_preproc_if_token1] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2387), + [sym_preproc_directive] = ACTIONS(2387), + [anon_sym_LPAREN2] = ACTIONS(2389), + [anon_sym_BANG] = ACTIONS(2389), + [anon_sym_TILDE] = ACTIONS(2389), + [anon_sym_DASH] = ACTIONS(2387), + [anon_sym_PLUS] = ACTIONS(2387), + [anon_sym_STAR] = ACTIONS(2389), + [anon_sym_AMP_AMP] = ACTIONS(2389), + [anon_sym_AMP] = ACTIONS(2387), + [anon_sym_SEMI] = ACTIONS(2389), + [anon_sym_typedef] = ACTIONS(2387), + [anon_sym_extern] = ACTIONS(2387), + [anon_sym___attribute__] = ACTIONS(2387), + [anon_sym_COLON_COLON] = ACTIONS(2389), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2389), + [anon_sym___declspec] = ACTIONS(2387), + [anon_sym___based] = ACTIONS(2387), + [anon_sym___cdecl] = ACTIONS(2387), + [anon_sym___clrcall] = ACTIONS(2387), + [anon_sym___stdcall] = ACTIONS(2387), + [anon_sym___fastcall] = ACTIONS(2387), + [anon_sym___thiscall] = ACTIONS(2387), + [anon_sym___vectorcall] = ACTIONS(2387), + [anon_sym_LBRACE] = ACTIONS(2389), + [anon_sym_RBRACE] = ACTIONS(2389), + [anon_sym_LBRACK] = ACTIONS(2387), + [anon_sym_static] = ACTIONS(2387), + [anon_sym_register] = ACTIONS(2387), + [anon_sym_inline] = ACTIONS(2387), + [anon_sym_thread_local] = ACTIONS(2387), + [anon_sym_const] = ACTIONS(2387), + [anon_sym_volatile] = ACTIONS(2387), + [anon_sym_restrict] = ACTIONS(2387), + [anon_sym__Atomic] = ACTIONS(2387), + [anon_sym_mutable] = ACTIONS(2387), + [anon_sym_constexpr] = ACTIONS(2387), + [anon_sym_constinit] = ACTIONS(2387), + [anon_sym_consteval] = ACTIONS(2387), + [anon_sym_signed] = ACTIONS(2387), + [anon_sym_unsigned] = ACTIONS(2387), + [anon_sym_long] = ACTIONS(2387), + [anon_sym_short] = ACTIONS(2387), + [sym_primitive_type] = ACTIONS(2387), + [anon_sym_enum] = ACTIONS(2387), + [anon_sym_class] = ACTIONS(2387), + [anon_sym_struct] = ACTIONS(2387), + [anon_sym_union] = ACTIONS(2387), + [anon_sym_if] = ACTIONS(2387), + [anon_sym_switch] = ACTIONS(2387), + [anon_sym_case] = ACTIONS(2387), + [anon_sym_default] = ACTIONS(2387), + [anon_sym_while] = ACTIONS(2387), + [anon_sym_do] = ACTIONS(2387), + [anon_sym_for] = ACTIONS(2387), + [anon_sym_return] = ACTIONS(2387), + [anon_sym_break] = ACTIONS(2387), + [anon_sym_continue] = ACTIONS(2387), + [anon_sym_goto] = ACTIONS(2387), + [anon_sym_DASH_DASH] = ACTIONS(2389), + [anon_sym_PLUS_PLUS] = ACTIONS(2389), + [anon_sym_sizeof] = ACTIONS(2387), + [sym_number_literal] = ACTIONS(2389), + [anon_sym_L_SQUOTE] = ACTIONS(2389), + [anon_sym_u_SQUOTE] = ACTIONS(2389), + [anon_sym_U_SQUOTE] = ACTIONS(2389), + [anon_sym_u8_SQUOTE] = ACTIONS(2389), + [anon_sym_SQUOTE] = ACTIONS(2389), + [anon_sym_L_DQUOTE] = ACTIONS(2389), + [anon_sym_u_DQUOTE] = ACTIONS(2389), + [anon_sym_U_DQUOTE] = ACTIONS(2389), + [anon_sym_u8_DQUOTE] = ACTIONS(2389), + [anon_sym_DQUOTE] = ACTIONS(2389), + [sym_true] = ACTIONS(2387), + [sym_false] = ACTIONS(2387), + [sym_null] = ACTIONS(2387), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2387), + [anon_sym_decltype] = ACTIONS(2387), + [anon_sym_virtual] = ACTIONS(2387), + [anon_sym_explicit] = ACTIONS(2387), + [anon_sym_typename] = ACTIONS(2387), + [anon_sym_template] = ACTIONS(2387), + [anon_sym_operator] = ACTIONS(2387), + [anon_sym_delete] = ACTIONS(2387), + [anon_sym_throw] = ACTIONS(2387), + [anon_sym_namespace] = ACTIONS(2387), + [anon_sym_using] = ACTIONS(2387), + [anon_sym_static_assert] = ACTIONS(2387), + [anon_sym_concept] = ACTIONS(2387), + [anon_sym_co_return] = ACTIONS(2387), + [anon_sym_co_yield] = ACTIONS(2387), + [anon_sym_try] = ACTIONS(2387), + [anon_sym_co_await] = ACTIONS(2387), + [anon_sym_new] = ACTIONS(2387), + [anon_sym_requires] = ACTIONS(2387), + [sym_this] = ACTIONS(2387), + [sym_nullptr] = ACTIONS(2387), + [sym_raw_string_literal] = ACTIONS(2389), + }, + [821] = { + [ts_builtin_sym_end] = ACTIONS(2301), + [sym_identifier] = ACTIONS(2299), + [aux_sym_preproc_include_token1] = ACTIONS(2299), + [aux_sym_preproc_def_token1] = ACTIONS(2299), + [aux_sym_preproc_if_token1] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2299), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2299), + [sym_preproc_directive] = ACTIONS(2299), + [anon_sym_LPAREN2] = ACTIONS(2301), + [anon_sym_BANG] = ACTIONS(2301), + [anon_sym_TILDE] = ACTIONS(2301), + [anon_sym_DASH] = ACTIONS(2299), + [anon_sym_PLUS] = ACTIONS(2299), + [anon_sym_STAR] = ACTIONS(2301), + [anon_sym_AMP_AMP] = ACTIONS(2301), + [anon_sym_AMP] = ACTIONS(2299), + [anon_sym_SEMI] = ACTIONS(2301), + [anon_sym_typedef] = ACTIONS(2299), + [anon_sym_extern] = ACTIONS(2299), + [anon_sym___attribute__] = ACTIONS(2299), + [anon_sym_COLON_COLON] = ACTIONS(2301), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2301), + [anon_sym___declspec] = ACTIONS(2299), + [anon_sym___based] = ACTIONS(2299), + [anon_sym___cdecl] = ACTIONS(2299), + [anon_sym___clrcall] = ACTIONS(2299), + [anon_sym___stdcall] = ACTIONS(2299), + [anon_sym___fastcall] = ACTIONS(2299), + [anon_sym___thiscall] = ACTIONS(2299), + [anon_sym___vectorcall] = ACTIONS(2299), + [anon_sym_LBRACE] = ACTIONS(2301), + [anon_sym_LBRACK] = ACTIONS(2299), + [anon_sym_static] = ACTIONS(2299), + [anon_sym_register] = ACTIONS(2299), + [anon_sym_inline] = ACTIONS(2299), + [anon_sym_thread_local] = ACTIONS(2299), + [anon_sym_const] = ACTIONS(2299), + [anon_sym_volatile] = ACTIONS(2299), + [anon_sym_restrict] = ACTIONS(2299), + [anon_sym__Atomic] = ACTIONS(2299), + [anon_sym_mutable] = ACTIONS(2299), + [anon_sym_constexpr] = ACTIONS(2299), + [anon_sym_constinit] = ACTIONS(2299), + [anon_sym_consteval] = ACTIONS(2299), + [anon_sym_signed] = ACTIONS(2299), + [anon_sym_unsigned] = ACTIONS(2299), + [anon_sym_long] = ACTIONS(2299), + [anon_sym_short] = ACTIONS(2299), + [sym_primitive_type] = ACTIONS(2299), + [anon_sym_enum] = ACTIONS(2299), + [anon_sym_class] = ACTIONS(2299), + [anon_sym_struct] = ACTIONS(2299), + [anon_sym_union] = ACTIONS(2299), + [anon_sym_if] = ACTIONS(2299), + [anon_sym_switch] = ACTIONS(2299), + [anon_sym_case] = ACTIONS(2299), + [anon_sym_default] = ACTIONS(2299), + [anon_sym_while] = ACTIONS(2299), + [anon_sym_do] = ACTIONS(2299), + [anon_sym_for] = ACTIONS(2299), + [anon_sym_return] = ACTIONS(2299), + [anon_sym_break] = ACTIONS(2299), + [anon_sym_continue] = ACTIONS(2299), + [anon_sym_goto] = ACTIONS(2299), + [anon_sym_DASH_DASH] = ACTIONS(2301), + [anon_sym_PLUS_PLUS] = ACTIONS(2301), + [anon_sym_sizeof] = ACTIONS(2299), + [sym_number_literal] = ACTIONS(2301), + [anon_sym_L_SQUOTE] = ACTIONS(2301), + [anon_sym_u_SQUOTE] = ACTIONS(2301), + [anon_sym_U_SQUOTE] = ACTIONS(2301), + [anon_sym_u8_SQUOTE] = ACTIONS(2301), + [anon_sym_SQUOTE] = ACTIONS(2301), + [anon_sym_L_DQUOTE] = ACTIONS(2301), + [anon_sym_u_DQUOTE] = ACTIONS(2301), + [anon_sym_U_DQUOTE] = ACTIONS(2301), + [anon_sym_u8_DQUOTE] = ACTIONS(2301), + [anon_sym_DQUOTE] = ACTIONS(2301), + [sym_true] = ACTIONS(2299), + [sym_false] = ACTIONS(2299), + [sym_null] = ACTIONS(2299), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2299), + [anon_sym_decltype] = ACTIONS(2299), + [anon_sym_virtual] = ACTIONS(2299), + [anon_sym_explicit] = ACTIONS(2299), + [anon_sym_typename] = ACTIONS(2299), + [anon_sym_template] = ACTIONS(2299), + [anon_sym_operator] = ACTIONS(2299), + [anon_sym_delete] = ACTIONS(2299), + [anon_sym_throw] = ACTIONS(2299), + [anon_sym_namespace] = ACTIONS(2299), + [anon_sym_using] = ACTIONS(2299), + [anon_sym_static_assert] = ACTIONS(2299), + [anon_sym_concept] = ACTIONS(2299), + [anon_sym_co_return] = ACTIONS(2299), + [anon_sym_co_yield] = ACTIONS(2299), + [anon_sym_try] = ACTIONS(2299), + [anon_sym_co_await] = ACTIONS(2299), + [anon_sym_new] = ACTIONS(2299), + [anon_sym_requires] = ACTIONS(2299), + [sym_this] = ACTIONS(2299), + [sym_nullptr] = ACTIONS(2299), + [sym_raw_string_literal] = ACTIONS(2301), + }, + [822] = { + [ts_builtin_sym_end] = ACTIONS(2401), + [sym_identifier] = ACTIONS(2399), + [aux_sym_preproc_include_token1] = ACTIONS(2399), + [aux_sym_preproc_def_token1] = ACTIONS(2399), + [aux_sym_preproc_if_token1] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2399), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2399), + [sym_preproc_directive] = ACTIONS(2399), + [anon_sym_LPAREN2] = ACTIONS(2401), + [anon_sym_BANG] = ACTIONS(2401), + [anon_sym_TILDE] = ACTIONS(2401), + [anon_sym_DASH] = ACTIONS(2399), + [anon_sym_PLUS] = ACTIONS(2399), + [anon_sym_STAR] = ACTIONS(2401), + [anon_sym_AMP_AMP] = ACTIONS(2401), + [anon_sym_AMP] = ACTIONS(2399), + [anon_sym_SEMI] = ACTIONS(2401), + [anon_sym_typedef] = ACTIONS(2399), + [anon_sym_extern] = ACTIONS(2399), + [anon_sym___attribute__] = ACTIONS(2399), + [anon_sym_COLON_COLON] = ACTIONS(2401), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2401), + [anon_sym___declspec] = ACTIONS(2399), + [anon_sym___based] = ACTIONS(2399), + [anon_sym___cdecl] = ACTIONS(2399), + [anon_sym___clrcall] = ACTIONS(2399), + [anon_sym___stdcall] = ACTIONS(2399), + [anon_sym___fastcall] = ACTIONS(2399), + [anon_sym___thiscall] = ACTIONS(2399), + [anon_sym___vectorcall] = ACTIONS(2399), + [anon_sym_LBRACE] = ACTIONS(2401), + [anon_sym_LBRACK] = ACTIONS(2399), + [anon_sym_static] = ACTIONS(2399), + [anon_sym_register] = ACTIONS(2399), + [anon_sym_inline] = ACTIONS(2399), + [anon_sym_thread_local] = ACTIONS(2399), + [anon_sym_const] = ACTIONS(2399), + [anon_sym_volatile] = ACTIONS(2399), + [anon_sym_restrict] = ACTIONS(2399), + [anon_sym__Atomic] = ACTIONS(2399), + [anon_sym_mutable] = ACTIONS(2399), + [anon_sym_constexpr] = ACTIONS(2399), + [anon_sym_constinit] = ACTIONS(2399), + [anon_sym_consteval] = ACTIONS(2399), + [anon_sym_signed] = ACTIONS(2399), + [anon_sym_unsigned] = ACTIONS(2399), + [anon_sym_long] = ACTIONS(2399), + [anon_sym_short] = ACTIONS(2399), + [sym_primitive_type] = ACTIONS(2399), + [anon_sym_enum] = ACTIONS(2399), + [anon_sym_class] = ACTIONS(2399), + [anon_sym_struct] = ACTIONS(2399), + [anon_sym_union] = ACTIONS(2399), + [anon_sym_if] = ACTIONS(2399), + [anon_sym_switch] = ACTIONS(2399), + [anon_sym_case] = ACTIONS(2399), + [anon_sym_default] = ACTIONS(2399), + [anon_sym_while] = ACTIONS(2399), + [anon_sym_do] = ACTIONS(2399), + [anon_sym_for] = ACTIONS(2399), + [anon_sym_return] = ACTIONS(2399), + [anon_sym_break] = ACTIONS(2399), + [anon_sym_continue] = ACTIONS(2399), + [anon_sym_goto] = ACTIONS(2399), + [anon_sym_DASH_DASH] = ACTIONS(2401), + [anon_sym_PLUS_PLUS] = ACTIONS(2401), + [anon_sym_sizeof] = ACTIONS(2399), + [sym_number_literal] = ACTIONS(2401), + [anon_sym_L_SQUOTE] = ACTIONS(2401), + [anon_sym_u_SQUOTE] = ACTIONS(2401), + [anon_sym_U_SQUOTE] = ACTIONS(2401), + [anon_sym_u8_SQUOTE] = ACTIONS(2401), + [anon_sym_SQUOTE] = ACTIONS(2401), + [anon_sym_L_DQUOTE] = ACTIONS(2401), + [anon_sym_u_DQUOTE] = ACTIONS(2401), + [anon_sym_U_DQUOTE] = ACTIONS(2401), + [anon_sym_u8_DQUOTE] = ACTIONS(2401), + [anon_sym_DQUOTE] = ACTIONS(2401), + [sym_true] = ACTIONS(2399), + [sym_false] = ACTIONS(2399), + [sym_null] = ACTIONS(2399), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2399), + [anon_sym_decltype] = ACTIONS(2399), + [anon_sym_virtual] = ACTIONS(2399), + [anon_sym_explicit] = ACTIONS(2399), + [anon_sym_typename] = ACTIONS(2399), + [anon_sym_template] = ACTIONS(2399), + [anon_sym_operator] = ACTIONS(2399), + [anon_sym_delete] = ACTIONS(2399), + [anon_sym_throw] = ACTIONS(2399), + [anon_sym_namespace] = ACTIONS(2399), + [anon_sym_using] = ACTIONS(2399), + [anon_sym_static_assert] = ACTIONS(2399), + [anon_sym_concept] = ACTIONS(2399), + [anon_sym_co_return] = ACTIONS(2399), + [anon_sym_co_yield] = ACTIONS(2399), + [anon_sym_try] = ACTIONS(2399), + [anon_sym_co_await] = ACTIONS(2399), + [anon_sym_new] = ACTIONS(2399), + [anon_sym_requires] = ACTIONS(2399), + [sym_this] = ACTIONS(2399), + [sym_nullptr] = ACTIONS(2399), + [sym_raw_string_literal] = ACTIONS(2401), + }, + [823] = { + [sym_identifier] = ACTIONS(2411), + [aux_sym_preproc_include_token1] = ACTIONS(2411), + [aux_sym_preproc_def_token1] = ACTIONS(2411), + [aux_sym_preproc_if_token1] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2411), + [sym_preproc_directive] = ACTIONS(2411), + [anon_sym_LPAREN2] = ACTIONS(2413), + [anon_sym_BANG] = ACTIONS(2413), + [anon_sym_TILDE] = ACTIONS(2413), + [anon_sym_DASH] = ACTIONS(2411), + [anon_sym_PLUS] = ACTIONS(2411), + [anon_sym_STAR] = ACTIONS(2413), + [anon_sym_AMP_AMP] = ACTIONS(2413), + [anon_sym_AMP] = ACTIONS(2411), + [anon_sym_SEMI] = ACTIONS(2413), + [anon_sym_typedef] = ACTIONS(2411), + [anon_sym_extern] = ACTIONS(2411), + [anon_sym___attribute__] = ACTIONS(2411), + [anon_sym_COLON_COLON] = ACTIONS(2413), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2413), + [anon_sym___declspec] = ACTIONS(2411), + [anon_sym___based] = ACTIONS(2411), + [anon_sym___cdecl] = ACTIONS(2411), + [anon_sym___clrcall] = ACTIONS(2411), + [anon_sym___stdcall] = ACTIONS(2411), + [anon_sym___fastcall] = ACTIONS(2411), + [anon_sym___thiscall] = ACTIONS(2411), + [anon_sym___vectorcall] = ACTIONS(2411), + [anon_sym_LBRACE] = ACTIONS(2413), + [anon_sym_RBRACE] = ACTIONS(2413), + [anon_sym_LBRACK] = ACTIONS(2411), + [anon_sym_static] = ACTIONS(2411), + [anon_sym_register] = ACTIONS(2411), + [anon_sym_inline] = ACTIONS(2411), + [anon_sym_thread_local] = ACTIONS(2411), + [anon_sym_const] = ACTIONS(2411), + [anon_sym_volatile] = ACTIONS(2411), + [anon_sym_restrict] = ACTIONS(2411), + [anon_sym__Atomic] = ACTIONS(2411), + [anon_sym_mutable] = ACTIONS(2411), + [anon_sym_constexpr] = ACTIONS(2411), + [anon_sym_constinit] = ACTIONS(2411), + [anon_sym_consteval] = ACTIONS(2411), + [anon_sym_signed] = ACTIONS(2411), + [anon_sym_unsigned] = ACTIONS(2411), + [anon_sym_long] = ACTIONS(2411), + [anon_sym_short] = ACTIONS(2411), + [sym_primitive_type] = ACTIONS(2411), + [anon_sym_enum] = ACTIONS(2411), + [anon_sym_class] = ACTIONS(2411), + [anon_sym_struct] = ACTIONS(2411), + [anon_sym_union] = ACTIONS(2411), + [anon_sym_if] = ACTIONS(2411), + [anon_sym_switch] = ACTIONS(2411), + [anon_sym_case] = ACTIONS(2411), + [anon_sym_default] = ACTIONS(2411), + [anon_sym_while] = ACTIONS(2411), + [anon_sym_do] = ACTIONS(2411), + [anon_sym_for] = ACTIONS(2411), + [anon_sym_return] = ACTIONS(2411), + [anon_sym_break] = ACTIONS(2411), + [anon_sym_continue] = ACTIONS(2411), + [anon_sym_goto] = ACTIONS(2411), + [anon_sym_DASH_DASH] = ACTIONS(2413), + [anon_sym_PLUS_PLUS] = ACTIONS(2413), + [anon_sym_sizeof] = ACTIONS(2411), + [sym_number_literal] = ACTIONS(2413), + [anon_sym_L_SQUOTE] = ACTIONS(2413), + [anon_sym_u_SQUOTE] = ACTIONS(2413), + [anon_sym_U_SQUOTE] = ACTIONS(2413), + [anon_sym_u8_SQUOTE] = ACTIONS(2413), + [anon_sym_SQUOTE] = ACTIONS(2413), + [anon_sym_L_DQUOTE] = ACTIONS(2413), + [anon_sym_u_DQUOTE] = ACTIONS(2413), + [anon_sym_U_DQUOTE] = ACTIONS(2413), + [anon_sym_u8_DQUOTE] = ACTIONS(2413), + [anon_sym_DQUOTE] = ACTIONS(2413), + [sym_true] = ACTIONS(2411), + [sym_false] = ACTIONS(2411), + [sym_null] = ACTIONS(2411), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2411), + [anon_sym_decltype] = ACTIONS(2411), + [anon_sym_virtual] = ACTIONS(2411), + [anon_sym_explicit] = ACTIONS(2411), + [anon_sym_typename] = ACTIONS(2411), + [anon_sym_template] = ACTIONS(2411), + [anon_sym_operator] = ACTIONS(2411), + [anon_sym_delete] = ACTIONS(2411), + [anon_sym_throw] = ACTIONS(2411), + [anon_sym_namespace] = ACTIONS(2411), + [anon_sym_using] = ACTIONS(2411), + [anon_sym_static_assert] = ACTIONS(2411), + [anon_sym_concept] = ACTIONS(2411), + [anon_sym_co_return] = ACTIONS(2411), + [anon_sym_co_yield] = ACTIONS(2411), + [anon_sym_try] = ACTIONS(2411), + [anon_sym_co_await] = ACTIONS(2411), + [anon_sym_new] = ACTIONS(2411), + [anon_sym_requires] = ACTIONS(2411), + [sym_this] = ACTIONS(2411), + [sym_nullptr] = ACTIONS(2411), + [sym_raw_string_literal] = ACTIONS(2413), + }, + [824] = { + [ts_builtin_sym_end] = ACTIONS(2261), + [sym_identifier] = ACTIONS(2259), + [aux_sym_preproc_include_token1] = ACTIONS(2259), + [aux_sym_preproc_def_token1] = ACTIONS(2259), + [aux_sym_preproc_if_token1] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2259), + [sym_preproc_directive] = ACTIONS(2259), + [anon_sym_LPAREN2] = ACTIONS(2261), + [anon_sym_BANG] = ACTIONS(2261), + [anon_sym_TILDE] = ACTIONS(2261), + [anon_sym_DASH] = ACTIONS(2259), + [anon_sym_PLUS] = ACTIONS(2259), + [anon_sym_STAR] = ACTIONS(2261), + [anon_sym_AMP_AMP] = ACTIONS(2261), + [anon_sym_AMP] = ACTIONS(2259), + [anon_sym_SEMI] = ACTIONS(2261), + [anon_sym_typedef] = ACTIONS(2259), + [anon_sym_extern] = ACTIONS(2259), + [anon_sym___attribute__] = ACTIONS(2259), + [anon_sym_COLON_COLON] = ACTIONS(2261), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2261), + [anon_sym___declspec] = ACTIONS(2259), + [anon_sym___based] = ACTIONS(2259), + [anon_sym___cdecl] = ACTIONS(2259), + [anon_sym___clrcall] = ACTIONS(2259), + [anon_sym___stdcall] = ACTIONS(2259), + [anon_sym___fastcall] = ACTIONS(2259), + [anon_sym___thiscall] = ACTIONS(2259), + [anon_sym___vectorcall] = ACTIONS(2259), + [anon_sym_LBRACE] = ACTIONS(2261), + [anon_sym_LBRACK] = ACTIONS(2259), + [anon_sym_static] = ACTIONS(2259), + [anon_sym_register] = ACTIONS(2259), + [anon_sym_inline] = ACTIONS(2259), + [anon_sym_thread_local] = ACTIONS(2259), + [anon_sym_const] = ACTIONS(2259), + [anon_sym_volatile] = ACTIONS(2259), + [anon_sym_restrict] = ACTIONS(2259), + [anon_sym__Atomic] = ACTIONS(2259), + [anon_sym_mutable] = ACTIONS(2259), + [anon_sym_constexpr] = ACTIONS(2259), + [anon_sym_constinit] = ACTIONS(2259), + [anon_sym_consteval] = ACTIONS(2259), + [anon_sym_signed] = ACTIONS(2259), + [anon_sym_unsigned] = ACTIONS(2259), + [anon_sym_long] = ACTIONS(2259), + [anon_sym_short] = ACTIONS(2259), + [sym_primitive_type] = ACTIONS(2259), + [anon_sym_enum] = ACTIONS(2259), + [anon_sym_class] = ACTIONS(2259), + [anon_sym_struct] = ACTIONS(2259), + [anon_sym_union] = ACTIONS(2259), + [anon_sym_if] = ACTIONS(2259), + [anon_sym_switch] = ACTIONS(2259), + [anon_sym_case] = ACTIONS(2259), + [anon_sym_default] = ACTIONS(2259), + [anon_sym_while] = ACTIONS(2259), + [anon_sym_do] = ACTIONS(2259), + [anon_sym_for] = ACTIONS(2259), + [anon_sym_return] = ACTIONS(2259), + [anon_sym_break] = ACTIONS(2259), + [anon_sym_continue] = ACTIONS(2259), + [anon_sym_goto] = ACTIONS(2259), + [anon_sym_DASH_DASH] = ACTIONS(2261), + [anon_sym_PLUS_PLUS] = ACTIONS(2261), + [anon_sym_sizeof] = ACTIONS(2259), + [sym_number_literal] = ACTIONS(2261), + [anon_sym_L_SQUOTE] = ACTIONS(2261), + [anon_sym_u_SQUOTE] = ACTIONS(2261), + [anon_sym_U_SQUOTE] = ACTIONS(2261), + [anon_sym_u8_SQUOTE] = ACTIONS(2261), + [anon_sym_SQUOTE] = ACTIONS(2261), + [anon_sym_L_DQUOTE] = ACTIONS(2261), + [anon_sym_u_DQUOTE] = ACTIONS(2261), + [anon_sym_U_DQUOTE] = ACTIONS(2261), + [anon_sym_u8_DQUOTE] = ACTIONS(2261), + [anon_sym_DQUOTE] = ACTIONS(2261), + [sym_true] = ACTIONS(2259), + [sym_false] = ACTIONS(2259), + [sym_null] = ACTIONS(2259), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2259), + [anon_sym_decltype] = ACTIONS(2259), + [anon_sym_virtual] = ACTIONS(2259), + [anon_sym_explicit] = ACTIONS(2259), + [anon_sym_typename] = ACTIONS(2259), + [anon_sym_template] = ACTIONS(2259), + [anon_sym_operator] = ACTIONS(2259), + [anon_sym_delete] = ACTIONS(2259), + [anon_sym_throw] = ACTIONS(2259), + [anon_sym_namespace] = ACTIONS(2259), + [anon_sym_using] = ACTIONS(2259), + [anon_sym_static_assert] = ACTIONS(2259), + [anon_sym_concept] = ACTIONS(2259), + [anon_sym_co_return] = ACTIONS(2259), + [anon_sym_co_yield] = ACTIONS(2259), + [anon_sym_try] = ACTIONS(2259), + [anon_sym_co_await] = ACTIONS(2259), + [anon_sym_new] = ACTIONS(2259), + [anon_sym_requires] = ACTIONS(2259), + [sym_this] = ACTIONS(2259), + [sym_nullptr] = ACTIONS(2259), + [sym_raw_string_literal] = ACTIONS(2261), + }, + [825] = { + [sym_identifier] = ACTIONS(2395), + [aux_sym_preproc_include_token1] = ACTIONS(2395), + [aux_sym_preproc_def_token1] = ACTIONS(2395), + [aux_sym_preproc_if_token1] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2395), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2395), + [sym_preproc_directive] = ACTIONS(2395), + [anon_sym_LPAREN2] = ACTIONS(2397), + [anon_sym_BANG] = ACTIONS(2397), + [anon_sym_TILDE] = ACTIONS(2397), + [anon_sym_DASH] = ACTIONS(2395), + [anon_sym_PLUS] = ACTIONS(2395), + [anon_sym_STAR] = ACTIONS(2397), + [anon_sym_AMP_AMP] = ACTIONS(2397), + [anon_sym_AMP] = ACTIONS(2395), + [anon_sym_SEMI] = ACTIONS(2397), + [anon_sym_typedef] = ACTIONS(2395), + [anon_sym_extern] = ACTIONS(2395), + [anon_sym___attribute__] = ACTIONS(2395), + [anon_sym_COLON_COLON] = ACTIONS(2397), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2397), + [anon_sym___declspec] = ACTIONS(2395), + [anon_sym___based] = ACTIONS(2395), + [anon_sym___cdecl] = ACTIONS(2395), + [anon_sym___clrcall] = ACTIONS(2395), + [anon_sym___stdcall] = ACTIONS(2395), + [anon_sym___fastcall] = ACTIONS(2395), + [anon_sym___thiscall] = ACTIONS(2395), + [anon_sym___vectorcall] = ACTIONS(2395), + [anon_sym_LBRACE] = ACTIONS(2397), + [anon_sym_RBRACE] = ACTIONS(2397), + [anon_sym_LBRACK] = ACTIONS(2395), + [anon_sym_static] = ACTIONS(2395), + [anon_sym_register] = ACTIONS(2395), + [anon_sym_inline] = ACTIONS(2395), + [anon_sym_thread_local] = ACTIONS(2395), + [anon_sym_const] = ACTIONS(2395), + [anon_sym_volatile] = ACTIONS(2395), + [anon_sym_restrict] = ACTIONS(2395), + [anon_sym__Atomic] = ACTIONS(2395), + [anon_sym_mutable] = ACTIONS(2395), + [anon_sym_constexpr] = ACTIONS(2395), + [anon_sym_constinit] = ACTIONS(2395), + [anon_sym_consteval] = ACTIONS(2395), + [anon_sym_signed] = ACTIONS(2395), + [anon_sym_unsigned] = ACTIONS(2395), + [anon_sym_long] = ACTIONS(2395), + [anon_sym_short] = ACTIONS(2395), + [sym_primitive_type] = ACTIONS(2395), + [anon_sym_enum] = ACTIONS(2395), + [anon_sym_class] = ACTIONS(2395), + [anon_sym_struct] = ACTIONS(2395), + [anon_sym_union] = ACTIONS(2395), + [anon_sym_if] = ACTIONS(2395), + [anon_sym_switch] = ACTIONS(2395), + [anon_sym_case] = ACTIONS(2395), + [anon_sym_default] = ACTIONS(2395), + [anon_sym_while] = ACTIONS(2395), + [anon_sym_do] = ACTIONS(2395), + [anon_sym_for] = ACTIONS(2395), + [anon_sym_return] = ACTIONS(2395), + [anon_sym_break] = ACTIONS(2395), + [anon_sym_continue] = ACTIONS(2395), + [anon_sym_goto] = ACTIONS(2395), + [anon_sym_DASH_DASH] = ACTIONS(2397), + [anon_sym_PLUS_PLUS] = ACTIONS(2397), + [anon_sym_sizeof] = ACTIONS(2395), + [sym_number_literal] = ACTIONS(2397), + [anon_sym_L_SQUOTE] = ACTIONS(2397), + [anon_sym_u_SQUOTE] = ACTIONS(2397), + [anon_sym_U_SQUOTE] = ACTIONS(2397), + [anon_sym_u8_SQUOTE] = ACTIONS(2397), + [anon_sym_SQUOTE] = ACTIONS(2397), + [anon_sym_L_DQUOTE] = ACTIONS(2397), + [anon_sym_u_DQUOTE] = ACTIONS(2397), + [anon_sym_U_DQUOTE] = ACTIONS(2397), + [anon_sym_u8_DQUOTE] = ACTIONS(2397), + [anon_sym_DQUOTE] = ACTIONS(2397), + [sym_true] = ACTIONS(2395), + [sym_false] = ACTIONS(2395), + [sym_null] = ACTIONS(2395), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2395), + [anon_sym_decltype] = ACTIONS(2395), + [anon_sym_virtual] = ACTIONS(2395), + [anon_sym_explicit] = ACTIONS(2395), + [anon_sym_typename] = ACTIONS(2395), + [anon_sym_template] = ACTIONS(2395), + [anon_sym_operator] = ACTIONS(2395), + [anon_sym_delete] = ACTIONS(2395), + [anon_sym_throw] = ACTIONS(2395), + [anon_sym_namespace] = ACTIONS(2395), + [anon_sym_using] = ACTIONS(2395), + [anon_sym_static_assert] = ACTIONS(2395), + [anon_sym_concept] = ACTIONS(2395), + [anon_sym_co_return] = ACTIONS(2395), + [anon_sym_co_yield] = ACTIONS(2395), + [anon_sym_try] = ACTIONS(2395), + [anon_sym_co_await] = ACTIONS(2395), + [anon_sym_new] = ACTIONS(2395), + [anon_sym_requires] = ACTIONS(2395), + [sym_this] = ACTIONS(2395), + [sym_nullptr] = ACTIONS(2395), + [sym_raw_string_literal] = ACTIONS(2397), + }, + [826] = { + [sym_identifier] = ACTIONS(2227), + [aux_sym_preproc_include_token1] = ACTIONS(2227), + [aux_sym_preproc_def_token1] = ACTIONS(2227), + [aux_sym_preproc_if_token1] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2227), + [sym_preproc_directive] = ACTIONS(2227), + [anon_sym_LPAREN2] = ACTIONS(2229), + [anon_sym_BANG] = ACTIONS(2229), + [anon_sym_TILDE] = ACTIONS(2229), + [anon_sym_DASH] = ACTIONS(2227), + [anon_sym_PLUS] = ACTIONS(2227), + [anon_sym_STAR] = ACTIONS(2229), + [anon_sym_AMP_AMP] = ACTIONS(2229), + [anon_sym_AMP] = ACTIONS(2227), + [anon_sym_SEMI] = ACTIONS(2229), + [anon_sym_typedef] = ACTIONS(2227), + [anon_sym_extern] = ACTIONS(2227), + [anon_sym___attribute__] = ACTIONS(2227), + [anon_sym_COLON_COLON] = ACTIONS(2229), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2229), + [anon_sym___declspec] = ACTIONS(2227), + [anon_sym___based] = ACTIONS(2227), + [anon_sym___cdecl] = ACTIONS(2227), + [anon_sym___clrcall] = ACTIONS(2227), + [anon_sym___stdcall] = ACTIONS(2227), + [anon_sym___fastcall] = ACTIONS(2227), + [anon_sym___thiscall] = ACTIONS(2227), + [anon_sym___vectorcall] = ACTIONS(2227), + [anon_sym_LBRACE] = ACTIONS(2229), + [anon_sym_RBRACE] = ACTIONS(2229), + [anon_sym_LBRACK] = ACTIONS(2227), + [anon_sym_static] = ACTIONS(2227), + [anon_sym_register] = ACTIONS(2227), + [anon_sym_inline] = ACTIONS(2227), + [anon_sym_thread_local] = ACTIONS(2227), + [anon_sym_const] = ACTIONS(2227), + [anon_sym_volatile] = ACTIONS(2227), + [anon_sym_restrict] = ACTIONS(2227), + [anon_sym__Atomic] = ACTIONS(2227), + [anon_sym_mutable] = ACTIONS(2227), + [anon_sym_constexpr] = ACTIONS(2227), + [anon_sym_constinit] = ACTIONS(2227), + [anon_sym_consteval] = ACTIONS(2227), + [anon_sym_signed] = ACTIONS(2227), + [anon_sym_unsigned] = ACTIONS(2227), + [anon_sym_long] = ACTIONS(2227), + [anon_sym_short] = ACTIONS(2227), + [sym_primitive_type] = ACTIONS(2227), + [anon_sym_enum] = ACTIONS(2227), + [anon_sym_class] = ACTIONS(2227), + [anon_sym_struct] = ACTIONS(2227), + [anon_sym_union] = ACTIONS(2227), + [anon_sym_if] = ACTIONS(2227), + [anon_sym_switch] = ACTIONS(2227), + [anon_sym_case] = ACTIONS(2227), + [anon_sym_default] = ACTIONS(2227), + [anon_sym_while] = ACTIONS(2227), + [anon_sym_do] = ACTIONS(2227), + [anon_sym_for] = ACTIONS(2227), + [anon_sym_return] = ACTIONS(2227), + [anon_sym_break] = ACTIONS(2227), + [anon_sym_continue] = ACTIONS(2227), + [anon_sym_goto] = ACTIONS(2227), + [anon_sym_DASH_DASH] = ACTIONS(2229), + [anon_sym_PLUS_PLUS] = ACTIONS(2229), + [anon_sym_sizeof] = ACTIONS(2227), + [sym_number_literal] = ACTIONS(2229), + [anon_sym_L_SQUOTE] = ACTIONS(2229), + [anon_sym_u_SQUOTE] = ACTIONS(2229), + [anon_sym_U_SQUOTE] = ACTIONS(2229), + [anon_sym_u8_SQUOTE] = ACTIONS(2229), + [anon_sym_SQUOTE] = ACTIONS(2229), + [anon_sym_L_DQUOTE] = ACTIONS(2229), + [anon_sym_u_DQUOTE] = ACTIONS(2229), + [anon_sym_U_DQUOTE] = ACTIONS(2229), + [anon_sym_u8_DQUOTE] = ACTIONS(2229), + [anon_sym_DQUOTE] = ACTIONS(2229), + [sym_true] = ACTIONS(2227), + [sym_false] = ACTIONS(2227), + [sym_null] = ACTIONS(2227), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2227), + [anon_sym_decltype] = ACTIONS(2227), + [anon_sym_virtual] = ACTIONS(2227), + [anon_sym_explicit] = ACTIONS(2227), + [anon_sym_typename] = ACTIONS(2227), + [anon_sym_template] = ACTIONS(2227), + [anon_sym_operator] = ACTIONS(2227), + [anon_sym_delete] = ACTIONS(2227), + [anon_sym_throw] = ACTIONS(2227), + [anon_sym_namespace] = ACTIONS(2227), + [anon_sym_using] = ACTIONS(2227), + [anon_sym_static_assert] = ACTIONS(2227), + [anon_sym_concept] = ACTIONS(2227), + [anon_sym_co_return] = ACTIONS(2227), + [anon_sym_co_yield] = ACTIONS(2227), + [anon_sym_try] = ACTIONS(2227), + [anon_sym_co_await] = ACTIONS(2227), + [anon_sym_new] = ACTIONS(2227), + [anon_sym_requires] = ACTIONS(2227), + [sym_this] = ACTIONS(2227), + [sym_nullptr] = ACTIONS(2227), + [sym_raw_string_literal] = ACTIONS(2229), + }, + [827] = { + [sym_identifier] = ACTIONS(2291), + [aux_sym_preproc_include_token1] = ACTIONS(2291), + [aux_sym_preproc_def_token1] = ACTIONS(2291), + [aux_sym_preproc_if_token1] = ACTIONS(2291), + [aux_sym_preproc_if_token2] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2291), + [sym_preproc_directive] = ACTIONS(2291), + [anon_sym_LPAREN2] = ACTIONS(2293), + [anon_sym_BANG] = ACTIONS(2293), + [anon_sym_TILDE] = ACTIONS(2293), + [anon_sym_DASH] = ACTIONS(2291), + [anon_sym_PLUS] = ACTIONS(2291), + [anon_sym_STAR] = ACTIONS(2293), + [anon_sym_AMP_AMP] = ACTIONS(2293), + [anon_sym_AMP] = ACTIONS(2291), + [anon_sym_SEMI] = ACTIONS(2293), + [anon_sym_typedef] = ACTIONS(2291), + [anon_sym_extern] = ACTIONS(2291), + [anon_sym___attribute__] = ACTIONS(2291), + [anon_sym_COLON_COLON] = ACTIONS(2293), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2293), + [anon_sym___declspec] = ACTIONS(2291), + [anon_sym___based] = ACTIONS(2291), + [anon_sym___cdecl] = ACTIONS(2291), + [anon_sym___clrcall] = ACTIONS(2291), + [anon_sym___stdcall] = ACTIONS(2291), + [anon_sym___fastcall] = ACTIONS(2291), + [anon_sym___thiscall] = ACTIONS(2291), + [anon_sym___vectorcall] = ACTIONS(2291), + [anon_sym_LBRACE] = ACTIONS(2293), + [anon_sym_LBRACK] = ACTIONS(2291), + [anon_sym_static] = ACTIONS(2291), + [anon_sym_register] = ACTIONS(2291), + [anon_sym_inline] = ACTIONS(2291), + [anon_sym_thread_local] = ACTIONS(2291), + [anon_sym_const] = ACTIONS(2291), + [anon_sym_volatile] = ACTIONS(2291), + [anon_sym_restrict] = ACTIONS(2291), + [anon_sym__Atomic] = ACTIONS(2291), + [anon_sym_mutable] = ACTIONS(2291), + [anon_sym_constexpr] = ACTIONS(2291), + [anon_sym_constinit] = ACTIONS(2291), + [anon_sym_consteval] = ACTIONS(2291), + [anon_sym_signed] = ACTIONS(2291), + [anon_sym_unsigned] = ACTIONS(2291), + [anon_sym_long] = ACTIONS(2291), + [anon_sym_short] = ACTIONS(2291), + [sym_primitive_type] = ACTIONS(2291), + [anon_sym_enum] = ACTIONS(2291), + [anon_sym_class] = ACTIONS(2291), + [anon_sym_struct] = ACTIONS(2291), + [anon_sym_union] = ACTIONS(2291), + [anon_sym_if] = ACTIONS(2291), + [anon_sym_switch] = ACTIONS(2291), + [anon_sym_case] = ACTIONS(2291), + [anon_sym_default] = ACTIONS(2291), + [anon_sym_while] = ACTIONS(2291), + [anon_sym_do] = ACTIONS(2291), + [anon_sym_for] = ACTIONS(2291), + [anon_sym_return] = ACTIONS(2291), + [anon_sym_break] = ACTIONS(2291), + [anon_sym_continue] = ACTIONS(2291), + [anon_sym_goto] = ACTIONS(2291), + [anon_sym_DASH_DASH] = ACTIONS(2293), + [anon_sym_PLUS_PLUS] = ACTIONS(2293), + [anon_sym_sizeof] = ACTIONS(2291), + [sym_number_literal] = ACTIONS(2293), + [anon_sym_L_SQUOTE] = ACTIONS(2293), + [anon_sym_u_SQUOTE] = ACTIONS(2293), + [anon_sym_U_SQUOTE] = ACTIONS(2293), + [anon_sym_u8_SQUOTE] = ACTIONS(2293), + [anon_sym_SQUOTE] = ACTIONS(2293), + [anon_sym_L_DQUOTE] = ACTIONS(2293), + [anon_sym_u_DQUOTE] = ACTIONS(2293), + [anon_sym_U_DQUOTE] = ACTIONS(2293), + [anon_sym_u8_DQUOTE] = ACTIONS(2293), + [anon_sym_DQUOTE] = ACTIONS(2293), + [sym_true] = ACTIONS(2291), + [sym_false] = ACTIONS(2291), + [sym_null] = ACTIONS(2291), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2291), + [anon_sym_decltype] = ACTIONS(2291), + [anon_sym_virtual] = ACTIONS(2291), + [anon_sym_explicit] = ACTIONS(2291), + [anon_sym_typename] = ACTIONS(2291), + [anon_sym_template] = ACTIONS(2291), + [anon_sym_operator] = ACTIONS(2291), + [anon_sym_delete] = ACTIONS(2291), + [anon_sym_throw] = ACTIONS(2291), + [anon_sym_namespace] = ACTIONS(2291), + [anon_sym_using] = ACTIONS(2291), + [anon_sym_static_assert] = ACTIONS(2291), + [anon_sym_concept] = ACTIONS(2291), + [anon_sym_co_return] = ACTIONS(2291), + [anon_sym_co_yield] = ACTIONS(2291), + [anon_sym_try] = ACTIONS(2291), + [anon_sym_co_await] = ACTIONS(2291), + [anon_sym_new] = ACTIONS(2291), + [anon_sym_requires] = ACTIONS(2291), + [sym_this] = ACTIONS(2291), + [sym_nullptr] = ACTIONS(2291), + [sym_raw_string_literal] = ACTIONS(2293), + }, + [828] = { + [sym_identifier] = ACTIONS(2351), + [aux_sym_preproc_include_token1] = ACTIONS(2351), + [aux_sym_preproc_def_token1] = ACTIONS(2351), + [aux_sym_preproc_if_token1] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2351), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2351), + [sym_preproc_directive] = ACTIONS(2351), + [anon_sym_LPAREN2] = ACTIONS(2353), + [anon_sym_BANG] = ACTIONS(2353), + [anon_sym_TILDE] = ACTIONS(2353), + [anon_sym_DASH] = ACTIONS(2351), + [anon_sym_PLUS] = ACTIONS(2351), + [anon_sym_STAR] = ACTIONS(2353), + [anon_sym_AMP_AMP] = ACTIONS(2353), + [anon_sym_AMP] = ACTIONS(2351), + [anon_sym_SEMI] = ACTIONS(2353), + [anon_sym_typedef] = ACTIONS(2351), + [anon_sym_extern] = ACTIONS(2351), + [anon_sym___attribute__] = ACTIONS(2351), + [anon_sym_COLON_COLON] = ACTIONS(2353), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2353), + [anon_sym___declspec] = ACTIONS(2351), + [anon_sym___based] = ACTIONS(2351), + [anon_sym___cdecl] = ACTIONS(2351), + [anon_sym___clrcall] = ACTIONS(2351), + [anon_sym___stdcall] = ACTIONS(2351), + [anon_sym___fastcall] = ACTIONS(2351), + [anon_sym___thiscall] = ACTIONS(2351), + [anon_sym___vectorcall] = ACTIONS(2351), + [anon_sym_LBRACE] = ACTIONS(2353), + [anon_sym_RBRACE] = ACTIONS(2353), + [anon_sym_LBRACK] = ACTIONS(2351), + [anon_sym_static] = ACTIONS(2351), + [anon_sym_register] = ACTIONS(2351), + [anon_sym_inline] = ACTIONS(2351), + [anon_sym_thread_local] = ACTIONS(2351), + [anon_sym_const] = ACTIONS(2351), + [anon_sym_volatile] = ACTIONS(2351), + [anon_sym_restrict] = ACTIONS(2351), + [anon_sym__Atomic] = ACTIONS(2351), + [anon_sym_mutable] = ACTIONS(2351), + [anon_sym_constexpr] = ACTIONS(2351), + [anon_sym_constinit] = ACTIONS(2351), + [anon_sym_consteval] = ACTIONS(2351), + [anon_sym_signed] = ACTIONS(2351), + [anon_sym_unsigned] = ACTIONS(2351), + [anon_sym_long] = ACTIONS(2351), + [anon_sym_short] = ACTIONS(2351), + [sym_primitive_type] = ACTIONS(2351), + [anon_sym_enum] = ACTIONS(2351), + [anon_sym_class] = ACTIONS(2351), + [anon_sym_struct] = ACTIONS(2351), + [anon_sym_union] = ACTIONS(2351), + [anon_sym_if] = ACTIONS(2351), + [anon_sym_switch] = ACTIONS(2351), + [anon_sym_case] = ACTIONS(2351), + [anon_sym_default] = ACTIONS(2351), + [anon_sym_while] = ACTIONS(2351), + [anon_sym_do] = ACTIONS(2351), + [anon_sym_for] = ACTIONS(2351), + [anon_sym_return] = ACTIONS(2351), + [anon_sym_break] = ACTIONS(2351), + [anon_sym_continue] = ACTIONS(2351), + [anon_sym_goto] = ACTIONS(2351), + [anon_sym_DASH_DASH] = ACTIONS(2353), + [anon_sym_PLUS_PLUS] = ACTIONS(2353), + [anon_sym_sizeof] = ACTIONS(2351), + [sym_number_literal] = ACTIONS(2353), + [anon_sym_L_SQUOTE] = ACTIONS(2353), + [anon_sym_u_SQUOTE] = ACTIONS(2353), + [anon_sym_U_SQUOTE] = ACTIONS(2353), + [anon_sym_u8_SQUOTE] = ACTIONS(2353), + [anon_sym_SQUOTE] = ACTIONS(2353), + [anon_sym_L_DQUOTE] = ACTIONS(2353), + [anon_sym_u_DQUOTE] = ACTIONS(2353), + [anon_sym_U_DQUOTE] = ACTIONS(2353), + [anon_sym_u8_DQUOTE] = ACTIONS(2353), + [anon_sym_DQUOTE] = ACTIONS(2353), + [sym_true] = ACTIONS(2351), + [sym_false] = ACTIONS(2351), + [sym_null] = ACTIONS(2351), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2351), + [anon_sym_decltype] = ACTIONS(2351), + [anon_sym_virtual] = ACTIONS(2351), + [anon_sym_explicit] = ACTIONS(2351), + [anon_sym_typename] = ACTIONS(2351), + [anon_sym_template] = ACTIONS(2351), + [anon_sym_operator] = ACTIONS(2351), + [anon_sym_delete] = ACTIONS(2351), + [anon_sym_throw] = ACTIONS(2351), + [anon_sym_namespace] = ACTIONS(2351), + [anon_sym_using] = ACTIONS(2351), + [anon_sym_static_assert] = ACTIONS(2351), + [anon_sym_concept] = ACTIONS(2351), + [anon_sym_co_return] = ACTIONS(2351), + [anon_sym_co_yield] = ACTIONS(2351), + [anon_sym_try] = ACTIONS(2351), + [anon_sym_co_await] = ACTIONS(2351), + [anon_sym_new] = ACTIONS(2351), + [anon_sym_requires] = ACTIONS(2351), + [sym_this] = ACTIONS(2351), + [sym_nullptr] = ACTIONS(2351), + [sym_raw_string_literal] = ACTIONS(2353), + }, + [829] = { + [sym_identifier] = ACTIONS(2343), + [aux_sym_preproc_include_token1] = ACTIONS(2343), + [aux_sym_preproc_def_token1] = ACTIONS(2343), + [aux_sym_preproc_if_token1] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2343), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2343), + [sym_preproc_directive] = ACTIONS(2343), + [anon_sym_LPAREN2] = ACTIONS(2345), + [anon_sym_BANG] = ACTIONS(2345), + [anon_sym_TILDE] = ACTIONS(2345), + [anon_sym_DASH] = ACTIONS(2343), + [anon_sym_PLUS] = ACTIONS(2343), + [anon_sym_STAR] = ACTIONS(2345), + [anon_sym_AMP_AMP] = ACTIONS(2345), + [anon_sym_AMP] = ACTIONS(2343), + [anon_sym_SEMI] = ACTIONS(2345), + [anon_sym_typedef] = ACTIONS(2343), + [anon_sym_extern] = ACTIONS(2343), + [anon_sym___attribute__] = ACTIONS(2343), + [anon_sym_COLON_COLON] = ACTIONS(2345), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2345), + [anon_sym___declspec] = ACTIONS(2343), + [anon_sym___based] = ACTIONS(2343), + [anon_sym___cdecl] = ACTIONS(2343), + [anon_sym___clrcall] = ACTIONS(2343), + [anon_sym___stdcall] = ACTIONS(2343), + [anon_sym___fastcall] = ACTIONS(2343), + [anon_sym___thiscall] = ACTIONS(2343), + [anon_sym___vectorcall] = ACTIONS(2343), + [anon_sym_LBRACE] = ACTIONS(2345), + [anon_sym_RBRACE] = ACTIONS(2345), + [anon_sym_LBRACK] = ACTIONS(2343), + [anon_sym_static] = ACTIONS(2343), + [anon_sym_register] = ACTIONS(2343), + [anon_sym_inline] = ACTIONS(2343), + [anon_sym_thread_local] = ACTIONS(2343), + [anon_sym_const] = ACTIONS(2343), + [anon_sym_volatile] = ACTIONS(2343), + [anon_sym_restrict] = ACTIONS(2343), + [anon_sym__Atomic] = ACTIONS(2343), + [anon_sym_mutable] = ACTIONS(2343), + [anon_sym_constexpr] = ACTIONS(2343), + [anon_sym_constinit] = ACTIONS(2343), + [anon_sym_consteval] = ACTIONS(2343), + [anon_sym_signed] = ACTIONS(2343), + [anon_sym_unsigned] = ACTIONS(2343), + [anon_sym_long] = ACTIONS(2343), + [anon_sym_short] = ACTIONS(2343), + [sym_primitive_type] = ACTIONS(2343), + [anon_sym_enum] = ACTIONS(2343), + [anon_sym_class] = ACTIONS(2343), + [anon_sym_struct] = ACTIONS(2343), + [anon_sym_union] = ACTIONS(2343), + [anon_sym_if] = ACTIONS(2343), + [anon_sym_switch] = ACTIONS(2343), + [anon_sym_case] = ACTIONS(2343), + [anon_sym_default] = ACTIONS(2343), + [anon_sym_while] = ACTIONS(2343), + [anon_sym_do] = ACTIONS(2343), + [anon_sym_for] = ACTIONS(2343), + [anon_sym_return] = ACTIONS(2343), + [anon_sym_break] = ACTIONS(2343), + [anon_sym_continue] = ACTIONS(2343), + [anon_sym_goto] = ACTIONS(2343), + [anon_sym_DASH_DASH] = ACTIONS(2345), + [anon_sym_PLUS_PLUS] = ACTIONS(2345), + [anon_sym_sizeof] = ACTIONS(2343), + [sym_number_literal] = ACTIONS(2345), + [anon_sym_L_SQUOTE] = ACTIONS(2345), + [anon_sym_u_SQUOTE] = ACTIONS(2345), + [anon_sym_U_SQUOTE] = ACTIONS(2345), + [anon_sym_u8_SQUOTE] = ACTIONS(2345), + [anon_sym_SQUOTE] = ACTIONS(2345), + [anon_sym_L_DQUOTE] = ACTIONS(2345), + [anon_sym_u_DQUOTE] = ACTIONS(2345), + [anon_sym_U_DQUOTE] = ACTIONS(2345), + [anon_sym_u8_DQUOTE] = ACTIONS(2345), + [anon_sym_DQUOTE] = ACTIONS(2345), + [sym_true] = ACTIONS(2343), + [sym_false] = ACTIONS(2343), + [sym_null] = ACTIONS(2343), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2343), + [anon_sym_decltype] = ACTIONS(2343), + [anon_sym_virtual] = ACTIONS(2343), + [anon_sym_explicit] = ACTIONS(2343), + [anon_sym_typename] = ACTIONS(2343), + [anon_sym_template] = ACTIONS(2343), + [anon_sym_operator] = ACTIONS(2343), + [anon_sym_delete] = ACTIONS(2343), + [anon_sym_throw] = ACTIONS(2343), + [anon_sym_namespace] = ACTIONS(2343), + [anon_sym_using] = ACTIONS(2343), + [anon_sym_static_assert] = ACTIONS(2343), + [anon_sym_concept] = ACTIONS(2343), + [anon_sym_co_return] = ACTIONS(2343), + [anon_sym_co_yield] = ACTIONS(2343), + [anon_sym_try] = ACTIONS(2343), + [anon_sym_co_await] = ACTIONS(2343), + [anon_sym_new] = ACTIONS(2343), + [anon_sym_requires] = ACTIONS(2343), + [sym_this] = ACTIONS(2343), + [sym_nullptr] = ACTIONS(2343), + [sym_raw_string_literal] = ACTIONS(2345), + }, + [830] = { + [ts_builtin_sym_end] = ACTIONS(2229), + [sym_identifier] = ACTIONS(2227), + [aux_sym_preproc_include_token1] = ACTIONS(2227), + [aux_sym_preproc_def_token1] = ACTIONS(2227), + [aux_sym_preproc_if_token1] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2227), + [sym_preproc_directive] = ACTIONS(2227), + [anon_sym_LPAREN2] = ACTIONS(2229), + [anon_sym_BANG] = ACTIONS(2229), + [anon_sym_TILDE] = ACTIONS(2229), + [anon_sym_DASH] = ACTIONS(2227), + [anon_sym_PLUS] = ACTIONS(2227), + [anon_sym_STAR] = ACTIONS(2229), + [anon_sym_AMP_AMP] = ACTIONS(2229), + [anon_sym_AMP] = ACTIONS(2227), + [anon_sym_SEMI] = ACTIONS(2229), + [anon_sym_typedef] = ACTIONS(2227), + [anon_sym_extern] = ACTIONS(2227), + [anon_sym___attribute__] = ACTIONS(2227), + [anon_sym_COLON_COLON] = ACTIONS(2229), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2229), + [anon_sym___declspec] = ACTIONS(2227), + [anon_sym___based] = ACTIONS(2227), + [anon_sym___cdecl] = ACTIONS(2227), + [anon_sym___clrcall] = ACTIONS(2227), + [anon_sym___stdcall] = ACTIONS(2227), + [anon_sym___fastcall] = ACTIONS(2227), + [anon_sym___thiscall] = ACTIONS(2227), + [anon_sym___vectorcall] = ACTIONS(2227), + [anon_sym_LBRACE] = ACTIONS(2229), + [anon_sym_LBRACK] = ACTIONS(2227), + [anon_sym_static] = ACTIONS(2227), + [anon_sym_register] = ACTIONS(2227), + [anon_sym_inline] = ACTIONS(2227), + [anon_sym_thread_local] = ACTIONS(2227), + [anon_sym_const] = ACTIONS(2227), + [anon_sym_volatile] = ACTIONS(2227), + [anon_sym_restrict] = ACTIONS(2227), + [anon_sym__Atomic] = ACTIONS(2227), + [anon_sym_mutable] = ACTIONS(2227), + [anon_sym_constexpr] = ACTIONS(2227), + [anon_sym_constinit] = ACTIONS(2227), + [anon_sym_consteval] = ACTIONS(2227), + [anon_sym_signed] = ACTIONS(2227), + [anon_sym_unsigned] = ACTIONS(2227), + [anon_sym_long] = ACTIONS(2227), + [anon_sym_short] = ACTIONS(2227), + [sym_primitive_type] = ACTIONS(2227), + [anon_sym_enum] = ACTIONS(2227), + [anon_sym_class] = ACTIONS(2227), + [anon_sym_struct] = ACTIONS(2227), + [anon_sym_union] = ACTIONS(2227), + [anon_sym_if] = ACTIONS(2227), + [anon_sym_switch] = ACTIONS(2227), + [anon_sym_case] = ACTIONS(2227), + [anon_sym_default] = ACTIONS(2227), + [anon_sym_while] = ACTIONS(2227), + [anon_sym_do] = ACTIONS(2227), + [anon_sym_for] = ACTIONS(2227), + [anon_sym_return] = ACTIONS(2227), + [anon_sym_break] = ACTIONS(2227), + [anon_sym_continue] = ACTIONS(2227), + [anon_sym_goto] = ACTIONS(2227), + [anon_sym_DASH_DASH] = ACTIONS(2229), + [anon_sym_PLUS_PLUS] = ACTIONS(2229), + [anon_sym_sizeof] = ACTIONS(2227), + [sym_number_literal] = ACTIONS(2229), + [anon_sym_L_SQUOTE] = ACTIONS(2229), + [anon_sym_u_SQUOTE] = ACTIONS(2229), + [anon_sym_U_SQUOTE] = ACTIONS(2229), + [anon_sym_u8_SQUOTE] = ACTIONS(2229), + [anon_sym_SQUOTE] = ACTIONS(2229), + [anon_sym_L_DQUOTE] = ACTIONS(2229), + [anon_sym_u_DQUOTE] = ACTIONS(2229), + [anon_sym_U_DQUOTE] = ACTIONS(2229), + [anon_sym_u8_DQUOTE] = ACTIONS(2229), + [anon_sym_DQUOTE] = ACTIONS(2229), + [sym_true] = ACTIONS(2227), + [sym_false] = ACTIONS(2227), + [sym_null] = ACTIONS(2227), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2227), + [anon_sym_decltype] = ACTIONS(2227), + [anon_sym_virtual] = ACTIONS(2227), + [anon_sym_explicit] = ACTIONS(2227), + [anon_sym_typename] = ACTIONS(2227), + [anon_sym_template] = ACTIONS(2227), + [anon_sym_operator] = ACTIONS(2227), + [anon_sym_delete] = ACTIONS(2227), + [anon_sym_throw] = ACTIONS(2227), + [anon_sym_namespace] = ACTIONS(2227), + [anon_sym_using] = ACTIONS(2227), + [anon_sym_static_assert] = ACTIONS(2227), + [anon_sym_concept] = ACTIONS(2227), + [anon_sym_co_return] = ACTIONS(2227), + [anon_sym_co_yield] = ACTIONS(2227), + [anon_sym_try] = ACTIONS(2227), + [anon_sym_co_await] = ACTIONS(2227), + [anon_sym_new] = ACTIONS(2227), + [anon_sym_requires] = ACTIONS(2227), + [sym_this] = ACTIONS(2227), + [sym_nullptr] = ACTIONS(2227), + [sym_raw_string_literal] = ACTIONS(2229), + }, + [831] = { + [sym_identifier] = ACTIONS(2263), + [aux_sym_preproc_include_token1] = ACTIONS(2263), + [aux_sym_preproc_def_token1] = ACTIONS(2263), + [aux_sym_preproc_if_token1] = ACTIONS(2263), + [aux_sym_preproc_if_token2] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2263), + [sym_preproc_directive] = ACTIONS(2263), + [anon_sym_LPAREN2] = ACTIONS(2265), + [anon_sym_BANG] = ACTIONS(2265), + [anon_sym_TILDE] = ACTIONS(2265), + [anon_sym_DASH] = ACTIONS(2263), + [anon_sym_PLUS] = ACTIONS(2263), + [anon_sym_STAR] = ACTIONS(2265), + [anon_sym_AMP_AMP] = ACTIONS(2265), + [anon_sym_AMP] = ACTIONS(2263), + [anon_sym_SEMI] = ACTIONS(2265), + [anon_sym_typedef] = ACTIONS(2263), + [anon_sym_extern] = ACTIONS(2263), + [anon_sym___attribute__] = ACTIONS(2263), + [anon_sym_COLON_COLON] = ACTIONS(2265), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2265), + [anon_sym___declspec] = ACTIONS(2263), + [anon_sym___based] = ACTIONS(2263), + [anon_sym___cdecl] = ACTIONS(2263), + [anon_sym___clrcall] = ACTIONS(2263), + [anon_sym___stdcall] = ACTIONS(2263), + [anon_sym___fastcall] = ACTIONS(2263), + [anon_sym___thiscall] = ACTIONS(2263), + [anon_sym___vectorcall] = ACTIONS(2263), + [anon_sym_LBRACE] = ACTIONS(2265), + [anon_sym_LBRACK] = ACTIONS(2263), + [anon_sym_static] = ACTIONS(2263), + [anon_sym_register] = ACTIONS(2263), + [anon_sym_inline] = ACTIONS(2263), + [anon_sym_thread_local] = ACTIONS(2263), + [anon_sym_const] = ACTIONS(2263), + [anon_sym_volatile] = ACTIONS(2263), + [anon_sym_restrict] = ACTIONS(2263), + [anon_sym__Atomic] = ACTIONS(2263), + [anon_sym_mutable] = ACTIONS(2263), + [anon_sym_constexpr] = ACTIONS(2263), + [anon_sym_constinit] = ACTIONS(2263), + [anon_sym_consteval] = ACTIONS(2263), + [anon_sym_signed] = ACTIONS(2263), + [anon_sym_unsigned] = ACTIONS(2263), + [anon_sym_long] = ACTIONS(2263), + [anon_sym_short] = ACTIONS(2263), + [sym_primitive_type] = ACTIONS(2263), + [anon_sym_enum] = ACTIONS(2263), + [anon_sym_class] = ACTIONS(2263), + [anon_sym_struct] = ACTIONS(2263), + [anon_sym_union] = ACTIONS(2263), + [anon_sym_if] = ACTIONS(2263), + [anon_sym_switch] = ACTIONS(2263), + [anon_sym_case] = ACTIONS(2263), + [anon_sym_default] = ACTIONS(2263), + [anon_sym_while] = ACTIONS(2263), + [anon_sym_do] = ACTIONS(2263), + [anon_sym_for] = ACTIONS(2263), + [anon_sym_return] = ACTIONS(2263), + [anon_sym_break] = ACTIONS(2263), + [anon_sym_continue] = ACTIONS(2263), + [anon_sym_goto] = ACTIONS(2263), + [anon_sym_DASH_DASH] = ACTIONS(2265), + [anon_sym_PLUS_PLUS] = ACTIONS(2265), + [anon_sym_sizeof] = ACTIONS(2263), + [sym_number_literal] = ACTIONS(2265), + [anon_sym_L_SQUOTE] = ACTIONS(2265), + [anon_sym_u_SQUOTE] = ACTIONS(2265), + [anon_sym_U_SQUOTE] = ACTIONS(2265), + [anon_sym_u8_SQUOTE] = ACTIONS(2265), + [anon_sym_SQUOTE] = ACTIONS(2265), + [anon_sym_L_DQUOTE] = ACTIONS(2265), + [anon_sym_u_DQUOTE] = ACTIONS(2265), + [anon_sym_U_DQUOTE] = ACTIONS(2265), + [anon_sym_u8_DQUOTE] = ACTIONS(2265), + [anon_sym_DQUOTE] = ACTIONS(2265), + [sym_true] = ACTIONS(2263), + [sym_false] = ACTIONS(2263), + [sym_null] = ACTIONS(2263), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2263), + [anon_sym_decltype] = ACTIONS(2263), + [anon_sym_virtual] = ACTIONS(2263), + [anon_sym_explicit] = ACTIONS(2263), + [anon_sym_typename] = ACTIONS(2263), + [anon_sym_template] = ACTIONS(2263), + [anon_sym_operator] = ACTIONS(2263), + [anon_sym_delete] = ACTIONS(2263), + [anon_sym_throw] = ACTIONS(2263), + [anon_sym_namespace] = ACTIONS(2263), + [anon_sym_using] = ACTIONS(2263), + [anon_sym_static_assert] = ACTIONS(2263), + [anon_sym_concept] = ACTIONS(2263), + [anon_sym_co_return] = ACTIONS(2263), + [anon_sym_co_yield] = ACTIONS(2263), + [anon_sym_try] = ACTIONS(2263), + [anon_sym_co_await] = ACTIONS(2263), + [anon_sym_new] = ACTIONS(2263), + [anon_sym_requires] = ACTIONS(2263), + [sym_this] = ACTIONS(2263), + [sym_nullptr] = ACTIONS(2263), + [sym_raw_string_literal] = ACTIONS(2265), + }, + [832] = { + [ts_builtin_sym_end] = ACTIONS(2305), + [sym_identifier] = ACTIONS(2303), + [aux_sym_preproc_include_token1] = ACTIONS(2303), + [aux_sym_preproc_def_token1] = ACTIONS(2303), + [aux_sym_preproc_if_token1] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2303), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2303), + [sym_preproc_directive] = ACTIONS(2303), + [anon_sym_LPAREN2] = ACTIONS(2305), + [anon_sym_BANG] = ACTIONS(2305), + [anon_sym_TILDE] = ACTIONS(2305), + [anon_sym_DASH] = ACTIONS(2303), + [anon_sym_PLUS] = ACTIONS(2303), + [anon_sym_STAR] = ACTIONS(2305), + [anon_sym_AMP_AMP] = ACTIONS(2305), + [anon_sym_AMP] = ACTIONS(2303), + [anon_sym_SEMI] = ACTIONS(2305), + [anon_sym_typedef] = ACTIONS(2303), + [anon_sym_extern] = ACTIONS(2303), + [anon_sym___attribute__] = ACTIONS(2303), + [anon_sym_COLON_COLON] = ACTIONS(2305), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2305), + [anon_sym___declspec] = ACTIONS(2303), + [anon_sym___based] = ACTIONS(2303), + [anon_sym___cdecl] = ACTIONS(2303), + [anon_sym___clrcall] = ACTIONS(2303), + [anon_sym___stdcall] = ACTIONS(2303), + [anon_sym___fastcall] = ACTIONS(2303), + [anon_sym___thiscall] = ACTIONS(2303), + [anon_sym___vectorcall] = ACTIONS(2303), + [anon_sym_LBRACE] = ACTIONS(2305), + [anon_sym_LBRACK] = ACTIONS(2303), + [anon_sym_static] = ACTIONS(2303), + [anon_sym_register] = ACTIONS(2303), + [anon_sym_inline] = ACTIONS(2303), + [anon_sym_thread_local] = ACTIONS(2303), + [anon_sym_const] = ACTIONS(2303), + [anon_sym_volatile] = ACTIONS(2303), + [anon_sym_restrict] = ACTIONS(2303), + [anon_sym__Atomic] = ACTIONS(2303), + [anon_sym_mutable] = ACTIONS(2303), + [anon_sym_constexpr] = ACTIONS(2303), + [anon_sym_constinit] = ACTIONS(2303), + [anon_sym_consteval] = ACTIONS(2303), + [anon_sym_signed] = ACTIONS(2303), + [anon_sym_unsigned] = ACTIONS(2303), + [anon_sym_long] = ACTIONS(2303), + [anon_sym_short] = ACTIONS(2303), + [sym_primitive_type] = ACTIONS(2303), + [anon_sym_enum] = ACTIONS(2303), + [anon_sym_class] = ACTIONS(2303), + [anon_sym_struct] = ACTIONS(2303), + [anon_sym_union] = ACTIONS(2303), + [anon_sym_if] = ACTIONS(2303), + [anon_sym_switch] = ACTIONS(2303), + [anon_sym_case] = ACTIONS(2303), + [anon_sym_default] = ACTIONS(2303), + [anon_sym_while] = ACTIONS(2303), + [anon_sym_do] = ACTIONS(2303), + [anon_sym_for] = ACTIONS(2303), + [anon_sym_return] = ACTIONS(2303), + [anon_sym_break] = ACTIONS(2303), + [anon_sym_continue] = ACTIONS(2303), + [anon_sym_goto] = ACTIONS(2303), + [anon_sym_DASH_DASH] = ACTIONS(2305), + [anon_sym_PLUS_PLUS] = ACTIONS(2305), + [anon_sym_sizeof] = ACTIONS(2303), + [sym_number_literal] = ACTIONS(2305), + [anon_sym_L_SQUOTE] = ACTIONS(2305), + [anon_sym_u_SQUOTE] = ACTIONS(2305), + [anon_sym_U_SQUOTE] = ACTIONS(2305), + [anon_sym_u8_SQUOTE] = ACTIONS(2305), + [anon_sym_SQUOTE] = ACTIONS(2305), + [anon_sym_L_DQUOTE] = ACTIONS(2305), + [anon_sym_u_DQUOTE] = ACTIONS(2305), + [anon_sym_U_DQUOTE] = ACTIONS(2305), + [anon_sym_u8_DQUOTE] = ACTIONS(2305), + [anon_sym_DQUOTE] = ACTIONS(2305), + [sym_true] = ACTIONS(2303), + [sym_false] = ACTIONS(2303), + [sym_null] = ACTIONS(2303), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2303), + [anon_sym_decltype] = ACTIONS(2303), + [anon_sym_virtual] = ACTIONS(2303), + [anon_sym_explicit] = ACTIONS(2303), + [anon_sym_typename] = ACTIONS(2303), + [anon_sym_template] = ACTIONS(2303), + [anon_sym_operator] = ACTIONS(2303), + [anon_sym_delete] = ACTIONS(2303), + [anon_sym_throw] = ACTIONS(2303), + [anon_sym_namespace] = ACTIONS(2303), + [anon_sym_using] = ACTIONS(2303), + [anon_sym_static_assert] = ACTIONS(2303), + [anon_sym_concept] = ACTIONS(2303), + [anon_sym_co_return] = ACTIONS(2303), + [anon_sym_co_yield] = ACTIONS(2303), + [anon_sym_try] = ACTIONS(2303), + [anon_sym_co_await] = ACTIONS(2303), + [anon_sym_new] = ACTIONS(2303), + [anon_sym_requires] = ACTIONS(2303), + [sym_this] = ACTIONS(2303), + [sym_nullptr] = ACTIONS(2303), + [sym_raw_string_literal] = ACTIONS(2305), + }, + [833] = { + [ts_builtin_sym_end] = ACTIONS(2309), + [sym_identifier] = ACTIONS(2307), + [aux_sym_preproc_include_token1] = ACTIONS(2307), + [aux_sym_preproc_def_token1] = ACTIONS(2307), + [aux_sym_preproc_if_token1] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2307), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2307), + [sym_preproc_directive] = ACTIONS(2307), + [anon_sym_LPAREN2] = ACTIONS(2309), + [anon_sym_BANG] = ACTIONS(2309), + [anon_sym_TILDE] = ACTIONS(2309), + [anon_sym_DASH] = ACTIONS(2307), + [anon_sym_PLUS] = ACTIONS(2307), + [anon_sym_STAR] = ACTIONS(2309), + [anon_sym_AMP_AMP] = ACTIONS(2309), + [anon_sym_AMP] = ACTIONS(2307), + [anon_sym_SEMI] = ACTIONS(2309), + [anon_sym_typedef] = ACTIONS(2307), + [anon_sym_extern] = ACTIONS(2307), + [anon_sym___attribute__] = ACTIONS(2307), + [anon_sym_COLON_COLON] = ACTIONS(2309), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2309), + [anon_sym___declspec] = ACTIONS(2307), + [anon_sym___based] = ACTIONS(2307), + [anon_sym___cdecl] = ACTIONS(2307), + [anon_sym___clrcall] = ACTIONS(2307), + [anon_sym___stdcall] = ACTIONS(2307), + [anon_sym___fastcall] = ACTIONS(2307), + [anon_sym___thiscall] = ACTIONS(2307), + [anon_sym___vectorcall] = ACTIONS(2307), + [anon_sym_LBRACE] = ACTIONS(2309), + [anon_sym_LBRACK] = ACTIONS(2307), + [anon_sym_static] = ACTIONS(2307), + [anon_sym_register] = ACTIONS(2307), + [anon_sym_inline] = ACTIONS(2307), + [anon_sym_thread_local] = ACTIONS(2307), + [anon_sym_const] = ACTIONS(2307), + [anon_sym_volatile] = ACTIONS(2307), + [anon_sym_restrict] = ACTIONS(2307), + [anon_sym__Atomic] = ACTIONS(2307), + [anon_sym_mutable] = ACTIONS(2307), + [anon_sym_constexpr] = ACTIONS(2307), + [anon_sym_constinit] = ACTIONS(2307), + [anon_sym_consteval] = ACTIONS(2307), + [anon_sym_signed] = ACTIONS(2307), + [anon_sym_unsigned] = ACTIONS(2307), + [anon_sym_long] = ACTIONS(2307), + [anon_sym_short] = ACTIONS(2307), + [sym_primitive_type] = ACTIONS(2307), + [anon_sym_enum] = ACTIONS(2307), + [anon_sym_class] = ACTIONS(2307), + [anon_sym_struct] = ACTIONS(2307), + [anon_sym_union] = ACTIONS(2307), + [anon_sym_if] = ACTIONS(2307), + [anon_sym_switch] = ACTIONS(2307), + [anon_sym_case] = ACTIONS(2307), + [anon_sym_default] = ACTIONS(2307), + [anon_sym_while] = ACTIONS(2307), + [anon_sym_do] = ACTIONS(2307), + [anon_sym_for] = ACTIONS(2307), + [anon_sym_return] = ACTIONS(2307), + [anon_sym_break] = ACTIONS(2307), + [anon_sym_continue] = ACTIONS(2307), + [anon_sym_goto] = ACTIONS(2307), + [anon_sym_DASH_DASH] = ACTIONS(2309), + [anon_sym_PLUS_PLUS] = ACTIONS(2309), + [anon_sym_sizeof] = ACTIONS(2307), + [sym_number_literal] = ACTIONS(2309), + [anon_sym_L_SQUOTE] = ACTIONS(2309), + [anon_sym_u_SQUOTE] = ACTIONS(2309), + [anon_sym_U_SQUOTE] = ACTIONS(2309), + [anon_sym_u8_SQUOTE] = ACTIONS(2309), + [anon_sym_SQUOTE] = ACTIONS(2309), + [anon_sym_L_DQUOTE] = ACTIONS(2309), + [anon_sym_u_DQUOTE] = ACTIONS(2309), + [anon_sym_U_DQUOTE] = ACTIONS(2309), + [anon_sym_u8_DQUOTE] = ACTIONS(2309), + [anon_sym_DQUOTE] = ACTIONS(2309), + [sym_true] = ACTIONS(2307), + [sym_false] = ACTIONS(2307), + [sym_null] = ACTIONS(2307), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2307), + [anon_sym_decltype] = ACTIONS(2307), + [anon_sym_virtual] = ACTIONS(2307), + [anon_sym_explicit] = ACTIONS(2307), + [anon_sym_typename] = ACTIONS(2307), + [anon_sym_template] = ACTIONS(2307), + [anon_sym_operator] = ACTIONS(2307), + [anon_sym_delete] = ACTIONS(2307), + [anon_sym_throw] = ACTIONS(2307), + [anon_sym_namespace] = ACTIONS(2307), + [anon_sym_using] = ACTIONS(2307), + [anon_sym_static_assert] = ACTIONS(2307), + [anon_sym_concept] = ACTIONS(2307), + [anon_sym_co_return] = ACTIONS(2307), + [anon_sym_co_yield] = ACTIONS(2307), + [anon_sym_try] = ACTIONS(2307), + [anon_sym_co_await] = ACTIONS(2307), + [anon_sym_new] = ACTIONS(2307), + [anon_sym_requires] = ACTIONS(2307), + [sym_this] = ACTIONS(2307), + [sym_nullptr] = ACTIONS(2307), + [sym_raw_string_literal] = ACTIONS(2309), + }, + [834] = { + [ts_builtin_sym_end] = ACTIONS(2313), + [sym_identifier] = ACTIONS(2311), + [aux_sym_preproc_include_token1] = ACTIONS(2311), + [aux_sym_preproc_def_token1] = ACTIONS(2311), + [aux_sym_preproc_if_token1] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2311), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2311), + [sym_preproc_directive] = ACTIONS(2311), + [anon_sym_LPAREN2] = ACTIONS(2313), + [anon_sym_BANG] = ACTIONS(2313), + [anon_sym_TILDE] = ACTIONS(2313), + [anon_sym_DASH] = ACTIONS(2311), + [anon_sym_PLUS] = ACTIONS(2311), + [anon_sym_STAR] = ACTIONS(2313), + [anon_sym_AMP_AMP] = ACTIONS(2313), + [anon_sym_AMP] = ACTIONS(2311), + [anon_sym_SEMI] = ACTIONS(2313), + [anon_sym_typedef] = ACTIONS(2311), + [anon_sym_extern] = ACTIONS(2311), + [anon_sym___attribute__] = ACTIONS(2311), + [anon_sym_COLON_COLON] = ACTIONS(2313), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2313), + [anon_sym___declspec] = ACTIONS(2311), + [anon_sym___based] = ACTIONS(2311), + [anon_sym___cdecl] = ACTIONS(2311), + [anon_sym___clrcall] = ACTIONS(2311), + [anon_sym___stdcall] = ACTIONS(2311), + [anon_sym___fastcall] = ACTIONS(2311), + [anon_sym___thiscall] = ACTIONS(2311), + [anon_sym___vectorcall] = ACTIONS(2311), + [anon_sym_LBRACE] = ACTIONS(2313), + [anon_sym_LBRACK] = ACTIONS(2311), + [anon_sym_static] = ACTIONS(2311), + [anon_sym_register] = ACTIONS(2311), + [anon_sym_inline] = ACTIONS(2311), + [anon_sym_thread_local] = ACTIONS(2311), + [anon_sym_const] = ACTIONS(2311), + [anon_sym_volatile] = ACTIONS(2311), + [anon_sym_restrict] = ACTIONS(2311), + [anon_sym__Atomic] = ACTIONS(2311), + [anon_sym_mutable] = ACTIONS(2311), + [anon_sym_constexpr] = ACTIONS(2311), + [anon_sym_constinit] = ACTIONS(2311), + [anon_sym_consteval] = ACTIONS(2311), + [anon_sym_signed] = ACTIONS(2311), + [anon_sym_unsigned] = ACTIONS(2311), + [anon_sym_long] = ACTIONS(2311), + [anon_sym_short] = ACTIONS(2311), + [sym_primitive_type] = ACTIONS(2311), + [anon_sym_enum] = ACTIONS(2311), + [anon_sym_class] = ACTIONS(2311), + [anon_sym_struct] = ACTIONS(2311), + [anon_sym_union] = ACTIONS(2311), + [anon_sym_if] = ACTIONS(2311), + [anon_sym_switch] = ACTIONS(2311), + [anon_sym_case] = ACTIONS(2311), + [anon_sym_default] = ACTIONS(2311), + [anon_sym_while] = ACTIONS(2311), + [anon_sym_do] = ACTIONS(2311), + [anon_sym_for] = ACTIONS(2311), + [anon_sym_return] = ACTIONS(2311), + [anon_sym_break] = ACTIONS(2311), + [anon_sym_continue] = ACTIONS(2311), + [anon_sym_goto] = ACTIONS(2311), + [anon_sym_DASH_DASH] = ACTIONS(2313), + [anon_sym_PLUS_PLUS] = ACTIONS(2313), + [anon_sym_sizeof] = ACTIONS(2311), + [sym_number_literal] = ACTIONS(2313), + [anon_sym_L_SQUOTE] = ACTIONS(2313), + [anon_sym_u_SQUOTE] = ACTIONS(2313), + [anon_sym_U_SQUOTE] = ACTIONS(2313), + [anon_sym_u8_SQUOTE] = ACTIONS(2313), + [anon_sym_SQUOTE] = ACTIONS(2313), + [anon_sym_L_DQUOTE] = ACTIONS(2313), + [anon_sym_u_DQUOTE] = ACTIONS(2313), + [anon_sym_U_DQUOTE] = ACTIONS(2313), + [anon_sym_u8_DQUOTE] = ACTIONS(2313), + [anon_sym_DQUOTE] = ACTIONS(2313), + [sym_true] = ACTIONS(2311), + [sym_false] = ACTIONS(2311), + [sym_null] = ACTIONS(2311), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2311), + [anon_sym_decltype] = ACTIONS(2311), + [anon_sym_virtual] = ACTIONS(2311), + [anon_sym_explicit] = ACTIONS(2311), + [anon_sym_typename] = ACTIONS(2311), + [anon_sym_template] = ACTIONS(2311), + [anon_sym_operator] = ACTIONS(2311), + [anon_sym_delete] = ACTIONS(2311), + [anon_sym_throw] = ACTIONS(2311), + [anon_sym_namespace] = ACTIONS(2311), + [anon_sym_using] = ACTIONS(2311), + [anon_sym_static_assert] = ACTIONS(2311), + [anon_sym_concept] = ACTIONS(2311), + [anon_sym_co_return] = ACTIONS(2311), + [anon_sym_co_yield] = ACTIONS(2311), + [anon_sym_try] = ACTIONS(2311), + [anon_sym_co_await] = ACTIONS(2311), + [anon_sym_new] = ACTIONS(2311), + [anon_sym_requires] = ACTIONS(2311), + [sym_this] = ACTIONS(2311), + [sym_nullptr] = ACTIONS(2311), + [sym_raw_string_literal] = ACTIONS(2313), + }, + [835] = { + [sym_identifier] = ACTIONS(2291), + [aux_sym_preproc_include_token1] = ACTIONS(2291), + [aux_sym_preproc_def_token1] = ACTIONS(2291), + [aux_sym_preproc_if_token1] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2291), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2291), + [sym_preproc_directive] = ACTIONS(2291), + [anon_sym_LPAREN2] = ACTIONS(2293), + [anon_sym_BANG] = ACTIONS(2293), + [anon_sym_TILDE] = ACTIONS(2293), + [anon_sym_DASH] = ACTIONS(2291), + [anon_sym_PLUS] = ACTIONS(2291), + [anon_sym_STAR] = ACTIONS(2293), + [anon_sym_AMP_AMP] = ACTIONS(2293), + [anon_sym_AMP] = ACTIONS(2291), + [anon_sym_SEMI] = ACTIONS(2293), + [anon_sym_typedef] = ACTIONS(2291), + [anon_sym_extern] = ACTIONS(2291), + [anon_sym___attribute__] = ACTIONS(2291), + [anon_sym_COLON_COLON] = ACTIONS(2293), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2293), + [anon_sym___declspec] = ACTIONS(2291), + [anon_sym___based] = ACTIONS(2291), + [anon_sym___cdecl] = ACTIONS(2291), + [anon_sym___clrcall] = ACTIONS(2291), + [anon_sym___stdcall] = ACTIONS(2291), + [anon_sym___fastcall] = ACTIONS(2291), + [anon_sym___thiscall] = ACTIONS(2291), + [anon_sym___vectorcall] = ACTIONS(2291), + [anon_sym_LBRACE] = ACTIONS(2293), + [anon_sym_RBRACE] = ACTIONS(2293), + [anon_sym_LBRACK] = ACTIONS(2291), + [anon_sym_static] = ACTIONS(2291), + [anon_sym_register] = ACTIONS(2291), + [anon_sym_inline] = ACTIONS(2291), + [anon_sym_thread_local] = ACTIONS(2291), + [anon_sym_const] = ACTIONS(2291), + [anon_sym_volatile] = ACTIONS(2291), + [anon_sym_restrict] = ACTIONS(2291), + [anon_sym__Atomic] = ACTIONS(2291), + [anon_sym_mutable] = ACTIONS(2291), + [anon_sym_constexpr] = ACTIONS(2291), + [anon_sym_constinit] = ACTIONS(2291), + [anon_sym_consteval] = ACTIONS(2291), + [anon_sym_signed] = ACTIONS(2291), + [anon_sym_unsigned] = ACTIONS(2291), + [anon_sym_long] = ACTIONS(2291), + [anon_sym_short] = ACTIONS(2291), + [sym_primitive_type] = ACTIONS(2291), + [anon_sym_enum] = ACTIONS(2291), + [anon_sym_class] = ACTIONS(2291), + [anon_sym_struct] = ACTIONS(2291), + [anon_sym_union] = ACTIONS(2291), + [anon_sym_if] = ACTIONS(2291), + [anon_sym_switch] = ACTIONS(2291), + [anon_sym_case] = ACTIONS(2291), + [anon_sym_default] = ACTIONS(2291), + [anon_sym_while] = ACTIONS(2291), + [anon_sym_do] = ACTIONS(2291), + [anon_sym_for] = ACTIONS(2291), + [anon_sym_return] = ACTIONS(2291), + [anon_sym_break] = ACTIONS(2291), + [anon_sym_continue] = ACTIONS(2291), + [anon_sym_goto] = ACTIONS(2291), + [anon_sym_DASH_DASH] = ACTIONS(2293), + [anon_sym_PLUS_PLUS] = ACTIONS(2293), + [anon_sym_sizeof] = ACTIONS(2291), + [sym_number_literal] = ACTIONS(2293), + [anon_sym_L_SQUOTE] = ACTIONS(2293), + [anon_sym_u_SQUOTE] = ACTIONS(2293), + [anon_sym_U_SQUOTE] = ACTIONS(2293), + [anon_sym_u8_SQUOTE] = ACTIONS(2293), + [anon_sym_SQUOTE] = ACTIONS(2293), + [anon_sym_L_DQUOTE] = ACTIONS(2293), + [anon_sym_u_DQUOTE] = ACTIONS(2293), + [anon_sym_U_DQUOTE] = ACTIONS(2293), + [anon_sym_u8_DQUOTE] = ACTIONS(2293), + [anon_sym_DQUOTE] = ACTIONS(2293), + [sym_true] = ACTIONS(2291), + [sym_false] = ACTIONS(2291), + [sym_null] = ACTIONS(2291), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2291), + [anon_sym_decltype] = ACTIONS(2291), + [anon_sym_virtual] = ACTIONS(2291), + [anon_sym_explicit] = ACTIONS(2291), + [anon_sym_typename] = ACTIONS(2291), + [anon_sym_template] = ACTIONS(2291), + [anon_sym_operator] = ACTIONS(2291), + [anon_sym_delete] = ACTIONS(2291), + [anon_sym_throw] = ACTIONS(2291), + [anon_sym_namespace] = ACTIONS(2291), + [anon_sym_using] = ACTIONS(2291), + [anon_sym_static_assert] = ACTIONS(2291), + [anon_sym_concept] = ACTIONS(2291), + [anon_sym_co_return] = ACTIONS(2291), + [anon_sym_co_yield] = ACTIONS(2291), + [anon_sym_try] = ACTIONS(2291), + [anon_sym_co_await] = ACTIONS(2291), + [anon_sym_new] = ACTIONS(2291), + [anon_sym_requires] = ACTIONS(2291), + [sym_this] = ACTIONS(2291), + [sym_nullptr] = ACTIONS(2291), + [sym_raw_string_literal] = ACTIONS(2293), + }, + [836] = { + [sym_identifier] = ACTIONS(2243), + [aux_sym_preproc_include_token1] = ACTIONS(2243), + [aux_sym_preproc_def_token1] = ACTIONS(2243), + [aux_sym_preproc_if_token1] = ACTIONS(2243), + [aux_sym_preproc_if_token2] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2243), + [sym_preproc_directive] = ACTIONS(2243), + [anon_sym_LPAREN2] = ACTIONS(2245), + [anon_sym_BANG] = ACTIONS(2245), + [anon_sym_TILDE] = ACTIONS(2245), + [anon_sym_DASH] = ACTIONS(2243), + [anon_sym_PLUS] = ACTIONS(2243), + [anon_sym_STAR] = ACTIONS(2245), + [anon_sym_AMP_AMP] = ACTIONS(2245), + [anon_sym_AMP] = ACTIONS(2243), + [anon_sym_SEMI] = ACTIONS(2245), + [anon_sym_typedef] = ACTIONS(2243), + [anon_sym_extern] = ACTIONS(2243), + [anon_sym___attribute__] = ACTIONS(2243), + [anon_sym_COLON_COLON] = ACTIONS(2245), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2245), + [anon_sym___declspec] = ACTIONS(2243), + [anon_sym___based] = ACTIONS(2243), + [anon_sym___cdecl] = ACTIONS(2243), + [anon_sym___clrcall] = ACTIONS(2243), + [anon_sym___stdcall] = ACTIONS(2243), + [anon_sym___fastcall] = ACTIONS(2243), + [anon_sym___thiscall] = ACTIONS(2243), + [anon_sym___vectorcall] = ACTIONS(2243), + [anon_sym_LBRACE] = ACTIONS(2245), + [anon_sym_LBRACK] = ACTIONS(2243), + [anon_sym_static] = ACTIONS(2243), + [anon_sym_register] = ACTIONS(2243), + [anon_sym_inline] = ACTIONS(2243), + [anon_sym_thread_local] = ACTIONS(2243), + [anon_sym_const] = ACTIONS(2243), + [anon_sym_volatile] = ACTIONS(2243), + [anon_sym_restrict] = ACTIONS(2243), + [anon_sym__Atomic] = ACTIONS(2243), + [anon_sym_mutable] = ACTIONS(2243), + [anon_sym_constexpr] = ACTIONS(2243), + [anon_sym_constinit] = ACTIONS(2243), + [anon_sym_consteval] = ACTIONS(2243), + [anon_sym_signed] = ACTIONS(2243), + [anon_sym_unsigned] = ACTIONS(2243), + [anon_sym_long] = ACTIONS(2243), + [anon_sym_short] = ACTIONS(2243), + [sym_primitive_type] = ACTIONS(2243), + [anon_sym_enum] = ACTIONS(2243), + [anon_sym_class] = ACTIONS(2243), + [anon_sym_struct] = ACTIONS(2243), + [anon_sym_union] = ACTIONS(2243), + [anon_sym_if] = ACTIONS(2243), + [anon_sym_switch] = ACTIONS(2243), + [anon_sym_case] = ACTIONS(2243), + [anon_sym_default] = ACTIONS(2243), + [anon_sym_while] = ACTIONS(2243), + [anon_sym_do] = ACTIONS(2243), + [anon_sym_for] = ACTIONS(2243), + [anon_sym_return] = ACTIONS(2243), + [anon_sym_break] = ACTIONS(2243), + [anon_sym_continue] = ACTIONS(2243), + [anon_sym_goto] = ACTIONS(2243), + [anon_sym_DASH_DASH] = ACTIONS(2245), + [anon_sym_PLUS_PLUS] = ACTIONS(2245), + [anon_sym_sizeof] = ACTIONS(2243), + [sym_number_literal] = ACTIONS(2245), + [anon_sym_L_SQUOTE] = ACTIONS(2245), + [anon_sym_u_SQUOTE] = ACTIONS(2245), + [anon_sym_U_SQUOTE] = ACTIONS(2245), + [anon_sym_u8_SQUOTE] = ACTIONS(2245), + [anon_sym_SQUOTE] = ACTIONS(2245), + [anon_sym_L_DQUOTE] = ACTIONS(2245), + [anon_sym_u_DQUOTE] = ACTIONS(2245), + [anon_sym_U_DQUOTE] = ACTIONS(2245), + [anon_sym_u8_DQUOTE] = ACTIONS(2245), + [anon_sym_DQUOTE] = ACTIONS(2245), + [sym_true] = ACTIONS(2243), + [sym_false] = ACTIONS(2243), + [sym_null] = ACTIONS(2243), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2243), + [anon_sym_decltype] = ACTIONS(2243), + [anon_sym_virtual] = ACTIONS(2243), + [anon_sym_explicit] = ACTIONS(2243), + [anon_sym_typename] = ACTIONS(2243), + [anon_sym_template] = ACTIONS(2243), + [anon_sym_operator] = ACTIONS(2243), + [anon_sym_delete] = ACTIONS(2243), + [anon_sym_throw] = ACTIONS(2243), + [anon_sym_namespace] = ACTIONS(2243), + [anon_sym_using] = ACTIONS(2243), + [anon_sym_static_assert] = ACTIONS(2243), + [anon_sym_concept] = ACTIONS(2243), + [anon_sym_co_return] = ACTIONS(2243), + [anon_sym_co_yield] = ACTIONS(2243), + [anon_sym_try] = ACTIONS(2243), + [anon_sym_co_await] = ACTIONS(2243), + [anon_sym_new] = ACTIONS(2243), + [anon_sym_requires] = ACTIONS(2243), + [sym_this] = ACTIONS(2243), + [sym_nullptr] = ACTIONS(2243), + [sym_raw_string_literal] = ACTIONS(2245), + }, + [837] = { + [sym_identifier] = ACTIONS(2221), + [aux_sym_preproc_include_token1] = ACTIONS(2221), + [aux_sym_preproc_def_token1] = ACTIONS(2221), + [aux_sym_preproc_if_token1] = ACTIONS(2221), + [aux_sym_preproc_if_token2] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2221), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2221), + [sym_preproc_directive] = ACTIONS(2221), + [anon_sym_LPAREN2] = ACTIONS(2223), + [anon_sym_BANG] = ACTIONS(2223), + [anon_sym_TILDE] = ACTIONS(2223), + [anon_sym_DASH] = ACTIONS(2221), + [anon_sym_PLUS] = ACTIONS(2221), + [anon_sym_STAR] = ACTIONS(2223), + [anon_sym_AMP_AMP] = ACTIONS(2223), + [anon_sym_AMP] = ACTIONS(2221), + [anon_sym_SEMI] = ACTIONS(2223), + [anon_sym_typedef] = ACTIONS(2221), + [anon_sym_extern] = ACTIONS(2221), + [anon_sym___attribute__] = ACTIONS(2221), + [anon_sym_COLON_COLON] = ACTIONS(2223), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2223), + [anon_sym___declspec] = ACTIONS(2221), + [anon_sym___based] = ACTIONS(2221), + [anon_sym___cdecl] = ACTIONS(2221), + [anon_sym___clrcall] = ACTIONS(2221), + [anon_sym___stdcall] = ACTIONS(2221), + [anon_sym___fastcall] = ACTIONS(2221), + [anon_sym___thiscall] = ACTIONS(2221), + [anon_sym___vectorcall] = ACTIONS(2221), + [anon_sym_LBRACE] = ACTIONS(2223), + [anon_sym_LBRACK] = ACTIONS(2221), + [anon_sym_static] = ACTIONS(2221), + [anon_sym_register] = ACTIONS(2221), + [anon_sym_inline] = ACTIONS(2221), + [anon_sym_thread_local] = ACTIONS(2221), + [anon_sym_const] = ACTIONS(2221), + [anon_sym_volatile] = ACTIONS(2221), + [anon_sym_restrict] = ACTIONS(2221), + [anon_sym__Atomic] = ACTIONS(2221), + [anon_sym_mutable] = ACTIONS(2221), + [anon_sym_constexpr] = ACTIONS(2221), + [anon_sym_constinit] = ACTIONS(2221), + [anon_sym_consteval] = ACTIONS(2221), + [anon_sym_signed] = ACTIONS(2221), + [anon_sym_unsigned] = ACTIONS(2221), + [anon_sym_long] = ACTIONS(2221), + [anon_sym_short] = ACTIONS(2221), + [sym_primitive_type] = ACTIONS(2221), + [anon_sym_enum] = ACTIONS(2221), + [anon_sym_class] = ACTIONS(2221), + [anon_sym_struct] = ACTIONS(2221), + [anon_sym_union] = ACTIONS(2221), + [anon_sym_if] = ACTIONS(2221), + [anon_sym_switch] = ACTIONS(2221), + [anon_sym_case] = ACTIONS(2221), + [anon_sym_default] = ACTIONS(2221), + [anon_sym_while] = ACTIONS(2221), + [anon_sym_do] = ACTIONS(2221), + [anon_sym_for] = ACTIONS(2221), + [anon_sym_return] = ACTIONS(2221), + [anon_sym_break] = ACTIONS(2221), + [anon_sym_continue] = ACTIONS(2221), + [anon_sym_goto] = ACTIONS(2221), + [anon_sym_DASH_DASH] = ACTIONS(2223), + [anon_sym_PLUS_PLUS] = ACTIONS(2223), + [anon_sym_sizeof] = ACTIONS(2221), + [sym_number_literal] = ACTIONS(2223), + [anon_sym_L_SQUOTE] = ACTIONS(2223), + [anon_sym_u_SQUOTE] = ACTIONS(2223), + [anon_sym_U_SQUOTE] = ACTIONS(2223), + [anon_sym_u8_SQUOTE] = ACTIONS(2223), + [anon_sym_SQUOTE] = ACTIONS(2223), + [anon_sym_L_DQUOTE] = ACTIONS(2223), + [anon_sym_u_DQUOTE] = ACTIONS(2223), + [anon_sym_U_DQUOTE] = ACTIONS(2223), + [anon_sym_u8_DQUOTE] = ACTIONS(2223), + [anon_sym_DQUOTE] = ACTIONS(2223), + [sym_true] = ACTIONS(2221), + [sym_false] = ACTIONS(2221), + [sym_null] = ACTIONS(2221), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2221), + [anon_sym_decltype] = ACTIONS(2221), + [anon_sym_virtual] = ACTIONS(2221), + [anon_sym_explicit] = ACTIONS(2221), + [anon_sym_typename] = ACTIONS(2221), + [anon_sym_template] = ACTIONS(2221), + [anon_sym_operator] = ACTIONS(2221), + [anon_sym_delete] = ACTIONS(2221), + [anon_sym_throw] = ACTIONS(2221), + [anon_sym_namespace] = ACTIONS(2221), + [anon_sym_using] = ACTIONS(2221), + [anon_sym_static_assert] = ACTIONS(2221), + [anon_sym_concept] = ACTIONS(2221), + [anon_sym_co_return] = ACTIONS(2221), + [anon_sym_co_yield] = ACTIONS(2221), + [anon_sym_try] = ACTIONS(2221), + [anon_sym_co_await] = ACTIONS(2221), + [anon_sym_new] = ACTIONS(2221), + [anon_sym_requires] = ACTIONS(2221), + [sym_this] = ACTIONS(2221), + [sym_nullptr] = ACTIONS(2221), + [sym_raw_string_literal] = ACTIONS(2223), + }, + [838] = { + [sym_identifier] = ACTIONS(2227), + [aux_sym_preproc_include_token1] = ACTIONS(2227), + [aux_sym_preproc_def_token1] = ACTIONS(2227), + [aux_sym_preproc_if_token1] = ACTIONS(2227), + [aux_sym_preproc_if_token2] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2227), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2227), + [sym_preproc_directive] = ACTIONS(2227), + [anon_sym_LPAREN2] = ACTIONS(2229), + [anon_sym_BANG] = ACTIONS(2229), + [anon_sym_TILDE] = ACTIONS(2229), + [anon_sym_DASH] = ACTIONS(2227), + [anon_sym_PLUS] = ACTIONS(2227), + [anon_sym_STAR] = ACTIONS(2229), + [anon_sym_AMP_AMP] = ACTIONS(2229), + [anon_sym_AMP] = ACTIONS(2227), + [anon_sym_SEMI] = ACTIONS(2229), + [anon_sym_typedef] = ACTIONS(2227), + [anon_sym_extern] = ACTIONS(2227), + [anon_sym___attribute__] = ACTIONS(2227), + [anon_sym_COLON_COLON] = ACTIONS(2229), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2229), + [anon_sym___declspec] = ACTIONS(2227), + [anon_sym___based] = ACTIONS(2227), + [anon_sym___cdecl] = ACTIONS(2227), + [anon_sym___clrcall] = ACTIONS(2227), + [anon_sym___stdcall] = ACTIONS(2227), + [anon_sym___fastcall] = ACTIONS(2227), + [anon_sym___thiscall] = ACTIONS(2227), + [anon_sym___vectorcall] = ACTIONS(2227), + [anon_sym_LBRACE] = ACTIONS(2229), + [anon_sym_LBRACK] = ACTIONS(2227), + [anon_sym_static] = ACTIONS(2227), + [anon_sym_register] = ACTIONS(2227), + [anon_sym_inline] = ACTIONS(2227), + [anon_sym_thread_local] = ACTIONS(2227), + [anon_sym_const] = ACTIONS(2227), + [anon_sym_volatile] = ACTIONS(2227), + [anon_sym_restrict] = ACTIONS(2227), + [anon_sym__Atomic] = ACTIONS(2227), + [anon_sym_mutable] = ACTIONS(2227), + [anon_sym_constexpr] = ACTIONS(2227), + [anon_sym_constinit] = ACTIONS(2227), + [anon_sym_consteval] = ACTIONS(2227), + [anon_sym_signed] = ACTIONS(2227), + [anon_sym_unsigned] = ACTIONS(2227), + [anon_sym_long] = ACTIONS(2227), + [anon_sym_short] = ACTIONS(2227), + [sym_primitive_type] = ACTIONS(2227), + [anon_sym_enum] = ACTIONS(2227), + [anon_sym_class] = ACTIONS(2227), + [anon_sym_struct] = ACTIONS(2227), + [anon_sym_union] = ACTIONS(2227), + [anon_sym_if] = ACTIONS(2227), + [anon_sym_switch] = ACTIONS(2227), + [anon_sym_case] = ACTIONS(2227), + [anon_sym_default] = ACTIONS(2227), + [anon_sym_while] = ACTIONS(2227), + [anon_sym_do] = ACTIONS(2227), + [anon_sym_for] = ACTIONS(2227), + [anon_sym_return] = ACTIONS(2227), + [anon_sym_break] = ACTIONS(2227), + [anon_sym_continue] = ACTIONS(2227), + [anon_sym_goto] = ACTIONS(2227), + [anon_sym_DASH_DASH] = ACTIONS(2229), + [anon_sym_PLUS_PLUS] = ACTIONS(2229), + [anon_sym_sizeof] = ACTIONS(2227), + [sym_number_literal] = ACTIONS(2229), + [anon_sym_L_SQUOTE] = ACTIONS(2229), + [anon_sym_u_SQUOTE] = ACTIONS(2229), + [anon_sym_U_SQUOTE] = ACTIONS(2229), + [anon_sym_u8_SQUOTE] = ACTIONS(2229), + [anon_sym_SQUOTE] = ACTIONS(2229), + [anon_sym_L_DQUOTE] = ACTIONS(2229), + [anon_sym_u_DQUOTE] = ACTIONS(2229), + [anon_sym_U_DQUOTE] = ACTIONS(2229), + [anon_sym_u8_DQUOTE] = ACTIONS(2229), + [anon_sym_DQUOTE] = ACTIONS(2229), + [sym_true] = ACTIONS(2227), + [sym_false] = ACTIONS(2227), + [sym_null] = ACTIONS(2227), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2227), + [anon_sym_decltype] = ACTIONS(2227), + [anon_sym_virtual] = ACTIONS(2227), + [anon_sym_explicit] = ACTIONS(2227), + [anon_sym_typename] = ACTIONS(2227), + [anon_sym_template] = ACTIONS(2227), + [anon_sym_operator] = ACTIONS(2227), + [anon_sym_delete] = ACTIONS(2227), + [anon_sym_throw] = ACTIONS(2227), + [anon_sym_namespace] = ACTIONS(2227), + [anon_sym_using] = ACTIONS(2227), + [anon_sym_static_assert] = ACTIONS(2227), + [anon_sym_concept] = ACTIONS(2227), + [anon_sym_co_return] = ACTIONS(2227), + [anon_sym_co_yield] = ACTIONS(2227), + [anon_sym_try] = ACTIONS(2227), + [anon_sym_co_await] = ACTIONS(2227), + [anon_sym_new] = ACTIONS(2227), + [anon_sym_requires] = ACTIONS(2227), + [sym_this] = ACTIONS(2227), + [sym_nullptr] = ACTIONS(2227), + [sym_raw_string_literal] = ACTIONS(2229), + }, + [839] = { + [sym_identifier] = ACTIONS(2259), + [aux_sym_preproc_include_token1] = ACTIONS(2259), + [aux_sym_preproc_def_token1] = ACTIONS(2259), + [aux_sym_preproc_if_token1] = ACTIONS(2259), + [aux_sym_preproc_if_token2] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2259), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2259), + [sym_preproc_directive] = ACTIONS(2259), + [anon_sym_LPAREN2] = ACTIONS(2261), + [anon_sym_BANG] = ACTIONS(2261), + [anon_sym_TILDE] = ACTIONS(2261), + [anon_sym_DASH] = ACTIONS(2259), + [anon_sym_PLUS] = ACTIONS(2259), + [anon_sym_STAR] = ACTIONS(2261), + [anon_sym_AMP_AMP] = ACTIONS(2261), + [anon_sym_AMP] = ACTIONS(2259), + [anon_sym_SEMI] = ACTIONS(2261), + [anon_sym_typedef] = ACTIONS(2259), + [anon_sym_extern] = ACTIONS(2259), + [anon_sym___attribute__] = ACTIONS(2259), + [anon_sym_COLON_COLON] = ACTIONS(2261), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2261), + [anon_sym___declspec] = ACTIONS(2259), + [anon_sym___based] = ACTIONS(2259), + [anon_sym___cdecl] = ACTIONS(2259), + [anon_sym___clrcall] = ACTIONS(2259), + [anon_sym___stdcall] = ACTIONS(2259), + [anon_sym___fastcall] = ACTIONS(2259), + [anon_sym___thiscall] = ACTIONS(2259), + [anon_sym___vectorcall] = ACTIONS(2259), + [anon_sym_LBRACE] = ACTIONS(2261), + [anon_sym_LBRACK] = ACTIONS(2259), + [anon_sym_static] = ACTIONS(2259), + [anon_sym_register] = ACTIONS(2259), + [anon_sym_inline] = ACTIONS(2259), + [anon_sym_thread_local] = ACTIONS(2259), + [anon_sym_const] = ACTIONS(2259), + [anon_sym_volatile] = ACTIONS(2259), + [anon_sym_restrict] = ACTIONS(2259), + [anon_sym__Atomic] = ACTIONS(2259), + [anon_sym_mutable] = ACTIONS(2259), + [anon_sym_constexpr] = ACTIONS(2259), + [anon_sym_constinit] = ACTIONS(2259), + [anon_sym_consteval] = ACTIONS(2259), + [anon_sym_signed] = ACTIONS(2259), + [anon_sym_unsigned] = ACTIONS(2259), + [anon_sym_long] = ACTIONS(2259), + [anon_sym_short] = ACTIONS(2259), + [sym_primitive_type] = ACTIONS(2259), + [anon_sym_enum] = ACTIONS(2259), + [anon_sym_class] = ACTIONS(2259), + [anon_sym_struct] = ACTIONS(2259), + [anon_sym_union] = ACTIONS(2259), + [anon_sym_if] = ACTIONS(2259), + [anon_sym_switch] = ACTIONS(2259), + [anon_sym_case] = ACTIONS(2259), + [anon_sym_default] = ACTIONS(2259), + [anon_sym_while] = ACTIONS(2259), + [anon_sym_do] = ACTIONS(2259), + [anon_sym_for] = ACTIONS(2259), + [anon_sym_return] = ACTIONS(2259), + [anon_sym_break] = ACTIONS(2259), + [anon_sym_continue] = ACTIONS(2259), + [anon_sym_goto] = ACTIONS(2259), + [anon_sym_DASH_DASH] = ACTIONS(2261), + [anon_sym_PLUS_PLUS] = ACTIONS(2261), + [anon_sym_sizeof] = ACTIONS(2259), + [sym_number_literal] = ACTIONS(2261), + [anon_sym_L_SQUOTE] = ACTIONS(2261), + [anon_sym_u_SQUOTE] = ACTIONS(2261), + [anon_sym_U_SQUOTE] = ACTIONS(2261), + [anon_sym_u8_SQUOTE] = ACTIONS(2261), + [anon_sym_SQUOTE] = ACTIONS(2261), + [anon_sym_L_DQUOTE] = ACTIONS(2261), + [anon_sym_u_DQUOTE] = ACTIONS(2261), + [anon_sym_U_DQUOTE] = ACTIONS(2261), + [anon_sym_u8_DQUOTE] = ACTIONS(2261), + [anon_sym_DQUOTE] = ACTIONS(2261), + [sym_true] = ACTIONS(2259), + [sym_false] = ACTIONS(2259), + [sym_null] = ACTIONS(2259), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2259), + [anon_sym_decltype] = ACTIONS(2259), + [anon_sym_virtual] = ACTIONS(2259), + [anon_sym_explicit] = ACTIONS(2259), + [anon_sym_typename] = ACTIONS(2259), + [anon_sym_template] = ACTIONS(2259), + [anon_sym_operator] = ACTIONS(2259), + [anon_sym_delete] = ACTIONS(2259), + [anon_sym_throw] = ACTIONS(2259), + [anon_sym_namespace] = ACTIONS(2259), + [anon_sym_using] = ACTIONS(2259), + [anon_sym_static_assert] = ACTIONS(2259), + [anon_sym_concept] = ACTIONS(2259), + [anon_sym_co_return] = ACTIONS(2259), + [anon_sym_co_yield] = ACTIONS(2259), + [anon_sym_try] = ACTIONS(2259), + [anon_sym_co_await] = ACTIONS(2259), + [anon_sym_new] = ACTIONS(2259), + [anon_sym_requires] = ACTIONS(2259), + [sym_this] = ACTIONS(2259), + [sym_nullptr] = ACTIONS(2259), + [sym_raw_string_literal] = ACTIONS(2261), + }, + [840] = { + [sym_identifier] = ACTIONS(2359), + [aux_sym_preproc_include_token1] = ACTIONS(2359), + [aux_sym_preproc_def_token1] = ACTIONS(2359), + [aux_sym_preproc_if_token1] = ACTIONS(2359), + [aux_sym_preproc_if_token2] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2359), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2359), + [sym_preproc_directive] = ACTIONS(2359), + [anon_sym_LPAREN2] = ACTIONS(2361), + [anon_sym_BANG] = ACTIONS(2361), + [anon_sym_TILDE] = ACTIONS(2361), + [anon_sym_DASH] = ACTIONS(2359), + [anon_sym_PLUS] = ACTIONS(2359), + [anon_sym_STAR] = ACTIONS(2361), + [anon_sym_AMP_AMP] = ACTIONS(2361), + [anon_sym_AMP] = ACTIONS(2359), + [anon_sym_SEMI] = ACTIONS(2361), + [anon_sym_typedef] = ACTIONS(2359), + [anon_sym_extern] = ACTIONS(2359), + [anon_sym___attribute__] = ACTIONS(2359), + [anon_sym_COLON_COLON] = ACTIONS(2361), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2361), + [anon_sym___declspec] = ACTIONS(2359), + [anon_sym___based] = ACTIONS(2359), + [anon_sym___cdecl] = ACTIONS(2359), + [anon_sym___clrcall] = ACTIONS(2359), + [anon_sym___stdcall] = ACTIONS(2359), + [anon_sym___fastcall] = ACTIONS(2359), + [anon_sym___thiscall] = ACTIONS(2359), + [anon_sym___vectorcall] = ACTIONS(2359), + [anon_sym_LBRACE] = ACTIONS(2361), + [anon_sym_LBRACK] = ACTIONS(2359), + [anon_sym_static] = ACTIONS(2359), + [anon_sym_register] = ACTIONS(2359), + [anon_sym_inline] = ACTIONS(2359), + [anon_sym_thread_local] = ACTIONS(2359), + [anon_sym_const] = ACTIONS(2359), + [anon_sym_volatile] = ACTIONS(2359), + [anon_sym_restrict] = ACTIONS(2359), + [anon_sym__Atomic] = ACTIONS(2359), + [anon_sym_mutable] = ACTIONS(2359), + [anon_sym_constexpr] = ACTIONS(2359), + [anon_sym_constinit] = ACTIONS(2359), + [anon_sym_consteval] = ACTIONS(2359), + [anon_sym_signed] = ACTIONS(2359), + [anon_sym_unsigned] = ACTIONS(2359), + [anon_sym_long] = ACTIONS(2359), + [anon_sym_short] = ACTIONS(2359), + [sym_primitive_type] = ACTIONS(2359), + [anon_sym_enum] = ACTIONS(2359), + [anon_sym_class] = ACTIONS(2359), + [anon_sym_struct] = ACTIONS(2359), + [anon_sym_union] = ACTIONS(2359), + [anon_sym_if] = ACTIONS(2359), + [anon_sym_switch] = ACTIONS(2359), + [anon_sym_case] = ACTIONS(2359), + [anon_sym_default] = ACTIONS(2359), + [anon_sym_while] = ACTIONS(2359), + [anon_sym_do] = ACTIONS(2359), + [anon_sym_for] = ACTIONS(2359), + [anon_sym_return] = ACTIONS(2359), + [anon_sym_break] = ACTIONS(2359), + [anon_sym_continue] = ACTIONS(2359), + [anon_sym_goto] = ACTIONS(2359), + [anon_sym_DASH_DASH] = ACTIONS(2361), + [anon_sym_PLUS_PLUS] = ACTIONS(2361), + [anon_sym_sizeof] = ACTIONS(2359), + [sym_number_literal] = ACTIONS(2361), + [anon_sym_L_SQUOTE] = ACTIONS(2361), + [anon_sym_u_SQUOTE] = ACTIONS(2361), + [anon_sym_U_SQUOTE] = ACTIONS(2361), + [anon_sym_u8_SQUOTE] = ACTIONS(2361), + [anon_sym_SQUOTE] = ACTIONS(2361), + [anon_sym_L_DQUOTE] = ACTIONS(2361), + [anon_sym_u_DQUOTE] = ACTIONS(2361), + [anon_sym_U_DQUOTE] = ACTIONS(2361), + [anon_sym_u8_DQUOTE] = ACTIONS(2361), + [anon_sym_DQUOTE] = ACTIONS(2361), + [sym_true] = ACTIONS(2359), + [sym_false] = ACTIONS(2359), + [sym_null] = ACTIONS(2359), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2359), + [anon_sym_decltype] = ACTIONS(2359), + [anon_sym_virtual] = ACTIONS(2359), + [anon_sym_explicit] = ACTIONS(2359), + [anon_sym_typename] = ACTIONS(2359), + [anon_sym_template] = ACTIONS(2359), + [anon_sym_operator] = ACTIONS(2359), + [anon_sym_delete] = ACTIONS(2359), + [anon_sym_throw] = ACTIONS(2359), + [anon_sym_namespace] = ACTIONS(2359), + [anon_sym_using] = ACTIONS(2359), + [anon_sym_static_assert] = ACTIONS(2359), + [anon_sym_concept] = ACTIONS(2359), + [anon_sym_co_return] = ACTIONS(2359), + [anon_sym_co_yield] = ACTIONS(2359), + [anon_sym_try] = ACTIONS(2359), + [anon_sym_co_await] = ACTIONS(2359), + [anon_sym_new] = ACTIONS(2359), + [anon_sym_requires] = ACTIONS(2359), + [sym_this] = ACTIONS(2359), + [sym_nullptr] = ACTIONS(2359), + [sym_raw_string_literal] = ACTIONS(2361), + }, + [841] = { + [sym_identifier] = ACTIONS(2235), + [aux_sym_preproc_include_token1] = ACTIONS(2235), + [aux_sym_preproc_def_token1] = ACTIONS(2235), + [aux_sym_preproc_if_token1] = ACTIONS(2235), + [aux_sym_preproc_if_token2] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2235), + [sym_preproc_directive] = ACTIONS(2235), + [anon_sym_LPAREN2] = ACTIONS(2237), + [anon_sym_BANG] = ACTIONS(2237), + [anon_sym_TILDE] = ACTIONS(2237), + [anon_sym_DASH] = ACTIONS(2235), + [anon_sym_PLUS] = ACTIONS(2235), + [anon_sym_STAR] = ACTIONS(2237), + [anon_sym_AMP_AMP] = ACTIONS(2237), + [anon_sym_AMP] = ACTIONS(2235), + [anon_sym_SEMI] = ACTIONS(2237), + [anon_sym_typedef] = ACTIONS(2235), + [anon_sym_extern] = ACTIONS(2235), + [anon_sym___attribute__] = ACTIONS(2235), + [anon_sym_COLON_COLON] = ACTIONS(2237), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2237), + [anon_sym___declspec] = ACTIONS(2235), + [anon_sym___based] = ACTIONS(2235), + [anon_sym___cdecl] = ACTIONS(2235), + [anon_sym___clrcall] = ACTIONS(2235), + [anon_sym___stdcall] = ACTIONS(2235), + [anon_sym___fastcall] = ACTIONS(2235), + [anon_sym___thiscall] = ACTIONS(2235), + [anon_sym___vectorcall] = ACTIONS(2235), + [anon_sym_LBRACE] = ACTIONS(2237), + [anon_sym_LBRACK] = ACTIONS(2235), + [anon_sym_static] = ACTIONS(2235), + [anon_sym_register] = ACTIONS(2235), + [anon_sym_inline] = ACTIONS(2235), + [anon_sym_thread_local] = ACTIONS(2235), + [anon_sym_const] = ACTIONS(2235), + [anon_sym_volatile] = ACTIONS(2235), + [anon_sym_restrict] = ACTIONS(2235), + [anon_sym__Atomic] = ACTIONS(2235), + [anon_sym_mutable] = ACTIONS(2235), + [anon_sym_constexpr] = ACTIONS(2235), + [anon_sym_constinit] = ACTIONS(2235), + [anon_sym_consteval] = ACTIONS(2235), + [anon_sym_signed] = ACTIONS(2235), + [anon_sym_unsigned] = ACTIONS(2235), + [anon_sym_long] = ACTIONS(2235), + [anon_sym_short] = ACTIONS(2235), + [sym_primitive_type] = ACTIONS(2235), + [anon_sym_enum] = ACTIONS(2235), + [anon_sym_class] = ACTIONS(2235), + [anon_sym_struct] = ACTIONS(2235), + [anon_sym_union] = ACTIONS(2235), + [anon_sym_if] = ACTIONS(2235), + [anon_sym_switch] = ACTIONS(2235), + [anon_sym_case] = ACTIONS(2235), + [anon_sym_default] = ACTIONS(2235), + [anon_sym_while] = ACTIONS(2235), + [anon_sym_do] = ACTIONS(2235), + [anon_sym_for] = ACTIONS(2235), + [anon_sym_return] = ACTIONS(2235), + [anon_sym_break] = ACTIONS(2235), + [anon_sym_continue] = ACTIONS(2235), + [anon_sym_goto] = ACTIONS(2235), + [anon_sym_DASH_DASH] = ACTIONS(2237), + [anon_sym_PLUS_PLUS] = ACTIONS(2237), + [anon_sym_sizeof] = ACTIONS(2235), + [sym_number_literal] = ACTIONS(2237), + [anon_sym_L_SQUOTE] = ACTIONS(2237), + [anon_sym_u_SQUOTE] = ACTIONS(2237), + [anon_sym_U_SQUOTE] = ACTIONS(2237), + [anon_sym_u8_SQUOTE] = ACTIONS(2237), + [anon_sym_SQUOTE] = ACTIONS(2237), + [anon_sym_L_DQUOTE] = ACTIONS(2237), + [anon_sym_u_DQUOTE] = ACTIONS(2237), + [anon_sym_U_DQUOTE] = ACTIONS(2237), + [anon_sym_u8_DQUOTE] = ACTIONS(2237), + [anon_sym_DQUOTE] = ACTIONS(2237), + [sym_true] = ACTIONS(2235), + [sym_false] = ACTIONS(2235), + [sym_null] = ACTIONS(2235), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2235), + [anon_sym_decltype] = ACTIONS(2235), + [anon_sym_virtual] = ACTIONS(2235), + [anon_sym_explicit] = ACTIONS(2235), + [anon_sym_typename] = ACTIONS(2235), + [anon_sym_template] = ACTIONS(2235), + [anon_sym_operator] = ACTIONS(2235), + [anon_sym_delete] = ACTIONS(2235), + [anon_sym_throw] = ACTIONS(2235), + [anon_sym_namespace] = ACTIONS(2235), + [anon_sym_using] = ACTIONS(2235), + [anon_sym_static_assert] = ACTIONS(2235), + [anon_sym_concept] = ACTIONS(2235), + [anon_sym_co_return] = ACTIONS(2235), + [anon_sym_co_yield] = ACTIONS(2235), + [anon_sym_try] = ACTIONS(2235), + [anon_sym_co_await] = ACTIONS(2235), + [anon_sym_new] = ACTIONS(2235), + [anon_sym_requires] = ACTIONS(2235), + [sym_this] = ACTIONS(2235), + [sym_nullptr] = ACTIONS(2235), + [sym_raw_string_literal] = ACTIONS(2237), + }, + [842] = { + [ts_builtin_sym_end] = ACTIONS(2417), + [sym_identifier] = ACTIONS(2415), + [aux_sym_preproc_include_token1] = ACTIONS(2415), + [aux_sym_preproc_def_token1] = ACTIONS(2415), + [aux_sym_preproc_if_token1] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2415), + [sym_preproc_directive] = ACTIONS(2415), + [anon_sym_LPAREN2] = ACTIONS(2417), + [anon_sym_BANG] = ACTIONS(2417), + [anon_sym_TILDE] = ACTIONS(2417), + [anon_sym_DASH] = ACTIONS(2415), + [anon_sym_PLUS] = ACTIONS(2415), + [anon_sym_STAR] = ACTIONS(2417), + [anon_sym_AMP_AMP] = ACTIONS(2417), + [anon_sym_AMP] = ACTIONS(2415), + [anon_sym_SEMI] = ACTIONS(2417), + [anon_sym_typedef] = ACTIONS(2415), + [anon_sym_extern] = ACTIONS(2415), + [anon_sym___attribute__] = ACTIONS(2415), + [anon_sym_COLON_COLON] = ACTIONS(2417), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2417), + [anon_sym___declspec] = ACTIONS(2415), + [anon_sym___based] = ACTIONS(2415), + [anon_sym___cdecl] = ACTIONS(2415), + [anon_sym___clrcall] = ACTIONS(2415), + [anon_sym___stdcall] = ACTIONS(2415), + [anon_sym___fastcall] = ACTIONS(2415), + [anon_sym___thiscall] = ACTIONS(2415), + [anon_sym___vectorcall] = ACTIONS(2415), + [anon_sym_LBRACE] = ACTIONS(2417), + [anon_sym_LBRACK] = ACTIONS(2415), + [anon_sym_static] = ACTIONS(2415), + [anon_sym_register] = ACTIONS(2415), + [anon_sym_inline] = ACTIONS(2415), + [anon_sym_thread_local] = ACTIONS(2415), + [anon_sym_const] = ACTIONS(2415), + [anon_sym_volatile] = ACTIONS(2415), + [anon_sym_restrict] = ACTIONS(2415), + [anon_sym__Atomic] = ACTIONS(2415), + [anon_sym_mutable] = ACTIONS(2415), + [anon_sym_constexpr] = ACTIONS(2415), + [anon_sym_constinit] = ACTIONS(2415), + [anon_sym_consteval] = ACTIONS(2415), + [anon_sym_signed] = ACTIONS(2415), + [anon_sym_unsigned] = ACTIONS(2415), + [anon_sym_long] = ACTIONS(2415), + [anon_sym_short] = ACTIONS(2415), + [sym_primitive_type] = ACTIONS(2415), + [anon_sym_enum] = ACTIONS(2415), + [anon_sym_class] = ACTIONS(2415), + [anon_sym_struct] = ACTIONS(2415), + [anon_sym_union] = ACTIONS(2415), + [anon_sym_if] = ACTIONS(2415), + [anon_sym_switch] = ACTIONS(2415), + [anon_sym_case] = ACTIONS(2415), + [anon_sym_default] = ACTIONS(2415), + [anon_sym_while] = ACTIONS(2415), + [anon_sym_do] = ACTIONS(2415), + [anon_sym_for] = ACTIONS(2415), + [anon_sym_return] = ACTIONS(2415), + [anon_sym_break] = ACTIONS(2415), + [anon_sym_continue] = ACTIONS(2415), + [anon_sym_goto] = ACTIONS(2415), + [anon_sym_DASH_DASH] = ACTIONS(2417), + [anon_sym_PLUS_PLUS] = ACTIONS(2417), + [anon_sym_sizeof] = ACTIONS(2415), + [sym_number_literal] = ACTIONS(2417), + [anon_sym_L_SQUOTE] = ACTIONS(2417), + [anon_sym_u_SQUOTE] = ACTIONS(2417), + [anon_sym_U_SQUOTE] = ACTIONS(2417), + [anon_sym_u8_SQUOTE] = ACTIONS(2417), + [anon_sym_SQUOTE] = ACTIONS(2417), + [anon_sym_L_DQUOTE] = ACTIONS(2417), + [anon_sym_u_DQUOTE] = ACTIONS(2417), + [anon_sym_U_DQUOTE] = ACTIONS(2417), + [anon_sym_u8_DQUOTE] = ACTIONS(2417), + [anon_sym_DQUOTE] = ACTIONS(2417), + [sym_true] = ACTIONS(2415), + [sym_false] = ACTIONS(2415), + [sym_null] = ACTIONS(2415), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2415), + [anon_sym_decltype] = ACTIONS(2415), + [anon_sym_virtual] = ACTIONS(2415), + [anon_sym_explicit] = ACTIONS(2415), + [anon_sym_typename] = ACTIONS(2415), + [anon_sym_template] = ACTIONS(2415), + [anon_sym_operator] = ACTIONS(2415), + [anon_sym_delete] = ACTIONS(2415), + [anon_sym_throw] = ACTIONS(2415), + [anon_sym_namespace] = ACTIONS(2415), + [anon_sym_using] = ACTIONS(2415), + [anon_sym_static_assert] = ACTIONS(2415), + [anon_sym_concept] = ACTIONS(2415), + [anon_sym_co_return] = ACTIONS(2415), + [anon_sym_co_yield] = ACTIONS(2415), + [anon_sym_try] = ACTIONS(2415), + [anon_sym_co_await] = ACTIONS(2415), + [anon_sym_new] = ACTIONS(2415), + [anon_sym_requires] = ACTIONS(2415), + [sym_this] = ACTIONS(2415), + [sym_nullptr] = ACTIONS(2415), + [sym_raw_string_literal] = ACTIONS(2417), + }, + [843] = { + [ts_builtin_sym_end] = ACTIONS(2421), + [sym_identifier] = ACTIONS(2419), + [aux_sym_preproc_include_token1] = ACTIONS(2419), + [aux_sym_preproc_def_token1] = ACTIONS(2419), + [aux_sym_preproc_if_token1] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2419), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2419), + [sym_preproc_directive] = ACTIONS(2419), + [anon_sym_LPAREN2] = ACTIONS(2421), + [anon_sym_BANG] = ACTIONS(2421), + [anon_sym_TILDE] = ACTIONS(2421), + [anon_sym_DASH] = ACTIONS(2419), + [anon_sym_PLUS] = ACTIONS(2419), + [anon_sym_STAR] = ACTIONS(2421), + [anon_sym_AMP_AMP] = ACTIONS(2421), + [anon_sym_AMP] = ACTIONS(2419), + [anon_sym_SEMI] = ACTIONS(2421), + [anon_sym_typedef] = ACTIONS(2419), + [anon_sym_extern] = ACTIONS(2419), + [anon_sym___attribute__] = ACTIONS(2419), + [anon_sym_COLON_COLON] = ACTIONS(2421), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2421), + [anon_sym___declspec] = ACTIONS(2419), + [anon_sym___based] = ACTIONS(2419), + [anon_sym___cdecl] = ACTIONS(2419), + [anon_sym___clrcall] = ACTIONS(2419), + [anon_sym___stdcall] = ACTIONS(2419), + [anon_sym___fastcall] = ACTIONS(2419), + [anon_sym___thiscall] = ACTIONS(2419), + [anon_sym___vectorcall] = ACTIONS(2419), + [anon_sym_LBRACE] = ACTIONS(2421), + [anon_sym_LBRACK] = ACTIONS(2419), + [anon_sym_static] = ACTIONS(2419), + [anon_sym_register] = ACTIONS(2419), + [anon_sym_inline] = ACTIONS(2419), + [anon_sym_thread_local] = ACTIONS(2419), + [anon_sym_const] = ACTIONS(2419), + [anon_sym_volatile] = ACTIONS(2419), + [anon_sym_restrict] = ACTIONS(2419), + [anon_sym__Atomic] = ACTIONS(2419), + [anon_sym_mutable] = ACTIONS(2419), + [anon_sym_constexpr] = ACTIONS(2419), + [anon_sym_constinit] = ACTIONS(2419), + [anon_sym_consteval] = ACTIONS(2419), + [anon_sym_signed] = ACTIONS(2419), + [anon_sym_unsigned] = ACTIONS(2419), + [anon_sym_long] = ACTIONS(2419), + [anon_sym_short] = ACTIONS(2419), + [sym_primitive_type] = ACTIONS(2419), + [anon_sym_enum] = ACTIONS(2419), + [anon_sym_class] = ACTIONS(2419), + [anon_sym_struct] = ACTIONS(2419), + [anon_sym_union] = ACTIONS(2419), + [anon_sym_if] = ACTIONS(2419), + [anon_sym_switch] = ACTIONS(2419), + [anon_sym_case] = ACTIONS(2419), + [anon_sym_default] = ACTIONS(2419), + [anon_sym_while] = ACTIONS(2419), + [anon_sym_do] = ACTIONS(2419), + [anon_sym_for] = ACTIONS(2419), + [anon_sym_return] = ACTIONS(2419), + [anon_sym_break] = ACTIONS(2419), + [anon_sym_continue] = ACTIONS(2419), + [anon_sym_goto] = ACTIONS(2419), + [anon_sym_DASH_DASH] = ACTIONS(2421), + [anon_sym_PLUS_PLUS] = ACTIONS(2421), + [anon_sym_sizeof] = ACTIONS(2419), + [sym_number_literal] = ACTIONS(2421), + [anon_sym_L_SQUOTE] = ACTIONS(2421), + [anon_sym_u_SQUOTE] = ACTIONS(2421), + [anon_sym_U_SQUOTE] = ACTIONS(2421), + [anon_sym_u8_SQUOTE] = ACTIONS(2421), + [anon_sym_SQUOTE] = ACTIONS(2421), + [anon_sym_L_DQUOTE] = ACTIONS(2421), + [anon_sym_u_DQUOTE] = ACTIONS(2421), + [anon_sym_U_DQUOTE] = ACTIONS(2421), + [anon_sym_u8_DQUOTE] = ACTIONS(2421), + [anon_sym_DQUOTE] = ACTIONS(2421), + [sym_true] = ACTIONS(2419), + [sym_false] = ACTIONS(2419), + [sym_null] = ACTIONS(2419), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2419), + [anon_sym_decltype] = ACTIONS(2419), + [anon_sym_virtual] = ACTIONS(2419), + [anon_sym_explicit] = ACTIONS(2419), + [anon_sym_typename] = ACTIONS(2419), + [anon_sym_template] = ACTIONS(2419), + [anon_sym_operator] = ACTIONS(2419), + [anon_sym_delete] = ACTIONS(2419), + [anon_sym_throw] = ACTIONS(2419), + [anon_sym_namespace] = ACTIONS(2419), + [anon_sym_using] = ACTIONS(2419), + [anon_sym_static_assert] = ACTIONS(2419), + [anon_sym_concept] = ACTIONS(2419), + [anon_sym_co_return] = ACTIONS(2419), + [anon_sym_co_yield] = ACTIONS(2419), + [anon_sym_try] = ACTIONS(2419), + [anon_sym_co_await] = ACTIONS(2419), + [anon_sym_new] = ACTIONS(2419), + [anon_sym_requires] = ACTIONS(2419), + [sym_this] = ACTIONS(2419), + [sym_nullptr] = ACTIONS(2419), + [sym_raw_string_literal] = ACTIONS(2421), + }, + [844] = { + [ts_builtin_sym_end] = ACTIONS(2207), + [sym_identifier] = ACTIONS(2205), + [aux_sym_preproc_include_token1] = ACTIONS(2205), + [aux_sym_preproc_def_token1] = ACTIONS(2205), + [aux_sym_preproc_if_token1] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2205), + [sym_preproc_directive] = ACTIONS(2205), + [anon_sym_LPAREN2] = ACTIONS(2207), + [anon_sym_BANG] = ACTIONS(2207), + [anon_sym_TILDE] = ACTIONS(2207), + [anon_sym_DASH] = ACTIONS(2205), + [anon_sym_PLUS] = ACTIONS(2205), + [anon_sym_STAR] = ACTIONS(2207), + [anon_sym_AMP_AMP] = ACTIONS(2207), + [anon_sym_AMP] = ACTIONS(2205), + [anon_sym_SEMI] = ACTIONS(2207), + [anon_sym_typedef] = ACTIONS(2205), + [anon_sym_extern] = ACTIONS(2205), + [anon_sym___attribute__] = ACTIONS(2205), + [anon_sym_COLON_COLON] = ACTIONS(2207), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2207), + [anon_sym___declspec] = ACTIONS(2205), + [anon_sym___based] = ACTIONS(2205), + [anon_sym___cdecl] = ACTIONS(2205), + [anon_sym___clrcall] = ACTIONS(2205), + [anon_sym___stdcall] = ACTIONS(2205), + [anon_sym___fastcall] = ACTIONS(2205), + [anon_sym___thiscall] = ACTIONS(2205), + [anon_sym___vectorcall] = ACTIONS(2205), + [anon_sym_LBRACE] = ACTIONS(2207), + [anon_sym_LBRACK] = ACTIONS(2205), + [anon_sym_static] = ACTIONS(2205), + [anon_sym_register] = ACTIONS(2205), + [anon_sym_inline] = ACTIONS(2205), + [anon_sym_thread_local] = ACTIONS(2205), + [anon_sym_const] = ACTIONS(2205), + [anon_sym_volatile] = ACTIONS(2205), + [anon_sym_restrict] = ACTIONS(2205), + [anon_sym__Atomic] = ACTIONS(2205), + [anon_sym_mutable] = ACTIONS(2205), + [anon_sym_constexpr] = ACTIONS(2205), + [anon_sym_constinit] = ACTIONS(2205), + [anon_sym_consteval] = ACTIONS(2205), + [anon_sym_signed] = ACTIONS(2205), + [anon_sym_unsigned] = ACTIONS(2205), + [anon_sym_long] = ACTIONS(2205), + [anon_sym_short] = ACTIONS(2205), + [sym_primitive_type] = ACTIONS(2205), + [anon_sym_enum] = ACTIONS(2205), + [anon_sym_class] = ACTIONS(2205), + [anon_sym_struct] = ACTIONS(2205), + [anon_sym_union] = ACTIONS(2205), + [anon_sym_if] = ACTIONS(2205), + [anon_sym_switch] = ACTIONS(2205), + [anon_sym_case] = ACTIONS(2205), + [anon_sym_default] = ACTIONS(2205), + [anon_sym_while] = ACTIONS(2205), + [anon_sym_do] = ACTIONS(2205), + [anon_sym_for] = ACTIONS(2205), + [anon_sym_return] = ACTIONS(2205), + [anon_sym_break] = ACTIONS(2205), + [anon_sym_continue] = ACTIONS(2205), + [anon_sym_goto] = ACTIONS(2205), + [anon_sym_DASH_DASH] = ACTIONS(2207), + [anon_sym_PLUS_PLUS] = ACTIONS(2207), + [anon_sym_sizeof] = ACTIONS(2205), + [sym_number_literal] = ACTIONS(2207), + [anon_sym_L_SQUOTE] = ACTIONS(2207), + [anon_sym_u_SQUOTE] = ACTIONS(2207), + [anon_sym_U_SQUOTE] = ACTIONS(2207), + [anon_sym_u8_SQUOTE] = ACTIONS(2207), + [anon_sym_SQUOTE] = ACTIONS(2207), + [anon_sym_L_DQUOTE] = ACTIONS(2207), + [anon_sym_u_DQUOTE] = ACTIONS(2207), + [anon_sym_U_DQUOTE] = ACTIONS(2207), + [anon_sym_u8_DQUOTE] = ACTIONS(2207), + [anon_sym_DQUOTE] = ACTIONS(2207), + [sym_true] = ACTIONS(2205), + [sym_false] = ACTIONS(2205), + [sym_null] = ACTIONS(2205), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2205), + [anon_sym_decltype] = ACTIONS(2205), + [anon_sym_virtual] = ACTIONS(2205), + [anon_sym_explicit] = ACTIONS(2205), + [anon_sym_typename] = ACTIONS(2205), + [anon_sym_template] = ACTIONS(2205), + [anon_sym_operator] = ACTIONS(2205), + [anon_sym_delete] = ACTIONS(2205), + [anon_sym_throw] = ACTIONS(2205), + [anon_sym_namespace] = ACTIONS(2205), + [anon_sym_using] = ACTIONS(2205), + [anon_sym_static_assert] = ACTIONS(2205), + [anon_sym_concept] = ACTIONS(2205), + [anon_sym_co_return] = ACTIONS(2205), + [anon_sym_co_yield] = ACTIONS(2205), + [anon_sym_try] = ACTIONS(2205), + [anon_sym_co_await] = ACTIONS(2205), + [anon_sym_new] = ACTIONS(2205), + [anon_sym_requires] = ACTIONS(2205), + [sym_this] = ACTIONS(2205), + [sym_nullptr] = ACTIONS(2205), + [sym_raw_string_literal] = ACTIONS(2207), + }, + [845] = { + [ts_builtin_sym_end] = ACTIONS(2325), + [sym_identifier] = ACTIONS(2323), + [aux_sym_preproc_include_token1] = ACTIONS(2323), + [aux_sym_preproc_def_token1] = ACTIONS(2323), + [aux_sym_preproc_if_token1] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2323), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2323), + [sym_preproc_directive] = ACTIONS(2323), + [anon_sym_LPAREN2] = ACTIONS(2325), + [anon_sym_BANG] = ACTIONS(2325), + [anon_sym_TILDE] = ACTIONS(2325), + [anon_sym_DASH] = ACTIONS(2323), + [anon_sym_PLUS] = ACTIONS(2323), + [anon_sym_STAR] = ACTIONS(2325), + [anon_sym_AMP_AMP] = ACTIONS(2325), + [anon_sym_AMP] = ACTIONS(2323), + [anon_sym_SEMI] = ACTIONS(2325), + [anon_sym_typedef] = ACTIONS(2323), + [anon_sym_extern] = ACTIONS(2323), + [anon_sym___attribute__] = ACTIONS(2323), + [anon_sym_COLON_COLON] = ACTIONS(2325), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2325), + [anon_sym___declspec] = ACTIONS(2323), + [anon_sym___based] = ACTIONS(2323), + [anon_sym___cdecl] = ACTIONS(2323), + [anon_sym___clrcall] = ACTIONS(2323), + [anon_sym___stdcall] = ACTIONS(2323), + [anon_sym___fastcall] = ACTIONS(2323), + [anon_sym___thiscall] = ACTIONS(2323), + [anon_sym___vectorcall] = ACTIONS(2323), + [anon_sym_LBRACE] = ACTIONS(2325), + [anon_sym_LBRACK] = ACTIONS(2323), + [anon_sym_static] = ACTIONS(2323), + [anon_sym_register] = ACTIONS(2323), + [anon_sym_inline] = ACTIONS(2323), + [anon_sym_thread_local] = ACTIONS(2323), + [anon_sym_const] = ACTIONS(2323), + [anon_sym_volatile] = ACTIONS(2323), + [anon_sym_restrict] = ACTIONS(2323), + [anon_sym__Atomic] = ACTIONS(2323), + [anon_sym_mutable] = ACTIONS(2323), + [anon_sym_constexpr] = ACTIONS(2323), + [anon_sym_constinit] = ACTIONS(2323), + [anon_sym_consteval] = ACTIONS(2323), + [anon_sym_signed] = ACTIONS(2323), + [anon_sym_unsigned] = ACTIONS(2323), + [anon_sym_long] = ACTIONS(2323), + [anon_sym_short] = ACTIONS(2323), + [sym_primitive_type] = ACTIONS(2323), + [anon_sym_enum] = ACTIONS(2323), + [anon_sym_class] = ACTIONS(2323), + [anon_sym_struct] = ACTIONS(2323), + [anon_sym_union] = ACTIONS(2323), + [anon_sym_if] = ACTIONS(2323), + [anon_sym_switch] = ACTIONS(2323), + [anon_sym_case] = ACTIONS(2323), + [anon_sym_default] = ACTIONS(2323), + [anon_sym_while] = ACTIONS(2323), + [anon_sym_do] = ACTIONS(2323), + [anon_sym_for] = ACTIONS(2323), + [anon_sym_return] = ACTIONS(2323), + [anon_sym_break] = ACTIONS(2323), + [anon_sym_continue] = ACTIONS(2323), + [anon_sym_goto] = ACTIONS(2323), + [anon_sym_DASH_DASH] = ACTIONS(2325), + [anon_sym_PLUS_PLUS] = ACTIONS(2325), + [anon_sym_sizeof] = ACTIONS(2323), + [sym_number_literal] = ACTIONS(2325), + [anon_sym_L_SQUOTE] = ACTIONS(2325), + [anon_sym_u_SQUOTE] = ACTIONS(2325), + [anon_sym_U_SQUOTE] = ACTIONS(2325), + [anon_sym_u8_SQUOTE] = ACTIONS(2325), + [anon_sym_SQUOTE] = ACTIONS(2325), + [anon_sym_L_DQUOTE] = ACTIONS(2325), + [anon_sym_u_DQUOTE] = ACTIONS(2325), + [anon_sym_U_DQUOTE] = ACTIONS(2325), + [anon_sym_u8_DQUOTE] = ACTIONS(2325), + [anon_sym_DQUOTE] = ACTIONS(2325), + [sym_true] = ACTIONS(2323), + [sym_false] = ACTIONS(2323), + [sym_null] = ACTIONS(2323), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2323), + [anon_sym_decltype] = ACTIONS(2323), + [anon_sym_virtual] = ACTIONS(2323), + [anon_sym_explicit] = ACTIONS(2323), + [anon_sym_typename] = ACTIONS(2323), + [anon_sym_template] = ACTIONS(2323), + [anon_sym_operator] = ACTIONS(2323), + [anon_sym_delete] = ACTIONS(2323), + [anon_sym_throw] = ACTIONS(2323), + [anon_sym_namespace] = ACTIONS(2323), + [anon_sym_using] = ACTIONS(2323), + [anon_sym_static_assert] = ACTIONS(2323), + [anon_sym_concept] = ACTIONS(2323), + [anon_sym_co_return] = ACTIONS(2323), + [anon_sym_co_yield] = ACTIONS(2323), + [anon_sym_try] = ACTIONS(2323), + [anon_sym_co_await] = ACTIONS(2323), + [anon_sym_new] = ACTIONS(2323), + [anon_sym_requires] = ACTIONS(2323), + [sym_this] = ACTIONS(2323), + [sym_nullptr] = ACTIONS(2323), + [sym_raw_string_literal] = ACTIONS(2325), + }, + [846] = { + [ts_builtin_sym_end] = ACTIONS(2253), + [sym_identifier] = ACTIONS(2251), + [aux_sym_preproc_include_token1] = ACTIONS(2251), + [aux_sym_preproc_def_token1] = ACTIONS(2251), + [aux_sym_preproc_if_token1] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2251), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2251), + [sym_preproc_directive] = ACTIONS(2251), + [anon_sym_LPAREN2] = ACTIONS(2253), + [anon_sym_BANG] = ACTIONS(2253), + [anon_sym_TILDE] = ACTIONS(2253), + [anon_sym_DASH] = ACTIONS(2251), + [anon_sym_PLUS] = ACTIONS(2251), + [anon_sym_STAR] = ACTIONS(2253), + [anon_sym_AMP_AMP] = ACTIONS(2253), + [anon_sym_AMP] = ACTIONS(2251), + [anon_sym_SEMI] = ACTIONS(2253), + [anon_sym_typedef] = ACTIONS(2251), + [anon_sym_extern] = ACTIONS(2251), + [anon_sym___attribute__] = ACTIONS(2251), + [anon_sym_COLON_COLON] = ACTIONS(2253), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2253), + [anon_sym___declspec] = ACTIONS(2251), + [anon_sym___based] = ACTIONS(2251), + [anon_sym___cdecl] = ACTIONS(2251), + [anon_sym___clrcall] = ACTIONS(2251), + [anon_sym___stdcall] = ACTIONS(2251), + [anon_sym___fastcall] = ACTIONS(2251), + [anon_sym___thiscall] = ACTIONS(2251), + [anon_sym___vectorcall] = ACTIONS(2251), + [anon_sym_LBRACE] = ACTIONS(2253), + [anon_sym_LBRACK] = ACTIONS(2251), + [anon_sym_static] = ACTIONS(2251), + [anon_sym_register] = ACTIONS(2251), + [anon_sym_inline] = ACTIONS(2251), + [anon_sym_thread_local] = ACTIONS(2251), + [anon_sym_const] = ACTIONS(2251), + [anon_sym_volatile] = ACTIONS(2251), + [anon_sym_restrict] = ACTIONS(2251), + [anon_sym__Atomic] = ACTIONS(2251), + [anon_sym_mutable] = ACTIONS(2251), + [anon_sym_constexpr] = ACTIONS(2251), + [anon_sym_constinit] = ACTIONS(2251), + [anon_sym_consteval] = ACTIONS(2251), + [anon_sym_signed] = ACTIONS(2251), + [anon_sym_unsigned] = ACTIONS(2251), + [anon_sym_long] = ACTIONS(2251), + [anon_sym_short] = ACTIONS(2251), + [sym_primitive_type] = ACTIONS(2251), + [anon_sym_enum] = ACTIONS(2251), + [anon_sym_class] = ACTIONS(2251), + [anon_sym_struct] = ACTIONS(2251), + [anon_sym_union] = ACTIONS(2251), + [anon_sym_if] = ACTIONS(2251), + [anon_sym_switch] = ACTIONS(2251), + [anon_sym_case] = ACTIONS(2251), + [anon_sym_default] = ACTIONS(2251), + [anon_sym_while] = ACTIONS(2251), + [anon_sym_do] = ACTIONS(2251), + [anon_sym_for] = ACTIONS(2251), + [anon_sym_return] = ACTIONS(2251), + [anon_sym_break] = ACTIONS(2251), + [anon_sym_continue] = ACTIONS(2251), + [anon_sym_goto] = ACTIONS(2251), + [anon_sym_DASH_DASH] = ACTIONS(2253), + [anon_sym_PLUS_PLUS] = ACTIONS(2253), + [anon_sym_sizeof] = ACTIONS(2251), + [sym_number_literal] = ACTIONS(2253), + [anon_sym_L_SQUOTE] = ACTIONS(2253), + [anon_sym_u_SQUOTE] = ACTIONS(2253), + [anon_sym_U_SQUOTE] = ACTIONS(2253), + [anon_sym_u8_SQUOTE] = ACTIONS(2253), + [anon_sym_SQUOTE] = ACTIONS(2253), + [anon_sym_L_DQUOTE] = ACTIONS(2253), + [anon_sym_u_DQUOTE] = ACTIONS(2253), + [anon_sym_U_DQUOTE] = ACTIONS(2253), + [anon_sym_u8_DQUOTE] = ACTIONS(2253), + [anon_sym_DQUOTE] = ACTIONS(2253), + [sym_true] = ACTIONS(2251), + [sym_false] = ACTIONS(2251), + [sym_null] = ACTIONS(2251), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2251), + [anon_sym_decltype] = ACTIONS(2251), + [anon_sym_virtual] = ACTIONS(2251), + [anon_sym_explicit] = ACTIONS(2251), + [anon_sym_typename] = ACTIONS(2251), + [anon_sym_template] = ACTIONS(2251), + [anon_sym_operator] = ACTIONS(2251), + [anon_sym_delete] = ACTIONS(2251), + [anon_sym_throw] = ACTIONS(2251), + [anon_sym_namespace] = ACTIONS(2251), + [anon_sym_using] = ACTIONS(2251), + [anon_sym_static_assert] = ACTIONS(2251), + [anon_sym_concept] = ACTIONS(2251), + [anon_sym_co_return] = ACTIONS(2251), + [anon_sym_co_yield] = ACTIONS(2251), + [anon_sym_try] = ACTIONS(2251), + [anon_sym_co_await] = ACTIONS(2251), + [anon_sym_new] = ACTIONS(2251), + [anon_sym_requires] = ACTIONS(2251), + [sym_this] = ACTIONS(2251), + [sym_nullptr] = ACTIONS(2251), + [sym_raw_string_literal] = ACTIONS(2253), + }, + [847] = { + [ts_builtin_sym_end] = ACTIONS(2187), + [sym_identifier] = ACTIONS(2185), + [aux_sym_preproc_include_token1] = ACTIONS(2185), + [aux_sym_preproc_def_token1] = ACTIONS(2185), + [aux_sym_preproc_if_token1] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2185), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2185), + [sym_preproc_directive] = ACTIONS(2185), + [anon_sym_LPAREN2] = ACTIONS(2187), + [anon_sym_BANG] = ACTIONS(2187), + [anon_sym_TILDE] = ACTIONS(2187), + [anon_sym_DASH] = ACTIONS(2185), + [anon_sym_PLUS] = ACTIONS(2185), + [anon_sym_STAR] = ACTIONS(2187), + [anon_sym_AMP_AMP] = ACTIONS(2187), + [anon_sym_AMP] = ACTIONS(2185), + [anon_sym_SEMI] = ACTIONS(2187), + [anon_sym_typedef] = ACTIONS(2185), + [anon_sym_extern] = ACTIONS(2185), + [anon_sym___attribute__] = ACTIONS(2185), + [anon_sym_COLON_COLON] = ACTIONS(2187), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2187), + [anon_sym___declspec] = ACTIONS(2185), + [anon_sym___based] = ACTIONS(2185), + [anon_sym___cdecl] = ACTIONS(2185), + [anon_sym___clrcall] = ACTIONS(2185), + [anon_sym___stdcall] = ACTIONS(2185), + [anon_sym___fastcall] = ACTIONS(2185), + [anon_sym___thiscall] = ACTIONS(2185), + [anon_sym___vectorcall] = ACTIONS(2185), + [anon_sym_LBRACE] = ACTIONS(2187), + [anon_sym_LBRACK] = ACTIONS(2185), + [anon_sym_static] = ACTIONS(2185), + [anon_sym_register] = ACTIONS(2185), + [anon_sym_inline] = ACTIONS(2185), + [anon_sym_thread_local] = ACTIONS(2185), + [anon_sym_const] = ACTIONS(2185), + [anon_sym_volatile] = ACTIONS(2185), + [anon_sym_restrict] = ACTIONS(2185), + [anon_sym__Atomic] = ACTIONS(2185), + [anon_sym_mutable] = ACTIONS(2185), + [anon_sym_constexpr] = ACTIONS(2185), + [anon_sym_constinit] = ACTIONS(2185), + [anon_sym_consteval] = ACTIONS(2185), + [anon_sym_signed] = ACTIONS(2185), + [anon_sym_unsigned] = ACTIONS(2185), + [anon_sym_long] = ACTIONS(2185), + [anon_sym_short] = ACTIONS(2185), + [sym_primitive_type] = ACTIONS(2185), + [anon_sym_enum] = ACTIONS(2185), + [anon_sym_class] = ACTIONS(2185), + [anon_sym_struct] = ACTIONS(2185), + [anon_sym_union] = ACTIONS(2185), + [anon_sym_if] = ACTIONS(2185), + [anon_sym_switch] = ACTIONS(2185), + [anon_sym_case] = ACTIONS(2185), + [anon_sym_default] = ACTIONS(2185), + [anon_sym_while] = ACTIONS(2185), + [anon_sym_do] = ACTIONS(2185), + [anon_sym_for] = ACTIONS(2185), + [anon_sym_return] = ACTIONS(2185), + [anon_sym_break] = ACTIONS(2185), + [anon_sym_continue] = ACTIONS(2185), + [anon_sym_goto] = ACTIONS(2185), + [anon_sym_DASH_DASH] = ACTIONS(2187), + [anon_sym_PLUS_PLUS] = ACTIONS(2187), + [anon_sym_sizeof] = ACTIONS(2185), + [sym_number_literal] = ACTIONS(2187), + [anon_sym_L_SQUOTE] = ACTIONS(2187), + [anon_sym_u_SQUOTE] = ACTIONS(2187), + [anon_sym_U_SQUOTE] = ACTIONS(2187), + [anon_sym_u8_SQUOTE] = ACTIONS(2187), + [anon_sym_SQUOTE] = ACTIONS(2187), + [anon_sym_L_DQUOTE] = ACTIONS(2187), + [anon_sym_u_DQUOTE] = ACTIONS(2187), + [anon_sym_U_DQUOTE] = ACTIONS(2187), + [anon_sym_u8_DQUOTE] = ACTIONS(2187), + [anon_sym_DQUOTE] = ACTIONS(2187), + [sym_true] = ACTIONS(2185), + [sym_false] = ACTIONS(2185), + [sym_null] = ACTIONS(2185), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2185), + [anon_sym_decltype] = ACTIONS(2185), + [anon_sym_virtual] = ACTIONS(2185), + [anon_sym_explicit] = ACTIONS(2185), + [anon_sym_typename] = ACTIONS(2185), + [anon_sym_template] = ACTIONS(2185), + [anon_sym_operator] = ACTIONS(2185), + [anon_sym_delete] = ACTIONS(2185), + [anon_sym_throw] = ACTIONS(2185), + [anon_sym_namespace] = ACTIONS(2185), + [anon_sym_using] = ACTIONS(2185), + [anon_sym_static_assert] = ACTIONS(2185), + [anon_sym_concept] = ACTIONS(2185), + [anon_sym_co_return] = ACTIONS(2185), + [anon_sym_co_yield] = ACTIONS(2185), + [anon_sym_try] = ACTIONS(2185), + [anon_sym_co_await] = ACTIONS(2185), + [anon_sym_new] = ACTIONS(2185), + [anon_sym_requires] = ACTIONS(2185), + [sym_this] = ACTIONS(2185), + [sym_nullptr] = ACTIONS(2185), + [sym_raw_string_literal] = ACTIONS(2187), + }, + [848] = { + [sym_identifier] = ACTIONS(2415), + [aux_sym_preproc_include_token1] = ACTIONS(2415), + [aux_sym_preproc_def_token1] = ACTIONS(2415), + [aux_sym_preproc_if_token1] = ACTIONS(2415), + [aux_sym_preproc_if_token2] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2415), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2415), + [sym_preproc_directive] = ACTIONS(2415), + [anon_sym_LPAREN2] = ACTIONS(2417), + [anon_sym_BANG] = ACTIONS(2417), + [anon_sym_TILDE] = ACTIONS(2417), + [anon_sym_DASH] = ACTIONS(2415), + [anon_sym_PLUS] = ACTIONS(2415), + [anon_sym_STAR] = ACTIONS(2417), + [anon_sym_AMP_AMP] = ACTIONS(2417), + [anon_sym_AMP] = ACTIONS(2415), + [anon_sym_SEMI] = ACTIONS(2417), + [anon_sym_typedef] = ACTIONS(2415), + [anon_sym_extern] = ACTIONS(2415), + [anon_sym___attribute__] = ACTIONS(2415), + [anon_sym_COLON_COLON] = ACTIONS(2417), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2417), + [anon_sym___declspec] = ACTIONS(2415), + [anon_sym___based] = ACTIONS(2415), + [anon_sym___cdecl] = ACTIONS(2415), + [anon_sym___clrcall] = ACTIONS(2415), + [anon_sym___stdcall] = ACTIONS(2415), + [anon_sym___fastcall] = ACTIONS(2415), + [anon_sym___thiscall] = ACTIONS(2415), + [anon_sym___vectorcall] = ACTIONS(2415), + [anon_sym_LBRACE] = ACTIONS(2417), + [anon_sym_LBRACK] = ACTIONS(2415), + [anon_sym_static] = ACTIONS(2415), + [anon_sym_register] = ACTIONS(2415), + [anon_sym_inline] = ACTIONS(2415), + [anon_sym_thread_local] = ACTIONS(2415), + [anon_sym_const] = ACTIONS(2415), + [anon_sym_volatile] = ACTIONS(2415), + [anon_sym_restrict] = ACTIONS(2415), + [anon_sym__Atomic] = ACTIONS(2415), + [anon_sym_mutable] = ACTIONS(2415), + [anon_sym_constexpr] = ACTIONS(2415), + [anon_sym_constinit] = ACTIONS(2415), + [anon_sym_consteval] = ACTIONS(2415), + [anon_sym_signed] = ACTIONS(2415), + [anon_sym_unsigned] = ACTIONS(2415), + [anon_sym_long] = ACTIONS(2415), + [anon_sym_short] = ACTIONS(2415), + [sym_primitive_type] = ACTIONS(2415), + [anon_sym_enum] = ACTIONS(2415), + [anon_sym_class] = ACTIONS(2415), + [anon_sym_struct] = ACTIONS(2415), + [anon_sym_union] = ACTIONS(2415), + [anon_sym_if] = ACTIONS(2415), + [anon_sym_switch] = ACTIONS(2415), + [anon_sym_case] = ACTIONS(2415), + [anon_sym_default] = ACTIONS(2415), + [anon_sym_while] = ACTIONS(2415), + [anon_sym_do] = ACTIONS(2415), + [anon_sym_for] = ACTIONS(2415), + [anon_sym_return] = ACTIONS(2415), + [anon_sym_break] = ACTIONS(2415), + [anon_sym_continue] = ACTIONS(2415), + [anon_sym_goto] = ACTIONS(2415), + [anon_sym_DASH_DASH] = ACTIONS(2417), + [anon_sym_PLUS_PLUS] = ACTIONS(2417), + [anon_sym_sizeof] = ACTIONS(2415), + [sym_number_literal] = ACTIONS(2417), + [anon_sym_L_SQUOTE] = ACTIONS(2417), + [anon_sym_u_SQUOTE] = ACTIONS(2417), + [anon_sym_U_SQUOTE] = ACTIONS(2417), + [anon_sym_u8_SQUOTE] = ACTIONS(2417), + [anon_sym_SQUOTE] = ACTIONS(2417), + [anon_sym_L_DQUOTE] = ACTIONS(2417), + [anon_sym_u_DQUOTE] = ACTIONS(2417), + [anon_sym_U_DQUOTE] = ACTIONS(2417), + [anon_sym_u8_DQUOTE] = ACTIONS(2417), + [anon_sym_DQUOTE] = ACTIONS(2417), + [sym_true] = ACTIONS(2415), + [sym_false] = ACTIONS(2415), + [sym_null] = ACTIONS(2415), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2415), + [anon_sym_decltype] = ACTIONS(2415), + [anon_sym_virtual] = ACTIONS(2415), + [anon_sym_explicit] = ACTIONS(2415), + [anon_sym_typename] = ACTIONS(2415), + [anon_sym_template] = ACTIONS(2415), + [anon_sym_operator] = ACTIONS(2415), + [anon_sym_delete] = ACTIONS(2415), + [anon_sym_throw] = ACTIONS(2415), + [anon_sym_namespace] = ACTIONS(2415), + [anon_sym_using] = ACTIONS(2415), + [anon_sym_static_assert] = ACTIONS(2415), + [anon_sym_concept] = ACTIONS(2415), + [anon_sym_co_return] = ACTIONS(2415), + [anon_sym_co_yield] = ACTIONS(2415), + [anon_sym_try] = ACTIONS(2415), + [anon_sym_co_await] = ACTIONS(2415), + [anon_sym_new] = ACTIONS(2415), + [anon_sym_requires] = ACTIONS(2415), + [sym_this] = ACTIONS(2415), + [sym_nullptr] = ACTIONS(2415), + [sym_raw_string_literal] = ACTIONS(2417), + }, + [849] = { + [ts_builtin_sym_end] = ACTIONS(2321), + [sym_identifier] = ACTIONS(2319), + [aux_sym_preproc_include_token1] = ACTIONS(2319), + [aux_sym_preproc_def_token1] = ACTIONS(2319), + [aux_sym_preproc_if_token1] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2319), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2319), + [sym_preproc_directive] = ACTIONS(2319), + [anon_sym_LPAREN2] = ACTIONS(2321), + [anon_sym_BANG] = ACTIONS(2321), + [anon_sym_TILDE] = ACTIONS(2321), + [anon_sym_DASH] = ACTIONS(2319), + [anon_sym_PLUS] = ACTIONS(2319), + [anon_sym_STAR] = ACTIONS(2321), + [anon_sym_AMP_AMP] = ACTIONS(2321), + [anon_sym_AMP] = ACTIONS(2319), + [anon_sym_SEMI] = ACTIONS(2321), + [anon_sym_typedef] = ACTIONS(2319), + [anon_sym_extern] = ACTIONS(2319), + [anon_sym___attribute__] = ACTIONS(2319), + [anon_sym_COLON_COLON] = ACTIONS(2321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2321), + [anon_sym___declspec] = ACTIONS(2319), + [anon_sym___based] = ACTIONS(2319), + [anon_sym___cdecl] = ACTIONS(2319), + [anon_sym___clrcall] = ACTIONS(2319), + [anon_sym___stdcall] = ACTIONS(2319), + [anon_sym___fastcall] = ACTIONS(2319), + [anon_sym___thiscall] = ACTIONS(2319), + [anon_sym___vectorcall] = ACTIONS(2319), + [anon_sym_LBRACE] = ACTIONS(2321), + [anon_sym_LBRACK] = ACTIONS(2319), + [anon_sym_static] = ACTIONS(2319), + [anon_sym_register] = ACTIONS(2319), + [anon_sym_inline] = ACTIONS(2319), + [anon_sym_thread_local] = ACTIONS(2319), + [anon_sym_const] = ACTIONS(2319), + [anon_sym_volatile] = ACTIONS(2319), + [anon_sym_restrict] = ACTIONS(2319), + [anon_sym__Atomic] = ACTIONS(2319), + [anon_sym_mutable] = ACTIONS(2319), + [anon_sym_constexpr] = ACTIONS(2319), + [anon_sym_constinit] = ACTIONS(2319), + [anon_sym_consteval] = ACTIONS(2319), + [anon_sym_signed] = ACTIONS(2319), + [anon_sym_unsigned] = ACTIONS(2319), + [anon_sym_long] = ACTIONS(2319), + [anon_sym_short] = ACTIONS(2319), + [sym_primitive_type] = ACTIONS(2319), + [anon_sym_enum] = ACTIONS(2319), + [anon_sym_class] = ACTIONS(2319), + [anon_sym_struct] = ACTIONS(2319), + [anon_sym_union] = ACTIONS(2319), + [anon_sym_if] = ACTIONS(2319), + [anon_sym_switch] = ACTIONS(2319), + [anon_sym_case] = ACTIONS(2319), + [anon_sym_default] = ACTIONS(2319), + [anon_sym_while] = ACTIONS(2319), + [anon_sym_do] = ACTIONS(2319), + [anon_sym_for] = ACTIONS(2319), + [anon_sym_return] = ACTIONS(2319), + [anon_sym_break] = ACTIONS(2319), + [anon_sym_continue] = ACTIONS(2319), + [anon_sym_goto] = ACTIONS(2319), + [anon_sym_DASH_DASH] = ACTIONS(2321), + [anon_sym_PLUS_PLUS] = ACTIONS(2321), + [anon_sym_sizeof] = ACTIONS(2319), + [sym_number_literal] = ACTIONS(2321), + [anon_sym_L_SQUOTE] = ACTIONS(2321), + [anon_sym_u_SQUOTE] = ACTIONS(2321), + [anon_sym_U_SQUOTE] = ACTIONS(2321), + [anon_sym_u8_SQUOTE] = ACTIONS(2321), + [anon_sym_SQUOTE] = ACTIONS(2321), + [anon_sym_L_DQUOTE] = ACTIONS(2321), + [anon_sym_u_DQUOTE] = ACTIONS(2321), + [anon_sym_U_DQUOTE] = ACTIONS(2321), + [anon_sym_u8_DQUOTE] = ACTIONS(2321), + [anon_sym_DQUOTE] = ACTIONS(2321), + [sym_true] = ACTIONS(2319), + [sym_false] = ACTIONS(2319), + [sym_null] = ACTIONS(2319), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2319), + [anon_sym_decltype] = ACTIONS(2319), + [anon_sym_virtual] = ACTIONS(2319), + [anon_sym_explicit] = ACTIONS(2319), + [anon_sym_typename] = ACTIONS(2319), + [anon_sym_template] = ACTIONS(2319), + [anon_sym_operator] = ACTIONS(2319), + [anon_sym_delete] = ACTIONS(2319), + [anon_sym_throw] = ACTIONS(2319), + [anon_sym_namespace] = ACTIONS(2319), + [anon_sym_using] = ACTIONS(2319), + [anon_sym_static_assert] = ACTIONS(2319), + [anon_sym_concept] = ACTIONS(2319), + [anon_sym_co_return] = ACTIONS(2319), + [anon_sym_co_yield] = ACTIONS(2319), + [anon_sym_try] = ACTIONS(2319), + [anon_sym_co_await] = ACTIONS(2319), + [anon_sym_new] = ACTIONS(2319), + [anon_sym_requires] = ACTIONS(2319), + [sym_this] = ACTIONS(2319), + [sym_nullptr] = ACTIONS(2319), + [sym_raw_string_literal] = ACTIONS(2321), + }, + [850] = { + [ts_builtin_sym_end] = ACTIONS(2241), + [sym_identifier] = ACTIONS(2239), + [aux_sym_preproc_include_token1] = ACTIONS(2239), + [aux_sym_preproc_def_token1] = ACTIONS(2239), + [aux_sym_preproc_if_token1] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2239), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2239), + [sym_preproc_directive] = ACTIONS(2239), + [anon_sym_LPAREN2] = ACTIONS(2241), + [anon_sym_BANG] = ACTIONS(2241), + [anon_sym_TILDE] = ACTIONS(2241), + [anon_sym_DASH] = ACTIONS(2239), + [anon_sym_PLUS] = ACTIONS(2239), + [anon_sym_STAR] = ACTIONS(2241), + [anon_sym_AMP_AMP] = ACTIONS(2241), + [anon_sym_AMP] = ACTIONS(2239), + [anon_sym_SEMI] = ACTIONS(2241), + [anon_sym_typedef] = ACTIONS(2239), + [anon_sym_extern] = ACTIONS(2239), + [anon_sym___attribute__] = ACTIONS(2239), + [anon_sym_COLON_COLON] = ACTIONS(2241), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2241), + [anon_sym___declspec] = ACTIONS(2239), + [anon_sym___based] = ACTIONS(2239), + [anon_sym___cdecl] = ACTIONS(2239), + [anon_sym___clrcall] = ACTIONS(2239), + [anon_sym___stdcall] = ACTIONS(2239), + [anon_sym___fastcall] = ACTIONS(2239), + [anon_sym___thiscall] = ACTIONS(2239), + [anon_sym___vectorcall] = ACTIONS(2239), + [anon_sym_LBRACE] = ACTIONS(2241), + [anon_sym_LBRACK] = ACTIONS(2239), + [anon_sym_static] = ACTIONS(2239), + [anon_sym_register] = ACTIONS(2239), + [anon_sym_inline] = ACTIONS(2239), + [anon_sym_thread_local] = ACTIONS(2239), + [anon_sym_const] = ACTIONS(2239), + [anon_sym_volatile] = ACTIONS(2239), + [anon_sym_restrict] = ACTIONS(2239), + [anon_sym__Atomic] = ACTIONS(2239), + [anon_sym_mutable] = ACTIONS(2239), + [anon_sym_constexpr] = ACTIONS(2239), + [anon_sym_constinit] = ACTIONS(2239), + [anon_sym_consteval] = ACTIONS(2239), + [anon_sym_signed] = ACTIONS(2239), + [anon_sym_unsigned] = ACTIONS(2239), + [anon_sym_long] = ACTIONS(2239), + [anon_sym_short] = ACTIONS(2239), + [sym_primitive_type] = ACTIONS(2239), + [anon_sym_enum] = ACTIONS(2239), + [anon_sym_class] = ACTIONS(2239), + [anon_sym_struct] = ACTIONS(2239), + [anon_sym_union] = ACTIONS(2239), + [anon_sym_if] = ACTIONS(2239), + [anon_sym_switch] = ACTIONS(2239), + [anon_sym_case] = ACTIONS(2239), + [anon_sym_default] = ACTIONS(2239), + [anon_sym_while] = ACTIONS(2239), + [anon_sym_do] = ACTIONS(2239), + [anon_sym_for] = ACTIONS(2239), + [anon_sym_return] = ACTIONS(2239), + [anon_sym_break] = ACTIONS(2239), + [anon_sym_continue] = ACTIONS(2239), + [anon_sym_goto] = ACTIONS(2239), + [anon_sym_DASH_DASH] = ACTIONS(2241), + [anon_sym_PLUS_PLUS] = ACTIONS(2241), + [anon_sym_sizeof] = ACTIONS(2239), + [sym_number_literal] = ACTIONS(2241), + [anon_sym_L_SQUOTE] = ACTIONS(2241), + [anon_sym_u_SQUOTE] = ACTIONS(2241), + [anon_sym_U_SQUOTE] = ACTIONS(2241), + [anon_sym_u8_SQUOTE] = ACTIONS(2241), + [anon_sym_SQUOTE] = ACTIONS(2241), + [anon_sym_L_DQUOTE] = ACTIONS(2241), + [anon_sym_u_DQUOTE] = ACTIONS(2241), + [anon_sym_U_DQUOTE] = ACTIONS(2241), + [anon_sym_u8_DQUOTE] = ACTIONS(2241), + [anon_sym_DQUOTE] = ACTIONS(2241), + [sym_true] = ACTIONS(2239), + [sym_false] = ACTIONS(2239), + [sym_null] = ACTIONS(2239), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2239), + [anon_sym_decltype] = ACTIONS(2239), + [anon_sym_virtual] = ACTIONS(2239), + [anon_sym_explicit] = ACTIONS(2239), + [anon_sym_typename] = ACTIONS(2239), + [anon_sym_template] = ACTIONS(2239), + [anon_sym_operator] = ACTIONS(2239), + [anon_sym_delete] = ACTIONS(2239), + [anon_sym_throw] = ACTIONS(2239), + [anon_sym_namespace] = ACTIONS(2239), + [anon_sym_using] = ACTIONS(2239), + [anon_sym_static_assert] = ACTIONS(2239), + [anon_sym_concept] = ACTIONS(2239), + [anon_sym_co_return] = ACTIONS(2239), + [anon_sym_co_yield] = ACTIONS(2239), + [anon_sym_try] = ACTIONS(2239), + [anon_sym_co_await] = ACTIONS(2239), + [anon_sym_new] = ACTIONS(2239), + [anon_sym_requires] = ACTIONS(2239), + [sym_this] = ACTIONS(2239), + [sym_nullptr] = ACTIONS(2239), + [sym_raw_string_literal] = ACTIONS(2241), + }, + [851] = { + [ts_builtin_sym_end] = ACTIONS(2203), + [sym_identifier] = ACTIONS(2201), + [aux_sym_preproc_include_token1] = ACTIONS(2201), + [aux_sym_preproc_def_token1] = ACTIONS(2201), + [aux_sym_preproc_if_token1] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2201), + [sym_preproc_directive] = ACTIONS(2201), + [anon_sym_LPAREN2] = ACTIONS(2203), + [anon_sym_BANG] = ACTIONS(2203), + [anon_sym_TILDE] = ACTIONS(2203), + [anon_sym_DASH] = ACTIONS(2201), + [anon_sym_PLUS] = ACTIONS(2201), + [anon_sym_STAR] = ACTIONS(2203), + [anon_sym_AMP_AMP] = ACTIONS(2203), + [anon_sym_AMP] = ACTIONS(2201), + [anon_sym_SEMI] = ACTIONS(2203), + [anon_sym_typedef] = ACTIONS(2201), + [anon_sym_extern] = ACTIONS(2201), + [anon_sym___attribute__] = ACTIONS(2201), + [anon_sym_COLON_COLON] = ACTIONS(2203), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2203), + [anon_sym___declspec] = ACTIONS(2201), + [anon_sym___based] = ACTIONS(2201), + [anon_sym___cdecl] = ACTIONS(2201), + [anon_sym___clrcall] = ACTIONS(2201), + [anon_sym___stdcall] = ACTIONS(2201), + [anon_sym___fastcall] = ACTIONS(2201), + [anon_sym___thiscall] = ACTIONS(2201), + [anon_sym___vectorcall] = ACTIONS(2201), + [anon_sym_LBRACE] = ACTIONS(2203), + [anon_sym_LBRACK] = ACTIONS(2201), + [anon_sym_static] = ACTIONS(2201), + [anon_sym_register] = ACTIONS(2201), + [anon_sym_inline] = ACTIONS(2201), + [anon_sym_thread_local] = ACTIONS(2201), + [anon_sym_const] = ACTIONS(2201), + [anon_sym_volatile] = ACTIONS(2201), + [anon_sym_restrict] = ACTIONS(2201), + [anon_sym__Atomic] = ACTIONS(2201), + [anon_sym_mutable] = ACTIONS(2201), + [anon_sym_constexpr] = ACTIONS(2201), + [anon_sym_constinit] = ACTIONS(2201), + [anon_sym_consteval] = ACTIONS(2201), + [anon_sym_signed] = ACTIONS(2201), + [anon_sym_unsigned] = ACTIONS(2201), + [anon_sym_long] = ACTIONS(2201), + [anon_sym_short] = ACTIONS(2201), + [sym_primitive_type] = ACTIONS(2201), + [anon_sym_enum] = ACTIONS(2201), + [anon_sym_class] = ACTIONS(2201), + [anon_sym_struct] = ACTIONS(2201), + [anon_sym_union] = ACTIONS(2201), + [anon_sym_if] = ACTIONS(2201), + [anon_sym_switch] = ACTIONS(2201), + [anon_sym_case] = ACTIONS(2201), + [anon_sym_default] = ACTIONS(2201), + [anon_sym_while] = ACTIONS(2201), + [anon_sym_do] = ACTIONS(2201), + [anon_sym_for] = ACTIONS(2201), + [anon_sym_return] = ACTIONS(2201), + [anon_sym_break] = ACTIONS(2201), + [anon_sym_continue] = ACTIONS(2201), + [anon_sym_goto] = ACTIONS(2201), + [anon_sym_DASH_DASH] = ACTIONS(2203), + [anon_sym_PLUS_PLUS] = ACTIONS(2203), + [anon_sym_sizeof] = ACTIONS(2201), + [sym_number_literal] = ACTIONS(2203), + [anon_sym_L_SQUOTE] = ACTIONS(2203), + [anon_sym_u_SQUOTE] = ACTIONS(2203), + [anon_sym_U_SQUOTE] = ACTIONS(2203), + [anon_sym_u8_SQUOTE] = ACTIONS(2203), + [anon_sym_SQUOTE] = ACTIONS(2203), + [anon_sym_L_DQUOTE] = ACTIONS(2203), + [anon_sym_u_DQUOTE] = ACTIONS(2203), + [anon_sym_U_DQUOTE] = ACTIONS(2203), + [anon_sym_u8_DQUOTE] = ACTIONS(2203), + [anon_sym_DQUOTE] = ACTIONS(2203), + [sym_true] = ACTIONS(2201), + [sym_false] = ACTIONS(2201), + [sym_null] = ACTIONS(2201), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2201), + [anon_sym_decltype] = ACTIONS(2201), + [anon_sym_virtual] = ACTIONS(2201), + [anon_sym_explicit] = ACTIONS(2201), + [anon_sym_typename] = ACTIONS(2201), + [anon_sym_template] = ACTIONS(2201), + [anon_sym_operator] = ACTIONS(2201), + [anon_sym_delete] = ACTIONS(2201), + [anon_sym_throw] = ACTIONS(2201), + [anon_sym_namespace] = ACTIONS(2201), + [anon_sym_using] = ACTIONS(2201), + [anon_sym_static_assert] = ACTIONS(2201), + [anon_sym_concept] = ACTIONS(2201), + [anon_sym_co_return] = ACTIONS(2201), + [anon_sym_co_yield] = ACTIONS(2201), + [anon_sym_try] = ACTIONS(2201), + [anon_sym_co_await] = ACTIONS(2201), + [anon_sym_new] = ACTIONS(2201), + [anon_sym_requires] = ACTIONS(2201), + [sym_this] = ACTIONS(2201), + [sym_nullptr] = ACTIONS(2201), + [sym_raw_string_literal] = ACTIONS(2203), + }, + [852] = { + [sym_identifier] = ACTIONS(2411), + [aux_sym_preproc_include_token1] = ACTIONS(2411), + [aux_sym_preproc_def_token1] = ACTIONS(2411), + [aux_sym_preproc_if_token1] = ACTIONS(2411), + [aux_sym_preproc_if_token2] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2411), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2411), + [sym_preproc_directive] = ACTIONS(2411), + [anon_sym_LPAREN2] = ACTIONS(2413), + [anon_sym_BANG] = ACTIONS(2413), + [anon_sym_TILDE] = ACTIONS(2413), + [anon_sym_DASH] = ACTIONS(2411), + [anon_sym_PLUS] = ACTIONS(2411), + [anon_sym_STAR] = ACTIONS(2413), + [anon_sym_AMP_AMP] = ACTIONS(2413), + [anon_sym_AMP] = ACTIONS(2411), + [anon_sym_SEMI] = ACTIONS(2413), + [anon_sym_typedef] = ACTIONS(2411), + [anon_sym_extern] = ACTIONS(2411), + [anon_sym___attribute__] = ACTIONS(2411), + [anon_sym_COLON_COLON] = ACTIONS(2413), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2413), + [anon_sym___declspec] = ACTIONS(2411), + [anon_sym___based] = ACTIONS(2411), + [anon_sym___cdecl] = ACTIONS(2411), + [anon_sym___clrcall] = ACTIONS(2411), + [anon_sym___stdcall] = ACTIONS(2411), + [anon_sym___fastcall] = ACTIONS(2411), + [anon_sym___thiscall] = ACTIONS(2411), + [anon_sym___vectorcall] = ACTIONS(2411), + [anon_sym_LBRACE] = ACTIONS(2413), + [anon_sym_LBRACK] = ACTIONS(2411), + [anon_sym_static] = ACTIONS(2411), + [anon_sym_register] = ACTIONS(2411), + [anon_sym_inline] = ACTIONS(2411), + [anon_sym_thread_local] = ACTIONS(2411), + [anon_sym_const] = ACTIONS(2411), + [anon_sym_volatile] = ACTIONS(2411), + [anon_sym_restrict] = ACTIONS(2411), + [anon_sym__Atomic] = ACTIONS(2411), + [anon_sym_mutable] = ACTIONS(2411), + [anon_sym_constexpr] = ACTIONS(2411), + [anon_sym_constinit] = ACTIONS(2411), + [anon_sym_consteval] = ACTIONS(2411), + [anon_sym_signed] = ACTIONS(2411), + [anon_sym_unsigned] = ACTIONS(2411), + [anon_sym_long] = ACTIONS(2411), + [anon_sym_short] = ACTIONS(2411), + [sym_primitive_type] = ACTIONS(2411), + [anon_sym_enum] = ACTIONS(2411), + [anon_sym_class] = ACTIONS(2411), + [anon_sym_struct] = ACTIONS(2411), + [anon_sym_union] = ACTIONS(2411), + [anon_sym_if] = ACTIONS(2411), + [anon_sym_switch] = ACTIONS(2411), + [anon_sym_case] = ACTIONS(2411), + [anon_sym_default] = ACTIONS(2411), + [anon_sym_while] = ACTIONS(2411), + [anon_sym_do] = ACTIONS(2411), + [anon_sym_for] = ACTIONS(2411), + [anon_sym_return] = ACTIONS(2411), + [anon_sym_break] = ACTIONS(2411), + [anon_sym_continue] = ACTIONS(2411), + [anon_sym_goto] = ACTIONS(2411), + [anon_sym_DASH_DASH] = ACTIONS(2413), + [anon_sym_PLUS_PLUS] = ACTIONS(2413), + [anon_sym_sizeof] = ACTIONS(2411), + [sym_number_literal] = ACTIONS(2413), + [anon_sym_L_SQUOTE] = ACTIONS(2413), + [anon_sym_u_SQUOTE] = ACTIONS(2413), + [anon_sym_U_SQUOTE] = ACTIONS(2413), + [anon_sym_u8_SQUOTE] = ACTIONS(2413), + [anon_sym_SQUOTE] = ACTIONS(2413), + [anon_sym_L_DQUOTE] = ACTIONS(2413), + [anon_sym_u_DQUOTE] = ACTIONS(2413), + [anon_sym_U_DQUOTE] = ACTIONS(2413), + [anon_sym_u8_DQUOTE] = ACTIONS(2413), + [anon_sym_DQUOTE] = ACTIONS(2413), + [sym_true] = ACTIONS(2411), + [sym_false] = ACTIONS(2411), + [sym_null] = ACTIONS(2411), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2411), + [anon_sym_decltype] = ACTIONS(2411), + [anon_sym_virtual] = ACTIONS(2411), + [anon_sym_explicit] = ACTIONS(2411), + [anon_sym_typename] = ACTIONS(2411), + [anon_sym_template] = ACTIONS(2411), + [anon_sym_operator] = ACTIONS(2411), + [anon_sym_delete] = ACTIONS(2411), + [anon_sym_throw] = ACTIONS(2411), + [anon_sym_namespace] = ACTIONS(2411), + [anon_sym_using] = ACTIONS(2411), + [anon_sym_static_assert] = ACTIONS(2411), + [anon_sym_concept] = ACTIONS(2411), + [anon_sym_co_return] = ACTIONS(2411), + [anon_sym_co_yield] = ACTIONS(2411), + [anon_sym_try] = ACTIONS(2411), + [anon_sym_co_await] = ACTIONS(2411), + [anon_sym_new] = ACTIONS(2411), + [anon_sym_requires] = ACTIONS(2411), + [sym_this] = ACTIONS(2411), + [sym_nullptr] = ACTIONS(2411), + [sym_raw_string_literal] = ACTIONS(2413), + }, + [853] = { + [sym_identifier] = ACTIONS(2387), + [aux_sym_preproc_include_token1] = ACTIONS(2387), + [aux_sym_preproc_def_token1] = ACTIONS(2387), + [aux_sym_preproc_if_token1] = ACTIONS(2387), + [aux_sym_preproc_if_token2] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2387), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2387), + [sym_preproc_directive] = ACTIONS(2387), + [anon_sym_LPAREN2] = ACTIONS(2389), + [anon_sym_BANG] = ACTIONS(2389), + [anon_sym_TILDE] = ACTIONS(2389), + [anon_sym_DASH] = ACTIONS(2387), + [anon_sym_PLUS] = ACTIONS(2387), + [anon_sym_STAR] = ACTIONS(2389), + [anon_sym_AMP_AMP] = ACTIONS(2389), + [anon_sym_AMP] = ACTIONS(2387), + [anon_sym_SEMI] = ACTIONS(2389), + [anon_sym_typedef] = ACTIONS(2387), + [anon_sym_extern] = ACTIONS(2387), + [anon_sym___attribute__] = ACTIONS(2387), + [anon_sym_COLON_COLON] = ACTIONS(2389), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2389), + [anon_sym___declspec] = ACTIONS(2387), + [anon_sym___based] = ACTIONS(2387), + [anon_sym___cdecl] = ACTIONS(2387), + [anon_sym___clrcall] = ACTIONS(2387), + [anon_sym___stdcall] = ACTIONS(2387), + [anon_sym___fastcall] = ACTIONS(2387), + [anon_sym___thiscall] = ACTIONS(2387), + [anon_sym___vectorcall] = ACTIONS(2387), + [anon_sym_LBRACE] = ACTIONS(2389), + [anon_sym_LBRACK] = ACTIONS(2387), + [anon_sym_static] = ACTIONS(2387), + [anon_sym_register] = ACTIONS(2387), + [anon_sym_inline] = ACTIONS(2387), + [anon_sym_thread_local] = ACTIONS(2387), + [anon_sym_const] = ACTIONS(2387), + [anon_sym_volatile] = ACTIONS(2387), + [anon_sym_restrict] = ACTIONS(2387), + [anon_sym__Atomic] = ACTIONS(2387), + [anon_sym_mutable] = ACTIONS(2387), + [anon_sym_constexpr] = ACTIONS(2387), + [anon_sym_constinit] = ACTIONS(2387), + [anon_sym_consteval] = ACTIONS(2387), + [anon_sym_signed] = ACTIONS(2387), + [anon_sym_unsigned] = ACTIONS(2387), + [anon_sym_long] = ACTIONS(2387), + [anon_sym_short] = ACTIONS(2387), + [sym_primitive_type] = ACTIONS(2387), + [anon_sym_enum] = ACTIONS(2387), + [anon_sym_class] = ACTIONS(2387), + [anon_sym_struct] = ACTIONS(2387), + [anon_sym_union] = ACTIONS(2387), + [anon_sym_if] = ACTIONS(2387), + [anon_sym_switch] = ACTIONS(2387), + [anon_sym_case] = ACTIONS(2387), + [anon_sym_default] = ACTIONS(2387), + [anon_sym_while] = ACTIONS(2387), + [anon_sym_do] = ACTIONS(2387), + [anon_sym_for] = ACTIONS(2387), + [anon_sym_return] = ACTIONS(2387), + [anon_sym_break] = ACTIONS(2387), + [anon_sym_continue] = ACTIONS(2387), + [anon_sym_goto] = ACTIONS(2387), + [anon_sym_DASH_DASH] = ACTIONS(2389), + [anon_sym_PLUS_PLUS] = ACTIONS(2389), + [anon_sym_sizeof] = ACTIONS(2387), + [sym_number_literal] = ACTIONS(2389), + [anon_sym_L_SQUOTE] = ACTIONS(2389), + [anon_sym_u_SQUOTE] = ACTIONS(2389), + [anon_sym_U_SQUOTE] = ACTIONS(2389), + [anon_sym_u8_SQUOTE] = ACTIONS(2389), + [anon_sym_SQUOTE] = ACTIONS(2389), + [anon_sym_L_DQUOTE] = ACTIONS(2389), + [anon_sym_u_DQUOTE] = ACTIONS(2389), + [anon_sym_U_DQUOTE] = ACTIONS(2389), + [anon_sym_u8_DQUOTE] = ACTIONS(2389), + [anon_sym_DQUOTE] = ACTIONS(2389), + [sym_true] = ACTIONS(2387), + [sym_false] = ACTIONS(2387), + [sym_null] = ACTIONS(2387), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2387), + [anon_sym_decltype] = ACTIONS(2387), + [anon_sym_virtual] = ACTIONS(2387), + [anon_sym_explicit] = ACTIONS(2387), + [anon_sym_typename] = ACTIONS(2387), + [anon_sym_template] = ACTIONS(2387), + [anon_sym_operator] = ACTIONS(2387), + [anon_sym_delete] = ACTIONS(2387), + [anon_sym_throw] = ACTIONS(2387), + [anon_sym_namespace] = ACTIONS(2387), + [anon_sym_using] = ACTIONS(2387), + [anon_sym_static_assert] = ACTIONS(2387), + [anon_sym_concept] = ACTIONS(2387), + [anon_sym_co_return] = ACTIONS(2387), + [anon_sym_co_yield] = ACTIONS(2387), + [anon_sym_try] = ACTIONS(2387), + [anon_sym_co_await] = ACTIONS(2387), + [anon_sym_new] = ACTIONS(2387), + [anon_sym_requires] = ACTIONS(2387), + [sym_this] = ACTIONS(2387), + [sym_nullptr] = ACTIONS(2387), + [sym_raw_string_literal] = ACTIONS(2389), + }, + [854] = { + [sym_identifier] = ACTIONS(2191), + [aux_sym_preproc_include_token1] = ACTIONS(2191), + [aux_sym_preproc_def_token1] = ACTIONS(2191), + [aux_sym_preproc_if_token1] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2191), + [sym_preproc_directive] = ACTIONS(2191), + [anon_sym_LPAREN2] = ACTIONS(2193), + [anon_sym_BANG] = ACTIONS(2193), + [anon_sym_TILDE] = ACTIONS(2193), + [anon_sym_DASH] = ACTIONS(2191), + [anon_sym_PLUS] = ACTIONS(2191), + [anon_sym_STAR] = ACTIONS(2193), + [anon_sym_AMP_AMP] = ACTIONS(2193), + [anon_sym_AMP] = ACTIONS(2191), + [anon_sym_SEMI] = ACTIONS(2193), + [anon_sym_typedef] = ACTIONS(2191), + [anon_sym_extern] = ACTIONS(2191), + [anon_sym___attribute__] = ACTIONS(2191), + [anon_sym_COLON_COLON] = ACTIONS(2193), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2193), + [anon_sym___declspec] = ACTIONS(2191), + [anon_sym___based] = ACTIONS(2191), + [anon_sym___cdecl] = ACTIONS(2191), + [anon_sym___clrcall] = ACTIONS(2191), + [anon_sym___stdcall] = ACTIONS(2191), + [anon_sym___fastcall] = ACTIONS(2191), + [anon_sym___thiscall] = ACTIONS(2191), + [anon_sym___vectorcall] = ACTIONS(2191), + [anon_sym_LBRACE] = ACTIONS(2193), + [anon_sym_RBRACE] = ACTIONS(2193), + [anon_sym_LBRACK] = ACTIONS(2191), + [anon_sym_static] = ACTIONS(2191), + [anon_sym_register] = ACTIONS(2191), + [anon_sym_inline] = ACTIONS(2191), + [anon_sym_thread_local] = ACTIONS(2191), + [anon_sym_const] = ACTIONS(2191), + [anon_sym_volatile] = ACTIONS(2191), + [anon_sym_restrict] = ACTIONS(2191), + [anon_sym__Atomic] = ACTIONS(2191), + [anon_sym_mutable] = ACTIONS(2191), + [anon_sym_constexpr] = ACTIONS(2191), + [anon_sym_constinit] = ACTIONS(2191), + [anon_sym_consteval] = ACTIONS(2191), + [anon_sym_signed] = ACTIONS(2191), + [anon_sym_unsigned] = ACTIONS(2191), + [anon_sym_long] = ACTIONS(2191), + [anon_sym_short] = ACTIONS(2191), + [sym_primitive_type] = ACTIONS(2191), + [anon_sym_enum] = ACTIONS(2191), + [anon_sym_class] = ACTIONS(2191), + [anon_sym_struct] = ACTIONS(2191), + [anon_sym_union] = ACTIONS(2191), + [anon_sym_if] = ACTIONS(2191), + [anon_sym_switch] = ACTIONS(2191), + [anon_sym_case] = ACTIONS(2191), + [anon_sym_default] = ACTIONS(2191), + [anon_sym_while] = ACTIONS(2191), + [anon_sym_do] = ACTIONS(2191), + [anon_sym_for] = ACTIONS(2191), + [anon_sym_return] = ACTIONS(2191), + [anon_sym_break] = ACTIONS(2191), + [anon_sym_continue] = ACTIONS(2191), + [anon_sym_goto] = ACTIONS(2191), + [anon_sym_DASH_DASH] = ACTIONS(2193), + [anon_sym_PLUS_PLUS] = ACTIONS(2193), + [anon_sym_sizeof] = ACTIONS(2191), + [sym_number_literal] = ACTIONS(2193), + [anon_sym_L_SQUOTE] = ACTIONS(2193), + [anon_sym_u_SQUOTE] = ACTIONS(2193), + [anon_sym_U_SQUOTE] = ACTIONS(2193), + [anon_sym_u8_SQUOTE] = ACTIONS(2193), + [anon_sym_SQUOTE] = ACTIONS(2193), + [anon_sym_L_DQUOTE] = ACTIONS(2193), + [anon_sym_u_DQUOTE] = ACTIONS(2193), + [anon_sym_U_DQUOTE] = ACTIONS(2193), + [anon_sym_u8_DQUOTE] = ACTIONS(2193), + [anon_sym_DQUOTE] = ACTIONS(2193), + [sym_true] = ACTIONS(2191), + [sym_false] = ACTIONS(2191), + [sym_null] = ACTIONS(2191), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2191), + [anon_sym_decltype] = ACTIONS(2191), + [anon_sym_virtual] = ACTIONS(2191), + [anon_sym_explicit] = ACTIONS(2191), + [anon_sym_typename] = ACTIONS(2191), + [anon_sym_template] = ACTIONS(2191), + [anon_sym_operator] = ACTIONS(2191), + [anon_sym_delete] = ACTIONS(2191), + [anon_sym_throw] = ACTIONS(2191), + [anon_sym_namespace] = ACTIONS(2191), + [anon_sym_using] = ACTIONS(2191), + [anon_sym_static_assert] = ACTIONS(2191), + [anon_sym_concept] = ACTIONS(2191), + [anon_sym_co_return] = ACTIONS(2191), + [anon_sym_co_yield] = ACTIONS(2191), + [anon_sym_try] = ACTIONS(2191), + [anon_sym_co_await] = ACTIONS(2191), + [anon_sym_new] = ACTIONS(2191), + [anon_sym_requires] = ACTIONS(2191), + [sym_this] = ACTIONS(2191), + [sym_nullptr] = ACTIONS(2191), + [sym_raw_string_literal] = ACTIONS(2193), + }, + [855] = { + [sym_identifier] = ACTIONS(2263), + [aux_sym_preproc_include_token1] = ACTIONS(2263), + [aux_sym_preproc_def_token1] = ACTIONS(2263), + [aux_sym_preproc_if_token1] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2263), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2263), + [sym_preproc_directive] = ACTIONS(2263), + [anon_sym_LPAREN2] = ACTIONS(2265), + [anon_sym_BANG] = ACTIONS(2265), + [anon_sym_TILDE] = ACTIONS(2265), + [anon_sym_DASH] = ACTIONS(2263), + [anon_sym_PLUS] = ACTIONS(2263), + [anon_sym_STAR] = ACTIONS(2265), + [anon_sym_AMP_AMP] = ACTIONS(2265), + [anon_sym_AMP] = ACTIONS(2263), + [anon_sym_SEMI] = ACTIONS(2265), + [anon_sym_typedef] = ACTIONS(2263), + [anon_sym_extern] = ACTIONS(2263), + [anon_sym___attribute__] = ACTIONS(2263), + [anon_sym_COLON_COLON] = ACTIONS(2265), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2265), + [anon_sym___declspec] = ACTIONS(2263), + [anon_sym___based] = ACTIONS(2263), + [anon_sym___cdecl] = ACTIONS(2263), + [anon_sym___clrcall] = ACTIONS(2263), + [anon_sym___stdcall] = ACTIONS(2263), + [anon_sym___fastcall] = ACTIONS(2263), + [anon_sym___thiscall] = ACTIONS(2263), + [anon_sym___vectorcall] = ACTIONS(2263), + [anon_sym_LBRACE] = ACTIONS(2265), + [anon_sym_RBRACE] = ACTIONS(2265), + [anon_sym_LBRACK] = ACTIONS(2263), + [anon_sym_static] = ACTIONS(2263), + [anon_sym_register] = ACTIONS(2263), + [anon_sym_inline] = ACTIONS(2263), + [anon_sym_thread_local] = ACTIONS(2263), + [anon_sym_const] = ACTIONS(2263), + [anon_sym_volatile] = ACTIONS(2263), + [anon_sym_restrict] = ACTIONS(2263), + [anon_sym__Atomic] = ACTIONS(2263), + [anon_sym_mutable] = ACTIONS(2263), + [anon_sym_constexpr] = ACTIONS(2263), + [anon_sym_constinit] = ACTIONS(2263), + [anon_sym_consteval] = ACTIONS(2263), + [anon_sym_signed] = ACTIONS(2263), + [anon_sym_unsigned] = ACTIONS(2263), + [anon_sym_long] = ACTIONS(2263), + [anon_sym_short] = ACTIONS(2263), + [sym_primitive_type] = ACTIONS(2263), + [anon_sym_enum] = ACTIONS(2263), + [anon_sym_class] = ACTIONS(2263), + [anon_sym_struct] = ACTIONS(2263), + [anon_sym_union] = ACTIONS(2263), + [anon_sym_if] = ACTIONS(2263), + [anon_sym_switch] = ACTIONS(2263), + [anon_sym_case] = ACTIONS(2263), + [anon_sym_default] = ACTIONS(2263), + [anon_sym_while] = ACTIONS(2263), + [anon_sym_do] = ACTIONS(2263), + [anon_sym_for] = ACTIONS(2263), + [anon_sym_return] = ACTIONS(2263), + [anon_sym_break] = ACTIONS(2263), + [anon_sym_continue] = ACTIONS(2263), + [anon_sym_goto] = ACTIONS(2263), + [anon_sym_DASH_DASH] = ACTIONS(2265), + [anon_sym_PLUS_PLUS] = ACTIONS(2265), + [anon_sym_sizeof] = ACTIONS(2263), + [sym_number_literal] = ACTIONS(2265), + [anon_sym_L_SQUOTE] = ACTIONS(2265), + [anon_sym_u_SQUOTE] = ACTIONS(2265), + [anon_sym_U_SQUOTE] = ACTIONS(2265), + [anon_sym_u8_SQUOTE] = ACTIONS(2265), + [anon_sym_SQUOTE] = ACTIONS(2265), + [anon_sym_L_DQUOTE] = ACTIONS(2265), + [anon_sym_u_DQUOTE] = ACTIONS(2265), + [anon_sym_U_DQUOTE] = ACTIONS(2265), + [anon_sym_u8_DQUOTE] = ACTIONS(2265), + [anon_sym_DQUOTE] = ACTIONS(2265), + [sym_true] = ACTIONS(2263), + [sym_false] = ACTIONS(2263), + [sym_null] = ACTIONS(2263), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2263), + [anon_sym_decltype] = ACTIONS(2263), + [anon_sym_virtual] = ACTIONS(2263), + [anon_sym_explicit] = ACTIONS(2263), + [anon_sym_typename] = ACTIONS(2263), + [anon_sym_template] = ACTIONS(2263), + [anon_sym_operator] = ACTIONS(2263), + [anon_sym_delete] = ACTIONS(2263), + [anon_sym_throw] = ACTIONS(2263), + [anon_sym_namespace] = ACTIONS(2263), + [anon_sym_using] = ACTIONS(2263), + [anon_sym_static_assert] = ACTIONS(2263), + [anon_sym_concept] = ACTIONS(2263), + [anon_sym_co_return] = ACTIONS(2263), + [anon_sym_co_yield] = ACTIONS(2263), + [anon_sym_try] = ACTIONS(2263), + [anon_sym_co_await] = ACTIONS(2263), + [anon_sym_new] = ACTIONS(2263), + [anon_sym_requires] = ACTIONS(2263), + [sym_this] = ACTIONS(2263), + [sym_nullptr] = ACTIONS(2263), + [sym_raw_string_literal] = ACTIONS(2265), + }, + [856] = { + [sym_identifier] = ACTIONS(2403), + [aux_sym_preproc_include_token1] = ACTIONS(2403), + [aux_sym_preproc_def_token1] = ACTIONS(2403), + [aux_sym_preproc_if_token1] = ACTIONS(2403), + [aux_sym_preproc_if_token2] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2403), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2403), + [sym_preproc_directive] = ACTIONS(2403), + [anon_sym_LPAREN2] = ACTIONS(2405), + [anon_sym_BANG] = ACTIONS(2405), + [anon_sym_TILDE] = ACTIONS(2405), + [anon_sym_DASH] = ACTIONS(2403), + [anon_sym_PLUS] = ACTIONS(2403), + [anon_sym_STAR] = ACTIONS(2405), + [anon_sym_AMP_AMP] = ACTIONS(2405), + [anon_sym_AMP] = ACTIONS(2403), + [anon_sym_SEMI] = ACTIONS(2405), + [anon_sym_typedef] = ACTIONS(2403), + [anon_sym_extern] = ACTIONS(2403), + [anon_sym___attribute__] = ACTIONS(2403), + [anon_sym_COLON_COLON] = ACTIONS(2405), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2405), + [anon_sym___declspec] = ACTIONS(2403), + [anon_sym___based] = ACTIONS(2403), + [anon_sym___cdecl] = ACTIONS(2403), + [anon_sym___clrcall] = ACTIONS(2403), + [anon_sym___stdcall] = ACTIONS(2403), + [anon_sym___fastcall] = ACTIONS(2403), + [anon_sym___thiscall] = ACTIONS(2403), + [anon_sym___vectorcall] = ACTIONS(2403), + [anon_sym_LBRACE] = ACTIONS(2405), + [anon_sym_LBRACK] = ACTIONS(2403), + [anon_sym_static] = ACTIONS(2403), + [anon_sym_register] = ACTIONS(2403), + [anon_sym_inline] = ACTIONS(2403), + [anon_sym_thread_local] = ACTIONS(2403), + [anon_sym_const] = ACTIONS(2403), + [anon_sym_volatile] = ACTIONS(2403), + [anon_sym_restrict] = ACTIONS(2403), + [anon_sym__Atomic] = ACTIONS(2403), + [anon_sym_mutable] = ACTIONS(2403), + [anon_sym_constexpr] = ACTIONS(2403), + [anon_sym_constinit] = ACTIONS(2403), + [anon_sym_consteval] = ACTIONS(2403), + [anon_sym_signed] = ACTIONS(2403), + [anon_sym_unsigned] = ACTIONS(2403), + [anon_sym_long] = ACTIONS(2403), + [anon_sym_short] = ACTIONS(2403), + [sym_primitive_type] = ACTIONS(2403), + [anon_sym_enum] = ACTIONS(2403), + [anon_sym_class] = ACTIONS(2403), + [anon_sym_struct] = ACTIONS(2403), + [anon_sym_union] = ACTIONS(2403), + [anon_sym_if] = ACTIONS(2403), + [anon_sym_switch] = ACTIONS(2403), + [anon_sym_case] = ACTIONS(2403), + [anon_sym_default] = ACTIONS(2403), + [anon_sym_while] = ACTIONS(2403), + [anon_sym_do] = ACTIONS(2403), + [anon_sym_for] = ACTIONS(2403), + [anon_sym_return] = ACTIONS(2403), + [anon_sym_break] = ACTIONS(2403), + [anon_sym_continue] = ACTIONS(2403), + [anon_sym_goto] = ACTIONS(2403), + [anon_sym_DASH_DASH] = ACTIONS(2405), + [anon_sym_PLUS_PLUS] = ACTIONS(2405), + [anon_sym_sizeof] = ACTIONS(2403), + [sym_number_literal] = ACTIONS(2405), + [anon_sym_L_SQUOTE] = ACTIONS(2405), + [anon_sym_u_SQUOTE] = ACTIONS(2405), + [anon_sym_U_SQUOTE] = ACTIONS(2405), + [anon_sym_u8_SQUOTE] = ACTIONS(2405), + [anon_sym_SQUOTE] = ACTIONS(2405), + [anon_sym_L_DQUOTE] = ACTIONS(2405), + [anon_sym_u_DQUOTE] = ACTIONS(2405), + [anon_sym_U_DQUOTE] = ACTIONS(2405), + [anon_sym_u8_DQUOTE] = ACTIONS(2405), + [anon_sym_DQUOTE] = ACTIONS(2405), + [sym_true] = ACTIONS(2403), + [sym_false] = ACTIONS(2403), + [sym_null] = ACTIONS(2403), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2403), + [anon_sym_decltype] = ACTIONS(2403), + [anon_sym_virtual] = ACTIONS(2403), + [anon_sym_explicit] = ACTIONS(2403), + [anon_sym_typename] = ACTIONS(2403), + [anon_sym_template] = ACTIONS(2403), + [anon_sym_operator] = ACTIONS(2403), + [anon_sym_delete] = ACTIONS(2403), + [anon_sym_throw] = ACTIONS(2403), + [anon_sym_namespace] = ACTIONS(2403), + [anon_sym_using] = ACTIONS(2403), + [anon_sym_static_assert] = ACTIONS(2403), + [anon_sym_concept] = ACTIONS(2403), + [anon_sym_co_return] = ACTIONS(2403), + [anon_sym_co_yield] = ACTIONS(2403), + [anon_sym_try] = ACTIONS(2403), + [anon_sym_co_await] = ACTIONS(2403), + [anon_sym_new] = ACTIONS(2403), + [anon_sym_requires] = ACTIONS(2403), + [sym_this] = ACTIONS(2403), + [sym_nullptr] = ACTIONS(2403), + [sym_raw_string_literal] = ACTIONS(2405), + }, + [857] = { + [sym_identifier] = ACTIONS(2315), + [aux_sym_preproc_include_token1] = ACTIONS(2315), + [aux_sym_preproc_def_token1] = ACTIONS(2315), + [aux_sym_preproc_if_token1] = ACTIONS(2315), + [aux_sym_preproc_if_token2] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2315), + [sym_preproc_directive] = ACTIONS(2315), + [anon_sym_LPAREN2] = ACTIONS(2317), + [anon_sym_BANG] = ACTIONS(2317), + [anon_sym_TILDE] = ACTIONS(2317), + [anon_sym_DASH] = ACTIONS(2315), + [anon_sym_PLUS] = ACTIONS(2315), + [anon_sym_STAR] = ACTIONS(2317), + [anon_sym_AMP_AMP] = ACTIONS(2317), + [anon_sym_AMP] = ACTIONS(2315), + [anon_sym_SEMI] = ACTIONS(2317), + [anon_sym_typedef] = ACTIONS(2315), + [anon_sym_extern] = ACTIONS(2315), + [anon_sym___attribute__] = ACTIONS(2315), + [anon_sym_COLON_COLON] = ACTIONS(2317), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2317), + [anon_sym___declspec] = ACTIONS(2315), + [anon_sym___based] = ACTIONS(2315), + [anon_sym___cdecl] = ACTIONS(2315), + [anon_sym___clrcall] = ACTIONS(2315), + [anon_sym___stdcall] = ACTIONS(2315), + [anon_sym___fastcall] = ACTIONS(2315), + [anon_sym___thiscall] = ACTIONS(2315), + [anon_sym___vectorcall] = ACTIONS(2315), + [anon_sym_LBRACE] = ACTIONS(2317), + [anon_sym_LBRACK] = ACTIONS(2315), + [anon_sym_static] = ACTIONS(2315), + [anon_sym_register] = ACTIONS(2315), + [anon_sym_inline] = ACTIONS(2315), + [anon_sym_thread_local] = ACTIONS(2315), + [anon_sym_const] = ACTIONS(2315), + [anon_sym_volatile] = ACTIONS(2315), + [anon_sym_restrict] = ACTIONS(2315), + [anon_sym__Atomic] = ACTIONS(2315), + [anon_sym_mutable] = ACTIONS(2315), + [anon_sym_constexpr] = ACTIONS(2315), + [anon_sym_constinit] = ACTIONS(2315), + [anon_sym_consteval] = ACTIONS(2315), + [anon_sym_signed] = ACTIONS(2315), + [anon_sym_unsigned] = ACTIONS(2315), + [anon_sym_long] = ACTIONS(2315), + [anon_sym_short] = ACTIONS(2315), + [sym_primitive_type] = ACTIONS(2315), + [anon_sym_enum] = ACTIONS(2315), + [anon_sym_class] = ACTIONS(2315), + [anon_sym_struct] = ACTIONS(2315), + [anon_sym_union] = ACTIONS(2315), + [anon_sym_if] = ACTIONS(2315), + [anon_sym_switch] = ACTIONS(2315), + [anon_sym_case] = ACTIONS(2315), + [anon_sym_default] = ACTIONS(2315), + [anon_sym_while] = ACTIONS(2315), + [anon_sym_do] = ACTIONS(2315), + [anon_sym_for] = ACTIONS(2315), + [anon_sym_return] = ACTIONS(2315), + [anon_sym_break] = ACTIONS(2315), + [anon_sym_continue] = ACTIONS(2315), + [anon_sym_goto] = ACTIONS(2315), + [anon_sym_DASH_DASH] = ACTIONS(2317), + [anon_sym_PLUS_PLUS] = ACTIONS(2317), + [anon_sym_sizeof] = ACTIONS(2315), + [sym_number_literal] = ACTIONS(2317), + [anon_sym_L_SQUOTE] = ACTIONS(2317), + [anon_sym_u_SQUOTE] = ACTIONS(2317), + [anon_sym_U_SQUOTE] = ACTIONS(2317), + [anon_sym_u8_SQUOTE] = ACTIONS(2317), + [anon_sym_SQUOTE] = ACTIONS(2317), + [anon_sym_L_DQUOTE] = ACTIONS(2317), + [anon_sym_u_DQUOTE] = ACTIONS(2317), + [anon_sym_U_DQUOTE] = ACTIONS(2317), + [anon_sym_u8_DQUOTE] = ACTIONS(2317), + [anon_sym_DQUOTE] = ACTIONS(2317), + [sym_true] = ACTIONS(2315), + [sym_false] = ACTIONS(2315), + [sym_null] = ACTIONS(2315), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2315), + [anon_sym_decltype] = ACTIONS(2315), + [anon_sym_virtual] = ACTIONS(2315), + [anon_sym_explicit] = ACTIONS(2315), + [anon_sym_typename] = ACTIONS(2315), + [anon_sym_template] = ACTIONS(2315), + [anon_sym_operator] = ACTIONS(2315), + [anon_sym_delete] = ACTIONS(2315), + [anon_sym_throw] = ACTIONS(2315), + [anon_sym_namespace] = ACTIONS(2315), + [anon_sym_using] = ACTIONS(2315), + [anon_sym_static_assert] = ACTIONS(2315), + [anon_sym_concept] = ACTIONS(2315), + [anon_sym_co_return] = ACTIONS(2315), + [anon_sym_co_yield] = ACTIONS(2315), + [anon_sym_try] = ACTIONS(2315), + [anon_sym_co_await] = ACTIONS(2315), + [anon_sym_new] = ACTIONS(2315), + [anon_sym_requires] = ACTIONS(2315), + [sym_this] = ACTIONS(2315), + [sym_nullptr] = ACTIONS(2315), + [sym_raw_string_literal] = ACTIONS(2317), + }, + [858] = { + [ts_builtin_sym_end] = ACTIONS(2199), + [sym_identifier] = ACTIONS(2197), + [aux_sym_preproc_include_token1] = ACTIONS(2197), + [aux_sym_preproc_def_token1] = ACTIONS(2197), + [aux_sym_preproc_if_token1] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2197), + [sym_preproc_directive] = ACTIONS(2197), + [anon_sym_LPAREN2] = ACTIONS(2199), + [anon_sym_BANG] = ACTIONS(2199), + [anon_sym_TILDE] = ACTIONS(2199), + [anon_sym_DASH] = ACTIONS(2197), + [anon_sym_PLUS] = ACTIONS(2197), + [anon_sym_STAR] = ACTIONS(2199), + [anon_sym_AMP_AMP] = ACTIONS(2199), + [anon_sym_AMP] = ACTIONS(2197), + [anon_sym_SEMI] = ACTIONS(2199), + [anon_sym_typedef] = ACTIONS(2197), + [anon_sym_extern] = ACTIONS(2197), + [anon_sym___attribute__] = ACTIONS(2197), + [anon_sym_COLON_COLON] = ACTIONS(2199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2199), + [anon_sym___declspec] = ACTIONS(2197), + [anon_sym___based] = ACTIONS(2197), + [anon_sym___cdecl] = ACTIONS(2197), + [anon_sym___clrcall] = ACTIONS(2197), + [anon_sym___stdcall] = ACTIONS(2197), + [anon_sym___fastcall] = ACTIONS(2197), + [anon_sym___thiscall] = ACTIONS(2197), + [anon_sym___vectorcall] = ACTIONS(2197), + [anon_sym_LBRACE] = ACTIONS(2199), + [anon_sym_LBRACK] = ACTIONS(2197), + [anon_sym_static] = ACTIONS(2197), + [anon_sym_register] = ACTIONS(2197), + [anon_sym_inline] = ACTIONS(2197), + [anon_sym_thread_local] = ACTIONS(2197), + [anon_sym_const] = ACTIONS(2197), + [anon_sym_volatile] = ACTIONS(2197), + [anon_sym_restrict] = ACTIONS(2197), + [anon_sym__Atomic] = ACTIONS(2197), + [anon_sym_mutable] = ACTIONS(2197), + [anon_sym_constexpr] = ACTIONS(2197), + [anon_sym_constinit] = ACTIONS(2197), + [anon_sym_consteval] = ACTIONS(2197), + [anon_sym_signed] = ACTIONS(2197), + [anon_sym_unsigned] = ACTIONS(2197), + [anon_sym_long] = ACTIONS(2197), + [anon_sym_short] = ACTIONS(2197), + [sym_primitive_type] = ACTIONS(2197), + [anon_sym_enum] = ACTIONS(2197), + [anon_sym_class] = ACTIONS(2197), + [anon_sym_struct] = ACTIONS(2197), + [anon_sym_union] = ACTIONS(2197), + [anon_sym_if] = ACTIONS(2197), + [anon_sym_switch] = ACTIONS(2197), + [anon_sym_case] = ACTIONS(2197), + [anon_sym_default] = ACTIONS(2197), + [anon_sym_while] = ACTIONS(2197), + [anon_sym_do] = ACTIONS(2197), + [anon_sym_for] = ACTIONS(2197), + [anon_sym_return] = ACTIONS(2197), + [anon_sym_break] = ACTIONS(2197), + [anon_sym_continue] = ACTIONS(2197), + [anon_sym_goto] = ACTIONS(2197), + [anon_sym_DASH_DASH] = ACTIONS(2199), + [anon_sym_PLUS_PLUS] = ACTIONS(2199), + [anon_sym_sizeof] = ACTIONS(2197), + [sym_number_literal] = ACTIONS(2199), + [anon_sym_L_SQUOTE] = ACTIONS(2199), + [anon_sym_u_SQUOTE] = ACTIONS(2199), + [anon_sym_U_SQUOTE] = ACTIONS(2199), + [anon_sym_u8_SQUOTE] = ACTIONS(2199), + [anon_sym_SQUOTE] = ACTIONS(2199), + [anon_sym_L_DQUOTE] = ACTIONS(2199), + [anon_sym_u_DQUOTE] = ACTIONS(2199), + [anon_sym_U_DQUOTE] = ACTIONS(2199), + [anon_sym_u8_DQUOTE] = ACTIONS(2199), + [anon_sym_DQUOTE] = ACTIONS(2199), + [sym_true] = ACTIONS(2197), + [sym_false] = ACTIONS(2197), + [sym_null] = ACTIONS(2197), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2197), + [anon_sym_decltype] = ACTIONS(2197), + [anon_sym_virtual] = ACTIONS(2197), + [anon_sym_explicit] = ACTIONS(2197), + [anon_sym_typename] = ACTIONS(2197), + [anon_sym_template] = ACTIONS(2197), + [anon_sym_operator] = ACTIONS(2197), + [anon_sym_delete] = ACTIONS(2197), + [anon_sym_throw] = ACTIONS(2197), + [anon_sym_namespace] = ACTIONS(2197), + [anon_sym_using] = ACTIONS(2197), + [anon_sym_static_assert] = ACTIONS(2197), + [anon_sym_concept] = ACTIONS(2197), + [anon_sym_co_return] = ACTIONS(2197), + [anon_sym_co_yield] = ACTIONS(2197), + [anon_sym_try] = ACTIONS(2197), + [anon_sym_co_await] = ACTIONS(2197), + [anon_sym_new] = ACTIONS(2197), + [anon_sym_requires] = ACTIONS(2197), + [sym_this] = ACTIONS(2197), + [sym_nullptr] = ACTIONS(2197), + [sym_raw_string_literal] = ACTIONS(2199), + }, + [859] = { + [sym_identifier] = ACTIONS(2327), + [aux_sym_preproc_include_token1] = ACTIONS(2327), + [aux_sym_preproc_def_token1] = ACTIONS(2327), + [aux_sym_preproc_if_token1] = ACTIONS(2327), + [aux_sym_preproc_if_token2] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2327), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2327), + [sym_preproc_directive] = ACTIONS(2327), + [anon_sym_LPAREN2] = ACTIONS(2329), + [anon_sym_BANG] = ACTIONS(2329), + [anon_sym_TILDE] = ACTIONS(2329), + [anon_sym_DASH] = ACTIONS(2327), + [anon_sym_PLUS] = ACTIONS(2327), + [anon_sym_STAR] = ACTIONS(2329), + [anon_sym_AMP_AMP] = ACTIONS(2329), + [anon_sym_AMP] = ACTIONS(2327), + [anon_sym_SEMI] = ACTIONS(2329), + [anon_sym_typedef] = ACTIONS(2327), + [anon_sym_extern] = ACTIONS(2327), + [anon_sym___attribute__] = ACTIONS(2327), + [anon_sym_COLON_COLON] = ACTIONS(2329), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2329), + [anon_sym___declspec] = ACTIONS(2327), + [anon_sym___based] = ACTIONS(2327), + [anon_sym___cdecl] = ACTIONS(2327), + [anon_sym___clrcall] = ACTIONS(2327), + [anon_sym___stdcall] = ACTIONS(2327), + [anon_sym___fastcall] = ACTIONS(2327), + [anon_sym___thiscall] = ACTIONS(2327), + [anon_sym___vectorcall] = ACTIONS(2327), + [anon_sym_LBRACE] = ACTIONS(2329), + [anon_sym_LBRACK] = ACTIONS(2327), + [anon_sym_static] = ACTIONS(2327), + [anon_sym_register] = ACTIONS(2327), + [anon_sym_inline] = ACTIONS(2327), + [anon_sym_thread_local] = ACTIONS(2327), + [anon_sym_const] = ACTIONS(2327), + [anon_sym_volatile] = ACTIONS(2327), + [anon_sym_restrict] = ACTIONS(2327), + [anon_sym__Atomic] = ACTIONS(2327), + [anon_sym_mutable] = ACTIONS(2327), + [anon_sym_constexpr] = ACTIONS(2327), + [anon_sym_constinit] = ACTIONS(2327), + [anon_sym_consteval] = ACTIONS(2327), + [anon_sym_signed] = ACTIONS(2327), + [anon_sym_unsigned] = ACTIONS(2327), + [anon_sym_long] = ACTIONS(2327), + [anon_sym_short] = ACTIONS(2327), + [sym_primitive_type] = ACTIONS(2327), + [anon_sym_enum] = ACTIONS(2327), + [anon_sym_class] = ACTIONS(2327), + [anon_sym_struct] = ACTIONS(2327), + [anon_sym_union] = ACTIONS(2327), + [anon_sym_if] = ACTIONS(2327), + [anon_sym_switch] = ACTIONS(2327), + [anon_sym_case] = ACTIONS(2327), + [anon_sym_default] = ACTIONS(2327), + [anon_sym_while] = ACTIONS(2327), + [anon_sym_do] = ACTIONS(2327), + [anon_sym_for] = ACTIONS(2327), + [anon_sym_return] = ACTIONS(2327), + [anon_sym_break] = ACTIONS(2327), + [anon_sym_continue] = ACTIONS(2327), + [anon_sym_goto] = ACTIONS(2327), + [anon_sym_DASH_DASH] = ACTIONS(2329), + [anon_sym_PLUS_PLUS] = ACTIONS(2329), + [anon_sym_sizeof] = ACTIONS(2327), + [sym_number_literal] = ACTIONS(2329), + [anon_sym_L_SQUOTE] = ACTIONS(2329), + [anon_sym_u_SQUOTE] = ACTIONS(2329), + [anon_sym_U_SQUOTE] = ACTIONS(2329), + [anon_sym_u8_SQUOTE] = ACTIONS(2329), + [anon_sym_SQUOTE] = ACTIONS(2329), + [anon_sym_L_DQUOTE] = ACTIONS(2329), + [anon_sym_u_DQUOTE] = ACTIONS(2329), + [anon_sym_U_DQUOTE] = ACTIONS(2329), + [anon_sym_u8_DQUOTE] = ACTIONS(2329), + [anon_sym_DQUOTE] = ACTIONS(2329), + [sym_true] = ACTIONS(2327), + [sym_false] = ACTIONS(2327), + [sym_null] = ACTIONS(2327), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2327), + [anon_sym_decltype] = ACTIONS(2327), + [anon_sym_virtual] = ACTIONS(2327), + [anon_sym_explicit] = ACTIONS(2327), + [anon_sym_typename] = ACTIONS(2327), + [anon_sym_template] = ACTIONS(2327), + [anon_sym_operator] = ACTIONS(2327), + [anon_sym_delete] = ACTIONS(2327), + [anon_sym_throw] = ACTIONS(2327), + [anon_sym_namespace] = ACTIONS(2327), + [anon_sym_using] = ACTIONS(2327), + [anon_sym_static_assert] = ACTIONS(2327), + [anon_sym_concept] = ACTIONS(2327), + [anon_sym_co_return] = ACTIONS(2327), + [anon_sym_co_yield] = ACTIONS(2327), + [anon_sym_try] = ACTIONS(2327), + [anon_sym_co_await] = ACTIONS(2327), + [anon_sym_new] = ACTIONS(2327), + [anon_sym_requires] = ACTIONS(2327), + [sym_this] = ACTIONS(2327), + [sym_nullptr] = ACTIONS(2327), + [sym_raw_string_literal] = ACTIONS(2329), + }, + [860] = { + [ts_builtin_sym_end] = ACTIONS(2317), + [sym_identifier] = ACTIONS(2315), + [aux_sym_preproc_include_token1] = ACTIONS(2315), + [aux_sym_preproc_def_token1] = ACTIONS(2315), + [aux_sym_preproc_if_token1] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2315), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2315), + [sym_preproc_directive] = ACTIONS(2315), + [anon_sym_LPAREN2] = ACTIONS(2317), + [anon_sym_BANG] = ACTIONS(2317), + [anon_sym_TILDE] = ACTIONS(2317), + [anon_sym_DASH] = ACTIONS(2315), + [anon_sym_PLUS] = ACTIONS(2315), + [anon_sym_STAR] = ACTIONS(2317), + [anon_sym_AMP_AMP] = ACTIONS(2317), + [anon_sym_AMP] = ACTIONS(2315), + [anon_sym_SEMI] = ACTIONS(2317), + [anon_sym_typedef] = ACTIONS(2315), + [anon_sym_extern] = ACTIONS(2315), + [anon_sym___attribute__] = ACTIONS(2315), + [anon_sym_COLON_COLON] = ACTIONS(2317), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2317), + [anon_sym___declspec] = ACTIONS(2315), + [anon_sym___based] = ACTIONS(2315), + [anon_sym___cdecl] = ACTIONS(2315), + [anon_sym___clrcall] = ACTIONS(2315), + [anon_sym___stdcall] = ACTIONS(2315), + [anon_sym___fastcall] = ACTIONS(2315), + [anon_sym___thiscall] = ACTIONS(2315), + [anon_sym___vectorcall] = ACTIONS(2315), + [anon_sym_LBRACE] = ACTIONS(2317), + [anon_sym_LBRACK] = ACTIONS(2315), + [anon_sym_static] = ACTIONS(2315), + [anon_sym_register] = ACTIONS(2315), + [anon_sym_inline] = ACTIONS(2315), + [anon_sym_thread_local] = ACTIONS(2315), + [anon_sym_const] = ACTIONS(2315), + [anon_sym_volatile] = ACTIONS(2315), + [anon_sym_restrict] = ACTIONS(2315), + [anon_sym__Atomic] = ACTIONS(2315), + [anon_sym_mutable] = ACTIONS(2315), + [anon_sym_constexpr] = ACTIONS(2315), + [anon_sym_constinit] = ACTIONS(2315), + [anon_sym_consteval] = ACTIONS(2315), + [anon_sym_signed] = ACTIONS(2315), + [anon_sym_unsigned] = ACTIONS(2315), + [anon_sym_long] = ACTIONS(2315), + [anon_sym_short] = ACTIONS(2315), + [sym_primitive_type] = ACTIONS(2315), + [anon_sym_enum] = ACTIONS(2315), + [anon_sym_class] = ACTIONS(2315), + [anon_sym_struct] = ACTIONS(2315), + [anon_sym_union] = ACTIONS(2315), + [anon_sym_if] = ACTIONS(2315), + [anon_sym_switch] = ACTIONS(2315), + [anon_sym_case] = ACTIONS(2315), + [anon_sym_default] = ACTIONS(2315), + [anon_sym_while] = ACTIONS(2315), + [anon_sym_do] = ACTIONS(2315), + [anon_sym_for] = ACTIONS(2315), + [anon_sym_return] = ACTIONS(2315), + [anon_sym_break] = ACTIONS(2315), + [anon_sym_continue] = ACTIONS(2315), + [anon_sym_goto] = ACTIONS(2315), + [anon_sym_DASH_DASH] = ACTIONS(2317), + [anon_sym_PLUS_PLUS] = ACTIONS(2317), + [anon_sym_sizeof] = ACTIONS(2315), + [sym_number_literal] = ACTIONS(2317), + [anon_sym_L_SQUOTE] = ACTIONS(2317), + [anon_sym_u_SQUOTE] = ACTIONS(2317), + [anon_sym_U_SQUOTE] = ACTIONS(2317), + [anon_sym_u8_SQUOTE] = ACTIONS(2317), + [anon_sym_SQUOTE] = ACTIONS(2317), + [anon_sym_L_DQUOTE] = ACTIONS(2317), + [anon_sym_u_DQUOTE] = ACTIONS(2317), + [anon_sym_U_DQUOTE] = ACTIONS(2317), + [anon_sym_u8_DQUOTE] = ACTIONS(2317), + [anon_sym_DQUOTE] = ACTIONS(2317), + [sym_true] = ACTIONS(2315), + [sym_false] = ACTIONS(2315), + [sym_null] = ACTIONS(2315), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2315), + [anon_sym_decltype] = ACTIONS(2315), + [anon_sym_virtual] = ACTIONS(2315), + [anon_sym_explicit] = ACTIONS(2315), + [anon_sym_typename] = ACTIONS(2315), + [anon_sym_template] = ACTIONS(2315), + [anon_sym_operator] = ACTIONS(2315), + [anon_sym_delete] = ACTIONS(2315), + [anon_sym_throw] = ACTIONS(2315), + [anon_sym_namespace] = ACTIONS(2315), + [anon_sym_using] = ACTIONS(2315), + [anon_sym_static_assert] = ACTIONS(2315), + [anon_sym_concept] = ACTIONS(2315), + [anon_sym_co_return] = ACTIONS(2315), + [anon_sym_co_yield] = ACTIONS(2315), + [anon_sym_try] = ACTIONS(2315), + [anon_sym_co_await] = ACTIONS(2315), + [anon_sym_new] = ACTIONS(2315), + [anon_sym_requires] = ACTIONS(2315), + [sym_this] = ACTIONS(2315), + [sym_nullptr] = ACTIONS(2315), + [sym_raw_string_literal] = ACTIONS(2317), + }, + [861] = { + [sym_identifier] = ACTIONS(2197), + [aux_sym_preproc_include_token1] = ACTIONS(2197), + [aux_sym_preproc_def_token1] = ACTIONS(2197), + [aux_sym_preproc_if_token1] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2197), + [sym_preproc_directive] = ACTIONS(2197), + [anon_sym_LPAREN2] = ACTIONS(2199), + [anon_sym_BANG] = ACTIONS(2199), + [anon_sym_TILDE] = ACTIONS(2199), + [anon_sym_DASH] = ACTIONS(2197), + [anon_sym_PLUS] = ACTIONS(2197), + [anon_sym_STAR] = ACTIONS(2199), + [anon_sym_AMP_AMP] = ACTIONS(2199), + [anon_sym_AMP] = ACTIONS(2197), + [anon_sym_SEMI] = ACTIONS(2199), + [anon_sym_typedef] = ACTIONS(2197), + [anon_sym_extern] = ACTIONS(2197), + [anon_sym___attribute__] = ACTIONS(2197), + [anon_sym_COLON_COLON] = ACTIONS(2199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2199), + [anon_sym___declspec] = ACTIONS(2197), + [anon_sym___based] = ACTIONS(2197), + [anon_sym___cdecl] = ACTIONS(2197), + [anon_sym___clrcall] = ACTIONS(2197), + [anon_sym___stdcall] = ACTIONS(2197), + [anon_sym___fastcall] = ACTIONS(2197), + [anon_sym___thiscall] = ACTIONS(2197), + [anon_sym___vectorcall] = ACTIONS(2197), + [anon_sym_LBRACE] = ACTIONS(2199), + [anon_sym_RBRACE] = ACTIONS(2199), + [anon_sym_LBRACK] = ACTIONS(2197), + [anon_sym_static] = ACTIONS(2197), + [anon_sym_register] = ACTIONS(2197), + [anon_sym_inline] = ACTIONS(2197), + [anon_sym_thread_local] = ACTIONS(2197), + [anon_sym_const] = ACTIONS(2197), + [anon_sym_volatile] = ACTIONS(2197), + [anon_sym_restrict] = ACTIONS(2197), + [anon_sym__Atomic] = ACTIONS(2197), + [anon_sym_mutable] = ACTIONS(2197), + [anon_sym_constexpr] = ACTIONS(2197), + [anon_sym_constinit] = ACTIONS(2197), + [anon_sym_consteval] = ACTIONS(2197), + [anon_sym_signed] = ACTIONS(2197), + [anon_sym_unsigned] = ACTIONS(2197), + [anon_sym_long] = ACTIONS(2197), + [anon_sym_short] = ACTIONS(2197), + [sym_primitive_type] = ACTIONS(2197), + [anon_sym_enum] = ACTIONS(2197), + [anon_sym_class] = ACTIONS(2197), + [anon_sym_struct] = ACTIONS(2197), + [anon_sym_union] = ACTIONS(2197), + [anon_sym_if] = ACTIONS(2197), + [anon_sym_switch] = ACTIONS(2197), + [anon_sym_case] = ACTIONS(2197), + [anon_sym_default] = ACTIONS(2197), + [anon_sym_while] = ACTIONS(2197), + [anon_sym_do] = ACTIONS(2197), + [anon_sym_for] = ACTIONS(2197), + [anon_sym_return] = ACTIONS(2197), + [anon_sym_break] = ACTIONS(2197), + [anon_sym_continue] = ACTIONS(2197), + [anon_sym_goto] = ACTIONS(2197), + [anon_sym_DASH_DASH] = ACTIONS(2199), + [anon_sym_PLUS_PLUS] = ACTIONS(2199), + [anon_sym_sizeof] = ACTIONS(2197), + [sym_number_literal] = ACTIONS(2199), + [anon_sym_L_SQUOTE] = ACTIONS(2199), + [anon_sym_u_SQUOTE] = ACTIONS(2199), + [anon_sym_U_SQUOTE] = ACTIONS(2199), + [anon_sym_u8_SQUOTE] = ACTIONS(2199), + [anon_sym_SQUOTE] = ACTIONS(2199), + [anon_sym_L_DQUOTE] = ACTIONS(2199), + [anon_sym_u_DQUOTE] = ACTIONS(2199), + [anon_sym_U_DQUOTE] = ACTIONS(2199), + [anon_sym_u8_DQUOTE] = ACTIONS(2199), + [anon_sym_DQUOTE] = ACTIONS(2199), + [sym_true] = ACTIONS(2197), + [sym_false] = ACTIONS(2197), + [sym_null] = ACTIONS(2197), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2197), + [anon_sym_decltype] = ACTIONS(2197), + [anon_sym_virtual] = ACTIONS(2197), + [anon_sym_explicit] = ACTIONS(2197), + [anon_sym_typename] = ACTIONS(2197), + [anon_sym_template] = ACTIONS(2197), + [anon_sym_operator] = ACTIONS(2197), + [anon_sym_delete] = ACTIONS(2197), + [anon_sym_throw] = ACTIONS(2197), + [anon_sym_namespace] = ACTIONS(2197), + [anon_sym_using] = ACTIONS(2197), + [anon_sym_static_assert] = ACTIONS(2197), + [anon_sym_concept] = ACTIONS(2197), + [anon_sym_co_return] = ACTIONS(2197), + [anon_sym_co_yield] = ACTIONS(2197), + [anon_sym_try] = ACTIONS(2197), + [anon_sym_co_await] = ACTIONS(2197), + [anon_sym_new] = ACTIONS(2197), + [anon_sym_requires] = ACTIONS(2197), + [sym_this] = ACTIONS(2197), + [sym_nullptr] = ACTIONS(2197), + [sym_raw_string_literal] = ACTIONS(2199), + }, + [862] = { + [ts_builtin_sym_end] = ACTIONS(2193), + [sym_identifier] = ACTIONS(2191), + [aux_sym_preproc_include_token1] = ACTIONS(2191), + [aux_sym_preproc_def_token1] = ACTIONS(2191), + [aux_sym_preproc_if_token1] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2191), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2191), + [sym_preproc_directive] = ACTIONS(2191), + [anon_sym_LPAREN2] = ACTIONS(2193), + [anon_sym_BANG] = ACTIONS(2193), + [anon_sym_TILDE] = ACTIONS(2193), + [anon_sym_DASH] = ACTIONS(2191), + [anon_sym_PLUS] = ACTIONS(2191), + [anon_sym_STAR] = ACTIONS(2193), + [anon_sym_AMP_AMP] = ACTIONS(2193), + [anon_sym_AMP] = ACTIONS(2191), + [anon_sym_SEMI] = ACTIONS(2193), + [anon_sym_typedef] = ACTIONS(2191), + [anon_sym_extern] = ACTIONS(2191), + [anon_sym___attribute__] = ACTIONS(2191), + [anon_sym_COLON_COLON] = ACTIONS(2193), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2193), + [anon_sym___declspec] = ACTIONS(2191), + [anon_sym___based] = ACTIONS(2191), + [anon_sym___cdecl] = ACTIONS(2191), + [anon_sym___clrcall] = ACTIONS(2191), + [anon_sym___stdcall] = ACTIONS(2191), + [anon_sym___fastcall] = ACTIONS(2191), + [anon_sym___thiscall] = ACTIONS(2191), + [anon_sym___vectorcall] = ACTIONS(2191), + [anon_sym_LBRACE] = ACTIONS(2193), + [anon_sym_LBRACK] = ACTIONS(2191), + [anon_sym_static] = ACTIONS(2191), + [anon_sym_register] = ACTIONS(2191), + [anon_sym_inline] = ACTIONS(2191), + [anon_sym_thread_local] = ACTIONS(2191), + [anon_sym_const] = ACTIONS(2191), + [anon_sym_volatile] = ACTIONS(2191), + [anon_sym_restrict] = ACTIONS(2191), + [anon_sym__Atomic] = ACTIONS(2191), + [anon_sym_mutable] = ACTIONS(2191), + [anon_sym_constexpr] = ACTIONS(2191), + [anon_sym_constinit] = ACTIONS(2191), + [anon_sym_consteval] = ACTIONS(2191), + [anon_sym_signed] = ACTIONS(2191), + [anon_sym_unsigned] = ACTIONS(2191), + [anon_sym_long] = ACTIONS(2191), + [anon_sym_short] = ACTIONS(2191), + [sym_primitive_type] = ACTIONS(2191), + [anon_sym_enum] = ACTIONS(2191), + [anon_sym_class] = ACTIONS(2191), + [anon_sym_struct] = ACTIONS(2191), + [anon_sym_union] = ACTIONS(2191), + [anon_sym_if] = ACTIONS(2191), + [anon_sym_switch] = ACTIONS(2191), + [anon_sym_case] = ACTIONS(2191), + [anon_sym_default] = ACTIONS(2191), + [anon_sym_while] = ACTIONS(2191), + [anon_sym_do] = ACTIONS(2191), + [anon_sym_for] = ACTIONS(2191), + [anon_sym_return] = ACTIONS(2191), + [anon_sym_break] = ACTIONS(2191), + [anon_sym_continue] = ACTIONS(2191), + [anon_sym_goto] = ACTIONS(2191), + [anon_sym_DASH_DASH] = ACTIONS(2193), + [anon_sym_PLUS_PLUS] = ACTIONS(2193), + [anon_sym_sizeof] = ACTIONS(2191), + [sym_number_literal] = ACTIONS(2193), + [anon_sym_L_SQUOTE] = ACTIONS(2193), + [anon_sym_u_SQUOTE] = ACTIONS(2193), + [anon_sym_U_SQUOTE] = ACTIONS(2193), + [anon_sym_u8_SQUOTE] = ACTIONS(2193), + [anon_sym_SQUOTE] = ACTIONS(2193), + [anon_sym_L_DQUOTE] = ACTIONS(2193), + [anon_sym_u_DQUOTE] = ACTIONS(2193), + [anon_sym_U_DQUOTE] = ACTIONS(2193), + [anon_sym_u8_DQUOTE] = ACTIONS(2193), + [anon_sym_DQUOTE] = ACTIONS(2193), + [sym_true] = ACTIONS(2191), + [sym_false] = ACTIONS(2191), + [sym_null] = ACTIONS(2191), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2191), + [anon_sym_decltype] = ACTIONS(2191), + [anon_sym_virtual] = ACTIONS(2191), + [anon_sym_explicit] = ACTIONS(2191), + [anon_sym_typename] = ACTIONS(2191), + [anon_sym_template] = ACTIONS(2191), + [anon_sym_operator] = ACTIONS(2191), + [anon_sym_delete] = ACTIONS(2191), + [anon_sym_throw] = ACTIONS(2191), + [anon_sym_namespace] = ACTIONS(2191), + [anon_sym_using] = ACTIONS(2191), + [anon_sym_static_assert] = ACTIONS(2191), + [anon_sym_concept] = ACTIONS(2191), + [anon_sym_co_return] = ACTIONS(2191), + [anon_sym_co_yield] = ACTIONS(2191), + [anon_sym_try] = ACTIONS(2191), + [anon_sym_co_await] = ACTIONS(2191), + [anon_sym_new] = ACTIONS(2191), + [anon_sym_requires] = ACTIONS(2191), + [sym_this] = ACTIONS(2191), + [sym_nullptr] = ACTIONS(2191), + [sym_raw_string_literal] = ACTIONS(2193), + }, + [863] = { + [sym_identifier] = ACTIONS(2371), + [aux_sym_preproc_include_token1] = ACTIONS(2371), + [aux_sym_preproc_def_token1] = ACTIONS(2371), + [aux_sym_preproc_if_token1] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2371), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2371), + [sym_preproc_directive] = ACTIONS(2371), + [anon_sym_LPAREN2] = ACTIONS(2373), + [anon_sym_BANG] = ACTIONS(2373), + [anon_sym_TILDE] = ACTIONS(2373), + [anon_sym_DASH] = ACTIONS(2371), + [anon_sym_PLUS] = ACTIONS(2371), + [anon_sym_STAR] = ACTIONS(2373), + [anon_sym_AMP_AMP] = ACTIONS(2373), + [anon_sym_AMP] = ACTIONS(2371), + [anon_sym_SEMI] = ACTIONS(2373), + [anon_sym_typedef] = ACTIONS(2371), + [anon_sym_extern] = ACTIONS(2371), + [anon_sym___attribute__] = ACTIONS(2371), + [anon_sym_COLON_COLON] = ACTIONS(2373), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2373), + [anon_sym___declspec] = ACTIONS(2371), + [anon_sym___based] = ACTIONS(2371), + [anon_sym___cdecl] = ACTIONS(2371), + [anon_sym___clrcall] = ACTIONS(2371), + [anon_sym___stdcall] = ACTIONS(2371), + [anon_sym___fastcall] = ACTIONS(2371), + [anon_sym___thiscall] = ACTIONS(2371), + [anon_sym___vectorcall] = ACTIONS(2371), + [anon_sym_LBRACE] = ACTIONS(2373), + [anon_sym_RBRACE] = ACTIONS(2373), + [anon_sym_LBRACK] = ACTIONS(2371), + [anon_sym_static] = ACTIONS(2371), + [anon_sym_register] = ACTIONS(2371), + [anon_sym_inline] = ACTIONS(2371), + [anon_sym_thread_local] = ACTIONS(2371), + [anon_sym_const] = ACTIONS(2371), + [anon_sym_volatile] = ACTIONS(2371), + [anon_sym_restrict] = ACTIONS(2371), + [anon_sym__Atomic] = ACTIONS(2371), + [anon_sym_mutable] = ACTIONS(2371), + [anon_sym_constexpr] = ACTIONS(2371), + [anon_sym_constinit] = ACTIONS(2371), + [anon_sym_consteval] = ACTIONS(2371), + [anon_sym_signed] = ACTIONS(2371), + [anon_sym_unsigned] = ACTIONS(2371), + [anon_sym_long] = ACTIONS(2371), + [anon_sym_short] = ACTIONS(2371), + [sym_primitive_type] = ACTIONS(2371), + [anon_sym_enum] = ACTIONS(2371), + [anon_sym_class] = ACTIONS(2371), + [anon_sym_struct] = ACTIONS(2371), + [anon_sym_union] = ACTIONS(2371), + [anon_sym_if] = ACTIONS(2371), + [anon_sym_switch] = ACTIONS(2371), + [anon_sym_case] = ACTIONS(2371), + [anon_sym_default] = ACTIONS(2371), + [anon_sym_while] = ACTIONS(2371), + [anon_sym_do] = ACTIONS(2371), + [anon_sym_for] = ACTIONS(2371), + [anon_sym_return] = ACTIONS(2371), + [anon_sym_break] = ACTIONS(2371), + [anon_sym_continue] = ACTIONS(2371), + [anon_sym_goto] = ACTIONS(2371), + [anon_sym_DASH_DASH] = ACTIONS(2373), + [anon_sym_PLUS_PLUS] = ACTIONS(2373), + [anon_sym_sizeof] = ACTIONS(2371), + [sym_number_literal] = ACTIONS(2373), + [anon_sym_L_SQUOTE] = ACTIONS(2373), + [anon_sym_u_SQUOTE] = ACTIONS(2373), + [anon_sym_U_SQUOTE] = ACTIONS(2373), + [anon_sym_u8_SQUOTE] = ACTIONS(2373), + [anon_sym_SQUOTE] = ACTIONS(2373), + [anon_sym_L_DQUOTE] = ACTIONS(2373), + [anon_sym_u_DQUOTE] = ACTIONS(2373), + [anon_sym_U_DQUOTE] = ACTIONS(2373), + [anon_sym_u8_DQUOTE] = ACTIONS(2373), + [anon_sym_DQUOTE] = ACTIONS(2373), + [sym_true] = ACTIONS(2371), + [sym_false] = ACTIONS(2371), + [sym_null] = ACTIONS(2371), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2371), + [anon_sym_decltype] = ACTIONS(2371), + [anon_sym_virtual] = ACTIONS(2371), + [anon_sym_explicit] = ACTIONS(2371), + [anon_sym_typename] = ACTIONS(2371), + [anon_sym_template] = ACTIONS(2371), + [anon_sym_operator] = ACTIONS(2371), + [anon_sym_delete] = ACTIONS(2371), + [anon_sym_throw] = ACTIONS(2371), + [anon_sym_namespace] = ACTIONS(2371), + [anon_sym_using] = ACTIONS(2371), + [anon_sym_static_assert] = ACTIONS(2371), + [anon_sym_concept] = ACTIONS(2371), + [anon_sym_co_return] = ACTIONS(2371), + [anon_sym_co_yield] = ACTIONS(2371), + [anon_sym_try] = ACTIONS(2371), + [anon_sym_co_await] = ACTIONS(2371), + [anon_sym_new] = ACTIONS(2371), + [anon_sym_requires] = ACTIONS(2371), + [sym_this] = ACTIONS(2371), + [sym_nullptr] = ACTIONS(2371), + [sym_raw_string_literal] = ACTIONS(2373), + }, + [864] = { + [sym_identifier] = ACTIONS(2205), + [aux_sym_preproc_include_token1] = ACTIONS(2205), + [aux_sym_preproc_def_token1] = ACTIONS(2205), + [aux_sym_preproc_if_token1] = ACTIONS(2205), + [aux_sym_preproc_if_token2] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2205), + [sym_preproc_directive] = ACTIONS(2205), + [anon_sym_LPAREN2] = ACTIONS(2207), + [anon_sym_BANG] = ACTIONS(2207), + [anon_sym_TILDE] = ACTIONS(2207), + [anon_sym_DASH] = ACTIONS(2205), + [anon_sym_PLUS] = ACTIONS(2205), + [anon_sym_STAR] = ACTIONS(2207), + [anon_sym_AMP_AMP] = ACTIONS(2207), + [anon_sym_AMP] = ACTIONS(2205), + [anon_sym_SEMI] = ACTIONS(2207), + [anon_sym_typedef] = ACTIONS(2205), + [anon_sym_extern] = ACTIONS(2205), + [anon_sym___attribute__] = ACTIONS(2205), + [anon_sym_COLON_COLON] = ACTIONS(2207), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2207), + [anon_sym___declspec] = ACTIONS(2205), + [anon_sym___based] = ACTIONS(2205), + [anon_sym___cdecl] = ACTIONS(2205), + [anon_sym___clrcall] = ACTIONS(2205), + [anon_sym___stdcall] = ACTIONS(2205), + [anon_sym___fastcall] = ACTIONS(2205), + [anon_sym___thiscall] = ACTIONS(2205), + [anon_sym___vectorcall] = ACTIONS(2205), + [anon_sym_LBRACE] = ACTIONS(2207), + [anon_sym_LBRACK] = ACTIONS(2205), + [anon_sym_static] = ACTIONS(2205), + [anon_sym_register] = ACTIONS(2205), + [anon_sym_inline] = ACTIONS(2205), + [anon_sym_thread_local] = ACTIONS(2205), + [anon_sym_const] = ACTIONS(2205), + [anon_sym_volatile] = ACTIONS(2205), + [anon_sym_restrict] = ACTIONS(2205), + [anon_sym__Atomic] = ACTIONS(2205), + [anon_sym_mutable] = ACTIONS(2205), + [anon_sym_constexpr] = ACTIONS(2205), + [anon_sym_constinit] = ACTIONS(2205), + [anon_sym_consteval] = ACTIONS(2205), + [anon_sym_signed] = ACTIONS(2205), + [anon_sym_unsigned] = ACTIONS(2205), + [anon_sym_long] = ACTIONS(2205), + [anon_sym_short] = ACTIONS(2205), + [sym_primitive_type] = ACTIONS(2205), + [anon_sym_enum] = ACTIONS(2205), + [anon_sym_class] = ACTIONS(2205), + [anon_sym_struct] = ACTIONS(2205), + [anon_sym_union] = ACTIONS(2205), + [anon_sym_if] = ACTIONS(2205), + [anon_sym_switch] = ACTIONS(2205), + [anon_sym_case] = ACTIONS(2205), + [anon_sym_default] = ACTIONS(2205), + [anon_sym_while] = ACTIONS(2205), + [anon_sym_do] = ACTIONS(2205), + [anon_sym_for] = ACTIONS(2205), + [anon_sym_return] = ACTIONS(2205), + [anon_sym_break] = ACTIONS(2205), + [anon_sym_continue] = ACTIONS(2205), + [anon_sym_goto] = ACTIONS(2205), + [anon_sym_DASH_DASH] = ACTIONS(2207), + [anon_sym_PLUS_PLUS] = ACTIONS(2207), + [anon_sym_sizeof] = ACTIONS(2205), + [sym_number_literal] = ACTIONS(2207), + [anon_sym_L_SQUOTE] = ACTIONS(2207), + [anon_sym_u_SQUOTE] = ACTIONS(2207), + [anon_sym_U_SQUOTE] = ACTIONS(2207), + [anon_sym_u8_SQUOTE] = ACTIONS(2207), + [anon_sym_SQUOTE] = ACTIONS(2207), + [anon_sym_L_DQUOTE] = ACTIONS(2207), + [anon_sym_u_DQUOTE] = ACTIONS(2207), + [anon_sym_U_DQUOTE] = ACTIONS(2207), + [anon_sym_u8_DQUOTE] = ACTIONS(2207), + [anon_sym_DQUOTE] = ACTIONS(2207), + [sym_true] = ACTIONS(2205), + [sym_false] = ACTIONS(2205), + [sym_null] = ACTIONS(2205), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2205), + [anon_sym_decltype] = ACTIONS(2205), + [anon_sym_virtual] = ACTIONS(2205), + [anon_sym_explicit] = ACTIONS(2205), + [anon_sym_typename] = ACTIONS(2205), + [anon_sym_template] = ACTIONS(2205), + [anon_sym_operator] = ACTIONS(2205), + [anon_sym_delete] = ACTIONS(2205), + [anon_sym_throw] = ACTIONS(2205), + [anon_sym_namespace] = ACTIONS(2205), + [anon_sym_using] = ACTIONS(2205), + [anon_sym_static_assert] = ACTIONS(2205), + [anon_sym_concept] = ACTIONS(2205), + [anon_sym_co_return] = ACTIONS(2205), + [anon_sym_co_yield] = ACTIONS(2205), + [anon_sym_try] = ACTIONS(2205), + [anon_sym_co_await] = ACTIONS(2205), + [anon_sym_new] = ACTIONS(2205), + [anon_sym_requires] = ACTIONS(2205), + [sym_this] = ACTIONS(2205), + [sym_nullptr] = ACTIONS(2205), + [sym_raw_string_literal] = ACTIONS(2207), + }, + [865] = { + [sym_identifier] = ACTIONS(2391), + [aux_sym_preproc_include_token1] = ACTIONS(2391), + [aux_sym_preproc_def_token1] = ACTIONS(2391), + [aux_sym_preproc_if_token1] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2391), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2391), + [sym_preproc_directive] = ACTIONS(2391), + [anon_sym_LPAREN2] = ACTIONS(2393), + [anon_sym_BANG] = ACTIONS(2393), + [anon_sym_TILDE] = ACTIONS(2393), + [anon_sym_DASH] = ACTIONS(2391), + [anon_sym_PLUS] = ACTIONS(2391), + [anon_sym_STAR] = ACTIONS(2393), + [anon_sym_AMP_AMP] = ACTIONS(2393), + [anon_sym_AMP] = ACTIONS(2391), + [anon_sym_SEMI] = ACTIONS(2393), + [anon_sym_typedef] = ACTIONS(2391), + [anon_sym_extern] = ACTIONS(2391), + [anon_sym___attribute__] = ACTIONS(2391), + [anon_sym_COLON_COLON] = ACTIONS(2393), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2393), + [anon_sym___declspec] = ACTIONS(2391), + [anon_sym___based] = ACTIONS(2391), + [anon_sym___cdecl] = ACTIONS(2391), + [anon_sym___clrcall] = ACTIONS(2391), + [anon_sym___stdcall] = ACTIONS(2391), + [anon_sym___fastcall] = ACTIONS(2391), + [anon_sym___thiscall] = ACTIONS(2391), + [anon_sym___vectorcall] = ACTIONS(2391), + [anon_sym_LBRACE] = ACTIONS(2393), + [anon_sym_RBRACE] = ACTIONS(2393), + [anon_sym_LBRACK] = ACTIONS(2391), + [anon_sym_static] = ACTIONS(2391), + [anon_sym_register] = ACTIONS(2391), + [anon_sym_inline] = ACTIONS(2391), + [anon_sym_thread_local] = ACTIONS(2391), + [anon_sym_const] = ACTIONS(2391), + [anon_sym_volatile] = ACTIONS(2391), + [anon_sym_restrict] = ACTIONS(2391), + [anon_sym__Atomic] = ACTIONS(2391), + [anon_sym_mutable] = ACTIONS(2391), + [anon_sym_constexpr] = ACTIONS(2391), + [anon_sym_constinit] = ACTIONS(2391), + [anon_sym_consteval] = ACTIONS(2391), + [anon_sym_signed] = ACTIONS(2391), + [anon_sym_unsigned] = ACTIONS(2391), + [anon_sym_long] = ACTIONS(2391), + [anon_sym_short] = ACTIONS(2391), + [sym_primitive_type] = ACTIONS(2391), + [anon_sym_enum] = ACTIONS(2391), + [anon_sym_class] = ACTIONS(2391), + [anon_sym_struct] = ACTIONS(2391), + [anon_sym_union] = ACTIONS(2391), + [anon_sym_if] = ACTIONS(2391), + [anon_sym_switch] = ACTIONS(2391), + [anon_sym_case] = ACTIONS(2391), + [anon_sym_default] = ACTIONS(2391), + [anon_sym_while] = ACTIONS(2391), + [anon_sym_do] = ACTIONS(2391), + [anon_sym_for] = ACTIONS(2391), + [anon_sym_return] = ACTIONS(2391), + [anon_sym_break] = ACTIONS(2391), + [anon_sym_continue] = ACTIONS(2391), + [anon_sym_goto] = ACTIONS(2391), + [anon_sym_DASH_DASH] = ACTIONS(2393), + [anon_sym_PLUS_PLUS] = ACTIONS(2393), + [anon_sym_sizeof] = ACTIONS(2391), + [sym_number_literal] = ACTIONS(2393), + [anon_sym_L_SQUOTE] = ACTIONS(2393), + [anon_sym_u_SQUOTE] = ACTIONS(2393), + [anon_sym_U_SQUOTE] = ACTIONS(2393), + [anon_sym_u8_SQUOTE] = ACTIONS(2393), + [anon_sym_SQUOTE] = ACTIONS(2393), + [anon_sym_L_DQUOTE] = ACTIONS(2393), + [anon_sym_u_DQUOTE] = ACTIONS(2393), + [anon_sym_U_DQUOTE] = ACTIONS(2393), + [anon_sym_u8_DQUOTE] = ACTIONS(2393), + [anon_sym_DQUOTE] = ACTIONS(2393), + [sym_true] = ACTIONS(2391), + [sym_false] = ACTIONS(2391), + [sym_null] = ACTIONS(2391), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2391), + [anon_sym_decltype] = ACTIONS(2391), + [anon_sym_virtual] = ACTIONS(2391), + [anon_sym_explicit] = ACTIONS(2391), + [anon_sym_typename] = ACTIONS(2391), + [anon_sym_template] = ACTIONS(2391), + [anon_sym_operator] = ACTIONS(2391), + [anon_sym_delete] = ACTIONS(2391), + [anon_sym_throw] = ACTIONS(2391), + [anon_sym_namespace] = ACTIONS(2391), + [anon_sym_using] = ACTIONS(2391), + [anon_sym_static_assert] = ACTIONS(2391), + [anon_sym_concept] = ACTIONS(2391), + [anon_sym_co_return] = ACTIONS(2391), + [anon_sym_co_yield] = ACTIONS(2391), + [anon_sym_try] = ACTIONS(2391), + [anon_sym_co_await] = ACTIONS(2391), + [anon_sym_new] = ACTIONS(2391), + [anon_sym_requires] = ACTIONS(2391), + [sym_this] = ACTIONS(2391), + [sym_nullptr] = ACTIONS(2391), + [sym_raw_string_literal] = ACTIONS(2393), + }, + [866] = { + [sym_identifier] = ACTIONS(2243), + [aux_sym_preproc_include_token1] = ACTIONS(2243), + [aux_sym_preproc_def_token1] = ACTIONS(2243), + [aux_sym_preproc_if_token1] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2243), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2243), + [sym_preproc_directive] = ACTIONS(2243), + [anon_sym_LPAREN2] = ACTIONS(2245), + [anon_sym_BANG] = ACTIONS(2245), + [anon_sym_TILDE] = ACTIONS(2245), + [anon_sym_DASH] = ACTIONS(2243), + [anon_sym_PLUS] = ACTIONS(2243), + [anon_sym_STAR] = ACTIONS(2245), + [anon_sym_AMP_AMP] = ACTIONS(2245), + [anon_sym_AMP] = ACTIONS(2243), + [anon_sym_SEMI] = ACTIONS(2245), + [anon_sym_typedef] = ACTIONS(2243), + [anon_sym_extern] = ACTIONS(2243), + [anon_sym___attribute__] = ACTIONS(2243), + [anon_sym_COLON_COLON] = ACTIONS(2245), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2245), + [anon_sym___declspec] = ACTIONS(2243), + [anon_sym___based] = ACTIONS(2243), + [anon_sym___cdecl] = ACTIONS(2243), + [anon_sym___clrcall] = ACTIONS(2243), + [anon_sym___stdcall] = ACTIONS(2243), + [anon_sym___fastcall] = ACTIONS(2243), + [anon_sym___thiscall] = ACTIONS(2243), + [anon_sym___vectorcall] = ACTIONS(2243), + [anon_sym_LBRACE] = ACTIONS(2245), + [anon_sym_RBRACE] = ACTIONS(2245), + [anon_sym_LBRACK] = ACTIONS(2243), + [anon_sym_static] = ACTIONS(2243), + [anon_sym_register] = ACTIONS(2243), + [anon_sym_inline] = ACTIONS(2243), + [anon_sym_thread_local] = ACTIONS(2243), + [anon_sym_const] = ACTIONS(2243), + [anon_sym_volatile] = ACTIONS(2243), + [anon_sym_restrict] = ACTIONS(2243), + [anon_sym__Atomic] = ACTIONS(2243), + [anon_sym_mutable] = ACTIONS(2243), + [anon_sym_constexpr] = ACTIONS(2243), + [anon_sym_constinit] = ACTIONS(2243), + [anon_sym_consteval] = ACTIONS(2243), + [anon_sym_signed] = ACTIONS(2243), + [anon_sym_unsigned] = ACTIONS(2243), + [anon_sym_long] = ACTIONS(2243), + [anon_sym_short] = ACTIONS(2243), + [sym_primitive_type] = ACTIONS(2243), + [anon_sym_enum] = ACTIONS(2243), + [anon_sym_class] = ACTIONS(2243), + [anon_sym_struct] = ACTIONS(2243), + [anon_sym_union] = ACTIONS(2243), + [anon_sym_if] = ACTIONS(2243), + [anon_sym_switch] = ACTIONS(2243), + [anon_sym_case] = ACTIONS(2243), + [anon_sym_default] = ACTIONS(2243), + [anon_sym_while] = ACTIONS(2243), + [anon_sym_do] = ACTIONS(2243), + [anon_sym_for] = ACTIONS(2243), + [anon_sym_return] = ACTIONS(2243), + [anon_sym_break] = ACTIONS(2243), + [anon_sym_continue] = ACTIONS(2243), + [anon_sym_goto] = ACTIONS(2243), + [anon_sym_DASH_DASH] = ACTIONS(2245), + [anon_sym_PLUS_PLUS] = ACTIONS(2245), + [anon_sym_sizeof] = ACTIONS(2243), + [sym_number_literal] = ACTIONS(2245), + [anon_sym_L_SQUOTE] = ACTIONS(2245), + [anon_sym_u_SQUOTE] = ACTIONS(2245), + [anon_sym_U_SQUOTE] = ACTIONS(2245), + [anon_sym_u8_SQUOTE] = ACTIONS(2245), + [anon_sym_SQUOTE] = ACTIONS(2245), + [anon_sym_L_DQUOTE] = ACTIONS(2245), + [anon_sym_u_DQUOTE] = ACTIONS(2245), + [anon_sym_U_DQUOTE] = ACTIONS(2245), + [anon_sym_u8_DQUOTE] = ACTIONS(2245), + [anon_sym_DQUOTE] = ACTIONS(2245), + [sym_true] = ACTIONS(2243), + [sym_false] = ACTIONS(2243), + [sym_null] = ACTIONS(2243), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2243), + [anon_sym_decltype] = ACTIONS(2243), + [anon_sym_virtual] = ACTIONS(2243), + [anon_sym_explicit] = ACTIONS(2243), + [anon_sym_typename] = ACTIONS(2243), + [anon_sym_template] = ACTIONS(2243), + [anon_sym_operator] = ACTIONS(2243), + [anon_sym_delete] = ACTIONS(2243), + [anon_sym_throw] = ACTIONS(2243), + [anon_sym_namespace] = ACTIONS(2243), + [anon_sym_using] = ACTIONS(2243), + [anon_sym_static_assert] = ACTIONS(2243), + [anon_sym_concept] = ACTIONS(2243), + [anon_sym_co_return] = ACTIONS(2243), + [anon_sym_co_yield] = ACTIONS(2243), + [anon_sym_try] = ACTIONS(2243), + [anon_sym_co_await] = ACTIONS(2243), + [anon_sym_new] = ACTIONS(2243), + [anon_sym_requires] = ACTIONS(2243), + [sym_this] = ACTIONS(2243), + [sym_nullptr] = ACTIONS(2243), + [sym_raw_string_literal] = ACTIONS(2245), + }, + [867] = { + [ts_builtin_sym_end] = ACTIONS(2233), + [sym_identifier] = ACTIONS(2231), + [aux_sym_preproc_include_token1] = ACTIONS(2231), + [aux_sym_preproc_def_token1] = ACTIONS(2231), + [aux_sym_preproc_if_token1] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2231), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2231), + [sym_preproc_directive] = ACTIONS(2231), + [anon_sym_LPAREN2] = ACTIONS(2233), + [anon_sym_BANG] = ACTIONS(2233), + [anon_sym_TILDE] = ACTIONS(2233), + [anon_sym_DASH] = ACTIONS(2231), + [anon_sym_PLUS] = ACTIONS(2231), + [anon_sym_STAR] = ACTIONS(2233), + [anon_sym_AMP_AMP] = ACTIONS(2233), + [anon_sym_AMP] = ACTIONS(2231), + [anon_sym_SEMI] = ACTIONS(2233), + [anon_sym_typedef] = ACTIONS(2231), + [anon_sym_extern] = ACTIONS(2231), + [anon_sym___attribute__] = ACTIONS(2231), + [anon_sym_COLON_COLON] = ACTIONS(2233), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2233), + [anon_sym___declspec] = ACTIONS(2231), + [anon_sym___based] = ACTIONS(2231), + [anon_sym___cdecl] = ACTIONS(2231), + [anon_sym___clrcall] = ACTIONS(2231), + [anon_sym___stdcall] = ACTIONS(2231), + [anon_sym___fastcall] = ACTIONS(2231), + [anon_sym___thiscall] = ACTIONS(2231), + [anon_sym___vectorcall] = ACTIONS(2231), + [anon_sym_LBRACE] = ACTIONS(2233), + [anon_sym_LBRACK] = ACTIONS(2231), + [anon_sym_static] = ACTIONS(2231), + [anon_sym_register] = ACTIONS(2231), + [anon_sym_inline] = ACTIONS(2231), + [anon_sym_thread_local] = ACTIONS(2231), + [anon_sym_const] = ACTIONS(2231), + [anon_sym_volatile] = ACTIONS(2231), + [anon_sym_restrict] = ACTIONS(2231), + [anon_sym__Atomic] = ACTIONS(2231), + [anon_sym_mutable] = ACTIONS(2231), + [anon_sym_constexpr] = ACTIONS(2231), + [anon_sym_constinit] = ACTIONS(2231), + [anon_sym_consteval] = ACTIONS(2231), + [anon_sym_signed] = ACTIONS(2231), + [anon_sym_unsigned] = ACTIONS(2231), + [anon_sym_long] = ACTIONS(2231), + [anon_sym_short] = ACTIONS(2231), + [sym_primitive_type] = ACTIONS(2231), + [anon_sym_enum] = ACTIONS(2231), + [anon_sym_class] = ACTIONS(2231), + [anon_sym_struct] = ACTIONS(2231), + [anon_sym_union] = ACTIONS(2231), + [anon_sym_if] = ACTIONS(2231), + [anon_sym_switch] = ACTIONS(2231), + [anon_sym_case] = ACTIONS(2231), + [anon_sym_default] = ACTIONS(2231), + [anon_sym_while] = ACTIONS(2231), + [anon_sym_do] = ACTIONS(2231), + [anon_sym_for] = ACTIONS(2231), + [anon_sym_return] = ACTIONS(2231), + [anon_sym_break] = ACTIONS(2231), + [anon_sym_continue] = ACTIONS(2231), + [anon_sym_goto] = ACTIONS(2231), + [anon_sym_DASH_DASH] = ACTIONS(2233), + [anon_sym_PLUS_PLUS] = ACTIONS(2233), + [anon_sym_sizeof] = ACTIONS(2231), + [sym_number_literal] = ACTIONS(2233), + [anon_sym_L_SQUOTE] = ACTIONS(2233), + [anon_sym_u_SQUOTE] = ACTIONS(2233), + [anon_sym_U_SQUOTE] = ACTIONS(2233), + [anon_sym_u8_SQUOTE] = ACTIONS(2233), + [anon_sym_SQUOTE] = ACTIONS(2233), + [anon_sym_L_DQUOTE] = ACTIONS(2233), + [anon_sym_u_DQUOTE] = ACTIONS(2233), + [anon_sym_U_DQUOTE] = ACTIONS(2233), + [anon_sym_u8_DQUOTE] = ACTIONS(2233), + [anon_sym_DQUOTE] = ACTIONS(2233), + [sym_true] = ACTIONS(2231), + [sym_false] = ACTIONS(2231), + [sym_null] = ACTIONS(2231), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2231), + [anon_sym_decltype] = ACTIONS(2231), + [anon_sym_virtual] = ACTIONS(2231), + [anon_sym_explicit] = ACTIONS(2231), + [anon_sym_typename] = ACTIONS(2231), + [anon_sym_template] = ACTIONS(2231), + [anon_sym_operator] = ACTIONS(2231), + [anon_sym_delete] = ACTIONS(2231), + [anon_sym_throw] = ACTIONS(2231), + [anon_sym_namespace] = ACTIONS(2231), + [anon_sym_using] = ACTIONS(2231), + [anon_sym_static_assert] = ACTIONS(2231), + [anon_sym_concept] = ACTIONS(2231), + [anon_sym_co_return] = ACTIONS(2231), + [anon_sym_co_yield] = ACTIONS(2231), + [anon_sym_try] = ACTIONS(2231), + [anon_sym_co_await] = ACTIONS(2231), + [anon_sym_new] = ACTIONS(2231), + [anon_sym_requires] = ACTIONS(2231), + [sym_this] = ACTIONS(2231), + [sym_nullptr] = ACTIONS(2231), + [sym_raw_string_literal] = ACTIONS(2233), + }, + [868] = { + [sym_identifier] = ACTIONS(2379), + [aux_sym_preproc_include_token1] = ACTIONS(2379), + [aux_sym_preproc_def_token1] = ACTIONS(2379), + [aux_sym_preproc_if_token1] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2379), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2379), + [sym_preproc_directive] = ACTIONS(2379), + [anon_sym_LPAREN2] = ACTIONS(2381), + [anon_sym_BANG] = ACTIONS(2381), + [anon_sym_TILDE] = ACTIONS(2381), + [anon_sym_DASH] = ACTIONS(2379), + [anon_sym_PLUS] = ACTIONS(2379), + [anon_sym_STAR] = ACTIONS(2381), + [anon_sym_AMP_AMP] = ACTIONS(2381), + [anon_sym_AMP] = ACTIONS(2379), + [anon_sym_SEMI] = ACTIONS(2381), + [anon_sym_typedef] = ACTIONS(2379), + [anon_sym_extern] = ACTIONS(2379), + [anon_sym___attribute__] = ACTIONS(2379), + [anon_sym_COLON_COLON] = ACTIONS(2381), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2381), + [anon_sym___declspec] = ACTIONS(2379), + [anon_sym___based] = ACTIONS(2379), + [anon_sym___cdecl] = ACTIONS(2379), + [anon_sym___clrcall] = ACTIONS(2379), + [anon_sym___stdcall] = ACTIONS(2379), + [anon_sym___fastcall] = ACTIONS(2379), + [anon_sym___thiscall] = ACTIONS(2379), + [anon_sym___vectorcall] = ACTIONS(2379), + [anon_sym_LBRACE] = ACTIONS(2381), + [anon_sym_RBRACE] = ACTIONS(2381), + [anon_sym_LBRACK] = ACTIONS(2379), + [anon_sym_static] = ACTIONS(2379), + [anon_sym_register] = ACTIONS(2379), + [anon_sym_inline] = ACTIONS(2379), + [anon_sym_thread_local] = ACTIONS(2379), + [anon_sym_const] = ACTIONS(2379), + [anon_sym_volatile] = ACTIONS(2379), + [anon_sym_restrict] = ACTIONS(2379), + [anon_sym__Atomic] = ACTIONS(2379), + [anon_sym_mutable] = ACTIONS(2379), + [anon_sym_constexpr] = ACTIONS(2379), + [anon_sym_constinit] = ACTIONS(2379), + [anon_sym_consteval] = ACTIONS(2379), + [anon_sym_signed] = ACTIONS(2379), + [anon_sym_unsigned] = ACTIONS(2379), + [anon_sym_long] = ACTIONS(2379), + [anon_sym_short] = ACTIONS(2379), + [sym_primitive_type] = ACTIONS(2379), + [anon_sym_enum] = ACTIONS(2379), + [anon_sym_class] = ACTIONS(2379), + [anon_sym_struct] = ACTIONS(2379), + [anon_sym_union] = ACTIONS(2379), + [anon_sym_if] = ACTIONS(2379), + [anon_sym_switch] = ACTIONS(2379), + [anon_sym_case] = ACTIONS(2379), + [anon_sym_default] = ACTIONS(2379), + [anon_sym_while] = ACTIONS(2379), + [anon_sym_do] = ACTIONS(2379), + [anon_sym_for] = ACTIONS(2379), + [anon_sym_return] = ACTIONS(2379), + [anon_sym_break] = ACTIONS(2379), + [anon_sym_continue] = ACTIONS(2379), + [anon_sym_goto] = ACTIONS(2379), + [anon_sym_DASH_DASH] = ACTIONS(2381), + [anon_sym_PLUS_PLUS] = ACTIONS(2381), + [anon_sym_sizeof] = ACTIONS(2379), + [sym_number_literal] = ACTIONS(2381), + [anon_sym_L_SQUOTE] = ACTIONS(2381), + [anon_sym_u_SQUOTE] = ACTIONS(2381), + [anon_sym_U_SQUOTE] = ACTIONS(2381), + [anon_sym_u8_SQUOTE] = ACTIONS(2381), + [anon_sym_SQUOTE] = ACTIONS(2381), + [anon_sym_L_DQUOTE] = ACTIONS(2381), + [anon_sym_u_DQUOTE] = ACTIONS(2381), + [anon_sym_U_DQUOTE] = ACTIONS(2381), + [anon_sym_u8_DQUOTE] = ACTIONS(2381), + [anon_sym_DQUOTE] = ACTIONS(2381), + [sym_true] = ACTIONS(2379), + [sym_false] = ACTIONS(2379), + [sym_null] = ACTIONS(2379), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2379), + [anon_sym_decltype] = ACTIONS(2379), + [anon_sym_virtual] = ACTIONS(2379), + [anon_sym_explicit] = ACTIONS(2379), + [anon_sym_typename] = ACTIONS(2379), + [anon_sym_template] = ACTIONS(2379), + [anon_sym_operator] = ACTIONS(2379), + [anon_sym_delete] = ACTIONS(2379), + [anon_sym_throw] = ACTIONS(2379), + [anon_sym_namespace] = ACTIONS(2379), + [anon_sym_using] = ACTIONS(2379), + [anon_sym_static_assert] = ACTIONS(2379), + [anon_sym_concept] = ACTIONS(2379), + [anon_sym_co_return] = ACTIONS(2379), + [anon_sym_co_yield] = ACTIONS(2379), + [anon_sym_try] = ACTIONS(2379), + [anon_sym_co_await] = ACTIONS(2379), + [anon_sym_new] = ACTIONS(2379), + [anon_sym_requires] = ACTIONS(2379), + [sym_this] = ACTIONS(2379), + [sym_nullptr] = ACTIONS(2379), + [sym_raw_string_literal] = ACTIONS(2381), + }, + [869] = { + [sym_identifier] = ACTIONS(2235), + [aux_sym_preproc_include_token1] = ACTIONS(2235), + [aux_sym_preproc_def_token1] = ACTIONS(2235), + [aux_sym_preproc_if_token1] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2235), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2235), + [sym_preproc_directive] = ACTIONS(2235), + [anon_sym_LPAREN2] = ACTIONS(2237), + [anon_sym_BANG] = ACTIONS(2237), + [anon_sym_TILDE] = ACTIONS(2237), + [anon_sym_DASH] = ACTIONS(2235), + [anon_sym_PLUS] = ACTIONS(2235), + [anon_sym_STAR] = ACTIONS(2237), + [anon_sym_AMP_AMP] = ACTIONS(2237), + [anon_sym_AMP] = ACTIONS(2235), + [anon_sym_SEMI] = ACTIONS(2237), + [anon_sym_typedef] = ACTIONS(2235), + [anon_sym_extern] = ACTIONS(2235), + [anon_sym___attribute__] = ACTIONS(2235), + [anon_sym_COLON_COLON] = ACTIONS(2237), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2237), + [anon_sym___declspec] = ACTIONS(2235), + [anon_sym___based] = ACTIONS(2235), + [anon_sym___cdecl] = ACTIONS(2235), + [anon_sym___clrcall] = ACTIONS(2235), + [anon_sym___stdcall] = ACTIONS(2235), + [anon_sym___fastcall] = ACTIONS(2235), + [anon_sym___thiscall] = ACTIONS(2235), + [anon_sym___vectorcall] = ACTIONS(2235), + [anon_sym_LBRACE] = ACTIONS(2237), + [anon_sym_RBRACE] = ACTIONS(2237), + [anon_sym_LBRACK] = ACTIONS(2235), + [anon_sym_static] = ACTIONS(2235), + [anon_sym_register] = ACTIONS(2235), + [anon_sym_inline] = ACTIONS(2235), + [anon_sym_thread_local] = ACTIONS(2235), + [anon_sym_const] = ACTIONS(2235), + [anon_sym_volatile] = ACTIONS(2235), + [anon_sym_restrict] = ACTIONS(2235), + [anon_sym__Atomic] = ACTIONS(2235), + [anon_sym_mutable] = ACTIONS(2235), + [anon_sym_constexpr] = ACTIONS(2235), + [anon_sym_constinit] = ACTIONS(2235), + [anon_sym_consteval] = ACTIONS(2235), + [anon_sym_signed] = ACTIONS(2235), + [anon_sym_unsigned] = ACTIONS(2235), + [anon_sym_long] = ACTIONS(2235), + [anon_sym_short] = ACTIONS(2235), + [sym_primitive_type] = ACTIONS(2235), + [anon_sym_enum] = ACTIONS(2235), + [anon_sym_class] = ACTIONS(2235), + [anon_sym_struct] = ACTIONS(2235), + [anon_sym_union] = ACTIONS(2235), + [anon_sym_if] = ACTIONS(2235), + [anon_sym_switch] = ACTIONS(2235), + [anon_sym_case] = ACTIONS(2235), + [anon_sym_default] = ACTIONS(2235), + [anon_sym_while] = ACTIONS(2235), + [anon_sym_do] = ACTIONS(2235), + [anon_sym_for] = ACTIONS(2235), + [anon_sym_return] = ACTIONS(2235), + [anon_sym_break] = ACTIONS(2235), + [anon_sym_continue] = ACTIONS(2235), + [anon_sym_goto] = ACTIONS(2235), + [anon_sym_DASH_DASH] = ACTIONS(2237), + [anon_sym_PLUS_PLUS] = ACTIONS(2237), + [anon_sym_sizeof] = ACTIONS(2235), + [sym_number_literal] = ACTIONS(2237), + [anon_sym_L_SQUOTE] = ACTIONS(2237), + [anon_sym_u_SQUOTE] = ACTIONS(2237), + [anon_sym_U_SQUOTE] = ACTIONS(2237), + [anon_sym_u8_SQUOTE] = ACTIONS(2237), + [anon_sym_SQUOTE] = ACTIONS(2237), + [anon_sym_L_DQUOTE] = ACTIONS(2237), + [anon_sym_u_DQUOTE] = ACTIONS(2237), + [anon_sym_U_DQUOTE] = ACTIONS(2237), + [anon_sym_u8_DQUOTE] = ACTIONS(2237), + [anon_sym_DQUOTE] = ACTIONS(2237), + [sym_true] = ACTIONS(2235), + [sym_false] = ACTIONS(2235), + [sym_null] = ACTIONS(2235), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2235), + [anon_sym_decltype] = ACTIONS(2235), + [anon_sym_virtual] = ACTIONS(2235), + [anon_sym_explicit] = ACTIONS(2235), + [anon_sym_typename] = ACTIONS(2235), + [anon_sym_template] = ACTIONS(2235), + [anon_sym_operator] = ACTIONS(2235), + [anon_sym_delete] = ACTIONS(2235), + [anon_sym_throw] = ACTIONS(2235), + [anon_sym_namespace] = ACTIONS(2235), + [anon_sym_using] = ACTIONS(2235), + [anon_sym_static_assert] = ACTIONS(2235), + [anon_sym_concept] = ACTIONS(2235), + [anon_sym_co_return] = ACTIONS(2235), + [anon_sym_co_yield] = ACTIONS(2235), + [anon_sym_try] = ACTIONS(2235), + [anon_sym_co_await] = ACTIONS(2235), + [anon_sym_new] = ACTIONS(2235), + [anon_sym_requires] = ACTIONS(2235), + [sym_this] = ACTIONS(2235), + [sym_nullptr] = ACTIONS(2235), + [sym_raw_string_literal] = ACTIONS(2237), + }, + [870] = { + [sym_identifier] = ACTIONS(2201), + [aux_sym_preproc_include_token1] = ACTIONS(2201), + [aux_sym_preproc_def_token1] = ACTIONS(2201), + [aux_sym_preproc_if_token1] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2201), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2201), + [sym_preproc_directive] = ACTIONS(2201), + [anon_sym_LPAREN2] = ACTIONS(2203), + [anon_sym_BANG] = ACTIONS(2203), + [anon_sym_TILDE] = ACTIONS(2203), + [anon_sym_DASH] = ACTIONS(2201), + [anon_sym_PLUS] = ACTIONS(2201), + [anon_sym_STAR] = ACTIONS(2203), + [anon_sym_AMP_AMP] = ACTIONS(2203), + [anon_sym_AMP] = ACTIONS(2201), + [anon_sym_SEMI] = ACTIONS(2203), + [anon_sym_typedef] = ACTIONS(2201), + [anon_sym_extern] = ACTIONS(2201), + [anon_sym___attribute__] = ACTIONS(2201), + [anon_sym_COLON_COLON] = ACTIONS(2203), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2203), + [anon_sym___declspec] = ACTIONS(2201), + [anon_sym___based] = ACTIONS(2201), + [anon_sym___cdecl] = ACTIONS(2201), + [anon_sym___clrcall] = ACTIONS(2201), + [anon_sym___stdcall] = ACTIONS(2201), + [anon_sym___fastcall] = ACTIONS(2201), + [anon_sym___thiscall] = ACTIONS(2201), + [anon_sym___vectorcall] = ACTIONS(2201), + [anon_sym_LBRACE] = ACTIONS(2203), + [anon_sym_RBRACE] = ACTIONS(2203), + [anon_sym_LBRACK] = ACTIONS(2201), + [anon_sym_static] = ACTIONS(2201), + [anon_sym_register] = ACTIONS(2201), + [anon_sym_inline] = ACTIONS(2201), + [anon_sym_thread_local] = ACTIONS(2201), + [anon_sym_const] = ACTIONS(2201), + [anon_sym_volatile] = ACTIONS(2201), + [anon_sym_restrict] = ACTIONS(2201), + [anon_sym__Atomic] = ACTIONS(2201), + [anon_sym_mutable] = ACTIONS(2201), + [anon_sym_constexpr] = ACTIONS(2201), + [anon_sym_constinit] = ACTIONS(2201), + [anon_sym_consteval] = ACTIONS(2201), + [anon_sym_signed] = ACTIONS(2201), + [anon_sym_unsigned] = ACTIONS(2201), + [anon_sym_long] = ACTIONS(2201), + [anon_sym_short] = ACTIONS(2201), + [sym_primitive_type] = ACTIONS(2201), + [anon_sym_enum] = ACTIONS(2201), + [anon_sym_class] = ACTIONS(2201), + [anon_sym_struct] = ACTIONS(2201), + [anon_sym_union] = ACTIONS(2201), + [anon_sym_if] = ACTIONS(2201), + [anon_sym_switch] = ACTIONS(2201), + [anon_sym_case] = ACTIONS(2201), + [anon_sym_default] = ACTIONS(2201), + [anon_sym_while] = ACTIONS(2201), + [anon_sym_do] = ACTIONS(2201), + [anon_sym_for] = ACTIONS(2201), + [anon_sym_return] = ACTIONS(2201), + [anon_sym_break] = ACTIONS(2201), + [anon_sym_continue] = ACTIONS(2201), + [anon_sym_goto] = ACTIONS(2201), + [anon_sym_DASH_DASH] = ACTIONS(2203), + [anon_sym_PLUS_PLUS] = ACTIONS(2203), + [anon_sym_sizeof] = ACTIONS(2201), + [sym_number_literal] = ACTIONS(2203), + [anon_sym_L_SQUOTE] = ACTIONS(2203), + [anon_sym_u_SQUOTE] = ACTIONS(2203), + [anon_sym_U_SQUOTE] = ACTIONS(2203), + [anon_sym_u8_SQUOTE] = ACTIONS(2203), + [anon_sym_SQUOTE] = ACTIONS(2203), + [anon_sym_L_DQUOTE] = ACTIONS(2203), + [anon_sym_u_DQUOTE] = ACTIONS(2203), + [anon_sym_U_DQUOTE] = ACTIONS(2203), + [anon_sym_u8_DQUOTE] = ACTIONS(2203), + [anon_sym_DQUOTE] = ACTIONS(2203), + [sym_true] = ACTIONS(2201), + [sym_false] = ACTIONS(2201), + [sym_null] = ACTIONS(2201), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2201), + [anon_sym_decltype] = ACTIONS(2201), + [anon_sym_virtual] = ACTIONS(2201), + [anon_sym_explicit] = ACTIONS(2201), + [anon_sym_typename] = ACTIONS(2201), + [anon_sym_template] = ACTIONS(2201), + [anon_sym_operator] = ACTIONS(2201), + [anon_sym_delete] = ACTIONS(2201), + [anon_sym_throw] = ACTIONS(2201), + [anon_sym_namespace] = ACTIONS(2201), + [anon_sym_using] = ACTIONS(2201), + [anon_sym_static_assert] = ACTIONS(2201), + [anon_sym_concept] = ACTIONS(2201), + [anon_sym_co_return] = ACTIONS(2201), + [anon_sym_co_yield] = ACTIONS(2201), + [anon_sym_try] = ACTIONS(2201), + [anon_sym_co_await] = ACTIONS(2201), + [anon_sym_new] = ACTIONS(2201), + [anon_sym_requires] = ACTIONS(2201), + [sym_this] = ACTIONS(2201), + [sym_nullptr] = ACTIONS(2201), + [sym_raw_string_literal] = ACTIONS(2203), + }, + [871] = { + [sym_identifier] = ACTIONS(2197), + [aux_sym_preproc_include_token1] = ACTIONS(2197), + [aux_sym_preproc_def_token1] = ACTIONS(2197), + [aux_sym_preproc_if_token1] = ACTIONS(2197), + [aux_sym_preproc_if_token2] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2197), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2197), + [sym_preproc_directive] = ACTIONS(2197), + [anon_sym_LPAREN2] = ACTIONS(2199), + [anon_sym_BANG] = ACTIONS(2199), + [anon_sym_TILDE] = ACTIONS(2199), + [anon_sym_DASH] = ACTIONS(2197), + [anon_sym_PLUS] = ACTIONS(2197), + [anon_sym_STAR] = ACTIONS(2199), + [anon_sym_AMP_AMP] = ACTIONS(2199), + [anon_sym_AMP] = ACTIONS(2197), + [anon_sym_SEMI] = ACTIONS(2199), + [anon_sym_typedef] = ACTIONS(2197), + [anon_sym_extern] = ACTIONS(2197), + [anon_sym___attribute__] = ACTIONS(2197), + [anon_sym_COLON_COLON] = ACTIONS(2199), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2199), + [anon_sym___declspec] = ACTIONS(2197), + [anon_sym___based] = ACTIONS(2197), + [anon_sym___cdecl] = ACTIONS(2197), + [anon_sym___clrcall] = ACTIONS(2197), + [anon_sym___stdcall] = ACTIONS(2197), + [anon_sym___fastcall] = ACTIONS(2197), + [anon_sym___thiscall] = ACTIONS(2197), + [anon_sym___vectorcall] = ACTIONS(2197), + [anon_sym_LBRACE] = ACTIONS(2199), + [anon_sym_LBRACK] = ACTIONS(2197), + [anon_sym_static] = ACTIONS(2197), + [anon_sym_register] = ACTIONS(2197), + [anon_sym_inline] = ACTIONS(2197), + [anon_sym_thread_local] = ACTIONS(2197), + [anon_sym_const] = ACTIONS(2197), + [anon_sym_volatile] = ACTIONS(2197), + [anon_sym_restrict] = ACTIONS(2197), + [anon_sym__Atomic] = ACTIONS(2197), + [anon_sym_mutable] = ACTIONS(2197), + [anon_sym_constexpr] = ACTIONS(2197), + [anon_sym_constinit] = ACTIONS(2197), + [anon_sym_consteval] = ACTIONS(2197), + [anon_sym_signed] = ACTIONS(2197), + [anon_sym_unsigned] = ACTIONS(2197), + [anon_sym_long] = ACTIONS(2197), + [anon_sym_short] = ACTIONS(2197), + [sym_primitive_type] = ACTIONS(2197), + [anon_sym_enum] = ACTIONS(2197), + [anon_sym_class] = ACTIONS(2197), + [anon_sym_struct] = ACTIONS(2197), + [anon_sym_union] = ACTIONS(2197), + [anon_sym_if] = ACTIONS(2197), + [anon_sym_switch] = ACTIONS(2197), + [anon_sym_case] = ACTIONS(2197), + [anon_sym_default] = ACTIONS(2197), + [anon_sym_while] = ACTIONS(2197), + [anon_sym_do] = ACTIONS(2197), + [anon_sym_for] = ACTIONS(2197), + [anon_sym_return] = ACTIONS(2197), + [anon_sym_break] = ACTIONS(2197), + [anon_sym_continue] = ACTIONS(2197), + [anon_sym_goto] = ACTIONS(2197), + [anon_sym_DASH_DASH] = ACTIONS(2199), + [anon_sym_PLUS_PLUS] = ACTIONS(2199), + [anon_sym_sizeof] = ACTIONS(2197), + [sym_number_literal] = ACTIONS(2199), + [anon_sym_L_SQUOTE] = ACTIONS(2199), + [anon_sym_u_SQUOTE] = ACTIONS(2199), + [anon_sym_U_SQUOTE] = ACTIONS(2199), + [anon_sym_u8_SQUOTE] = ACTIONS(2199), + [anon_sym_SQUOTE] = ACTIONS(2199), + [anon_sym_L_DQUOTE] = ACTIONS(2199), + [anon_sym_u_DQUOTE] = ACTIONS(2199), + [anon_sym_U_DQUOTE] = ACTIONS(2199), + [anon_sym_u8_DQUOTE] = ACTIONS(2199), + [anon_sym_DQUOTE] = ACTIONS(2199), + [sym_true] = ACTIONS(2197), + [sym_false] = ACTIONS(2197), + [sym_null] = ACTIONS(2197), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2197), + [anon_sym_decltype] = ACTIONS(2197), + [anon_sym_virtual] = ACTIONS(2197), + [anon_sym_explicit] = ACTIONS(2197), + [anon_sym_typename] = ACTIONS(2197), + [anon_sym_template] = ACTIONS(2197), + [anon_sym_operator] = ACTIONS(2197), + [anon_sym_delete] = ACTIONS(2197), + [anon_sym_throw] = ACTIONS(2197), + [anon_sym_namespace] = ACTIONS(2197), + [anon_sym_using] = ACTIONS(2197), + [anon_sym_static_assert] = ACTIONS(2197), + [anon_sym_concept] = ACTIONS(2197), + [anon_sym_co_return] = ACTIONS(2197), + [anon_sym_co_yield] = ACTIONS(2197), + [anon_sym_try] = ACTIONS(2197), + [anon_sym_co_await] = ACTIONS(2197), + [anon_sym_new] = ACTIONS(2197), + [anon_sym_requires] = ACTIONS(2197), + [sym_this] = ACTIONS(2197), + [sym_nullptr] = ACTIONS(2197), + [sym_raw_string_literal] = ACTIONS(2199), + }, + [872] = { + [sym_identifier] = ACTIONS(2205), + [aux_sym_preproc_include_token1] = ACTIONS(2205), + [aux_sym_preproc_def_token1] = ACTIONS(2205), + [aux_sym_preproc_if_token1] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2205), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2205), + [sym_preproc_directive] = ACTIONS(2205), + [anon_sym_LPAREN2] = ACTIONS(2207), + [anon_sym_BANG] = ACTIONS(2207), + [anon_sym_TILDE] = ACTIONS(2207), + [anon_sym_DASH] = ACTIONS(2205), + [anon_sym_PLUS] = ACTIONS(2205), + [anon_sym_STAR] = ACTIONS(2207), + [anon_sym_AMP_AMP] = ACTIONS(2207), + [anon_sym_AMP] = ACTIONS(2205), + [anon_sym_SEMI] = ACTIONS(2207), + [anon_sym_typedef] = ACTIONS(2205), + [anon_sym_extern] = ACTIONS(2205), + [anon_sym___attribute__] = ACTIONS(2205), + [anon_sym_COLON_COLON] = ACTIONS(2207), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2207), + [anon_sym___declspec] = ACTIONS(2205), + [anon_sym___based] = ACTIONS(2205), + [anon_sym___cdecl] = ACTIONS(2205), + [anon_sym___clrcall] = ACTIONS(2205), + [anon_sym___stdcall] = ACTIONS(2205), + [anon_sym___fastcall] = ACTIONS(2205), + [anon_sym___thiscall] = ACTIONS(2205), + [anon_sym___vectorcall] = ACTIONS(2205), + [anon_sym_LBRACE] = ACTIONS(2207), + [anon_sym_RBRACE] = ACTIONS(2207), + [anon_sym_LBRACK] = ACTIONS(2205), + [anon_sym_static] = ACTIONS(2205), + [anon_sym_register] = ACTIONS(2205), + [anon_sym_inline] = ACTIONS(2205), + [anon_sym_thread_local] = ACTIONS(2205), + [anon_sym_const] = ACTIONS(2205), + [anon_sym_volatile] = ACTIONS(2205), + [anon_sym_restrict] = ACTIONS(2205), + [anon_sym__Atomic] = ACTIONS(2205), + [anon_sym_mutable] = ACTIONS(2205), + [anon_sym_constexpr] = ACTIONS(2205), + [anon_sym_constinit] = ACTIONS(2205), + [anon_sym_consteval] = ACTIONS(2205), + [anon_sym_signed] = ACTIONS(2205), + [anon_sym_unsigned] = ACTIONS(2205), + [anon_sym_long] = ACTIONS(2205), + [anon_sym_short] = ACTIONS(2205), + [sym_primitive_type] = ACTIONS(2205), + [anon_sym_enum] = ACTIONS(2205), + [anon_sym_class] = ACTIONS(2205), + [anon_sym_struct] = ACTIONS(2205), + [anon_sym_union] = ACTIONS(2205), + [anon_sym_if] = ACTIONS(2205), + [anon_sym_switch] = ACTIONS(2205), + [anon_sym_case] = ACTIONS(2205), + [anon_sym_default] = ACTIONS(2205), + [anon_sym_while] = ACTIONS(2205), + [anon_sym_do] = ACTIONS(2205), + [anon_sym_for] = ACTIONS(2205), + [anon_sym_return] = ACTIONS(2205), + [anon_sym_break] = ACTIONS(2205), + [anon_sym_continue] = ACTIONS(2205), + [anon_sym_goto] = ACTIONS(2205), + [anon_sym_DASH_DASH] = ACTIONS(2207), + [anon_sym_PLUS_PLUS] = ACTIONS(2207), + [anon_sym_sizeof] = ACTIONS(2205), + [sym_number_literal] = ACTIONS(2207), + [anon_sym_L_SQUOTE] = ACTIONS(2207), + [anon_sym_u_SQUOTE] = ACTIONS(2207), + [anon_sym_U_SQUOTE] = ACTIONS(2207), + [anon_sym_u8_SQUOTE] = ACTIONS(2207), + [anon_sym_SQUOTE] = ACTIONS(2207), + [anon_sym_L_DQUOTE] = ACTIONS(2207), + [anon_sym_u_DQUOTE] = ACTIONS(2207), + [anon_sym_U_DQUOTE] = ACTIONS(2207), + [anon_sym_u8_DQUOTE] = ACTIONS(2207), + [anon_sym_DQUOTE] = ACTIONS(2207), + [sym_true] = ACTIONS(2205), + [sym_false] = ACTIONS(2205), + [sym_null] = ACTIONS(2205), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2205), + [anon_sym_decltype] = ACTIONS(2205), + [anon_sym_virtual] = ACTIONS(2205), + [anon_sym_explicit] = ACTIONS(2205), + [anon_sym_typename] = ACTIONS(2205), + [anon_sym_template] = ACTIONS(2205), + [anon_sym_operator] = ACTIONS(2205), + [anon_sym_delete] = ACTIONS(2205), + [anon_sym_throw] = ACTIONS(2205), + [anon_sym_namespace] = ACTIONS(2205), + [anon_sym_using] = ACTIONS(2205), + [anon_sym_static_assert] = ACTIONS(2205), + [anon_sym_concept] = ACTIONS(2205), + [anon_sym_co_return] = ACTIONS(2205), + [anon_sym_co_yield] = ACTIONS(2205), + [anon_sym_try] = ACTIONS(2205), + [anon_sym_co_await] = ACTIONS(2205), + [anon_sym_new] = ACTIONS(2205), + [anon_sym_requires] = ACTIONS(2205), + [sym_this] = ACTIONS(2205), + [sym_nullptr] = ACTIONS(2205), + [sym_raw_string_literal] = ACTIONS(2207), + }, + [873] = { + [sym_identifier] = ACTIONS(2375), + [aux_sym_preproc_include_token1] = ACTIONS(2375), + [aux_sym_preproc_def_token1] = ACTIONS(2375), + [aux_sym_preproc_if_token1] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token1] = ACTIONS(2375), + [aux_sym_preproc_ifdef_token2] = ACTIONS(2375), + [sym_preproc_directive] = ACTIONS(2375), + [anon_sym_LPAREN2] = ACTIONS(2377), + [anon_sym_BANG] = ACTIONS(2377), + [anon_sym_TILDE] = ACTIONS(2377), + [anon_sym_DASH] = ACTIONS(2375), + [anon_sym_PLUS] = ACTIONS(2375), + [anon_sym_STAR] = ACTIONS(2377), + [anon_sym_AMP_AMP] = ACTIONS(2377), + [anon_sym_AMP] = ACTIONS(2375), + [anon_sym_SEMI] = ACTIONS(2377), + [anon_sym_typedef] = ACTIONS(2375), + [anon_sym_extern] = ACTIONS(2375), + [anon_sym___attribute__] = ACTIONS(2375), + [anon_sym_COLON_COLON] = ACTIONS(2377), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2377), + [anon_sym___declspec] = ACTIONS(2375), + [anon_sym___based] = ACTIONS(2375), + [anon_sym___cdecl] = ACTIONS(2375), + [anon_sym___clrcall] = ACTIONS(2375), + [anon_sym___stdcall] = ACTIONS(2375), + [anon_sym___fastcall] = ACTIONS(2375), + [anon_sym___thiscall] = ACTIONS(2375), + [anon_sym___vectorcall] = ACTIONS(2375), + [anon_sym_LBRACE] = ACTIONS(2377), + [anon_sym_RBRACE] = ACTIONS(2377), + [anon_sym_LBRACK] = ACTIONS(2375), + [anon_sym_static] = ACTIONS(2375), + [anon_sym_register] = ACTIONS(2375), + [anon_sym_inline] = ACTIONS(2375), + [anon_sym_thread_local] = ACTIONS(2375), + [anon_sym_const] = ACTIONS(2375), + [anon_sym_volatile] = ACTIONS(2375), + [anon_sym_restrict] = ACTIONS(2375), + [anon_sym__Atomic] = ACTIONS(2375), + [anon_sym_mutable] = ACTIONS(2375), + [anon_sym_constexpr] = ACTIONS(2375), + [anon_sym_constinit] = ACTIONS(2375), + [anon_sym_consteval] = ACTIONS(2375), + [anon_sym_signed] = ACTIONS(2375), + [anon_sym_unsigned] = ACTIONS(2375), + [anon_sym_long] = ACTIONS(2375), + [anon_sym_short] = ACTIONS(2375), + [sym_primitive_type] = ACTIONS(2375), + [anon_sym_enum] = ACTIONS(2375), + [anon_sym_class] = ACTIONS(2375), + [anon_sym_struct] = ACTIONS(2375), + [anon_sym_union] = ACTIONS(2375), + [anon_sym_if] = ACTIONS(2375), + [anon_sym_switch] = ACTIONS(2375), + [anon_sym_case] = ACTIONS(2375), + [anon_sym_default] = ACTIONS(2375), + [anon_sym_while] = ACTIONS(2375), + [anon_sym_do] = ACTIONS(2375), + [anon_sym_for] = ACTIONS(2375), + [anon_sym_return] = ACTIONS(2375), + [anon_sym_break] = ACTIONS(2375), + [anon_sym_continue] = ACTIONS(2375), + [anon_sym_goto] = ACTIONS(2375), + [anon_sym_DASH_DASH] = ACTIONS(2377), + [anon_sym_PLUS_PLUS] = ACTIONS(2377), + [anon_sym_sizeof] = ACTIONS(2375), + [sym_number_literal] = ACTIONS(2377), + [anon_sym_L_SQUOTE] = ACTIONS(2377), + [anon_sym_u_SQUOTE] = ACTIONS(2377), + [anon_sym_U_SQUOTE] = ACTIONS(2377), + [anon_sym_u8_SQUOTE] = ACTIONS(2377), + [anon_sym_SQUOTE] = ACTIONS(2377), + [anon_sym_L_DQUOTE] = ACTIONS(2377), + [anon_sym_u_DQUOTE] = ACTIONS(2377), + [anon_sym_U_DQUOTE] = ACTIONS(2377), + [anon_sym_u8_DQUOTE] = ACTIONS(2377), + [anon_sym_DQUOTE] = ACTIONS(2377), + [sym_true] = ACTIONS(2375), + [sym_false] = ACTIONS(2375), + [sym_null] = ACTIONS(2375), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2375), + [anon_sym_decltype] = ACTIONS(2375), + [anon_sym_virtual] = ACTIONS(2375), + [anon_sym_explicit] = ACTIONS(2375), + [anon_sym_typename] = ACTIONS(2375), + [anon_sym_template] = ACTIONS(2375), + [anon_sym_operator] = ACTIONS(2375), + [anon_sym_delete] = ACTIONS(2375), + [anon_sym_throw] = ACTIONS(2375), + [anon_sym_namespace] = ACTIONS(2375), + [anon_sym_using] = ACTIONS(2375), + [anon_sym_static_assert] = ACTIONS(2375), + [anon_sym_concept] = ACTIONS(2375), + [anon_sym_co_return] = ACTIONS(2375), + [anon_sym_co_yield] = ACTIONS(2375), + [anon_sym_try] = ACTIONS(2375), + [anon_sym_co_await] = ACTIONS(2375), + [anon_sym_new] = ACTIONS(2375), + [anon_sym_requires] = ACTIONS(2375), + [sym_this] = ACTIONS(2375), + [sym_nullptr] = ACTIONS(2375), + [sym_raw_string_literal] = ACTIONS(2377), + }, + [874] = { + [sym_function_definition] = STATE(399), + [sym_declaration] = STATE(399), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3695), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1571), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4419), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2723), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(399), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1545), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(399), + [sym_operator_cast] = STATE(5141), + [sym__constructor_specifiers] = STATE(1545), + [sym_operator_cast_definition] = STATE(399), + [sym_operator_cast_declaration] = STATE(399), + [sym_constructor_or_destructor_definition] = STATE(399), + [sym_constructor_or_destructor_declaration] = STATE(399), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(399), + [sym_concept_definition] = STATE(399), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5141), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1545), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2501), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2503), + [anon_sym_concept] = ACTIONS(285), + }, + [875] = { + [sym_function_definition] = STATE(858), + [sym_declaration] = STATE(858), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3699), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1568), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4467), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2749), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(858), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1548), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(858), + [sym_operator_cast] = STATE(5080), + [sym__constructor_specifiers] = STATE(1548), + [sym_operator_cast_definition] = STATE(858), + [sym_operator_cast_declaration] = STATE(858), + [sym_constructor_or_destructor_definition] = STATE(858), + [sym_constructor_or_destructor_declaration] = STATE(858), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(858), + [sym_concept_definition] = STATE(858), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5080), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1548), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2439), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2441), + [anon_sym_concept] = ACTIONS(129), + }, + [876] = { + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_unaligned_ptr_modifier] = STATE(3831), + [sym_ms_pointer_modifier] = STATE(2086), + [sym__declarator] = STATE(4721), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_type_qualifier] = STATE(2988), + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2573), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4353), + [sym_qualified_identifier] = STATE(2585), + [sym_qualified_type_identifier] = STATE(5513), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(2328), + [aux_sym_type_definition_repeat1] = STATE(2988), + [aux_sym_pointer_declarator_repeat1] = STATE(2086), + [sym_identifier] = ACTIONS(2529), + [anon_sym_LPAREN2] = ACTIONS(2531), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(2533), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2535), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2535), + [sym_ms_signed_ptr_modifier] = ACTIONS(2535), + [anon_sym__unaligned] = ACTIONS(2537), + [anon_sym___unaligned] = ACTIONS(2537), + [anon_sym_LBRACK] = ACTIONS(1461), + [anon_sym_const] = ACTIONS(2539), + [anon_sym_volatile] = ACTIONS(2539), + [anon_sym_restrict] = ACTIONS(2539), + [anon_sym__Atomic] = ACTIONS(2539), + [anon_sym_mutable] = ACTIONS(2539), + [anon_sym_constexpr] = ACTIONS(2539), + [anon_sym_constinit] = ACTIONS(2539), + [anon_sym_consteval] = ACTIONS(2539), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [877] = { + [sym_function_definition] = STATE(861), + [sym_declaration] = STATE(861), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3689), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1610), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4450), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2841), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(861), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1540), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(861), + [sym_operator_cast] = STATE(4911), + [sym__constructor_specifiers] = STATE(1540), + [sym_operator_cast_definition] = STATE(861), + [sym_operator_cast_declaration] = STATE(861), + [sym_constructor_or_destructor_definition] = STATE(861), + [sym_constructor_or_destructor_declaration] = STATE(861), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(861), + [sym_concept_definition] = STATE(861), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(4911), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1540), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2497), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2499), + [anon_sym_concept] = ACTIONS(205), + }, + [878] = { + [sym_function_definition] = STATE(1717), + [sym_declaration] = STATE(1717), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3723), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1559), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4471), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2758), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(1717), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1544), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(1717), + [sym_operator_cast] = STATE(5061), + [sym__constructor_specifiers] = STATE(1544), + [sym_operator_cast_definition] = STATE(1717), + [sym_operator_cast_declaration] = STATE(1717), + [sym_constructor_or_destructor_definition] = STATE(1717), + [sym_constructor_or_destructor_declaration] = STATE(1717), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(1717), + [sym_concept_definition] = STATE(1717), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5061), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1544), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(1737), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2505), + [anon_sym_concept] = ACTIONS(2507), + }, + [879] = { + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_unaligned_ptr_modifier] = STATE(3831), + [sym_ms_pointer_modifier] = STATE(2086), + [sym__declarator] = STATE(4721), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_type_qualifier] = STATE(2988), + [sym__expression] = STATE(2428), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2450), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4318), + [sym_qualified_identifier] = STATE(2448), + [sym_qualified_type_identifier] = STATE(5964), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(2551), + [aux_sym_type_definition_repeat1] = STATE(2988), + [aux_sym_pointer_declarator_repeat1] = STATE(2086), + [sym_identifier] = ACTIONS(2541), + [anon_sym_LPAREN2] = ACTIONS(1453), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1455), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1457), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1459), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym___based] = ACTIONS(47), + [sym_ms_restrict_modifier] = ACTIONS(2535), + [sym_ms_unsigned_ptr_modifier] = ACTIONS(2535), + [sym_ms_signed_ptr_modifier] = ACTIONS(2535), + [anon_sym__unaligned] = ACTIONS(2537), + [anon_sym___unaligned] = ACTIONS(2537), + [anon_sym_LBRACK] = ACTIONS(1461), + [anon_sym_const] = ACTIONS(2539), + [anon_sym_volatile] = ACTIONS(2539), + [anon_sym_restrict] = ACTIONS(2539), + [anon_sym__Atomic] = ACTIONS(2539), + [anon_sym_mutable] = ACTIONS(2539), + [anon_sym_constexpr] = ACTIONS(2539), + [anon_sym_constinit] = ACTIONS(2539), + [anon_sym_consteval] = ACTIONS(2539), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [880] = { + [sym_function_definition] = STATE(1785), + [sym_declaration] = STATE(1785), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3719), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1561), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4465), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2773), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(1785), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1547), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(1785), + [sym_operator_cast] = STATE(5139), + [sym__constructor_specifiers] = STATE(1547), + [sym_operator_cast_definition] = STATE(1785), + [sym_operator_cast_declaration] = STATE(1785), + [sym_constructor_or_destructor_definition] = STATE(1785), + [sym_constructor_or_destructor_declaration] = STATE(1785), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(1785), + [sym_concept_definition] = STATE(1785), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5139), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1547), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(1703), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2433), + [anon_sym_concept] = ACTIONS(2435), + }, + [881] = { + [sym_function_definition] = STATE(1626), + [sym_declaration] = STATE(1626), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3688), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1560), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4474), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2831), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(1626), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1553), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(1626), + [sym_operator_cast] = STATE(5135), + [sym__constructor_specifiers] = STATE(1553), + [sym_operator_cast_definition] = STATE(1626), + [sym_operator_cast_declaration] = STATE(1626), + [sym_constructor_or_destructor_definition] = STATE(1626), + [sym_constructor_or_destructor_declaration] = STATE(1626), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(1626), + [sym_concept_definition] = STATE(1626), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(5135), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1553), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(1545), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2491), + [anon_sym_concept] = ACTIONS(2493), + }, + [882] = { + [sym_function_definition] = STATE(871), + [sym_declaration] = STATE(871), + [sym__declaration_modifiers] = STATE(2642), + [sym__declaration_specifiers] = STATE(3709), + [sym_attribute_specifier] = STATE(2642), + [sym_attribute_declaration] = STATE(2642), + [sym_ms_declspec_modifier] = STATE(2642), + [sym_ms_based_modifier] = STATE(6395), + [sym_ms_call_modifier] = STATE(1569), + [sym__declarator] = STATE(4861), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4454), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(2642), + [sym_type_qualifier] = STATE(2642), + [sym__type_specifier] = STATE(2850), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym__empty_declaration] = STATE(871), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(2642), + [sym_explicit_function_specifier] = STATE(1551), + [sym_dependent_type] = STATE(2975), + [sym_template_declaration] = STATE(871), + [sym_operator_cast] = STATE(4930), + [sym__constructor_specifiers] = STATE(1551), + [sym_operator_cast_definition] = STATE(871), + [sym_operator_cast_declaration] = STATE(871), + [sym_constructor_or_destructor_definition] = STATE(871), + [sym_constructor_or_destructor_declaration] = STATE(871), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_alias_declaration] = STATE(871), + [sym_concept_definition] = STATE(871), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4202), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_qualified_operator_cast_identifier] = STATE(4930), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [aux_sym_operator_cast_definition_repeat1] = STATE(1551), + [sym_identifier] = ACTIONS(2427), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2429), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_explicit] = ACTIONS(111), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(2443), + [anon_sym_operator] = ACTIONS(117), + [anon_sym_using] = ACTIONS(2445), + [anon_sym_concept] = ACTIONS(598), + }, + [883] = { + [sym__declaration_modifiers] = STATE(1646), + [sym__declaration_specifiers] = STATE(4400), + [sym_attribute_specifier] = STATE(1646), + [sym_attribute_declaration] = STATE(1646), + [sym_ms_declspec_modifier] = STATE(1646), + [sym_storage_class_specifier] = STATE(1646), + [sym_type_qualifier] = STATE(1646), + [sym__type_specifier] = STATE(3154), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1646), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1646), + [aux_sym_sized_type_specifier_repeat1] = STATE(2928), + [sym_identifier] = ACTIONS(2543), + [anon_sym_COMMA] = ACTIONS(2545), + [anon_sym_BANG] = ACTIONS(2547), + [anon_sym_TILDE] = ACTIONS(2545), + [anon_sym_DASH] = ACTIONS(2547), + [anon_sym_PLUS] = ACTIONS(2547), + [anon_sym_STAR] = ACTIONS(2547), + [anon_sym_SLASH] = ACTIONS(2547), + [anon_sym_PERCENT] = ACTIONS(2547), + [anon_sym_PIPE_PIPE] = ACTIONS(2545), + [anon_sym_AMP_AMP] = ACTIONS(2545), + [anon_sym_PIPE] = ACTIONS(2547), + [anon_sym_CARET] = ACTIONS(2547), + [anon_sym_AMP] = ACTIONS(2547), + [anon_sym_EQ_EQ] = ACTIONS(2545), + [anon_sym_BANG_EQ] = ACTIONS(2545), + [anon_sym_GT] = ACTIONS(2547), + [anon_sym_GT_EQ] = ACTIONS(2545), + [anon_sym_LT_EQ] = ACTIONS(2547), + [anon_sym_LT] = ACTIONS(2547), + [anon_sym_LT_LT] = ACTIONS(2547), + [anon_sym_GT_GT] = ACTIONS(2547), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_EQ] = ACTIONS(2547), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2551), + [anon_sym_unsigned] = ACTIONS(2551), + [anon_sym_long] = ACTIONS(2551), + [anon_sym_short] = ACTIONS(2551), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(2553), + [anon_sym_class] = ACTIONS(2555), + [anon_sym_struct] = ACTIONS(2557), + [anon_sym_union] = ACTIONS(2559), + [anon_sym_STAR_EQ] = ACTIONS(2545), + [anon_sym_SLASH_EQ] = ACTIONS(2545), + [anon_sym_PERCENT_EQ] = ACTIONS(2545), + [anon_sym_PLUS_EQ] = ACTIONS(2545), + [anon_sym_DASH_EQ] = ACTIONS(2545), + [anon_sym_LT_LT_EQ] = ACTIONS(2545), + [anon_sym_GT_GT_EQ] = ACTIONS(2545), + [anon_sym_AMP_EQ] = ACTIONS(2545), + [anon_sym_CARET_EQ] = ACTIONS(2545), + [anon_sym_PIPE_EQ] = ACTIONS(2545), + [anon_sym_LT_EQ_GT] = ACTIONS(2545), + [anon_sym_DASH_DASH] = ACTIONS(2545), + [anon_sym_PLUS_PLUS] = ACTIONS(2545), + [anon_sym_DASH_GT] = ACTIONS(2547), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(2561), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2563), + [anon_sym_co_await] = ACTIONS(2547), + [anon_sym_new] = ACTIONS(2563), + [anon_sym_DASH_GT_STAR] = ACTIONS(2545), + [anon_sym_LPAREN_RPAREN] = ACTIONS(2545), + [anon_sym_LBRACK_RBRACK] = ACTIONS(2545), + [anon_sym_DQUOTE_DQUOTE] = ACTIONS(2565), + }, + [884] = { + [sym__declaration_modifiers] = STATE(1646), + [sym__declaration_specifiers] = STATE(4400), + [sym_attribute_specifier] = STATE(1646), + [sym_attribute_declaration] = STATE(1646), + [sym_ms_declspec_modifier] = STATE(1646), + [sym_storage_class_specifier] = STATE(1646), + [sym_type_qualifier] = STATE(1646), + [sym__type_specifier] = STATE(3154), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1646), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1646), + [aux_sym_sized_type_specifier_repeat1] = STATE(2928), + [sym_identifier] = ACTIONS(2543), + [anon_sym_COMMA] = ACTIONS(2567), + [anon_sym_BANG] = ACTIONS(2569), + [anon_sym_TILDE] = ACTIONS(2567), + [anon_sym_DASH] = ACTIONS(2569), + [anon_sym_PLUS] = ACTIONS(2569), + [anon_sym_STAR] = ACTIONS(2569), + [anon_sym_SLASH] = ACTIONS(2569), + [anon_sym_PERCENT] = ACTIONS(2569), + [anon_sym_PIPE_PIPE] = ACTIONS(2567), + [anon_sym_AMP_AMP] = ACTIONS(2567), + [anon_sym_PIPE] = ACTIONS(2569), + [anon_sym_CARET] = ACTIONS(2569), + [anon_sym_AMP] = ACTIONS(2569), + [anon_sym_EQ_EQ] = ACTIONS(2567), + [anon_sym_BANG_EQ] = ACTIONS(2567), + [anon_sym_GT] = ACTIONS(2569), + [anon_sym_GT_EQ] = ACTIONS(2567), + [anon_sym_LT_EQ] = ACTIONS(2569), + [anon_sym_LT] = ACTIONS(2569), + [anon_sym_LT_LT] = ACTIONS(2569), + [anon_sym_GT_GT] = ACTIONS(2569), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_EQ] = ACTIONS(2569), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(2551), + [anon_sym_unsigned] = ACTIONS(2551), + [anon_sym_long] = ACTIONS(2551), + [anon_sym_short] = ACTIONS(2551), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(2553), + [anon_sym_class] = ACTIONS(2555), + [anon_sym_struct] = ACTIONS(2557), + [anon_sym_union] = ACTIONS(2559), + [anon_sym_STAR_EQ] = ACTIONS(2567), + [anon_sym_SLASH_EQ] = ACTIONS(2567), + [anon_sym_PERCENT_EQ] = ACTIONS(2567), + [anon_sym_PLUS_EQ] = ACTIONS(2567), + [anon_sym_DASH_EQ] = ACTIONS(2567), + [anon_sym_LT_LT_EQ] = ACTIONS(2567), + [anon_sym_GT_GT_EQ] = ACTIONS(2567), + [anon_sym_AMP_EQ] = ACTIONS(2567), + [anon_sym_CARET_EQ] = ACTIONS(2567), + [anon_sym_PIPE_EQ] = ACTIONS(2567), + [anon_sym_LT_EQ_GT] = ACTIONS(2567), + [anon_sym_DASH_DASH] = ACTIONS(2567), + [anon_sym_PLUS_PLUS] = ACTIONS(2567), + [anon_sym_DASH_GT] = ACTIONS(2569), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(2561), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2571), + [anon_sym_co_await] = ACTIONS(2569), + [anon_sym_new] = ACTIONS(2571), + [anon_sym_DASH_GT_STAR] = ACTIONS(2567), + [anon_sym_LPAREN_RPAREN] = ACTIONS(2567), + [anon_sym_LBRACK_RBRACK] = ACTIONS(2567), + [anon_sym_DQUOTE_DQUOTE] = ACTIONS(2573), + }, + [885] = { + [sym__expression] = STATE(3123), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(3125), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_COMMA] = ACTIONS(1883), + [anon_sym_RPAREN] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(25), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1883), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1883), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1883), + [anon_sym_GT_GT] = ACTIONS(1883), + [anon_sym_SEMI] = ACTIONS(1883), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(1883), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1883), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [886] = { + [sym__expression] = STATE(3123), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_initializer_list] = STATE(3125), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_COMMA] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2581), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1883), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1883), + [anon_sym_AMP] = ACTIONS(966), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1883), + [anon_sym_GT_GT] = ACTIONS(1883), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(1883), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1883), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [887] = { + [sym__expression] = STATE(3448), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_initializer_list] = STATE(3537), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_COMMA] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2137), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1883), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1883), + [anon_sym_AMP] = ACTIONS(2455), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1891), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1883), + [anon_sym_GT_GT] = ACTIONS(1891), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACE] = ACTIONS(2599), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1883), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_GT2] = ACTIONS(1883), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [888] = { + [sym__expression] = STATE(3636), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_initializer_list] = STATE(3125), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1883), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2605), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_SLASH] = ACTIONS(1891), + [anon_sym_PERCENT] = ACTIONS(1883), + [anon_sym_PIPE_PIPE] = ACTIONS(1883), + [anon_sym_AMP_AMP] = ACTIONS(1883), + [anon_sym_PIPE] = ACTIONS(1891), + [anon_sym_CARET] = ACTIONS(1883), + [anon_sym_AMP] = ACTIONS(2515), + [anon_sym_EQ_EQ] = ACTIONS(1883), + [anon_sym_BANG_EQ] = ACTIONS(1883), + [anon_sym_GT] = ACTIONS(1891), + [anon_sym_GT_EQ] = ACTIONS(1883), + [anon_sym_LT_EQ] = ACTIONS(1891), + [anon_sym_LT] = ACTIONS(1891), + [anon_sym_LT_LT] = ACTIONS(1883), + [anon_sym_GT_GT] = ACTIONS(1883), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_COLON] = ACTIONS(1891), + [anon_sym_QMARK] = ACTIONS(1883), + [anon_sym_LT_EQ_GT] = ACTIONS(1883), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [anon_sym_DOT] = ACTIONS(1891), + [anon_sym_DASH_GT] = ACTIONS(1883), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [889] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4833), + [sym__abstract_declarator] = STATE(5131), + [sym_parenthesized_declarator] = STATE(4500), + [sym_abstract_parenthesized_declarator] = STATE(4543), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_abstract_pointer_declarator] = STATE(4543), + [sym_function_declarator] = STATE(4500), + [sym_abstract_function_declarator] = STATE(4543), + [sym_array_declarator] = STATE(4500), + [sym_abstract_array_declarator] = STATE(4543), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_list] = STATE(3781), + [sym_parameter_declaration] = STATE(5208), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5208), + [sym_variadic_parameter_declaration] = STATE(5208), + [sym_reference_declarator] = STATE(4500), + [sym_abstract_reference_declarator] = STATE(4543), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2873), + [sym_template_function] = STATE(4500), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4335), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2623), + [anon_sym_DOT_DOT_DOT] = ACTIONS(2625), + [anon_sym_RPAREN] = ACTIONS(2627), + [anon_sym_LPAREN2] = ACTIONS(2629), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(2631), + [anon_sym_AMP_AMP] = ACTIONS(2633), + [anon_sym_AMP] = ACTIONS(2635), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2637), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(2639), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + }, + [890] = { + [sym_identifier] = ACTIONS(2641), + [anon_sym_LPAREN2] = ACTIONS(2643), + [anon_sym_BANG] = ACTIONS(2643), + [anon_sym_TILDE] = ACTIONS(2643), + [anon_sym_DASH] = ACTIONS(2641), + [anon_sym_PLUS] = ACTIONS(2641), + [anon_sym_STAR] = ACTIONS(2643), + [anon_sym_AMP_AMP] = ACTIONS(2643), + [anon_sym_AMP] = ACTIONS(2641), + [anon_sym_SEMI] = ACTIONS(2643), + [anon_sym_extern] = ACTIONS(2641), + [anon_sym___attribute__] = ACTIONS(2641), + [anon_sym_COLON_COLON] = ACTIONS(2643), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2643), + [anon_sym___declspec] = ACTIONS(2641), + [anon_sym___based] = ACTIONS(2641), + [anon_sym_LBRACE] = ACTIONS(2643), + [anon_sym_LBRACK] = ACTIONS(2641), + [anon_sym_static] = ACTIONS(2641), + [anon_sym_register] = ACTIONS(2641), + [anon_sym_inline] = ACTIONS(2641), + [anon_sym_thread_local] = ACTIONS(2641), + [anon_sym_const] = ACTIONS(2641), + [anon_sym_volatile] = ACTIONS(2641), + [anon_sym_restrict] = ACTIONS(2641), + [anon_sym__Atomic] = ACTIONS(2641), + [anon_sym_mutable] = ACTIONS(2641), + [anon_sym_constexpr] = ACTIONS(2641), + [anon_sym_constinit] = ACTIONS(2641), + [anon_sym_consteval] = ACTIONS(2641), + [anon_sym_signed] = ACTIONS(2641), + [anon_sym_unsigned] = ACTIONS(2641), + [anon_sym_long] = ACTIONS(2641), + [anon_sym_short] = ACTIONS(2641), + [sym_primitive_type] = ACTIONS(2641), + [anon_sym_enum] = ACTIONS(2641), + [anon_sym_class] = ACTIONS(2641), + [anon_sym_struct] = ACTIONS(2641), + [anon_sym_union] = ACTIONS(2641), + [anon_sym_if] = ACTIONS(2641), + [anon_sym_switch] = ACTIONS(2641), + [anon_sym_case] = ACTIONS(2641), + [anon_sym_default] = ACTIONS(2641), + [anon_sym_while] = ACTIONS(2641), + [anon_sym_do] = ACTIONS(2641), + [anon_sym_for] = ACTIONS(2641), + [anon_sym_return] = ACTIONS(2641), + [anon_sym_break] = ACTIONS(2641), + [anon_sym_continue] = ACTIONS(2641), + [anon_sym_goto] = ACTIONS(2641), + [anon_sym_DASH_DASH] = ACTIONS(2643), + [anon_sym_PLUS_PLUS] = ACTIONS(2643), + [anon_sym_sizeof] = ACTIONS(2641), + [sym_number_literal] = ACTIONS(2643), + [anon_sym_L_SQUOTE] = ACTIONS(2643), + [anon_sym_u_SQUOTE] = ACTIONS(2643), + [anon_sym_U_SQUOTE] = ACTIONS(2643), + [anon_sym_u8_SQUOTE] = ACTIONS(2643), + [anon_sym_SQUOTE] = ACTIONS(2643), + [anon_sym_L_DQUOTE] = ACTIONS(2643), + [anon_sym_u_DQUOTE] = ACTIONS(2643), + [anon_sym_U_DQUOTE] = ACTIONS(2643), + [anon_sym_u8_DQUOTE] = ACTIONS(2643), + [anon_sym_DQUOTE] = ACTIONS(2643), + [sym_true] = ACTIONS(2641), + [sym_false] = ACTIONS(2641), + [sym_null] = ACTIONS(2641), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2641), + [anon_sym_decltype] = ACTIONS(2641), + [anon_sym_virtual] = ACTIONS(2641), + [anon_sym_explicit] = ACTIONS(2641), + [anon_sym_typename] = ACTIONS(2641), + [anon_sym_template] = ACTIONS(2641), + [anon_sym_operator] = ACTIONS(2641), + [anon_sym_delete] = ACTIONS(2641), + [anon_sym_throw] = ACTIONS(2641), + [anon_sym_co_return] = ACTIONS(2641), + [anon_sym_co_yield] = ACTIONS(2641), + [anon_sym_try] = ACTIONS(2641), + [anon_sym_co_await] = ACTIONS(2641), + [anon_sym_new] = ACTIONS(2641), + [anon_sym_requires] = ACTIONS(2641), + [sym_this] = ACTIONS(2641), + [sym_nullptr] = ACTIONS(2641), + [sym_raw_string_literal] = ACTIONS(2643), + }, + [891] = { + [sym_identifier] = ACTIONS(2645), + [anon_sym_LPAREN2] = ACTIONS(2648), + [anon_sym_BANG] = ACTIONS(2651), + [anon_sym_TILDE] = ACTIONS(2648), + [anon_sym_DASH] = ACTIONS(2653), + [anon_sym_PLUS] = ACTIONS(2653), + [anon_sym_STAR] = ACTIONS(2648), + [anon_sym_AMP_AMP] = ACTIONS(2655), + [anon_sym_AMP] = ACTIONS(2645), + [anon_sym_SEMI] = ACTIONS(2651), + [anon_sym_extern] = ACTIONS(2657), + [anon_sym___attribute__] = ACTIONS(2657), + [anon_sym_COLON_COLON] = ACTIONS(2648), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2648), + [anon_sym___declspec] = ACTIONS(2657), + [anon_sym___based] = ACTIONS(2657), + [anon_sym_LBRACE] = ACTIONS(2651), + [anon_sym_LBRACK] = ACTIONS(2645), + [anon_sym_static] = ACTIONS(2657), + [anon_sym_register] = ACTIONS(2657), + [anon_sym_inline] = ACTIONS(2657), + [anon_sym_thread_local] = ACTIONS(2657), + [anon_sym_const] = ACTIONS(2657), + [anon_sym_volatile] = ACTIONS(2657), + [anon_sym_restrict] = ACTIONS(2657), + [anon_sym__Atomic] = ACTIONS(2657), + [anon_sym_mutable] = ACTIONS(2657), + [anon_sym_constexpr] = ACTIONS(2657), + [anon_sym_constinit] = ACTIONS(2657), + [anon_sym_consteval] = ACTIONS(2657), + [anon_sym_signed] = ACTIONS(2657), + [anon_sym_unsigned] = ACTIONS(2657), + [anon_sym_long] = ACTIONS(2657), + [anon_sym_short] = ACTIONS(2657), + [sym_primitive_type] = ACTIONS(2645), + [anon_sym_enum] = ACTIONS(2657), + [anon_sym_class] = ACTIONS(2657), + [anon_sym_struct] = ACTIONS(2657), + [anon_sym_union] = ACTIONS(2657), + [anon_sym_if] = ACTIONS(2653), + [anon_sym_switch] = ACTIONS(2653), + [anon_sym_case] = ACTIONS(2653), + [anon_sym_default] = ACTIONS(2653), + [anon_sym_while] = ACTIONS(2653), + [anon_sym_do] = ACTIONS(2653), + [anon_sym_for] = ACTIONS(2653), + [anon_sym_return] = ACTIONS(2653), + [anon_sym_break] = ACTIONS(2653), + [anon_sym_continue] = ACTIONS(2653), + [anon_sym_goto] = ACTIONS(2653), + [anon_sym_DASH_DASH] = ACTIONS(2651), + [anon_sym_PLUS_PLUS] = ACTIONS(2651), + [anon_sym_sizeof] = ACTIONS(2653), + [sym_number_literal] = ACTIONS(2651), + [anon_sym_L_SQUOTE] = ACTIONS(2651), + [anon_sym_u_SQUOTE] = ACTIONS(2651), + [anon_sym_U_SQUOTE] = ACTIONS(2651), + [anon_sym_u8_SQUOTE] = ACTIONS(2651), + [anon_sym_SQUOTE] = ACTIONS(2651), + [anon_sym_L_DQUOTE] = ACTIONS(2651), + [anon_sym_u_DQUOTE] = ACTIONS(2651), + [anon_sym_U_DQUOTE] = ACTIONS(2651), + [anon_sym_u8_DQUOTE] = ACTIONS(2651), + [anon_sym_DQUOTE] = ACTIONS(2651), + [sym_true] = ACTIONS(2653), + [sym_false] = ACTIONS(2653), + [sym_null] = ACTIONS(2653), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2657), + [anon_sym_decltype] = ACTIONS(2657), + [anon_sym_virtual] = ACTIONS(2657), + [anon_sym_explicit] = ACTIONS(2657), + [anon_sym_typename] = ACTIONS(2657), + [anon_sym_template] = ACTIONS(2645), + [anon_sym_operator] = ACTIONS(2657), + [anon_sym_delete] = ACTIONS(2653), + [anon_sym_throw] = ACTIONS(2653), + [anon_sym_co_return] = ACTIONS(2653), + [anon_sym_co_yield] = ACTIONS(2653), + [anon_sym_try] = ACTIONS(2653), + [anon_sym_co_await] = ACTIONS(2653), + [anon_sym_new] = ACTIONS(2653), + [anon_sym_requires] = ACTIONS(2653), + [sym_this] = ACTIONS(2653), + [sym_nullptr] = ACTIONS(2653), + [sym_raw_string_literal] = ACTIONS(2651), + }, + [892] = { + [sym_identifier] = ACTIONS(2659), + [anon_sym_LPAREN2] = ACTIONS(2661), + [anon_sym_BANG] = ACTIONS(2661), + [anon_sym_TILDE] = ACTIONS(2661), + [anon_sym_DASH] = ACTIONS(2659), + [anon_sym_PLUS] = ACTIONS(2659), + [anon_sym_STAR] = ACTIONS(2661), + [anon_sym_AMP_AMP] = ACTIONS(2661), + [anon_sym_AMP] = ACTIONS(2659), + [anon_sym_SEMI] = ACTIONS(2661), + [anon_sym_extern] = ACTIONS(2659), + [anon_sym___attribute__] = ACTIONS(2659), + [anon_sym_COLON_COLON] = ACTIONS(2661), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2661), + [anon_sym___declspec] = ACTIONS(2659), + [anon_sym___based] = ACTIONS(2659), + [anon_sym_LBRACE] = ACTIONS(2661), + [anon_sym_LBRACK] = ACTIONS(2659), + [anon_sym_static] = ACTIONS(2659), + [anon_sym_register] = ACTIONS(2659), + [anon_sym_inline] = ACTIONS(2659), + [anon_sym_thread_local] = ACTIONS(2659), + [anon_sym_const] = ACTIONS(2659), + [anon_sym_volatile] = ACTIONS(2659), + [anon_sym_restrict] = ACTIONS(2659), + [anon_sym__Atomic] = ACTIONS(2659), + [anon_sym_mutable] = ACTIONS(2659), + [anon_sym_constexpr] = ACTIONS(2659), + [anon_sym_constinit] = ACTIONS(2659), + [anon_sym_consteval] = ACTIONS(2659), + [anon_sym_signed] = ACTIONS(2659), + [anon_sym_unsigned] = ACTIONS(2659), + [anon_sym_long] = ACTIONS(2659), + [anon_sym_short] = ACTIONS(2659), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(2659), + [anon_sym_class] = ACTIONS(2659), + [anon_sym_struct] = ACTIONS(2659), + [anon_sym_union] = ACTIONS(2659), + [anon_sym_if] = ACTIONS(2659), + [anon_sym_switch] = ACTIONS(2659), + [anon_sym_case] = ACTIONS(2659), + [anon_sym_default] = ACTIONS(2659), + [anon_sym_while] = ACTIONS(2659), + [anon_sym_do] = ACTIONS(2659), + [anon_sym_for] = ACTIONS(2659), + [anon_sym_return] = ACTIONS(2659), + [anon_sym_break] = ACTIONS(2659), + [anon_sym_continue] = ACTIONS(2659), + [anon_sym_goto] = ACTIONS(2659), + [anon_sym_DASH_DASH] = ACTIONS(2661), + [anon_sym_PLUS_PLUS] = ACTIONS(2661), + [anon_sym_sizeof] = ACTIONS(2659), + [sym_number_literal] = ACTIONS(2661), + [anon_sym_L_SQUOTE] = ACTIONS(2661), + [anon_sym_u_SQUOTE] = ACTIONS(2661), + [anon_sym_U_SQUOTE] = ACTIONS(2661), + [anon_sym_u8_SQUOTE] = ACTIONS(2661), + [anon_sym_SQUOTE] = ACTIONS(2661), + [anon_sym_L_DQUOTE] = ACTIONS(2661), + [anon_sym_u_DQUOTE] = ACTIONS(2661), + [anon_sym_U_DQUOTE] = ACTIONS(2661), + [anon_sym_u8_DQUOTE] = ACTIONS(2661), + [anon_sym_DQUOTE] = ACTIONS(2661), + [sym_true] = ACTIONS(2659), + [sym_false] = ACTIONS(2659), + [sym_null] = ACTIONS(2659), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2659), + [anon_sym_decltype] = ACTIONS(2659), + [anon_sym_virtual] = ACTIONS(2659), + [anon_sym_explicit] = ACTIONS(2659), + [anon_sym_typename] = ACTIONS(2659), + [anon_sym_template] = ACTIONS(2659), + [anon_sym_operator] = ACTIONS(2659), + [anon_sym_delete] = ACTIONS(2659), + [anon_sym_throw] = ACTIONS(2659), + [anon_sym_co_return] = ACTIONS(2659), + [anon_sym_co_yield] = ACTIONS(2659), + [anon_sym_try] = ACTIONS(2659), + [anon_sym_co_await] = ACTIONS(2659), + [anon_sym_new] = ACTIONS(2659), + [anon_sym_requires] = ACTIONS(2659), + [sym_this] = ACTIONS(2659), + [sym_nullptr] = ACTIONS(2659), + [sym_raw_string_literal] = ACTIONS(2661), + }, + [893] = { + [sym_catch_clause] = STATE(893), + [aux_sym_try_statement_repeat1] = STATE(893), + [sym_identifier] = ACTIONS(1827), + [anon_sym_LPAREN2] = ACTIONS(1829), + [anon_sym_BANG] = ACTIONS(1829), + [anon_sym_TILDE] = ACTIONS(1829), + [anon_sym_DASH] = ACTIONS(1827), + [anon_sym_PLUS] = ACTIONS(1827), + [anon_sym_STAR] = ACTIONS(1829), + [anon_sym_AMP] = ACTIONS(1829), + [anon_sym_SEMI] = ACTIONS(1829), + [anon_sym_typedef] = ACTIONS(1827), + [anon_sym_extern] = ACTIONS(1827), + [anon_sym___attribute__] = ACTIONS(1827), + [anon_sym_COLON_COLON] = ACTIONS(1829), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1829), + [anon_sym___declspec] = ACTIONS(1827), + [anon_sym_LBRACE] = ACTIONS(1829), + [anon_sym_LBRACK] = ACTIONS(1827), + [anon_sym_static] = ACTIONS(1827), + [anon_sym_register] = ACTIONS(1827), + [anon_sym_inline] = ACTIONS(1827), + [anon_sym_thread_local] = ACTIONS(1827), + [anon_sym_const] = ACTIONS(1827), + [anon_sym_volatile] = ACTIONS(1827), + [anon_sym_restrict] = ACTIONS(1827), + [anon_sym__Atomic] = ACTIONS(1827), + [anon_sym_mutable] = ACTIONS(1827), + [anon_sym_constexpr] = ACTIONS(1827), + [anon_sym_constinit] = ACTIONS(1827), + [anon_sym_consteval] = ACTIONS(1827), + [anon_sym_signed] = ACTIONS(1827), + [anon_sym_unsigned] = ACTIONS(1827), + [anon_sym_long] = ACTIONS(1827), + [anon_sym_short] = ACTIONS(1827), + [sym_primitive_type] = ACTIONS(1827), + [anon_sym_enum] = ACTIONS(1827), + [anon_sym_class] = ACTIONS(1827), + [anon_sym_struct] = ACTIONS(1827), + [anon_sym_union] = ACTIONS(1827), + [anon_sym_if] = ACTIONS(1827), + [anon_sym_else] = ACTIONS(1827), + [anon_sym_switch] = ACTIONS(1827), + [anon_sym_while] = ACTIONS(1827), + [anon_sym_do] = ACTIONS(1827), + [anon_sym_for] = ACTIONS(1827), + [anon_sym_return] = ACTIONS(1827), + [anon_sym_break] = ACTIONS(1827), + [anon_sym_continue] = ACTIONS(1827), + [anon_sym_goto] = ACTIONS(1827), + [anon_sym_DASH_DASH] = ACTIONS(1829), + [anon_sym_PLUS_PLUS] = ACTIONS(1829), + [anon_sym_sizeof] = ACTIONS(1827), + [sym_number_literal] = ACTIONS(1829), + [anon_sym_L_SQUOTE] = ACTIONS(1829), + [anon_sym_u_SQUOTE] = ACTIONS(1829), + [anon_sym_U_SQUOTE] = ACTIONS(1829), + [anon_sym_u8_SQUOTE] = ACTIONS(1829), + [anon_sym_SQUOTE] = ACTIONS(1829), + [anon_sym_L_DQUOTE] = ACTIONS(1829), + [anon_sym_u_DQUOTE] = ACTIONS(1829), + [anon_sym_U_DQUOTE] = ACTIONS(1829), + [anon_sym_u8_DQUOTE] = ACTIONS(1829), + [anon_sym_DQUOTE] = ACTIONS(1829), + [sym_true] = ACTIONS(1827), + [sym_false] = ACTIONS(1827), + [sym_null] = ACTIONS(1827), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1827), + [anon_sym_decltype] = ACTIONS(1827), + [anon_sym_virtual] = ACTIONS(1827), + [anon_sym_typename] = ACTIONS(1827), + [anon_sym_template] = ACTIONS(1827), + [anon_sym_delete] = ACTIONS(1827), + [anon_sym_throw] = ACTIONS(1827), + [anon_sym_co_return] = ACTIONS(1827), + [anon_sym_co_yield] = ACTIONS(1827), + [anon_sym_try] = ACTIONS(1827), + [anon_sym_catch] = ACTIONS(2663), + [anon_sym_co_await] = ACTIONS(1827), + [anon_sym_new] = ACTIONS(1827), + [anon_sym_requires] = ACTIONS(1827), + [sym_this] = ACTIONS(1827), + [sym_nullptr] = ACTIONS(1827), + [sym_raw_string_literal] = ACTIONS(1829), + }, + [894] = { + [sym_catch_clause] = STATE(893), + [aux_sym_try_statement_repeat1] = STATE(893), + [sym_identifier] = ACTIONS(1834), + [anon_sym_LPAREN2] = ACTIONS(1836), + [anon_sym_BANG] = ACTIONS(1836), + [anon_sym_TILDE] = ACTIONS(1836), + [anon_sym_DASH] = ACTIONS(1834), + [anon_sym_PLUS] = ACTIONS(1834), + [anon_sym_STAR] = ACTIONS(1836), + [anon_sym_AMP] = ACTIONS(1836), + [anon_sym_SEMI] = ACTIONS(1836), + [anon_sym_typedef] = ACTIONS(1834), + [anon_sym_extern] = ACTIONS(1834), + [anon_sym___attribute__] = ACTIONS(1834), + [anon_sym_COLON_COLON] = ACTIONS(1836), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1836), + [anon_sym___declspec] = ACTIONS(1834), + [anon_sym_LBRACE] = ACTIONS(1836), + [anon_sym_LBRACK] = ACTIONS(1834), + [anon_sym_static] = ACTIONS(1834), + [anon_sym_register] = ACTIONS(1834), + [anon_sym_inline] = ACTIONS(1834), + [anon_sym_thread_local] = ACTIONS(1834), + [anon_sym_const] = ACTIONS(1834), + [anon_sym_volatile] = ACTIONS(1834), + [anon_sym_restrict] = ACTIONS(1834), + [anon_sym__Atomic] = ACTIONS(1834), + [anon_sym_mutable] = ACTIONS(1834), + [anon_sym_constexpr] = ACTIONS(1834), + [anon_sym_constinit] = ACTIONS(1834), + [anon_sym_consteval] = ACTIONS(1834), + [anon_sym_signed] = ACTIONS(1834), + [anon_sym_unsigned] = ACTIONS(1834), + [anon_sym_long] = ACTIONS(1834), + [anon_sym_short] = ACTIONS(1834), + [sym_primitive_type] = ACTIONS(1834), + [anon_sym_enum] = ACTIONS(1834), + [anon_sym_class] = ACTIONS(1834), + [anon_sym_struct] = ACTIONS(1834), + [anon_sym_union] = ACTIONS(1834), + [anon_sym_if] = ACTIONS(1834), + [anon_sym_else] = ACTIONS(1834), + [anon_sym_switch] = ACTIONS(1834), + [anon_sym_while] = ACTIONS(1834), + [anon_sym_do] = ACTIONS(1834), + [anon_sym_for] = ACTIONS(1834), + [anon_sym_return] = ACTIONS(1834), + [anon_sym_break] = ACTIONS(1834), + [anon_sym_continue] = ACTIONS(1834), + [anon_sym_goto] = ACTIONS(1834), + [anon_sym_DASH_DASH] = ACTIONS(1836), + [anon_sym_PLUS_PLUS] = ACTIONS(1836), + [anon_sym_sizeof] = ACTIONS(1834), + [sym_number_literal] = ACTIONS(1836), + [anon_sym_L_SQUOTE] = ACTIONS(1836), + [anon_sym_u_SQUOTE] = ACTIONS(1836), + [anon_sym_U_SQUOTE] = ACTIONS(1836), + [anon_sym_u8_SQUOTE] = ACTIONS(1836), + [anon_sym_SQUOTE] = ACTIONS(1836), + [anon_sym_L_DQUOTE] = ACTIONS(1836), + [anon_sym_u_DQUOTE] = ACTIONS(1836), + [anon_sym_U_DQUOTE] = ACTIONS(1836), + [anon_sym_u8_DQUOTE] = ACTIONS(1836), + [anon_sym_DQUOTE] = ACTIONS(1836), + [sym_true] = ACTIONS(1834), + [sym_false] = ACTIONS(1834), + [sym_null] = ACTIONS(1834), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1834), + [anon_sym_decltype] = ACTIONS(1834), + [anon_sym_virtual] = ACTIONS(1834), + [anon_sym_typename] = ACTIONS(1834), + [anon_sym_template] = ACTIONS(1834), + [anon_sym_delete] = ACTIONS(1834), + [anon_sym_throw] = ACTIONS(1834), + [anon_sym_co_return] = ACTIONS(1834), + [anon_sym_co_yield] = ACTIONS(1834), + [anon_sym_try] = ACTIONS(1834), + [anon_sym_catch] = ACTIONS(2666), + [anon_sym_co_await] = ACTIONS(1834), + [anon_sym_new] = ACTIONS(1834), + [anon_sym_requires] = ACTIONS(1834), + [sym_this] = ACTIONS(1834), + [sym_nullptr] = ACTIONS(1834), + [sym_raw_string_literal] = ACTIONS(1836), + }, + [895] = { + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4719), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym__expression] = STATE(2428), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2450), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4318), + [sym_qualified_identifier] = STATE(2448), + [sym_qualified_type_identifier] = STATE(5964), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2541), + [anon_sym_LPAREN2] = ACTIONS(1453), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1455), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1457), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1459), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1461), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [896] = { + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4719), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2573), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4353), + [sym_qualified_identifier] = STATE(2585), + [sym_qualified_type_identifier] = STATE(5513), + [sym_operator_name] = STATE(4500), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(2529), + [anon_sym_LPAREN2] = ACTIONS(2531), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(2533), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(27), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(31), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1461), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [897] = { + [sym_identifier] = ACTIONS(1861), + [anon_sym_LPAREN2] = ACTIONS(1863), + [anon_sym_BANG] = ACTIONS(1863), + [anon_sym_TILDE] = ACTIONS(1863), + [anon_sym_DASH] = ACTIONS(1861), + [anon_sym_PLUS] = ACTIONS(1861), + [anon_sym_STAR] = ACTIONS(1863), + [anon_sym_AMP] = ACTIONS(1863), + [anon_sym_SEMI] = ACTIONS(1863), + [anon_sym_typedef] = ACTIONS(1861), + [anon_sym_extern] = ACTIONS(1861), + [anon_sym___attribute__] = ACTIONS(1861), + [anon_sym_COLON_COLON] = ACTIONS(1863), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1863), + [anon_sym___declspec] = ACTIONS(1861), + [anon_sym_LBRACE] = ACTIONS(1863), + [anon_sym_LBRACK] = ACTIONS(1861), + [anon_sym_static] = ACTIONS(1861), + [anon_sym_register] = ACTIONS(1861), + [anon_sym_inline] = ACTIONS(1861), + [anon_sym_thread_local] = ACTIONS(1861), + [anon_sym_const] = ACTIONS(1861), + [anon_sym_volatile] = ACTIONS(1861), + [anon_sym_restrict] = ACTIONS(1861), + [anon_sym__Atomic] = ACTIONS(1861), + [anon_sym_mutable] = ACTIONS(1861), + [anon_sym_constexpr] = ACTIONS(1861), + [anon_sym_constinit] = ACTIONS(1861), + [anon_sym_consteval] = ACTIONS(1861), + [anon_sym_signed] = ACTIONS(1861), + [anon_sym_unsigned] = ACTIONS(1861), + [anon_sym_long] = ACTIONS(1861), + [anon_sym_short] = ACTIONS(1861), + [sym_primitive_type] = ACTIONS(1861), + [anon_sym_enum] = ACTIONS(1861), + [anon_sym_class] = ACTIONS(1861), + [anon_sym_struct] = ACTIONS(1861), + [anon_sym_union] = ACTIONS(1861), + [anon_sym_if] = ACTIONS(1861), + [anon_sym_else] = ACTIONS(1861), + [anon_sym_switch] = ACTIONS(1861), + [anon_sym_while] = ACTIONS(1861), + [anon_sym_do] = ACTIONS(1861), + [anon_sym_for] = ACTIONS(1861), + [anon_sym_return] = ACTIONS(1861), + [anon_sym_break] = ACTIONS(1861), + [anon_sym_continue] = ACTIONS(1861), + [anon_sym_goto] = ACTIONS(1861), + [anon_sym_DASH_DASH] = ACTIONS(1863), + [anon_sym_PLUS_PLUS] = ACTIONS(1863), + [anon_sym_sizeof] = ACTIONS(1861), + [sym_number_literal] = ACTIONS(1863), + [anon_sym_L_SQUOTE] = ACTIONS(1863), + [anon_sym_u_SQUOTE] = ACTIONS(1863), + [anon_sym_U_SQUOTE] = ACTIONS(1863), + [anon_sym_u8_SQUOTE] = ACTIONS(1863), + [anon_sym_SQUOTE] = ACTIONS(1863), + [anon_sym_L_DQUOTE] = ACTIONS(1863), + [anon_sym_u_DQUOTE] = ACTIONS(1863), + [anon_sym_U_DQUOTE] = ACTIONS(1863), + [anon_sym_u8_DQUOTE] = ACTIONS(1863), + [anon_sym_DQUOTE] = ACTIONS(1863), + [sym_true] = ACTIONS(1861), + [sym_false] = ACTIONS(1861), + [sym_null] = ACTIONS(1861), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1861), + [anon_sym_decltype] = ACTIONS(1861), + [anon_sym_virtual] = ACTIONS(1861), + [anon_sym_typename] = ACTIONS(1861), + [anon_sym_template] = ACTIONS(1861), + [anon_sym_delete] = ACTIONS(1861), + [anon_sym_throw] = ACTIONS(1861), + [anon_sym_co_return] = ACTIONS(1861), + [anon_sym_co_yield] = ACTIONS(1861), + [anon_sym_try] = ACTIONS(1861), + [anon_sym_catch] = ACTIONS(1861), + [anon_sym_co_await] = ACTIONS(1861), + [anon_sym_new] = ACTIONS(1861), + [anon_sym_requires] = ACTIONS(1861), + [sym_this] = ACTIONS(1861), + [sym_nullptr] = ACTIONS(1861), + [sym_raw_string_literal] = ACTIONS(1863), + }, + [898] = { + [sym_identifier] = ACTIONS(1873), + [anon_sym_LPAREN2] = ACTIONS(1875), + [anon_sym_BANG] = ACTIONS(1875), + [anon_sym_TILDE] = ACTIONS(1875), + [anon_sym_DASH] = ACTIONS(1873), + [anon_sym_PLUS] = ACTIONS(1873), + [anon_sym_STAR] = ACTIONS(1875), + [anon_sym_AMP] = ACTIONS(1875), + [anon_sym_SEMI] = ACTIONS(1875), + [anon_sym_typedef] = ACTIONS(1873), + [anon_sym_extern] = ACTIONS(1873), + [anon_sym___attribute__] = ACTIONS(1873), + [anon_sym_COLON_COLON] = ACTIONS(1875), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1875), + [anon_sym___declspec] = ACTIONS(1873), + [anon_sym_LBRACE] = ACTIONS(1875), + [anon_sym_LBRACK] = ACTIONS(1873), + [anon_sym_static] = ACTIONS(1873), + [anon_sym_register] = ACTIONS(1873), + [anon_sym_inline] = ACTIONS(1873), + [anon_sym_thread_local] = ACTIONS(1873), + [anon_sym_const] = ACTIONS(1873), + [anon_sym_volatile] = ACTIONS(1873), + [anon_sym_restrict] = ACTIONS(1873), + [anon_sym__Atomic] = ACTIONS(1873), + [anon_sym_mutable] = ACTIONS(1873), + [anon_sym_constexpr] = ACTIONS(1873), + [anon_sym_constinit] = ACTIONS(1873), + [anon_sym_consteval] = ACTIONS(1873), + [anon_sym_signed] = ACTIONS(1873), + [anon_sym_unsigned] = ACTIONS(1873), + [anon_sym_long] = ACTIONS(1873), + [anon_sym_short] = ACTIONS(1873), + [sym_primitive_type] = ACTIONS(1873), + [anon_sym_enum] = ACTIONS(1873), + [anon_sym_class] = ACTIONS(1873), + [anon_sym_struct] = ACTIONS(1873), + [anon_sym_union] = ACTIONS(1873), + [anon_sym_if] = ACTIONS(1873), + [anon_sym_else] = ACTIONS(1873), + [anon_sym_switch] = ACTIONS(1873), + [anon_sym_while] = ACTIONS(1873), + [anon_sym_do] = ACTIONS(1873), + [anon_sym_for] = ACTIONS(1873), + [anon_sym_return] = ACTIONS(1873), + [anon_sym_break] = ACTIONS(1873), + [anon_sym_continue] = ACTIONS(1873), + [anon_sym_goto] = ACTIONS(1873), + [anon_sym_DASH_DASH] = ACTIONS(1875), + [anon_sym_PLUS_PLUS] = ACTIONS(1875), + [anon_sym_sizeof] = ACTIONS(1873), + [sym_number_literal] = ACTIONS(1875), + [anon_sym_L_SQUOTE] = ACTIONS(1875), + [anon_sym_u_SQUOTE] = ACTIONS(1875), + [anon_sym_U_SQUOTE] = ACTIONS(1875), + [anon_sym_u8_SQUOTE] = ACTIONS(1875), + [anon_sym_SQUOTE] = ACTIONS(1875), + [anon_sym_L_DQUOTE] = ACTIONS(1875), + [anon_sym_u_DQUOTE] = ACTIONS(1875), + [anon_sym_U_DQUOTE] = ACTIONS(1875), + [anon_sym_u8_DQUOTE] = ACTIONS(1875), + [anon_sym_DQUOTE] = ACTIONS(1875), + [sym_true] = ACTIONS(1873), + [sym_false] = ACTIONS(1873), + [sym_null] = ACTIONS(1873), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1873), + [anon_sym_decltype] = ACTIONS(1873), + [anon_sym_virtual] = ACTIONS(1873), + [anon_sym_typename] = ACTIONS(1873), + [anon_sym_template] = ACTIONS(1873), + [anon_sym_delete] = ACTIONS(1873), + [anon_sym_throw] = ACTIONS(1873), + [anon_sym_co_return] = ACTIONS(1873), + [anon_sym_co_yield] = ACTIONS(1873), + [anon_sym_try] = ACTIONS(1873), + [anon_sym_catch] = ACTIONS(1873), + [anon_sym_co_await] = ACTIONS(1873), + [anon_sym_new] = ACTIONS(1873), + [anon_sym_requires] = ACTIONS(1873), + [sym_this] = ACTIONS(1873), + [sym_nullptr] = ACTIONS(1873), + [sym_raw_string_literal] = ACTIONS(1875), + }, + [899] = { + [sym_identifier] = ACTIONS(1877), + [anon_sym_LPAREN2] = ACTIONS(1879), + [anon_sym_BANG] = ACTIONS(1879), + [anon_sym_TILDE] = ACTIONS(1879), + [anon_sym_DASH] = ACTIONS(1877), + [anon_sym_PLUS] = ACTIONS(1877), + [anon_sym_STAR] = ACTIONS(1879), + [anon_sym_AMP] = ACTIONS(1879), + [anon_sym_SEMI] = ACTIONS(1879), + [anon_sym_typedef] = ACTIONS(1877), + [anon_sym_extern] = ACTIONS(1877), + [anon_sym___attribute__] = ACTIONS(1877), + [anon_sym_COLON_COLON] = ACTIONS(1879), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1879), + [anon_sym___declspec] = ACTIONS(1877), + [anon_sym_LBRACE] = ACTIONS(1879), + [anon_sym_LBRACK] = ACTIONS(1877), + [anon_sym_static] = ACTIONS(1877), + [anon_sym_register] = ACTIONS(1877), + [anon_sym_inline] = ACTIONS(1877), + [anon_sym_thread_local] = ACTIONS(1877), + [anon_sym_const] = ACTIONS(1877), + [anon_sym_volatile] = ACTIONS(1877), + [anon_sym_restrict] = ACTIONS(1877), + [anon_sym__Atomic] = ACTIONS(1877), + [anon_sym_mutable] = ACTIONS(1877), + [anon_sym_constexpr] = ACTIONS(1877), + [anon_sym_constinit] = ACTIONS(1877), + [anon_sym_consteval] = ACTIONS(1877), + [anon_sym_signed] = ACTIONS(1877), + [anon_sym_unsigned] = ACTIONS(1877), + [anon_sym_long] = ACTIONS(1877), + [anon_sym_short] = ACTIONS(1877), + [sym_primitive_type] = ACTIONS(1877), + [anon_sym_enum] = ACTIONS(1877), + [anon_sym_class] = ACTIONS(1877), + [anon_sym_struct] = ACTIONS(1877), + [anon_sym_union] = ACTIONS(1877), + [anon_sym_if] = ACTIONS(1877), + [anon_sym_else] = ACTIONS(1877), + [anon_sym_switch] = ACTIONS(1877), + [anon_sym_while] = ACTIONS(1877), + [anon_sym_do] = ACTIONS(1877), + [anon_sym_for] = ACTIONS(1877), + [anon_sym_return] = ACTIONS(1877), + [anon_sym_break] = ACTIONS(1877), + [anon_sym_continue] = ACTIONS(1877), + [anon_sym_goto] = ACTIONS(1877), + [anon_sym_DASH_DASH] = ACTIONS(1879), + [anon_sym_PLUS_PLUS] = ACTIONS(1879), + [anon_sym_sizeof] = ACTIONS(1877), + [sym_number_literal] = ACTIONS(1879), + [anon_sym_L_SQUOTE] = ACTIONS(1879), + [anon_sym_u_SQUOTE] = ACTIONS(1879), + [anon_sym_U_SQUOTE] = ACTIONS(1879), + [anon_sym_u8_SQUOTE] = ACTIONS(1879), + [anon_sym_SQUOTE] = ACTIONS(1879), + [anon_sym_L_DQUOTE] = ACTIONS(1879), + [anon_sym_u_DQUOTE] = ACTIONS(1879), + [anon_sym_U_DQUOTE] = ACTIONS(1879), + [anon_sym_u8_DQUOTE] = ACTIONS(1879), + [anon_sym_DQUOTE] = ACTIONS(1879), + [sym_true] = ACTIONS(1877), + [sym_false] = ACTIONS(1877), + [sym_null] = ACTIONS(1877), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1877), + [anon_sym_decltype] = ACTIONS(1877), + [anon_sym_virtual] = ACTIONS(1877), + [anon_sym_typename] = ACTIONS(1877), + [anon_sym_template] = ACTIONS(1877), + [anon_sym_delete] = ACTIONS(1877), + [anon_sym_throw] = ACTIONS(1877), + [anon_sym_co_return] = ACTIONS(1877), + [anon_sym_co_yield] = ACTIONS(1877), + [anon_sym_try] = ACTIONS(1877), + [anon_sym_catch] = ACTIONS(1877), + [anon_sym_co_await] = ACTIONS(1877), + [anon_sym_new] = ACTIONS(1877), + [anon_sym_requires] = ACTIONS(1877), + [sym_this] = ACTIONS(1877), + [sym_nullptr] = ACTIONS(1877), + [sym_raw_string_literal] = ACTIONS(1879), + }, + [900] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [901] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [902] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [903] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [904] = { + [sym_identifier] = ACTIONS(1969), + [anon_sym_LPAREN2] = ACTIONS(1971), + [anon_sym_BANG] = ACTIONS(1971), + [anon_sym_TILDE] = ACTIONS(1971), + [anon_sym_DASH] = ACTIONS(1969), + [anon_sym_PLUS] = ACTIONS(1969), + [anon_sym_STAR] = ACTIONS(1971), + [anon_sym_AMP] = ACTIONS(1971), + [anon_sym_SEMI] = ACTIONS(1971), + [anon_sym_typedef] = ACTIONS(1969), + [anon_sym_extern] = ACTIONS(1969), + [anon_sym___attribute__] = ACTIONS(1969), + [anon_sym_COLON_COLON] = ACTIONS(1971), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1971), + [anon_sym___declspec] = ACTIONS(1969), + [anon_sym_LBRACE] = ACTIONS(1971), + [anon_sym_LBRACK] = ACTIONS(1969), + [anon_sym_static] = ACTIONS(1969), + [anon_sym_register] = ACTIONS(1969), + [anon_sym_inline] = ACTIONS(1969), + [anon_sym_thread_local] = ACTIONS(1969), + [anon_sym_const] = ACTIONS(1969), + [anon_sym_volatile] = ACTIONS(1969), + [anon_sym_restrict] = ACTIONS(1969), + [anon_sym__Atomic] = ACTIONS(1969), + [anon_sym_mutable] = ACTIONS(1969), + [anon_sym_constexpr] = ACTIONS(1969), + [anon_sym_constinit] = ACTIONS(1969), + [anon_sym_consteval] = ACTIONS(1969), + [anon_sym_signed] = ACTIONS(1969), + [anon_sym_unsigned] = ACTIONS(1969), + [anon_sym_long] = ACTIONS(1969), + [anon_sym_short] = ACTIONS(1969), + [sym_primitive_type] = ACTIONS(1969), + [anon_sym_enum] = ACTIONS(1969), + [anon_sym_class] = ACTIONS(1969), + [anon_sym_struct] = ACTIONS(1969), + [anon_sym_union] = ACTIONS(1969), + [anon_sym_if] = ACTIONS(1969), + [anon_sym_else] = ACTIONS(1969), + [anon_sym_switch] = ACTIONS(1969), + [anon_sym_while] = ACTIONS(1969), + [anon_sym_do] = ACTIONS(1969), + [anon_sym_for] = ACTIONS(1969), + [anon_sym_return] = ACTIONS(1969), + [anon_sym_break] = ACTIONS(1969), + [anon_sym_continue] = ACTIONS(1969), + [anon_sym_goto] = ACTIONS(1969), + [anon_sym_DASH_DASH] = ACTIONS(1971), + [anon_sym_PLUS_PLUS] = ACTIONS(1971), + [anon_sym_sizeof] = ACTIONS(1969), + [sym_number_literal] = ACTIONS(1971), + [anon_sym_L_SQUOTE] = ACTIONS(1971), + [anon_sym_u_SQUOTE] = ACTIONS(1971), + [anon_sym_U_SQUOTE] = ACTIONS(1971), + [anon_sym_u8_SQUOTE] = ACTIONS(1971), + [anon_sym_SQUOTE] = ACTIONS(1971), + [anon_sym_L_DQUOTE] = ACTIONS(1971), + [anon_sym_u_DQUOTE] = ACTIONS(1971), + [anon_sym_U_DQUOTE] = ACTIONS(1971), + [anon_sym_u8_DQUOTE] = ACTIONS(1971), + [anon_sym_DQUOTE] = ACTIONS(1971), + [sym_true] = ACTIONS(1969), + [sym_false] = ACTIONS(1969), + [sym_null] = ACTIONS(1969), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1969), + [anon_sym_decltype] = ACTIONS(1969), + [anon_sym_virtual] = ACTIONS(1969), + [anon_sym_typename] = ACTIONS(1969), + [anon_sym_template] = ACTIONS(1969), + [anon_sym_delete] = ACTIONS(1969), + [anon_sym_throw] = ACTIONS(1969), + [anon_sym_co_return] = ACTIONS(1969), + [anon_sym_co_yield] = ACTIONS(1969), + [anon_sym_try] = ACTIONS(1969), + [anon_sym_co_await] = ACTIONS(1969), + [anon_sym_new] = ACTIONS(1969), + [anon_sym_requires] = ACTIONS(1969), + [sym_this] = ACTIONS(1969), + [sym_nullptr] = ACTIONS(1969), + [sym_raw_string_literal] = ACTIONS(1971), + }, + [905] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [906] = { + [sym_type_qualifier] = STATE(933), + [sym__expression] = STATE(3612), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(933), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2668), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2670), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [907] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [908] = { + [sym_identifier] = ACTIONS(2023), + [anon_sym_LPAREN2] = ACTIONS(2025), + [anon_sym_BANG] = ACTIONS(2025), + [anon_sym_TILDE] = ACTIONS(2025), + [anon_sym_DASH] = ACTIONS(2023), + [anon_sym_PLUS] = ACTIONS(2023), + [anon_sym_STAR] = ACTIONS(2025), + [anon_sym_AMP] = ACTIONS(2025), + [anon_sym_SEMI] = ACTIONS(2025), + [anon_sym_typedef] = ACTIONS(2023), + [anon_sym_extern] = ACTIONS(2023), + [anon_sym___attribute__] = ACTIONS(2023), + [anon_sym_COLON_COLON] = ACTIONS(2025), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2025), + [anon_sym___declspec] = ACTIONS(2023), + [anon_sym_LBRACE] = ACTIONS(2025), + [anon_sym_LBRACK] = ACTIONS(2023), + [anon_sym_static] = ACTIONS(2023), + [anon_sym_register] = ACTIONS(2023), + [anon_sym_inline] = ACTIONS(2023), + [anon_sym_thread_local] = ACTIONS(2023), + [anon_sym_const] = ACTIONS(2023), + [anon_sym_volatile] = ACTIONS(2023), + [anon_sym_restrict] = ACTIONS(2023), + [anon_sym__Atomic] = ACTIONS(2023), + [anon_sym_mutable] = ACTIONS(2023), + [anon_sym_constexpr] = ACTIONS(2023), + [anon_sym_constinit] = ACTIONS(2023), + [anon_sym_consteval] = ACTIONS(2023), + [anon_sym_signed] = ACTIONS(2023), + [anon_sym_unsigned] = ACTIONS(2023), + [anon_sym_long] = ACTIONS(2023), + [anon_sym_short] = ACTIONS(2023), + [sym_primitive_type] = ACTIONS(2023), + [anon_sym_enum] = ACTIONS(2023), + [anon_sym_class] = ACTIONS(2023), + [anon_sym_struct] = ACTIONS(2023), + [anon_sym_union] = ACTIONS(2023), + [anon_sym_if] = ACTIONS(2023), + [anon_sym_else] = ACTIONS(2023), + [anon_sym_switch] = ACTIONS(2023), + [anon_sym_while] = ACTIONS(2023), + [anon_sym_do] = ACTIONS(2023), + [anon_sym_for] = ACTIONS(2023), + [anon_sym_return] = ACTIONS(2023), + [anon_sym_break] = ACTIONS(2023), + [anon_sym_continue] = ACTIONS(2023), + [anon_sym_goto] = ACTIONS(2023), + [anon_sym_DASH_DASH] = ACTIONS(2025), + [anon_sym_PLUS_PLUS] = ACTIONS(2025), + [anon_sym_sizeof] = ACTIONS(2023), + [sym_number_literal] = ACTIONS(2025), + [anon_sym_L_SQUOTE] = ACTIONS(2025), + [anon_sym_u_SQUOTE] = ACTIONS(2025), + [anon_sym_U_SQUOTE] = ACTIONS(2025), + [anon_sym_u8_SQUOTE] = ACTIONS(2025), + [anon_sym_SQUOTE] = ACTIONS(2025), + [anon_sym_L_DQUOTE] = ACTIONS(2025), + [anon_sym_u_DQUOTE] = ACTIONS(2025), + [anon_sym_U_DQUOTE] = ACTIONS(2025), + [anon_sym_u8_DQUOTE] = ACTIONS(2025), + [anon_sym_DQUOTE] = ACTIONS(2025), + [sym_true] = ACTIONS(2023), + [sym_false] = ACTIONS(2023), + [sym_null] = ACTIONS(2023), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2023), + [anon_sym_decltype] = ACTIONS(2023), + [anon_sym_virtual] = ACTIONS(2023), + [anon_sym_typename] = ACTIONS(2023), + [anon_sym_template] = ACTIONS(2023), + [anon_sym_delete] = ACTIONS(2023), + [anon_sym_throw] = ACTIONS(2023), + [anon_sym_co_return] = ACTIONS(2023), + [anon_sym_co_yield] = ACTIONS(2023), + [anon_sym_try] = ACTIONS(2023), + [anon_sym_co_await] = ACTIONS(2023), + [anon_sym_new] = ACTIONS(2023), + [anon_sym_requires] = ACTIONS(2023), + [sym_this] = ACTIONS(2023), + [sym_nullptr] = ACTIONS(2023), + [sym_raw_string_literal] = ACTIONS(2025), + }, + [909] = { + [sym_identifier] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2089), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [910] = { + [sym_identifier] = ACTIONS(2075), + [anon_sym_LPAREN2] = ACTIONS(2077), + [anon_sym_BANG] = ACTIONS(2077), + [anon_sym_TILDE] = ACTIONS(2077), + [anon_sym_DASH] = ACTIONS(2075), + [anon_sym_PLUS] = ACTIONS(2075), + [anon_sym_STAR] = ACTIONS(2077), + [anon_sym_AMP] = ACTIONS(2077), + [anon_sym_SEMI] = ACTIONS(2077), + [anon_sym_typedef] = ACTIONS(2075), + [anon_sym_extern] = ACTIONS(2075), + [anon_sym___attribute__] = ACTIONS(2075), + [anon_sym_COLON_COLON] = ACTIONS(2077), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2077), + [anon_sym___declspec] = ACTIONS(2075), + [anon_sym_LBRACE] = ACTIONS(2077), + [anon_sym_LBRACK] = ACTIONS(2075), + [anon_sym_static] = ACTIONS(2075), + [anon_sym_register] = ACTIONS(2075), + [anon_sym_inline] = ACTIONS(2075), + [anon_sym_thread_local] = ACTIONS(2075), + [anon_sym_const] = ACTIONS(2075), + [anon_sym_volatile] = ACTIONS(2075), + [anon_sym_restrict] = ACTIONS(2075), + [anon_sym__Atomic] = ACTIONS(2075), + [anon_sym_mutable] = ACTIONS(2075), + [anon_sym_constexpr] = ACTIONS(2075), + [anon_sym_constinit] = ACTIONS(2075), + [anon_sym_consteval] = ACTIONS(2075), + [anon_sym_signed] = ACTIONS(2075), + [anon_sym_unsigned] = ACTIONS(2075), + [anon_sym_long] = ACTIONS(2075), + [anon_sym_short] = ACTIONS(2075), + [sym_primitive_type] = ACTIONS(2075), + [anon_sym_enum] = ACTIONS(2075), + [anon_sym_class] = ACTIONS(2075), + [anon_sym_struct] = ACTIONS(2075), + [anon_sym_union] = ACTIONS(2075), + [anon_sym_if] = ACTIONS(2075), + [anon_sym_else] = ACTIONS(2075), + [anon_sym_switch] = ACTIONS(2075), + [anon_sym_while] = ACTIONS(2075), + [anon_sym_do] = ACTIONS(2075), + [anon_sym_for] = ACTIONS(2075), + [anon_sym_return] = ACTIONS(2075), + [anon_sym_break] = ACTIONS(2075), + [anon_sym_continue] = ACTIONS(2075), + [anon_sym_goto] = ACTIONS(2075), + [anon_sym_DASH_DASH] = ACTIONS(2077), + [anon_sym_PLUS_PLUS] = ACTIONS(2077), + [anon_sym_sizeof] = ACTIONS(2075), + [sym_number_literal] = ACTIONS(2077), + [anon_sym_L_SQUOTE] = ACTIONS(2077), + [anon_sym_u_SQUOTE] = ACTIONS(2077), + [anon_sym_U_SQUOTE] = ACTIONS(2077), + [anon_sym_u8_SQUOTE] = ACTIONS(2077), + [anon_sym_SQUOTE] = ACTIONS(2077), + [anon_sym_L_DQUOTE] = ACTIONS(2077), + [anon_sym_u_DQUOTE] = ACTIONS(2077), + [anon_sym_U_DQUOTE] = ACTIONS(2077), + [anon_sym_u8_DQUOTE] = ACTIONS(2077), + [anon_sym_DQUOTE] = ACTIONS(2077), + [sym_true] = ACTIONS(2075), + [sym_false] = ACTIONS(2075), + [sym_null] = ACTIONS(2075), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2075), + [anon_sym_decltype] = ACTIONS(2075), + [anon_sym_virtual] = ACTIONS(2075), + [anon_sym_typename] = ACTIONS(2075), + [anon_sym_template] = ACTIONS(2075), + [anon_sym_delete] = ACTIONS(2075), + [anon_sym_throw] = ACTIONS(2075), + [anon_sym_co_return] = ACTIONS(2075), + [anon_sym_co_yield] = ACTIONS(2075), + [anon_sym_try] = ACTIONS(2075), + [anon_sym_co_await] = ACTIONS(2075), + [anon_sym_new] = ACTIONS(2075), + [anon_sym_requires] = ACTIONS(2075), + [sym_this] = ACTIONS(2075), + [sym_nullptr] = ACTIONS(2075), + [sym_raw_string_literal] = ACTIONS(2077), + }, + [911] = { + [sym_identifier] = ACTIONS(2027), + [anon_sym_LPAREN2] = ACTIONS(2029), + [anon_sym_BANG] = ACTIONS(2029), + [anon_sym_TILDE] = ACTIONS(2029), + [anon_sym_DASH] = ACTIONS(2027), + [anon_sym_PLUS] = ACTIONS(2027), + [anon_sym_STAR] = ACTIONS(2029), + [anon_sym_AMP] = ACTIONS(2029), + [anon_sym_SEMI] = ACTIONS(2029), + [anon_sym_typedef] = ACTIONS(2027), + [anon_sym_extern] = ACTIONS(2027), + [anon_sym___attribute__] = ACTIONS(2027), + [anon_sym_COLON_COLON] = ACTIONS(2029), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2029), + [anon_sym___declspec] = ACTIONS(2027), + [anon_sym_LBRACE] = ACTIONS(2029), + [anon_sym_LBRACK] = ACTIONS(2027), + [anon_sym_static] = ACTIONS(2027), + [anon_sym_register] = ACTIONS(2027), + [anon_sym_inline] = ACTIONS(2027), + [anon_sym_thread_local] = ACTIONS(2027), + [anon_sym_const] = ACTIONS(2027), + [anon_sym_volatile] = ACTIONS(2027), + [anon_sym_restrict] = ACTIONS(2027), + [anon_sym__Atomic] = ACTIONS(2027), + [anon_sym_mutable] = ACTIONS(2027), + [anon_sym_constexpr] = ACTIONS(2027), + [anon_sym_constinit] = ACTIONS(2027), + [anon_sym_consteval] = ACTIONS(2027), + [anon_sym_signed] = ACTIONS(2027), + [anon_sym_unsigned] = ACTIONS(2027), + [anon_sym_long] = ACTIONS(2027), + [anon_sym_short] = ACTIONS(2027), + [sym_primitive_type] = ACTIONS(2027), + [anon_sym_enum] = ACTIONS(2027), + [anon_sym_class] = ACTIONS(2027), + [anon_sym_struct] = ACTIONS(2027), + [anon_sym_union] = ACTIONS(2027), + [anon_sym_if] = ACTIONS(2027), + [anon_sym_else] = ACTIONS(2027), + [anon_sym_switch] = ACTIONS(2027), + [anon_sym_while] = ACTIONS(2027), + [anon_sym_do] = ACTIONS(2027), + [anon_sym_for] = ACTIONS(2027), + [anon_sym_return] = ACTIONS(2027), + [anon_sym_break] = ACTIONS(2027), + [anon_sym_continue] = ACTIONS(2027), + [anon_sym_goto] = ACTIONS(2027), + [anon_sym_DASH_DASH] = ACTIONS(2029), + [anon_sym_PLUS_PLUS] = ACTIONS(2029), + [anon_sym_sizeof] = ACTIONS(2027), + [sym_number_literal] = ACTIONS(2029), + [anon_sym_L_SQUOTE] = ACTIONS(2029), + [anon_sym_u_SQUOTE] = ACTIONS(2029), + [anon_sym_U_SQUOTE] = ACTIONS(2029), + [anon_sym_u8_SQUOTE] = ACTIONS(2029), + [anon_sym_SQUOTE] = ACTIONS(2029), + [anon_sym_L_DQUOTE] = ACTIONS(2029), + [anon_sym_u_DQUOTE] = ACTIONS(2029), + [anon_sym_U_DQUOTE] = ACTIONS(2029), + [anon_sym_u8_DQUOTE] = ACTIONS(2029), + [anon_sym_DQUOTE] = ACTIONS(2029), + [sym_true] = ACTIONS(2027), + [sym_false] = ACTIONS(2027), + [sym_null] = ACTIONS(2027), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2027), + [anon_sym_decltype] = ACTIONS(2027), + [anon_sym_virtual] = ACTIONS(2027), + [anon_sym_typename] = ACTIONS(2027), + [anon_sym_template] = ACTIONS(2027), + [anon_sym_delete] = ACTIONS(2027), + [anon_sym_throw] = ACTIONS(2027), + [anon_sym_co_return] = ACTIONS(2027), + [anon_sym_co_yield] = ACTIONS(2027), + [anon_sym_try] = ACTIONS(2027), + [anon_sym_co_await] = ACTIONS(2027), + [anon_sym_new] = ACTIONS(2027), + [anon_sym_requires] = ACTIONS(2027), + [sym_this] = ACTIONS(2027), + [sym_nullptr] = ACTIONS(2027), + [sym_raw_string_literal] = ACTIONS(2029), + }, + [912] = { + [sym_identifier] = ACTIONS(2641), + [anon_sym_LPAREN2] = ACTIONS(2643), + [anon_sym_BANG] = ACTIONS(2643), + [anon_sym_TILDE] = ACTIONS(2643), + [anon_sym_DASH] = ACTIONS(2641), + [anon_sym_PLUS] = ACTIONS(2641), + [anon_sym_STAR] = ACTIONS(2643), + [anon_sym_AMP] = ACTIONS(2643), + [anon_sym_SEMI] = ACTIONS(2643), + [anon_sym_extern] = ACTIONS(2641), + [anon_sym___attribute__] = ACTIONS(2641), + [anon_sym_COLON_COLON] = ACTIONS(2643), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2643), + [anon_sym___declspec] = ACTIONS(2641), + [anon_sym_LBRACE] = ACTIONS(2643), + [anon_sym_LBRACK] = ACTIONS(2641), + [anon_sym_static] = ACTIONS(2641), + [anon_sym_register] = ACTIONS(2641), + [anon_sym_inline] = ACTIONS(2641), + [anon_sym_thread_local] = ACTIONS(2641), + [anon_sym_const] = ACTIONS(2641), + [anon_sym_volatile] = ACTIONS(2641), + [anon_sym_restrict] = ACTIONS(2641), + [anon_sym__Atomic] = ACTIONS(2641), + [anon_sym_mutable] = ACTIONS(2641), + [anon_sym_constexpr] = ACTIONS(2641), + [anon_sym_constinit] = ACTIONS(2641), + [anon_sym_consteval] = ACTIONS(2641), + [anon_sym_signed] = ACTIONS(2641), + [anon_sym_unsigned] = ACTIONS(2641), + [anon_sym_long] = ACTIONS(2641), + [anon_sym_short] = ACTIONS(2641), + [sym_primitive_type] = ACTIONS(2641), + [anon_sym_enum] = ACTIONS(2641), + [anon_sym_class] = ACTIONS(2641), + [anon_sym_struct] = ACTIONS(2641), + [anon_sym_union] = ACTIONS(2641), + [anon_sym_if] = ACTIONS(2641), + [anon_sym_switch] = ACTIONS(2641), + [anon_sym_case] = ACTIONS(2641), + [anon_sym_default] = ACTIONS(2641), + [anon_sym_while] = ACTIONS(2641), + [anon_sym_do] = ACTIONS(2641), + [anon_sym_for] = ACTIONS(2641), + [anon_sym_return] = ACTIONS(2641), + [anon_sym_break] = ACTIONS(2641), + [anon_sym_continue] = ACTIONS(2641), + [anon_sym_goto] = ACTIONS(2641), + [anon_sym_DASH_DASH] = ACTIONS(2643), + [anon_sym_PLUS_PLUS] = ACTIONS(2643), + [anon_sym_sizeof] = ACTIONS(2641), + [sym_number_literal] = ACTIONS(2643), + [anon_sym_L_SQUOTE] = ACTIONS(2643), + [anon_sym_u_SQUOTE] = ACTIONS(2643), + [anon_sym_U_SQUOTE] = ACTIONS(2643), + [anon_sym_u8_SQUOTE] = ACTIONS(2643), + [anon_sym_SQUOTE] = ACTIONS(2643), + [anon_sym_L_DQUOTE] = ACTIONS(2643), + [anon_sym_u_DQUOTE] = ACTIONS(2643), + [anon_sym_U_DQUOTE] = ACTIONS(2643), + [anon_sym_u8_DQUOTE] = ACTIONS(2643), + [anon_sym_DQUOTE] = ACTIONS(2643), + [sym_true] = ACTIONS(2641), + [sym_false] = ACTIONS(2641), + [sym_null] = ACTIONS(2641), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2641), + [anon_sym_decltype] = ACTIONS(2641), + [anon_sym_virtual] = ACTIONS(2641), + [anon_sym_typename] = ACTIONS(2641), + [anon_sym_template] = ACTIONS(2641), + [anon_sym_delete] = ACTIONS(2641), + [anon_sym_throw] = ACTIONS(2641), + [anon_sym_co_return] = ACTIONS(2641), + [anon_sym_co_yield] = ACTIONS(2641), + [anon_sym_try] = ACTIONS(2641), + [anon_sym_co_await] = ACTIONS(2641), + [anon_sym_new] = ACTIONS(2641), + [anon_sym_requires] = ACTIONS(2641), + [sym_this] = ACTIONS(2641), + [sym_nullptr] = ACTIONS(2641), + [sym_raw_string_literal] = ACTIONS(2643), + }, + [913] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [914] = { + [sym_identifier] = ACTIONS(2659), + [anon_sym_LPAREN2] = ACTIONS(2661), + [anon_sym_BANG] = ACTIONS(2661), + [anon_sym_TILDE] = ACTIONS(2661), + [anon_sym_DASH] = ACTIONS(2659), + [anon_sym_PLUS] = ACTIONS(2659), + [anon_sym_STAR] = ACTIONS(2661), + [anon_sym_AMP] = ACTIONS(2661), + [anon_sym_SEMI] = ACTIONS(2661), + [anon_sym_extern] = ACTIONS(2659), + [anon_sym___attribute__] = ACTIONS(2659), + [anon_sym_COLON_COLON] = ACTIONS(2661), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2661), + [anon_sym___declspec] = ACTIONS(2659), + [anon_sym_LBRACE] = ACTIONS(2661), + [anon_sym_LBRACK] = ACTIONS(2659), + [anon_sym_static] = ACTIONS(2659), + [anon_sym_register] = ACTIONS(2659), + [anon_sym_inline] = ACTIONS(2659), + [anon_sym_thread_local] = ACTIONS(2659), + [anon_sym_const] = ACTIONS(2659), + [anon_sym_volatile] = ACTIONS(2659), + [anon_sym_restrict] = ACTIONS(2659), + [anon_sym__Atomic] = ACTIONS(2659), + [anon_sym_mutable] = ACTIONS(2659), + [anon_sym_constexpr] = ACTIONS(2659), + [anon_sym_constinit] = ACTIONS(2659), + [anon_sym_consteval] = ACTIONS(2659), + [anon_sym_signed] = ACTIONS(2659), + [anon_sym_unsigned] = ACTIONS(2659), + [anon_sym_long] = ACTIONS(2659), + [anon_sym_short] = ACTIONS(2659), + [sym_primitive_type] = ACTIONS(2659), + [anon_sym_enum] = ACTIONS(2659), + [anon_sym_class] = ACTIONS(2659), + [anon_sym_struct] = ACTIONS(2659), + [anon_sym_union] = ACTIONS(2659), + [anon_sym_if] = ACTIONS(2659), + [anon_sym_switch] = ACTIONS(2659), + [anon_sym_case] = ACTIONS(2659), + [anon_sym_default] = ACTIONS(2659), + [anon_sym_while] = ACTIONS(2659), + [anon_sym_do] = ACTIONS(2659), + [anon_sym_for] = ACTIONS(2659), + [anon_sym_return] = ACTIONS(2659), + [anon_sym_break] = ACTIONS(2659), + [anon_sym_continue] = ACTIONS(2659), + [anon_sym_goto] = ACTIONS(2659), + [anon_sym_DASH_DASH] = ACTIONS(2661), + [anon_sym_PLUS_PLUS] = ACTIONS(2661), + [anon_sym_sizeof] = ACTIONS(2659), + [sym_number_literal] = ACTIONS(2661), + [anon_sym_L_SQUOTE] = ACTIONS(2661), + [anon_sym_u_SQUOTE] = ACTIONS(2661), + [anon_sym_U_SQUOTE] = ACTIONS(2661), + [anon_sym_u8_SQUOTE] = ACTIONS(2661), + [anon_sym_SQUOTE] = ACTIONS(2661), + [anon_sym_L_DQUOTE] = ACTIONS(2661), + [anon_sym_u_DQUOTE] = ACTIONS(2661), + [anon_sym_U_DQUOTE] = ACTIONS(2661), + [anon_sym_u8_DQUOTE] = ACTIONS(2661), + [anon_sym_DQUOTE] = ACTIONS(2661), + [sym_true] = ACTIONS(2659), + [sym_false] = ACTIONS(2659), + [sym_null] = ACTIONS(2659), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2659), + [anon_sym_decltype] = ACTIONS(2659), + [anon_sym_virtual] = ACTIONS(2659), + [anon_sym_typename] = ACTIONS(2659), + [anon_sym_template] = ACTIONS(2659), + [anon_sym_delete] = ACTIONS(2659), + [anon_sym_throw] = ACTIONS(2659), + [anon_sym_co_return] = ACTIONS(2659), + [anon_sym_co_yield] = ACTIONS(2659), + [anon_sym_try] = ACTIONS(2659), + [anon_sym_co_await] = ACTIONS(2659), + [anon_sym_new] = ACTIONS(2659), + [anon_sym_requires] = ACTIONS(2659), + [sym_this] = ACTIONS(2659), + [sym_nullptr] = ACTIONS(2659), + [sym_raw_string_literal] = ACTIONS(2661), + }, + [915] = { + [sym_identifier] = ACTIONS(2123), + [anon_sym_LPAREN2] = ACTIONS(2125), + [anon_sym_BANG] = ACTIONS(2125), + [anon_sym_TILDE] = ACTIONS(2125), + [anon_sym_DASH] = ACTIONS(2123), + [anon_sym_PLUS] = ACTIONS(2123), + [anon_sym_STAR] = ACTIONS(2125), + [anon_sym_AMP] = ACTIONS(2125), + [anon_sym_SEMI] = ACTIONS(2125), + [anon_sym_typedef] = ACTIONS(2123), + [anon_sym_extern] = ACTIONS(2123), + [anon_sym___attribute__] = ACTIONS(2123), + [anon_sym_COLON_COLON] = ACTIONS(2125), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2125), + [anon_sym___declspec] = ACTIONS(2123), + [anon_sym_LBRACE] = ACTIONS(2125), + [anon_sym_LBRACK] = ACTIONS(2123), + [anon_sym_static] = ACTIONS(2123), + [anon_sym_register] = ACTIONS(2123), + [anon_sym_inline] = ACTIONS(2123), + [anon_sym_thread_local] = ACTIONS(2123), + [anon_sym_const] = ACTIONS(2123), + [anon_sym_volatile] = ACTIONS(2123), + [anon_sym_restrict] = ACTIONS(2123), + [anon_sym__Atomic] = ACTIONS(2123), + [anon_sym_mutable] = ACTIONS(2123), + [anon_sym_constexpr] = ACTIONS(2123), + [anon_sym_constinit] = ACTIONS(2123), + [anon_sym_consteval] = ACTIONS(2123), + [anon_sym_signed] = ACTIONS(2123), + [anon_sym_unsigned] = ACTIONS(2123), + [anon_sym_long] = ACTIONS(2123), + [anon_sym_short] = ACTIONS(2123), + [sym_primitive_type] = ACTIONS(2123), + [anon_sym_enum] = ACTIONS(2123), + [anon_sym_class] = ACTIONS(2123), + [anon_sym_struct] = ACTIONS(2123), + [anon_sym_union] = ACTIONS(2123), + [anon_sym_if] = ACTIONS(2123), + [anon_sym_else] = ACTIONS(2123), + [anon_sym_switch] = ACTIONS(2123), + [anon_sym_while] = ACTIONS(2123), + [anon_sym_do] = ACTIONS(2123), + [anon_sym_for] = ACTIONS(2123), + [anon_sym_return] = ACTIONS(2123), + [anon_sym_break] = ACTIONS(2123), + [anon_sym_continue] = ACTIONS(2123), + [anon_sym_goto] = ACTIONS(2123), + [anon_sym_DASH_DASH] = ACTIONS(2125), + [anon_sym_PLUS_PLUS] = ACTIONS(2125), + [anon_sym_sizeof] = ACTIONS(2123), + [sym_number_literal] = ACTIONS(2125), + [anon_sym_L_SQUOTE] = ACTIONS(2125), + [anon_sym_u_SQUOTE] = ACTIONS(2125), + [anon_sym_U_SQUOTE] = ACTIONS(2125), + [anon_sym_u8_SQUOTE] = ACTIONS(2125), + [anon_sym_SQUOTE] = ACTIONS(2125), + [anon_sym_L_DQUOTE] = ACTIONS(2125), + [anon_sym_u_DQUOTE] = ACTIONS(2125), + [anon_sym_U_DQUOTE] = ACTIONS(2125), + [anon_sym_u8_DQUOTE] = ACTIONS(2125), + [anon_sym_DQUOTE] = ACTIONS(2125), + [sym_true] = ACTIONS(2123), + [sym_false] = ACTIONS(2123), + [sym_null] = ACTIONS(2123), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2123), + [anon_sym_decltype] = ACTIONS(2123), + [anon_sym_virtual] = ACTIONS(2123), + [anon_sym_typename] = ACTIONS(2123), + [anon_sym_template] = ACTIONS(2123), + [anon_sym_delete] = ACTIONS(2123), + [anon_sym_throw] = ACTIONS(2123), + [anon_sym_co_return] = ACTIONS(2123), + [anon_sym_co_yield] = ACTIONS(2123), + [anon_sym_try] = ACTIONS(2123), + [anon_sym_co_await] = ACTIONS(2123), + [anon_sym_new] = ACTIONS(2123), + [anon_sym_requires] = ACTIONS(2123), + [sym_this] = ACTIONS(2123), + [sym_nullptr] = ACTIONS(2123), + [sym_raw_string_literal] = ACTIONS(2125), + }, + [916] = { + [sym_identifier] = ACTIONS(2031), + [anon_sym_LPAREN2] = ACTIONS(2033), + [anon_sym_BANG] = ACTIONS(2033), + [anon_sym_TILDE] = ACTIONS(2033), + [anon_sym_DASH] = ACTIONS(2031), + [anon_sym_PLUS] = ACTIONS(2031), + [anon_sym_STAR] = ACTIONS(2033), + [anon_sym_AMP] = ACTIONS(2033), + [anon_sym_SEMI] = ACTIONS(2033), + [anon_sym_typedef] = ACTIONS(2031), + [anon_sym_extern] = ACTIONS(2031), + [anon_sym___attribute__] = ACTIONS(2031), + [anon_sym_COLON_COLON] = ACTIONS(2033), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2033), + [anon_sym___declspec] = ACTIONS(2031), + [anon_sym_LBRACE] = ACTIONS(2033), + [anon_sym_LBRACK] = ACTIONS(2031), + [anon_sym_static] = ACTIONS(2031), + [anon_sym_register] = ACTIONS(2031), + [anon_sym_inline] = ACTIONS(2031), + [anon_sym_thread_local] = ACTIONS(2031), + [anon_sym_const] = ACTIONS(2031), + [anon_sym_volatile] = ACTIONS(2031), + [anon_sym_restrict] = ACTIONS(2031), + [anon_sym__Atomic] = ACTIONS(2031), + [anon_sym_mutable] = ACTIONS(2031), + [anon_sym_constexpr] = ACTIONS(2031), + [anon_sym_constinit] = ACTIONS(2031), + [anon_sym_consteval] = ACTIONS(2031), + [anon_sym_signed] = ACTIONS(2031), + [anon_sym_unsigned] = ACTIONS(2031), + [anon_sym_long] = ACTIONS(2031), + [anon_sym_short] = ACTIONS(2031), + [sym_primitive_type] = ACTIONS(2031), + [anon_sym_enum] = ACTIONS(2031), + [anon_sym_class] = ACTIONS(2031), + [anon_sym_struct] = ACTIONS(2031), + [anon_sym_union] = ACTIONS(2031), + [anon_sym_if] = ACTIONS(2031), + [anon_sym_else] = ACTIONS(2031), + [anon_sym_switch] = ACTIONS(2031), + [anon_sym_while] = ACTIONS(2031), + [anon_sym_do] = ACTIONS(2031), + [anon_sym_for] = ACTIONS(2031), + [anon_sym_return] = ACTIONS(2031), + [anon_sym_break] = ACTIONS(2031), + [anon_sym_continue] = ACTIONS(2031), + [anon_sym_goto] = ACTIONS(2031), + [anon_sym_DASH_DASH] = ACTIONS(2033), + [anon_sym_PLUS_PLUS] = ACTIONS(2033), + [anon_sym_sizeof] = ACTIONS(2031), + [sym_number_literal] = ACTIONS(2033), + [anon_sym_L_SQUOTE] = ACTIONS(2033), + [anon_sym_u_SQUOTE] = ACTIONS(2033), + [anon_sym_U_SQUOTE] = ACTIONS(2033), + [anon_sym_u8_SQUOTE] = ACTIONS(2033), + [anon_sym_SQUOTE] = ACTIONS(2033), + [anon_sym_L_DQUOTE] = ACTIONS(2033), + [anon_sym_u_DQUOTE] = ACTIONS(2033), + [anon_sym_U_DQUOTE] = ACTIONS(2033), + [anon_sym_u8_DQUOTE] = ACTIONS(2033), + [anon_sym_DQUOTE] = ACTIONS(2033), + [sym_true] = ACTIONS(2031), + [sym_false] = ACTIONS(2031), + [sym_null] = ACTIONS(2031), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2031), + [anon_sym_decltype] = ACTIONS(2031), + [anon_sym_virtual] = ACTIONS(2031), + [anon_sym_typename] = ACTIONS(2031), + [anon_sym_template] = ACTIONS(2031), + [anon_sym_delete] = ACTIONS(2031), + [anon_sym_throw] = ACTIONS(2031), + [anon_sym_co_return] = ACTIONS(2031), + [anon_sym_co_yield] = ACTIONS(2031), + [anon_sym_try] = ACTIONS(2031), + [anon_sym_co_await] = ACTIONS(2031), + [anon_sym_new] = ACTIONS(2031), + [anon_sym_requires] = ACTIONS(2031), + [sym_this] = ACTIONS(2031), + [sym_nullptr] = ACTIONS(2031), + [sym_raw_string_literal] = ACTIONS(2033), + }, + [917] = { + [sym_identifier] = ACTIONS(2127), + [anon_sym_LPAREN2] = ACTIONS(2129), + [anon_sym_BANG] = ACTIONS(2129), + [anon_sym_TILDE] = ACTIONS(2129), + [anon_sym_DASH] = ACTIONS(2127), + [anon_sym_PLUS] = ACTIONS(2127), + [anon_sym_STAR] = ACTIONS(2129), + [anon_sym_AMP] = ACTIONS(2129), + [anon_sym_SEMI] = ACTIONS(2129), + [anon_sym_typedef] = ACTIONS(2127), + [anon_sym_extern] = ACTIONS(2127), + [anon_sym___attribute__] = ACTIONS(2127), + [anon_sym_COLON_COLON] = ACTIONS(2129), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2129), + [anon_sym___declspec] = ACTIONS(2127), + [anon_sym_LBRACE] = ACTIONS(2129), + [anon_sym_LBRACK] = ACTIONS(2127), + [anon_sym_static] = ACTIONS(2127), + [anon_sym_register] = ACTIONS(2127), + [anon_sym_inline] = ACTIONS(2127), + [anon_sym_thread_local] = ACTIONS(2127), + [anon_sym_const] = ACTIONS(2127), + [anon_sym_volatile] = ACTIONS(2127), + [anon_sym_restrict] = ACTIONS(2127), + [anon_sym__Atomic] = ACTIONS(2127), + [anon_sym_mutable] = ACTIONS(2127), + [anon_sym_constexpr] = ACTIONS(2127), + [anon_sym_constinit] = ACTIONS(2127), + [anon_sym_consteval] = ACTIONS(2127), + [anon_sym_signed] = ACTIONS(2127), + [anon_sym_unsigned] = ACTIONS(2127), + [anon_sym_long] = ACTIONS(2127), + [anon_sym_short] = ACTIONS(2127), + [sym_primitive_type] = ACTIONS(2127), + [anon_sym_enum] = ACTIONS(2127), + [anon_sym_class] = ACTIONS(2127), + [anon_sym_struct] = ACTIONS(2127), + [anon_sym_union] = ACTIONS(2127), + [anon_sym_if] = ACTIONS(2127), + [anon_sym_else] = ACTIONS(2127), + [anon_sym_switch] = ACTIONS(2127), + [anon_sym_while] = ACTIONS(2127), + [anon_sym_do] = ACTIONS(2127), + [anon_sym_for] = ACTIONS(2127), + [anon_sym_return] = ACTIONS(2127), + [anon_sym_break] = ACTIONS(2127), + [anon_sym_continue] = ACTIONS(2127), + [anon_sym_goto] = ACTIONS(2127), + [anon_sym_DASH_DASH] = ACTIONS(2129), + [anon_sym_PLUS_PLUS] = ACTIONS(2129), + [anon_sym_sizeof] = ACTIONS(2127), + [sym_number_literal] = ACTIONS(2129), + [anon_sym_L_SQUOTE] = ACTIONS(2129), + [anon_sym_u_SQUOTE] = ACTIONS(2129), + [anon_sym_U_SQUOTE] = ACTIONS(2129), + [anon_sym_u8_SQUOTE] = ACTIONS(2129), + [anon_sym_SQUOTE] = ACTIONS(2129), + [anon_sym_L_DQUOTE] = ACTIONS(2129), + [anon_sym_u_DQUOTE] = ACTIONS(2129), + [anon_sym_U_DQUOTE] = ACTIONS(2129), + [anon_sym_u8_DQUOTE] = ACTIONS(2129), + [anon_sym_DQUOTE] = ACTIONS(2129), + [sym_true] = ACTIONS(2127), + [sym_false] = ACTIONS(2127), + [sym_null] = ACTIONS(2127), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2127), + [anon_sym_decltype] = ACTIONS(2127), + [anon_sym_virtual] = ACTIONS(2127), + [anon_sym_typename] = ACTIONS(2127), + [anon_sym_template] = ACTIONS(2127), + [anon_sym_delete] = ACTIONS(2127), + [anon_sym_throw] = ACTIONS(2127), + [anon_sym_co_return] = ACTIONS(2127), + [anon_sym_co_yield] = ACTIONS(2127), + [anon_sym_try] = ACTIONS(2127), + [anon_sym_co_await] = ACTIONS(2127), + [anon_sym_new] = ACTIONS(2127), + [anon_sym_requires] = ACTIONS(2127), + [sym_this] = ACTIONS(2127), + [sym_nullptr] = ACTIONS(2127), + [sym_raw_string_literal] = ACTIONS(2129), + }, + [918] = { + [sym_type_qualifier] = STATE(1985), + [sym__expression] = STATE(3669), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(1985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2674), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2676), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [919] = { + [sym_type_qualifier] = STATE(935), + [sym__expression] = STATE(3632), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(935), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2678), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2680), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [920] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [921] = { + [sym_identifier] = ACTIONS(2087), + [anon_sym_LPAREN2] = ACTIONS(2089), + [anon_sym_BANG] = ACTIONS(2089), + [anon_sym_TILDE] = ACTIONS(2089), + [anon_sym_DASH] = ACTIONS(2087), + [anon_sym_PLUS] = ACTIONS(2087), + [anon_sym_STAR] = ACTIONS(2089), + [anon_sym_AMP] = ACTIONS(2089), + [anon_sym_SEMI] = ACTIONS(2089), + [anon_sym_typedef] = ACTIONS(2087), + [anon_sym_extern] = ACTIONS(2087), + [anon_sym___attribute__] = ACTIONS(2087), + [anon_sym_COLON_COLON] = ACTIONS(2089), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2089), + [anon_sym___declspec] = ACTIONS(2087), + [anon_sym_LBRACE] = ACTIONS(2089), + [anon_sym_LBRACK] = ACTIONS(2087), + [anon_sym_static] = ACTIONS(2087), + [anon_sym_register] = ACTIONS(2087), + [anon_sym_inline] = ACTIONS(2087), + [anon_sym_thread_local] = ACTIONS(2087), + [anon_sym_const] = ACTIONS(2087), + [anon_sym_volatile] = ACTIONS(2087), + [anon_sym_restrict] = ACTIONS(2087), + [anon_sym__Atomic] = ACTIONS(2087), + [anon_sym_mutable] = ACTIONS(2087), + [anon_sym_constexpr] = ACTIONS(2087), + [anon_sym_constinit] = ACTIONS(2087), + [anon_sym_consteval] = ACTIONS(2087), + [anon_sym_signed] = ACTIONS(2087), + [anon_sym_unsigned] = ACTIONS(2087), + [anon_sym_long] = ACTIONS(2087), + [anon_sym_short] = ACTIONS(2087), + [sym_primitive_type] = ACTIONS(2087), + [anon_sym_enum] = ACTIONS(2087), + [anon_sym_class] = ACTIONS(2087), + [anon_sym_struct] = ACTIONS(2087), + [anon_sym_union] = ACTIONS(2087), + [anon_sym_if] = ACTIONS(2087), + [anon_sym_else] = ACTIONS(2087), + [anon_sym_switch] = ACTIONS(2087), + [anon_sym_while] = ACTIONS(2087), + [anon_sym_do] = ACTIONS(2087), + [anon_sym_for] = ACTIONS(2087), + [anon_sym_return] = ACTIONS(2087), + [anon_sym_break] = ACTIONS(2087), + [anon_sym_continue] = ACTIONS(2087), + [anon_sym_goto] = ACTIONS(2087), + [anon_sym_DASH_DASH] = ACTIONS(2089), + [anon_sym_PLUS_PLUS] = ACTIONS(2089), + [anon_sym_sizeof] = ACTIONS(2087), + [sym_number_literal] = ACTIONS(2089), + [anon_sym_L_SQUOTE] = ACTIONS(2089), + [anon_sym_u_SQUOTE] = ACTIONS(2089), + [anon_sym_U_SQUOTE] = ACTIONS(2089), + [anon_sym_u8_SQUOTE] = ACTIONS(2089), + [anon_sym_SQUOTE] = ACTIONS(2089), + [anon_sym_L_DQUOTE] = ACTIONS(2089), + [anon_sym_u_DQUOTE] = ACTIONS(2089), + [anon_sym_U_DQUOTE] = ACTIONS(2089), + [anon_sym_u8_DQUOTE] = ACTIONS(2089), + [anon_sym_DQUOTE] = ACTIONS(2089), + [sym_true] = ACTIONS(2087), + [sym_false] = ACTIONS(2087), + [sym_null] = ACTIONS(2087), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2087), + [anon_sym_decltype] = ACTIONS(2087), + [anon_sym_virtual] = ACTIONS(2087), + [anon_sym_typename] = ACTIONS(2087), + [anon_sym_template] = ACTIONS(2087), + [anon_sym_delete] = ACTIONS(2087), + [anon_sym_throw] = ACTIONS(2087), + [anon_sym_co_return] = ACTIONS(2087), + [anon_sym_co_yield] = ACTIONS(2087), + [anon_sym_try] = ACTIONS(2087), + [anon_sym_co_await] = ACTIONS(2087), + [anon_sym_new] = ACTIONS(2087), + [anon_sym_requires] = ACTIONS(2087), + [sym_this] = ACTIONS(2087), + [sym_nullptr] = ACTIONS(2087), + [sym_raw_string_literal] = ACTIONS(2089), + }, + [922] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [923] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [924] = { + [sym_identifier] = ACTIONS(2115), + [anon_sym_LPAREN2] = ACTIONS(2117), + [anon_sym_BANG] = ACTIONS(2117), + [anon_sym_TILDE] = ACTIONS(2117), + [anon_sym_DASH] = ACTIONS(2115), + [anon_sym_PLUS] = ACTIONS(2115), + [anon_sym_STAR] = ACTIONS(2117), + [anon_sym_AMP] = ACTIONS(2117), + [anon_sym_SEMI] = ACTIONS(2117), + [anon_sym_typedef] = ACTIONS(2115), + [anon_sym_extern] = ACTIONS(2115), + [anon_sym___attribute__] = ACTIONS(2115), + [anon_sym_COLON_COLON] = ACTIONS(2117), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2117), + [anon_sym___declspec] = ACTIONS(2115), + [anon_sym_LBRACE] = ACTIONS(2117), + [anon_sym_LBRACK] = ACTIONS(2115), + [anon_sym_static] = ACTIONS(2115), + [anon_sym_register] = ACTIONS(2115), + [anon_sym_inline] = ACTIONS(2115), + [anon_sym_thread_local] = ACTIONS(2115), + [anon_sym_const] = ACTIONS(2115), + [anon_sym_volatile] = ACTIONS(2115), + [anon_sym_restrict] = ACTIONS(2115), + [anon_sym__Atomic] = ACTIONS(2115), + [anon_sym_mutable] = ACTIONS(2115), + [anon_sym_constexpr] = ACTIONS(2115), + [anon_sym_constinit] = ACTIONS(2115), + [anon_sym_consteval] = ACTIONS(2115), + [anon_sym_signed] = ACTIONS(2115), + [anon_sym_unsigned] = ACTIONS(2115), + [anon_sym_long] = ACTIONS(2115), + [anon_sym_short] = ACTIONS(2115), + [sym_primitive_type] = ACTIONS(2115), + [anon_sym_enum] = ACTIONS(2115), + [anon_sym_class] = ACTIONS(2115), + [anon_sym_struct] = ACTIONS(2115), + [anon_sym_union] = ACTIONS(2115), + [anon_sym_if] = ACTIONS(2115), + [anon_sym_else] = ACTIONS(2115), + [anon_sym_switch] = ACTIONS(2115), + [anon_sym_while] = ACTIONS(2115), + [anon_sym_do] = ACTIONS(2115), + [anon_sym_for] = ACTIONS(2115), + [anon_sym_return] = ACTIONS(2115), + [anon_sym_break] = ACTIONS(2115), + [anon_sym_continue] = ACTIONS(2115), + [anon_sym_goto] = ACTIONS(2115), + [anon_sym_DASH_DASH] = ACTIONS(2117), + [anon_sym_PLUS_PLUS] = ACTIONS(2117), + [anon_sym_sizeof] = ACTIONS(2115), + [sym_number_literal] = ACTIONS(2117), + [anon_sym_L_SQUOTE] = ACTIONS(2117), + [anon_sym_u_SQUOTE] = ACTIONS(2117), + [anon_sym_U_SQUOTE] = ACTIONS(2117), + [anon_sym_u8_SQUOTE] = ACTIONS(2117), + [anon_sym_SQUOTE] = ACTIONS(2117), + [anon_sym_L_DQUOTE] = ACTIONS(2117), + [anon_sym_u_DQUOTE] = ACTIONS(2117), + [anon_sym_U_DQUOTE] = ACTIONS(2117), + [anon_sym_u8_DQUOTE] = ACTIONS(2117), + [anon_sym_DQUOTE] = ACTIONS(2117), + [sym_true] = ACTIONS(2115), + [sym_false] = ACTIONS(2115), + [sym_null] = ACTIONS(2115), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2115), + [anon_sym_decltype] = ACTIONS(2115), + [anon_sym_virtual] = ACTIONS(2115), + [anon_sym_typename] = ACTIONS(2115), + [anon_sym_template] = ACTIONS(2115), + [anon_sym_delete] = ACTIONS(2115), + [anon_sym_throw] = ACTIONS(2115), + [anon_sym_co_return] = ACTIONS(2115), + [anon_sym_co_yield] = ACTIONS(2115), + [anon_sym_try] = ACTIONS(2115), + [anon_sym_co_await] = ACTIONS(2115), + [anon_sym_new] = ACTIONS(2115), + [anon_sym_requires] = ACTIONS(2115), + [sym_this] = ACTIONS(2115), + [sym_nullptr] = ACTIONS(2115), + [sym_raw_string_literal] = ACTIONS(2117), + }, + [925] = { + [sym_identifier] = ACTIONS(2107), + [anon_sym_LPAREN2] = ACTIONS(2109), + [anon_sym_BANG] = ACTIONS(2109), + [anon_sym_TILDE] = ACTIONS(2109), + [anon_sym_DASH] = ACTIONS(2107), + [anon_sym_PLUS] = ACTIONS(2107), + [anon_sym_STAR] = ACTIONS(2109), + [anon_sym_AMP] = ACTIONS(2109), + [anon_sym_SEMI] = ACTIONS(2109), + [anon_sym_typedef] = ACTIONS(2107), + [anon_sym_extern] = ACTIONS(2107), + [anon_sym___attribute__] = ACTIONS(2107), + [anon_sym_COLON_COLON] = ACTIONS(2109), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2109), + [anon_sym___declspec] = ACTIONS(2107), + [anon_sym_LBRACE] = ACTIONS(2109), + [anon_sym_LBRACK] = ACTIONS(2107), + [anon_sym_static] = ACTIONS(2107), + [anon_sym_register] = ACTIONS(2107), + [anon_sym_inline] = ACTIONS(2107), + [anon_sym_thread_local] = ACTIONS(2107), + [anon_sym_const] = ACTIONS(2107), + [anon_sym_volatile] = ACTIONS(2107), + [anon_sym_restrict] = ACTIONS(2107), + [anon_sym__Atomic] = ACTIONS(2107), + [anon_sym_mutable] = ACTIONS(2107), + [anon_sym_constexpr] = ACTIONS(2107), + [anon_sym_constinit] = ACTIONS(2107), + [anon_sym_consteval] = ACTIONS(2107), + [anon_sym_signed] = ACTIONS(2107), + [anon_sym_unsigned] = ACTIONS(2107), + [anon_sym_long] = ACTIONS(2107), + [anon_sym_short] = ACTIONS(2107), + [sym_primitive_type] = ACTIONS(2107), + [anon_sym_enum] = ACTIONS(2107), + [anon_sym_class] = ACTIONS(2107), + [anon_sym_struct] = ACTIONS(2107), + [anon_sym_union] = ACTIONS(2107), + [anon_sym_if] = ACTIONS(2107), + [anon_sym_else] = ACTIONS(2107), + [anon_sym_switch] = ACTIONS(2107), + [anon_sym_while] = ACTIONS(2107), + [anon_sym_do] = ACTIONS(2107), + [anon_sym_for] = ACTIONS(2107), + [anon_sym_return] = ACTIONS(2107), + [anon_sym_break] = ACTIONS(2107), + [anon_sym_continue] = ACTIONS(2107), + [anon_sym_goto] = ACTIONS(2107), + [anon_sym_DASH_DASH] = ACTIONS(2109), + [anon_sym_PLUS_PLUS] = ACTIONS(2109), + [anon_sym_sizeof] = ACTIONS(2107), + [sym_number_literal] = ACTIONS(2109), + [anon_sym_L_SQUOTE] = ACTIONS(2109), + [anon_sym_u_SQUOTE] = ACTIONS(2109), + [anon_sym_U_SQUOTE] = ACTIONS(2109), + [anon_sym_u8_SQUOTE] = ACTIONS(2109), + [anon_sym_SQUOTE] = ACTIONS(2109), + [anon_sym_L_DQUOTE] = ACTIONS(2109), + [anon_sym_u_DQUOTE] = ACTIONS(2109), + [anon_sym_U_DQUOTE] = ACTIONS(2109), + [anon_sym_u8_DQUOTE] = ACTIONS(2109), + [anon_sym_DQUOTE] = ACTIONS(2109), + [sym_true] = ACTIONS(2107), + [sym_false] = ACTIONS(2107), + [sym_null] = ACTIONS(2107), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2107), + [anon_sym_decltype] = ACTIONS(2107), + [anon_sym_virtual] = ACTIONS(2107), + [anon_sym_typename] = ACTIONS(2107), + [anon_sym_template] = ACTIONS(2107), + [anon_sym_delete] = ACTIONS(2107), + [anon_sym_throw] = ACTIONS(2107), + [anon_sym_co_return] = ACTIONS(2107), + [anon_sym_co_yield] = ACTIONS(2107), + [anon_sym_try] = ACTIONS(2107), + [anon_sym_co_await] = ACTIONS(2107), + [anon_sym_new] = ACTIONS(2107), + [anon_sym_requires] = ACTIONS(2107), + [sym_this] = ACTIONS(2107), + [sym_nullptr] = ACTIONS(2107), + [sym_raw_string_literal] = ACTIONS(2109), + }, + [926] = { + [sym_identifier] = ACTIONS(2043), + [anon_sym_LPAREN2] = ACTIONS(2045), + [anon_sym_BANG] = ACTIONS(2045), + [anon_sym_TILDE] = ACTIONS(2045), + [anon_sym_DASH] = ACTIONS(2043), + [anon_sym_PLUS] = ACTIONS(2043), + [anon_sym_STAR] = ACTIONS(2045), + [anon_sym_AMP] = ACTIONS(2045), + [anon_sym_SEMI] = ACTIONS(2045), + [anon_sym_typedef] = ACTIONS(2043), + [anon_sym_extern] = ACTIONS(2043), + [anon_sym___attribute__] = ACTIONS(2043), + [anon_sym_COLON_COLON] = ACTIONS(2045), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2045), + [anon_sym___declspec] = ACTIONS(2043), + [anon_sym_LBRACE] = ACTIONS(2045), + [anon_sym_LBRACK] = ACTIONS(2043), + [anon_sym_static] = ACTIONS(2043), + [anon_sym_register] = ACTIONS(2043), + [anon_sym_inline] = ACTIONS(2043), + [anon_sym_thread_local] = ACTIONS(2043), + [anon_sym_const] = ACTIONS(2043), + [anon_sym_volatile] = ACTIONS(2043), + [anon_sym_restrict] = ACTIONS(2043), + [anon_sym__Atomic] = ACTIONS(2043), + [anon_sym_mutable] = ACTIONS(2043), + [anon_sym_constexpr] = ACTIONS(2043), + [anon_sym_constinit] = ACTIONS(2043), + [anon_sym_consteval] = ACTIONS(2043), + [anon_sym_signed] = ACTIONS(2043), + [anon_sym_unsigned] = ACTIONS(2043), + [anon_sym_long] = ACTIONS(2043), + [anon_sym_short] = ACTIONS(2043), + [sym_primitive_type] = ACTIONS(2043), + [anon_sym_enum] = ACTIONS(2043), + [anon_sym_class] = ACTIONS(2043), + [anon_sym_struct] = ACTIONS(2043), + [anon_sym_union] = ACTIONS(2043), + [anon_sym_if] = ACTIONS(2043), + [anon_sym_else] = ACTIONS(2043), + [anon_sym_switch] = ACTIONS(2043), + [anon_sym_while] = ACTIONS(2043), + [anon_sym_do] = ACTIONS(2043), + [anon_sym_for] = ACTIONS(2043), + [anon_sym_return] = ACTIONS(2043), + [anon_sym_break] = ACTIONS(2043), + [anon_sym_continue] = ACTIONS(2043), + [anon_sym_goto] = ACTIONS(2043), + [anon_sym_DASH_DASH] = ACTIONS(2045), + [anon_sym_PLUS_PLUS] = ACTIONS(2045), + [anon_sym_sizeof] = ACTIONS(2043), + [sym_number_literal] = ACTIONS(2045), + [anon_sym_L_SQUOTE] = ACTIONS(2045), + [anon_sym_u_SQUOTE] = ACTIONS(2045), + [anon_sym_U_SQUOTE] = ACTIONS(2045), + [anon_sym_u8_SQUOTE] = ACTIONS(2045), + [anon_sym_SQUOTE] = ACTIONS(2045), + [anon_sym_L_DQUOTE] = ACTIONS(2045), + [anon_sym_u_DQUOTE] = ACTIONS(2045), + [anon_sym_U_DQUOTE] = ACTIONS(2045), + [anon_sym_u8_DQUOTE] = ACTIONS(2045), + [anon_sym_DQUOTE] = ACTIONS(2045), + [sym_true] = ACTIONS(2043), + [sym_false] = ACTIONS(2043), + [sym_null] = ACTIONS(2043), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2043), + [anon_sym_decltype] = ACTIONS(2043), + [anon_sym_virtual] = ACTIONS(2043), + [anon_sym_typename] = ACTIONS(2043), + [anon_sym_template] = ACTIONS(2043), + [anon_sym_delete] = ACTIONS(2043), + [anon_sym_throw] = ACTIONS(2043), + [anon_sym_co_return] = ACTIONS(2043), + [anon_sym_co_yield] = ACTIONS(2043), + [anon_sym_try] = ACTIONS(2043), + [anon_sym_co_await] = ACTIONS(2043), + [anon_sym_new] = ACTIONS(2043), + [anon_sym_requires] = ACTIONS(2043), + [sym_this] = ACTIONS(2043), + [sym_nullptr] = ACTIONS(2043), + [sym_raw_string_literal] = ACTIONS(2045), + }, + [927] = { + [sym_identifier] = ACTIONS(1919), + [anon_sym_LPAREN2] = ACTIONS(1921), + [anon_sym_BANG] = ACTIONS(1921), + [anon_sym_TILDE] = ACTIONS(1921), + [anon_sym_DASH] = ACTIONS(1919), + [anon_sym_PLUS] = ACTIONS(1919), + [anon_sym_STAR] = ACTIONS(1921), + [anon_sym_AMP] = ACTIONS(1921), + [anon_sym_SEMI] = ACTIONS(1921), + [anon_sym_typedef] = ACTIONS(1919), + [anon_sym_extern] = ACTIONS(1919), + [anon_sym___attribute__] = ACTIONS(1919), + [anon_sym_COLON_COLON] = ACTIONS(1921), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1921), + [anon_sym___declspec] = ACTIONS(1919), + [anon_sym_LBRACE] = ACTIONS(1921), + [anon_sym_LBRACK] = ACTIONS(1919), + [anon_sym_static] = ACTIONS(1919), + [anon_sym_register] = ACTIONS(1919), + [anon_sym_inline] = ACTIONS(1919), + [anon_sym_thread_local] = ACTIONS(1919), + [anon_sym_const] = ACTIONS(1919), + [anon_sym_volatile] = ACTIONS(1919), + [anon_sym_restrict] = ACTIONS(1919), + [anon_sym__Atomic] = ACTIONS(1919), + [anon_sym_mutable] = ACTIONS(1919), + [anon_sym_constexpr] = ACTIONS(1919), + [anon_sym_constinit] = ACTIONS(1919), + [anon_sym_consteval] = ACTIONS(1919), + [anon_sym_signed] = ACTIONS(1919), + [anon_sym_unsigned] = ACTIONS(1919), + [anon_sym_long] = ACTIONS(1919), + [anon_sym_short] = ACTIONS(1919), + [sym_primitive_type] = ACTIONS(1919), + [anon_sym_enum] = ACTIONS(1919), + [anon_sym_class] = ACTIONS(1919), + [anon_sym_struct] = ACTIONS(1919), + [anon_sym_union] = ACTIONS(1919), + [anon_sym_if] = ACTIONS(1919), + [anon_sym_else] = ACTIONS(2682), + [anon_sym_switch] = ACTIONS(1919), + [anon_sym_while] = ACTIONS(1919), + [anon_sym_do] = ACTIONS(1919), + [anon_sym_for] = ACTIONS(1919), + [anon_sym_return] = ACTIONS(1919), + [anon_sym_break] = ACTIONS(1919), + [anon_sym_continue] = ACTIONS(1919), + [anon_sym_goto] = ACTIONS(1919), + [anon_sym_DASH_DASH] = ACTIONS(1921), + [anon_sym_PLUS_PLUS] = ACTIONS(1921), + [anon_sym_sizeof] = ACTIONS(1919), + [sym_number_literal] = ACTIONS(1921), + [anon_sym_L_SQUOTE] = ACTIONS(1921), + [anon_sym_u_SQUOTE] = ACTIONS(1921), + [anon_sym_U_SQUOTE] = ACTIONS(1921), + [anon_sym_u8_SQUOTE] = ACTIONS(1921), + [anon_sym_SQUOTE] = ACTIONS(1921), + [anon_sym_L_DQUOTE] = ACTIONS(1921), + [anon_sym_u_DQUOTE] = ACTIONS(1921), + [anon_sym_U_DQUOTE] = ACTIONS(1921), + [anon_sym_u8_DQUOTE] = ACTIONS(1921), + [anon_sym_DQUOTE] = ACTIONS(1921), + [sym_true] = ACTIONS(1919), + [sym_false] = ACTIONS(1919), + [sym_null] = ACTIONS(1919), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1919), + [anon_sym_decltype] = ACTIONS(1919), + [anon_sym_virtual] = ACTIONS(1919), + [anon_sym_typename] = ACTIONS(1919), + [anon_sym_template] = ACTIONS(1919), + [anon_sym_delete] = ACTIONS(1919), + [anon_sym_throw] = ACTIONS(1919), + [anon_sym_co_return] = ACTIONS(1919), + [anon_sym_co_yield] = ACTIONS(1919), + [anon_sym_try] = ACTIONS(1919), + [anon_sym_co_await] = ACTIONS(1919), + [anon_sym_new] = ACTIONS(1919), + [anon_sym_requires] = ACTIONS(1919), + [sym_this] = ACTIONS(1919), + [sym_nullptr] = ACTIONS(1919), + [sym_raw_string_literal] = ACTIONS(1921), + }, + [928] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [929] = { + [sym_type_qualifier] = STATE(918), + [sym__expression] = STATE(3550), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(918), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2684), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2686), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [930] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [931] = { + [sym_identifier] = ACTIONS(2083), + [anon_sym_LPAREN2] = ACTIONS(2085), + [anon_sym_BANG] = ACTIONS(2085), + [anon_sym_TILDE] = ACTIONS(2085), + [anon_sym_DASH] = ACTIONS(2083), + [anon_sym_PLUS] = ACTIONS(2083), + [anon_sym_STAR] = ACTIONS(2085), + [anon_sym_AMP] = ACTIONS(2085), + [anon_sym_SEMI] = ACTIONS(2085), + [anon_sym_typedef] = ACTIONS(2083), + [anon_sym_extern] = ACTIONS(2083), + [anon_sym___attribute__] = ACTIONS(2083), + [anon_sym_COLON_COLON] = ACTIONS(2085), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2085), + [anon_sym___declspec] = ACTIONS(2083), + [anon_sym_LBRACE] = ACTIONS(2085), + [anon_sym_LBRACK] = ACTIONS(2083), + [anon_sym_static] = ACTIONS(2083), + [anon_sym_register] = ACTIONS(2083), + [anon_sym_inline] = ACTIONS(2083), + [anon_sym_thread_local] = ACTIONS(2083), + [anon_sym_const] = ACTIONS(2083), + [anon_sym_volatile] = ACTIONS(2083), + [anon_sym_restrict] = ACTIONS(2083), + [anon_sym__Atomic] = ACTIONS(2083), + [anon_sym_mutable] = ACTIONS(2083), + [anon_sym_constexpr] = ACTIONS(2083), + [anon_sym_constinit] = ACTIONS(2083), + [anon_sym_consteval] = ACTIONS(2083), + [anon_sym_signed] = ACTIONS(2083), + [anon_sym_unsigned] = ACTIONS(2083), + [anon_sym_long] = ACTIONS(2083), + [anon_sym_short] = ACTIONS(2083), + [sym_primitive_type] = ACTIONS(2083), + [anon_sym_enum] = ACTIONS(2083), + [anon_sym_class] = ACTIONS(2083), + [anon_sym_struct] = ACTIONS(2083), + [anon_sym_union] = ACTIONS(2083), + [anon_sym_if] = ACTIONS(2083), + [anon_sym_else] = ACTIONS(2083), + [anon_sym_switch] = ACTIONS(2083), + [anon_sym_while] = ACTIONS(2083), + [anon_sym_do] = ACTIONS(2083), + [anon_sym_for] = ACTIONS(2083), + [anon_sym_return] = ACTIONS(2083), + [anon_sym_break] = ACTIONS(2083), + [anon_sym_continue] = ACTIONS(2083), + [anon_sym_goto] = ACTIONS(2083), + [anon_sym_DASH_DASH] = ACTIONS(2085), + [anon_sym_PLUS_PLUS] = ACTIONS(2085), + [anon_sym_sizeof] = ACTIONS(2083), + [sym_number_literal] = ACTIONS(2085), + [anon_sym_L_SQUOTE] = ACTIONS(2085), + [anon_sym_u_SQUOTE] = ACTIONS(2085), + [anon_sym_U_SQUOTE] = ACTIONS(2085), + [anon_sym_u8_SQUOTE] = ACTIONS(2085), + [anon_sym_SQUOTE] = ACTIONS(2085), + [anon_sym_L_DQUOTE] = ACTIONS(2085), + [anon_sym_u_DQUOTE] = ACTIONS(2085), + [anon_sym_U_DQUOTE] = ACTIONS(2085), + [anon_sym_u8_DQUOTE] = ACTIONS(2085), + [anon_sym_DQUOTE] = ACTIONS(2085), + [sym_true] = ACTIONS(2083), + [sym_false] = ACTIONS(2083), + [sym_null] = ACTIONS(2083), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2083), + [anon_sym_decltype] = ACTIONS(2083), + [anon_sym_virtual] = ACTIONS(2083), + [anon_sym_typename] = ACTIONS(2083), + [anon_sym_template] = ACTIONS(2083), + [anon_sym_delete] = ACTIONS(2083), + [anon_sym_throw] = ACTIONS(2083), + [anon_sym_co_return] = ACTIONS(2083), + [anon_sym_co_yield] = ACTIONS(2083), + [anon_sym_try] = ACTIONS(2083), + [anon_sym_co_await] = ACTIONS(2083), + [anon_sym_new] = ACTIONS(2083), + [anon_sym_requires] = ACTIONS(2083), + [sym_this] = ACTIONS(2083), + [sym_nullptr] = ACTIONS(2083), + [sym_raw_string_literal] = ACTIONS(2085), + }, + [932] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [933] = { + [sym_type_qualifier] = STATE(1985), + [sym__expression] = STATE(3657), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(1985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2688), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2690), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [934] = { + [sym_identifier] = ACTIONS(2059), + [anon_sym_LPAREN2] = ACTIONS(2061), + [anon_sym_BANG] = ACTIONS(2061), + [anon_sym_TILDE] = ACTIONS(2061), + [anon_sym_DASH] = ACTIONS(2059), + [anon_sym_PLUS] = ACTIONS(2059), + [anon_sym_STAR] = ACTIONS(2061), + [anon_sym_AMP] = ACTIONS(2061), + [anon_sym_SEMI] = ACTIONS(2061), + [anon_sym_typedef] = ACTIONS(2059), + [anon_sym_extern] = ACTIONS(2059), + [anon_sym___attribute__] = ACTIONS(2059), + [anon_sym_COLON_COLON] = ACTIONS(2061), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2061), + [anon_sym___declspec] = ACTIONS(2059), + [anon_sym_LBRACE] = ACTIONS(2061), + [anon_sym_LBRACK] = ACTIONS(2059), + [anon_sym_static] = ACTIONS(2059), + [anon_sym_register] = ACTIONS(2059), + [anon_sym_inline] = ACTIONS(2059), + [anon_sym_thread_local] = ACTIONS(2059), + [anon_sym_const] = ACTIONS(2059), + [anon_sym_volatile] = ACTIONS(2059), + [anon_sym_restrict] = ACTIONS(2059), + [anon_sym__Atomic] = ACTIONS(2059), + [anon_sym_mutable] = ACTIONS(2059), + [anon_sym_constexpr] = ACTIONS(2059), + [anon_sym_constinit] = ACTIONS(2059), + [anon_sym_consteval] = ACTIONS(2059), + [anon_sym_signed] = ACTIONS(2059), + [anon_sym_unsigned] = ACTIONS(2059), + [anon_sym_long] = ACTIONS(2059), + [anon_sym_short] = ACTIONS(2059), + [sym_primitive_type] = ACTIONS(2059), + [anon_sym_enum] = ACTIONS(2059), + [anon_sym_class] = ACTIONS(2059), + [anon_sym_struct] = ACTIONS(2059), + [anon_sym_union] = ACTIONS(2059), + [anon_sym_if] = ACTIONS(2059), + [anon_sym_else] = ACTIONS(2059), + [anon_sym_switch] = ACTIONS(2059), + [anon_sym_while] = ACTIONS(2059), + [anon_sym_do] = ACTIONS(2059), + [anon_sym_for] = ACTIONS(2059), + [anon_sym_return] = ACTIONS(2059), + [anon_sym_break] = ACTIONS(2059), + [anon_sym_continue] = ACTIONS(2059), + [anon_sym_goto] = ACTIONS(2059), + [anon_sym_DASH_DASH] = ACTIONS(2061), + [anon_sym_PLUS_PLUS] = ACTIONS(2061), + [anon_sym_sizeof] = ACTIONS(2059), + [sym_number_literal] = ACTIONS(2061), + [anon_sym_L_SQUOTE] = ACTIONS(2061), + [anon_sym_u_SQUOTE] = ACTIONS(2061), + [anon_sym_U_SQUOTE] = ACTIONS(2061), + [anon_sym_u8_SQUOTE] = ACTIONS(2061), + [anon_sym_SQUOTE] = ACTIONS(2061), + [anon_sym_L_DQUOTE] = ACTIONS(2061), + [anon_sym_u_DQUOTE] = ACTIONS(2061), + [anon_sym_U_DQUOTE] = ACTIONS(2061), + [anon_sym_u8_DQUOTE] = ACTIONS(2061), + [anon_sym_DQUOTE] = ACTIONS(2061), + [sym_true] = ACTIONS(2059), + [sym_false] = ACTIONS(2059), + [sym_null] = ACTIONS(2059), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2059), + [anon_sym_decltype] = ACTIONS(2059), + [anon_sym_virtual] = ACTIONS(2059), + [anon_sym_typename] = ACTIONS(2059), + [anon_sym_template] = ACTIONS(2059), + [anon_sym_delete] = ACTIONS(2059), + [anon_sym_throw] = ACTIONS(2059), + [anon_sym_co_return] = ACTIONS(2059), + [anon_sym_co_yield] = ACTIONS(2059), + [anon_sym_try] = ACTIONS(2059), + [anon_sym_co_await] = ACTIONS(2059), + [anon_sym_new] = ACTIONS(2059), + [anon_sym_requires] = ACTIONS(2059), + [sym_this] = ACTIONS(2059), + [sym_nullptr] = ACTIONS(2059), + [sym_raw_string_literal] = ACTIONS(2061), + }, + [935] = { + [sym_type_qualifier] = STATE(1985), + [sym__expression] = STATE(3651), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(1985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2692), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2694), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [936] = { + [sym_identifier] = ACTIONS(2071), + [anon_sym_LPAREN2] = ACTIONS(2073), + [anon_sym_BANG] = ACTIONS(2073), + [anon_sym_TILDE] = ACTIONS(2073), + [anon_sym_DASH] = ACTIONS(2071), + [anon_sym_PLUS] = ACTIONS(2071), + [anon_sym_STAR] = ACTIONS(2073), + [anon_sym_AMP] = ACTIONS(2073), + [anon_sym_SEMI] = ACTIONS(2073), + [anon_sym_typedef] = ACTIONS(2071), + [anon_sym_extern] = ACTIONS(2071), + [anon_sym___attribute__] = ACTIONS(2071), + [anon_sym_COLON_COLON] = ACTIONS(2073), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2073), + [anon_sym___declspec] = ACTIONS(2071), + [anon_sym_LBRACE] = ACTIONS(2073), + [anon_sym_LBRACK] = ACTIONS(2071), + [anon_sym_static] = ACTIONS(2071), + [anon_sym_register] = ACTIONS(2071), + [anon_sym_inline] = ACTIONS(2071), + [anon_sym_thread_local] = ACTIONS(2071), + [anon_sym_const] = ACTIONS(2071), + [anon_sym_volatile] = ACTIONS(2071), + [anon_sym_restrict] = ACTIONS(2071), + [anon_sym__Atomic] = ACTIONS(2071), + [anon_sym_mutable] = ACTIONS(2071), + [anon_sym_constexpr] = ACTIONS(2071), + [anon_sym_constinit] = ACTIONS(2071), + [anon_sym_consteval] = ACTIONS(2071), + [anon_sym_signed] = ACTIONS(2071), + [anon_sym_unsigned] = ACTIONS(2071), + [anon_sym_long] = ACTIONS(2071), + [anon_sym_short] = ACTIONS(2071), + [sym_primitive_type] = ACTIONS(2071), + [anon_sym_enum] = ACTIONS(2071), + [anon_sym_class] = ACTIONS(2071), + [anon_sym_struct] = ACTIONS(2071), + [anon_sym_union] = ACTIONS(2071), + [anon_sym_if] = ACTIONS(2071), + [anon_sym_else] = ACTIONS(2071), + [anon_sym_switch] = ACTIONS(2071), + [anon_sym_while] = ACTIONS(2071), + [anon_sym_do] = ACTIONS(2071), + [anon_sym_for] = ACTIONS(2071), + [anon_sym_return] = ACTIONS(2071), + [anon_sym_break] = ACTIONS(2071), + [anon_sym_continue] = ACTIONS(2071), + [anon_sym_goto] = ACTIONS(2071), + [anon_sym_DASH_DASH] = ACTIONS(2073), + [anon_sym_PLUS_PLUS] = ACTIONS(2073), + [anon_sym_sizeof] = ACTIONS(2071), + [sym_number_literal] = ACTIONS(2073), + [anon_sym_L_SQUOTE] = ACTIONS(2073), + [anon_sym_u_SQUOTE] = ACTIONS(2073), + [anon_sym_U_SQUOTE] = ACTIONS(2073), + [anon_sym_u8_SQUOTE] = ACTIONS(2073), + [anon_sym_SQUOTE] = ACTIONS(2073), + [anon_sym_L_DQUOTE] = ACTIONS(2073), + [anon_sym_u_DQUOTE] = ACTIONS(2073), + [anon_sym_U_DQUOTE] = ACTIONS(2073), + [anon_sym_u8_DQUOTE] = ACTIONS(2073), + [anon_sym_DQUOTE] = ACTIONS(2073), + [sym_true] = ACTIONS(2071), + [sym_false] = ACTIONS(2071), + [sym_null] = ACTIONS(2071), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2071), + [anon_sym_decltype] = ACTIONS(2071), + [anon_sym_virtual] = ACTIONS(2071), + [anon_sym_typename] = ACTIONS(2071), + [anon_sym_template] = ACTIONS(2071), + [anon_sym_delete] = ACTIONS(2071), + [anon_sym_throw] = ACTIONS(2071), + [anon_sym_co_return] = ACTIONS(2071), + [anon_sym_co_yield] = ACTIONS(2071), + [anon_sym_try] = ACTIONS(2071), + [anon_sym_co_await] = ACTIONS(2071), + [anon_sym_new] = ACTIONS(2071), + [anon_sym_requires] = ACTIONS(2071), + [sym_this] = ACTIONS(2071), + [sym_nullptr] = ACTIONS(2071), + [sym_raw_string_literal] = ACTIONS(2073), + }, + [937] = { + [sym_identifier] = ACTIONS(2067), + [anon_sym_LPAREN2] = ACTIONS(2069), + [anon_sym_BANG] = ACTIONS(2069), + [anon_sym_TILDE] = ACTIONS(2069), + [anon_sym_DASH] = ACTIONS(2067), + [anon_sym_PLUS] = ACTIONS(2067), + [anon_sym_STAR] = ACTIONS(2069), + [anon_sym_AMP] = ACTIONS(2069), + [anon_sym_SEMI] = ACTIONS(2069), + [anon_sym_typedef] = ACTIONS(2067), + [anon_sym_extern] = ACTIONS(2067), + [anon_sym___attribute__] = ACTIONS(2067), + [anon_sym_COLON_COLON] = ACTIONS(2069), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2069), + [anon_sym___declspec] = ACTIONS(2067), + [anon_sym_LBRACE] = ACTIONS(2069), + [anon_sym_LBRACK] = ACTIONS(2067), + [anon_sym_static] = ACTIONS(2067), + [anon_sym_register] = ACTIONS(2067), + [anon_sym_inline] = ACTIONS(2067), + [anon_sym_thread_local] = ACTIONS(2067), + [anon_sym_const] = ACTIONS(2067), + [anon_sym_volatile] = ACTIONS(2067), + [anon_sym_restrict] = ACTIONS(2067), + [anon_sym__Atomic] = ACTIONS(2067), + [anon_sym_mutable] = ACTIONS(2067), + [anon_sym_constexpr] = ACTIONS(2067), + [anon_sym_constinit] = ACTIONS(2067), + [anon_sym_consteval] = ACTIONS(2067), + [anon_sym_signed] = ACTIONS(2067), + [anon_sym_unsigned] = ACTIONS(2067), + [anon_sym_long] = ACTIONS(2067), + [anon_sym_short] = ACTIONS(2067), + [sym_primitive_type] = ACTIONS(2067), + [anon_sym_enum] = ACTIONS(2067), + [anon_sym_class] = ACTIONS(2067), + [anon_sym_struct] = ACTIONS(2067), + [anon_sym_union] = ACTIONS(2067), + [anon_sym_if] = ACTIONS(2067), + [anon_sym_else] = ACTIONS(2067), + [anon_sym_switch] = ACTIONS(2067), + [anon_sym_while] = ACTIONS(2067), + [anon_sym_do] = ACTIONS(2067), + [anon_sym_for] = ACTIONS(2067), + [anon_sym_return] = ACTIONS(2067), + [anon_sym_break] = ACTIONS(2067), + [anon_sym_continue] = ACTIONS(2067), + [anon_sym_goto] = ACTIONS(2067), + [anon_sym_DASH_DASH] = ACTIONS(2069), + [anon_sym_PLUS_PLUS] = ACTIONS(2069), + [anon_sym_sizeof] = ACTIONS(2067), + [sym_number_literal] = ACTIONS(2069), + [anon_sym_L_SQUOTE] = ACTIONS(2069), + [anon_sym_u_SQUOTE] = ACTIONS(2069), + [anon_sym_U_SQUOTE] = ACTIONS(2069), + [anon_sym_u8_SQUOTE] = ACTIONS(2069), + [anon_sym_SQUOTE] = ACTIONS(2069), + [anon_sym_L_DQUOTE] = ACTIONS(2069), + [anon_sym_u_DQUOTE] = ACTIONS(2069), + [anon_sym_U_DQUOTE] = ACTIONS(2069), + [anon_sym_u8_DQUOTE] = ACTIONS(2069), + [anon_sym_DQUOTE] = ACTIONS(2069), + [sym_true] = ACTIONS(2067), + [sym_false] = ACTIONS(2067), + [sym_null] = ACTIONS(2067), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2067), + [anon_sym_decltype] = ACTIONS(2067), + [anon_sym_virtual] = ACTIONS(2067), + [anon_sym_typename] = ACTIONS(2067), + [anon_sym_template] = ACTIONS(2067), + [anon_sym_delete] = ACTIONS(2067), + [anon_sym_throw] = ACTIONS(2067), + [anon_sym_co_return] = ACTIONS(2067), + [anon_sym_co_yield] = ACTIONS(2067), + [anon_sym_try] = ACTIONS(2067), + [anon_sym_co_await] = ACTIONS(2067), + [anon_sym_new] = ACTIONS(2067), + [anon_sym_requires] = ACTIONS(2067), + [sym_this] = ACTIONS(2067), + [sym_nullptr] = ACTIONS(2067), + [sym_raw_string_literal] = ACTIONS(2069), + }, + [938] = { + [sym_type_qualifier] = STATE(1985), + [sym__expression] = STATE(3595), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(1985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2696), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2698), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [939] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [940] = { + [sym_identifier] = ACTIONS(2063), + [anon_sym_LPAREN2] = ACTIONS(2065), + [anon_sym_BANG] = ACTIONS(2065), + [anon_sym_TILDE] = ACTIONS(2065), + [anon_sym_DASH] = ACTIONS(2063), + [anon_sym_PLUS] = ACTIONS(2063), + [anon_sym_STAR] = ACTIONS(2065), + [anon_sym_AMP] = ACTIONS(2065), + [anon_sym_SEMI] = ACTIONS(2065), + [anon_sym_typedef] = ACTIONS(2063), + [anon_sym_extern] = ACTIONS(2063), + [anon_sym___attribute__] = ACTIONS(2063), + [anon_sym_COLON_COLON] = ACTIONS(2065), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2065), + [anon_sym___declspec] = ACTIONS(2063), + [anon_sym_LBRACE] = ACTIONS(2065), + [anon_sym_LBRACK] = ACTIONS(2063), + [anon_sym_static] = ACTIONS(2063), + [anon_sym_register] = ACTIONS(2063), + [anon_sym_inline] = ACTIONS(2063), + [anon_sym_thread_local] = ACTIONS(2063), + [anon_sym_const] = ACTIONS(2063), + [anon_sym_volatile] = ACTIONS(2063), + [anon_sym_restrict] = ACTIONS(2063), + [anon_sym__Atomic] = ACTIONS(2063), + [anon_sym_mutable] = ACTIONS(2063), + [anon_sym_constexpr] = ACTIONS(2063), + [anon_sym_constinit] = ACTIONS(2063), + [anon_sym_consteval] = ACTIONS(2063), + [anon_sym_signed] = ACTIONS(2063), + [anon_sym_unsigned] = ACTIONS(2063), + [anon_sym_long] = ACTIONS(2063), + [anon_sym_short] = ACTIONS(2063), + [sym_primitive_type] = ACTIONS(2063), + [anon_sym_enum] = ACTIONS(2063), + [anon_sym_class] = ACTIONS(2063), + [anon_sym_struct] = ACTIONS(2063), + [anon_sym_union] = ACTIONS(2063), + [anon_sym_if] = ACTIONS(2063), + [anon_sym_else] = ACTIONS(2063), + [anon_sym_switch] = ACTIONS(2063), + [anon_sym_while] = ACTIONS(2063), + [anon_sym_do] = ACTIONS(2063), + [anon_sym_for] = ACTIONS(2063), + [anon_sym_return] = ACTIONS(2063), + [anon_sym_break] = ACTIONS(2063), + [anon_sym_continue] = ACTIONS(2063), + [anon_sym_goto] = ACTIONS(2063), + [anon_sym_DASH_DASH] = ACTIONS(2065), + [anon_sym_PLUS_PLUS] = ACTIONS(2065), + [anon_sym_sizeof] = ACTIONS(2063), + [sym_number_literal] = ACTIONS(2065), + [anon_sym_L_SQUOTE] = ACTIONS(2065), + [anon_sym_u_SQUOTE] = ACTIONS(2065), + [anon_sym_U_SQUOTE] = ACTIONS(2065), + [anon_sym_u8_SQUOTE] = ACTIONS(2065), + [anon_sym_SQUOTE] = ACTIONS(2065), + [anon_sym_L_DQUOTE] = ACTIONS(2065), + [anon_sym_u_DQUOTE] = ACTIONS(2065), + [anon_sym_U_DQUOTE] = ACTIONS(2065), + [anon_sym_u8_DQUOTE] = ACTIONS(2065), + [anon_sym_DQUOTE] = ACTIONS(2065), + [sym_true] = ACTIONS(2063), + [sym_false] = ACTIONS(2063), + [sym_null] = ACTIONS(2063), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2063), + [anon_sym_decltype] = ACTIONS(2063), + [anon_sym_virtual] = ACTIONS(2063), + [anon_sym_typename] = ACTIONS(2063), + [anon_sym_template] = ACTIONS(2063), + [anon_sym_delete] = ACTIONS(2063), + [anon_sym_throw] = ACTIONS(2063), + [anon_sym_co_return] = ACTIONS(2063), + [anon_sym_co_yield] = ACTIONS(2063), + [anon_sym_try] = ACTIONS(2063), + [anon_sym_co_await] = ACTIONS(2063), + [anon_sym_new] = ACTIONS(2063), + [anon_sym_requires] = ACTIONS(2063), + [sym_this] = ACTIONS(2063), + [sym_nullptr] = ACTIONS(2063), + [sym_raw_string_literal] = ACTIONS(2065), + }, + [941] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [942] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [943] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [944] = { + [sym_type_qualifier] = STATE(1985), + [sym__expression] = STATE(3624), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(1985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2700), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2702), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [945] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [946] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [947] = { + [sym_type_qualifier] = STATE(980), + [sym__expression] = STATE(3676), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(980), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2704), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2706), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [948] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [949] = { + [sym_identifier] = ACTIONS(2099), + [anon_sym_LPAREN2] = ACTIONS(2101), + [anon_sym_BANG] = ACTIONS(2101), + [anon_sym_TILDE] = ACTIONS(2101), + [anon_sym_DASH] = ACTIONS(2099), + [anon_sym_PLUS] = ACTIONS(2099), + [anon_sym_STAR] = ACTIONS(2101), + [anon_sym_AMP] = ACTIONS(2101), + [anon_sym_SEMI] = ACTIONS(2101), + [anon_sym_typedef] = ACTIONS(2099), + [anon_sym_extern] = ACTIONS(2099), + [anon_sym___attribute__] = ACTIONS(2099), + [anon_sym_COLON_COLON] = ACTIONS(2101), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2101), + [anon_sym___declspec] = ACTIONS(2099), + [anon_sym_LBRACE] = ACTIONS(2101), + [anon_sym_LBRACK] = ACTIONS(2099), + [anon_sym_static] = ACTIONS(2099), + [anon_sym_register] = ACTIONS(2099), + [anon_sym_inline] = ACTIONS(2099), + [anon_sym_thread_local] = ACTIONS(2099), + [anon_sym_const] = ACTIONS(2099), + [anon_sym_volatile] = ACTIONS(2099), + [anon_sym_restrict] = ACTIONS(2099), + [anon_sym__Atomic] = ACTIONS(2099), + [anon_sym_mutable] = ACTIONS(2099), + [anon_sym_constexpr] = ACTIONS(2099), + [anon_sym_constinit] = ACTIONS(2099), + [anon_sym_consteval] = ACTIONS(2099), + [anon_sym_signed] = ACTIONS(2099), + [anon_sym_unsigned] = ACTIONS(2099), + [anon_sym_long] = ACTIONS(2099), + [anon_sym_short] = ACTIONS(2099), + [sym_primitive_type] = ACTIONS(2099), + [anon_sym_enum] = ACTIONS(2099), + [anon_sym_class] = ACTIONS(2099), + [anon_sym_struct] = ACTIONS(2099), + [anon_sym_union] = ACTIONS(2099), + [anon_sym_if] = ACTIONS(2099), + [anon_sym_else] = ACTIONS(2099), + [anon_sym_switch] = ACTIONS(2099), + [anon_sym_while] = ACTIONS(2099), + [anon_sym_do] = ACTIONS(2099), + [anon_sym_for] = ACTIONS(2099), + [anon_sym_return] = ACTIONS(2099), + [anon_sym_break] = ACTIONS(2099), + [anon_sym_continue] = ACTIONS(2099), + [anon_sym_goto] = ACTIONS(2099), + [anon_sym_DASH_DASH] = ACTIONS(2101), + [anon_sym_PLUS_PLUS] = ACTIONS(2101), + [anon_sym_sizeof] = ACTIONS(2099), + [sym_number_literal] = ACTIONS(2101), + [anon_sym_L_SQUOTE] = ACTIONS(2101), + [anon_sym_u_SQUOTE] = ACTIONS(2101), + [anon_sym_U_SQUOTE] = ACTIONS(2101), + [anon_sym_u8_SQUOTE] = ACTIONS(2101), + [anon_sym_SQUOTE] = ACTIONS(2101), + [anon_sym_L_DQUOTE] = ACTIONS(2101), + [anon_sym_u_DQUOTE] = ACTIONS(2101), + [anon_sym_U_DQUOTE] = ACTIONS(2101), + [anon_sym_u8_DQUOTE] = ACTIONS(2101), + [anon_sym_DQUOTE] = ACTIONS(2101), + [sym_true] = ACTIONS(2099), + [sym_false] = ACTIONS(2099), + [sym_null] = ACTIONS(2099), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2099), + [anon_sym_decltype] = ACTIONS(2099), + [anon_sym_virtual] = ACTIONS(2099), + [anon_sym_typename] = ACTIONS(2099), + [anon_sym_template] = ACTIONS(2099), + [anon_sym_delete] = ACTIONS(2099), + [anon_sym_throw] = ACTIONS(2099), + [anon_sym_co_return] = ACTIONS(2099), + [anon_sym_co_yield] = ACTIONS(2099), + [anon_sym_try] = ACTIONS(2099), + [anon_sym_co_await] = ACTIONS(2099), + [anon_sym_new] = ACTIONS(2099), + [anon_sym_requires] = ACTIONS(2099), + [sym_this] = ACTIONS(2099), + [sym_nullptr] = ACTIONS(2099), + [sym_raw_string_literal] = ACTIONS(2101), + }, + [950] = { + [sym_identifier] = ACTIONS(1957), + [anon_sym_LPAREN2] = ACTIONS(1959), + [anon_sym_BANG] = ACTIONS(1959), + [anon_sym_TILDE] = ACTIONS(1959), + [anon_sym_DASH] = ACTIONS(1957), + [anon_sym_PLUS] = ACTIONS(1957), + [anon_sym_STAR] = ACTIONS(1959), + [anon_sym_AMP] = ACTIONS(1959), + [anon_sym_SEMI] = ACTIONS(1959), + [anon_sym_typedef] = ACTIONS(1957), + [anon_sym_extern] = ACTIONS(1957), + [anon_sym___attribute__] = ACTIONS(1957), + [anon_sym_COLON_COLON] = ACTIONS(1959), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1959), + [anon_sym___declspec] = ACTIONS(1957), + [anon_sym_LBRACE] = ACTIONS(1959), + [anon_sym_LBRACK] = ACTIONS(1957), + [anon_sym_static] = ACTIONS(1957), + [anon_sym_register] = ACTIONS(1957), + [anon_sym_inline] = ACTIONS(1957), + [anon_sym_thread_local] = ACTIONS(1957), + [anon_sym_const] = ACTIONS(1957), + [anon_sym_volatile] = ACTIONS(1957), + [anon_sym_restrict] = ACTIONS(1957), + [anon_sym__Atomic] = ACTIONS(1957), + [anon_sym_mutable] = ACTIONS(1957), + [anon_sym_constexpr] = ACTIONS(1957), + [anon_sym_constinit] = ACTIONS(1957), + [anon_sym_consteval] = ACTIONS(1957), + [anon_sym_signed] = ACTIONS(1957), + [anon_sym_unsigned] = ACTIONS(1957), + [anon_sym_long] = ACTIONS(1957), + [anon_sym_short] = ACTIONS(1957), + [sym_primitive_type] = ACTIONS(1957), + [anon_sym_enum] = ACTIONS(1957), + [anon_sym_class] = ACTIONS(1957), + [anon_sym_struct] = ACTIONS(1957), + [anon_sym_union] = ACTIONS(1957), + [anon_sym_if] = ACTIONS(1957), + [anon_sym_else] = ACTIONS(2708), + [anon_sym_switch] = ACTIONS(1957), + [anon_sym_while] = ACTIONS(1957), + [anon_sym_do] = ACTIONS(1957), + [anon_sym_for] = ACTIONS(1957), + [anon_sym_return] = ACTIONS(1957), + [anon_sym_break] = ACTIONS(1957), + [anon_sym_continue] = ACTIONS(1957), + [anon_sym_goto] = ACTIONS(1957), + [anon_sym_DASH_DASH] = ACTIONS(1959), + [anon_sym_PLUS_PLUS] = ACTIONS(1959), + [anon_sym_sizeof] = ACTIONS(1957), + [sym_number_literal] = ACTIONS(1959), + [anon_sym_L_SQUOTE] = ACTIONS(1959), + [anon_sym_u_SQUOTE] = ACTIONS(1959), + [anon_sym_U_SQUOTE] = ACTIONS(1959), + [anon_sym_u8_SQUOTE] = ACTIONS(1959), + [anon_sym_SQUOTE] = ACTIONS(1959), + [anon_sym_L_DQUOTE] = ACTIONS(1959), + [anon_sym_u_DQUOTE] = ACTIONS(1959), + [anon_sym_U_DQUOTE] = ACTIONS(1959), + [anon_sym_u8_DQUOTE] = ACTIONS(1959), + [anon_sym_DQUOTE] = ACTIONS(1959), + [sym_true] = ACTIONS(1957), + [sym_false] = ACTIONS(1957), + [sym_null] = ACTIONS(1957), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1957), + [anon_sym_decltype] = ACTIONS(1957), + [anon_sym_virtual] = ACTIONS(1957), + [anon_sym_typename] = ACTIONS(1957), + [anon_sym_template] = ACTIONS(1957), + [anon_sym_delete] = ACTIONS(1957), + [anon_sym_throw] = ACTIONS(1957), + [anon_sym_co_return] = ACTIONS(1957), + [anon_sym_co_yield] = ACTIONS(1957), + [anon_sym_try] = ACTIONS(1957), + [anon_sym_co_await] = ACTIONS(1957), + [anon_sym_new] = ACTIONS(1957), + [anon_sym_requires] = ACTIONS(1957), + [sym_this] = ACTIONS(1957), + [sym_nullptr] = ACTIONS(1957), + [sym_raw_string_literal] = ACTIONS(1959), + }, + [951] = { + [sym_identifier] = ACTIONS(1945), + [anon_sym_LPAREN2] = ACTIONS(1947), + [anon_sym_BANG] = ACTIONS(1947), + [anon_sym_TILDE] = ACTIONS(1947), + [anon_sym_DASH] = ACTIONS(1945), + [anon_sym_PLUS] = ACTIONS(1945), + [anon_sym_STAR] = ACTIONS(1947), + [anon_sym_AMP] = ACTIONS(1947), + [anon_sym_SEMI] = ACTIONS(1947), + [anon_sym_typedef] = ACTIONS(1945), + [anon_sym_extern] = ACTIONS(1945), + [anon_sym___attribute__] = ACTIONS(1945), + [anon_sym_COLON_COLON] = ACTIONS(1947), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1947), + [anon_sym___declspec] = ACTIONS(1945), + [anon_sym_LBRACE] = ACTIONS(1947), + [anon_sym_LBRACK] = ACTIONS(1945), + [anon_sym_static] = ACTIONS(1945), + [anon_sym_register] = ACTIONS(1945), + [anon_sym_inline] = ACTIONS(1945), + [anon_sym_thread_local] = ACTIONS(1945), + [anon_sym_const] = ACTIONS(1945), + [anon_sym_volatile] = ACTIONS(1945), + [anon_sym_restrict] = ACTIONS(1945), + [anon_sym__Atomic] = ACTIONS(1945), + [anon_sym_mutable] = ACTIONS(1945), + [anon_sym_constexpr] = ACTIONS(1945), + [anon_sym_constinit] = ACTIONS(1945), + [anon_sym_consteval] = ACTIONS(1945), + [anon_sym_signed] = ACTIONS(1945), + [anon_sym_unsigned] = ACTIONS(1945), + [anon_sym_long] = ACTIONS(1945), + [anon_sym_short] = ACTIONS(1945), + [sym_primitive_type] = ACTIONS(1945), + [anon_sym_enum] = ACTIONS(1945), + [anon_sym_class] = ACTIONS(1945), + [anon_sym_struct] = ACTIONS(1945), + [anon_sym_union] = ACTIONS(1945), + [anon_sym_if] = ACTIONS(1945), + [anon_sym_else] = ACTIONS(1945), + [anon_sym_switch] = ACTIONS(1945), + [anon_sym_while] = ACTIONS(1945), + [anon_sym_do] = ACTIONS(1945), + [anon_sym_for] = ACTIONS(1945), + [anon_sym_return] = ACTIONS(1945), + [anon_sym_break] = ACTIONS(1945), + [anon_sym_continue] = ACTIONS(1945), + [anon_sym_goto] = ACTIONS(1945), + [anon_sym_DASH_DASH] = ACTIONS(1947), + [anon_sym_PLUS_PLUS] = ACTIONS(1947), + [anon_sym_sizeof] = ACTIONS(1945), + [sym_number_literal] = ACTIONS(1947), + [anon_sym_L_SQUOTE] = ACTIONS(1947), + [anon_sym_u_SQUOTE] = ACTIONS(1947), + [anon_sym_U_SQUOTE] = ACTIONS(1947), + [anon_sym_u8_SQUOTE] = ACTIONS(1947), + [anon_sym_SQUOTE] = ACTIONS(1947), + [anon_sym_L_DQUOTE] = ACTIONS(1947), + [anon_sym_u_DQUOTE] = ACTIONS(1947), + [anon_sym_U_DQUOTE] = ACTIONS(1947), + [anon_sym_u8_DQUOTE] = ACTIONS(1947), + [anon_sym_DQUOTE] = ACTIONS(1947), + [sym_true] = ACTIONS(1945), + [sym_false] = ACTIONS(1945), + [sym_null] = ACTIONS(1945), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1945), + [anon_sym_decltype] = ACTIONS(1945), + [anon_sym_virtual] = ACTIONS(1945), + [anon_sym_typename] = ACTIONS(1945), + [anon_sym_template] = ACTIONS(1945), + [anon_sym_delete] = ACTIONS(1945), + [anon_sym_throw] = ACTIONS(1945), + [anon_sym_co_return] = ACTIONS(1945), + [anon_sym_co_yield] = ACTIONS(1945), + [anon_sym_try] = ACTIONS(1945), + [anon_sym_co_await] = ACTIONS(1945), + [anon_sym_new] = ACTIONS(1945), + [anon_sym_requires] = ACTIONS(1945), + [sym_this] = ACTIONS(1945), + [sym_nullptr] = ACTIONS(1945), + [sym_raw_string_literal] = ACTIONS(1947), + }, + [952] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [953] = { + [sym_type_qualifier] = STATE(985), + [sym__expression] = STATE(3648), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2710), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2712), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [954] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [955] = { + [sym_identifier] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2049), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [956] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [957] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [958] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [959] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [960] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [961] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [962] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [963] = { + [sym_identifier] = ACTIONS(1929), + [anon_sym_LPAREN2] = ACTIONS(1931), + [anon_sym_BANG] = ACTIONS(1931), + [anon_sym_TILDE] = ACTIONS(1931), + [anon_sym_DASH] = ACTIONS(1929), + [anon_sym_PLUS] = ACTIONS(1929), + [anon_sym_STAR] = ACTIONS(1931), + [anon_sym_AMP] = ACTIONS(1931), + [anon_sym_SEMI] = ACTIONS(1931), + [anon_sym_typedef] = ACTIONS(1929), + [anon_sym_extern] = ACTIONS(1929), + [anon_sym___attribute__] = ACTIONS(1929), + [anon_sym_COLON_COLON] = ACTIONS(1931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1931), + [anon_sym___declspec] = ACTIONS(1929), + [anon_sym_LBRACE] = ACTIONS(1931), + [anon_sym_LBRACK] = ACTIONS(1929), + [anon_sym_static] = ACTIONS(1929), + [anon_sym_register] = ACTIONS(1929), + [anon_sym_inline] = ACTIONS(1929), + [anon_sym_thread_local] = ACTIONS(1929), + [anon_sym_const] = ACTIONS(1929), + [anon_sym_volatile] = ACTIONS(1929), + [anon_sym_restrict] = ACTIONS(1929), + [anon_sym__Atomic] = ACTIONS(1929), + [anon_sym_mutable] = ACTIONS(1929), + [anon_sym_constexpr] = ACTIONS(1929), + [anon_sym_constinit] = ACTIONS(1929), + [anon_sym_consteval] = ACTIONS(1929), + [anon_sym_signed] = ACTIONS(1929), + [anon_sym_unsigned] = ACTIONS(1929), + [anon_sym_long] = ACTIONS(1929), + [anon_sym_short] = ACTIONS(1929), + [sym_primitive_type] = ACTIONS(1929), + [anon_sym_enum] = ACTIONS(1929), + [anon_sym_class] = ACTIONS(1929), + [anon_sym_struct] = ACTIONS(1929), + [anon_sym_union] = ACTIONS(1929), + [anon_sym_if] = ACTIONS(1929), + [anon_sym_else] = ACTIONS(1929), + [anon_sym_switch] = ACTIONS(1929), + [anon_sym_while] = ACTIONS(1929), + [anon_sym_do] = ACTIONS(1929), + [anon_sym_for] = ACTIONS(1929), + [anon_sym_return] = ACTIONS(1929), + [anon_sym_break] = ACTIONS(1929), + [anon_sym_continue] = ACTIONS(1929), + [anon_sym_goto] = ACTIONS(1929), + [anon_sym_DASH_DASH] = ACTIONS(1931), + [anon_sym_PLUS_PLUS] = ACTIONS(1931), + [anon_sym_sizeof] = ACTIONS(1929), + [sym_number_literal] = ACTIONS(1931), + [anon_sym_L_SQUOTE] = ACTIONS(1931), + [anon_sym_u_SQUOTE] = ACTIONS(1931), + [anon_sym_U_SQUOTE] = ACTIONS(1931), + [anon_sym_u8_SQUOTE] = ACTIONS(1931), + [anon_sym_SQUOTE] = ACTIONS(1931), + [anon_sym_L_DQUOTE] = ACTIONS(1931), + [anon_sym_u_DQUOTE] = ACTIONS(1931), + [anon_sym_U_DQUOTE] = ACTIONS(1931), + [anon_sym_u8_DQUOTE] = ACTIONS(1931), + [anon_sym_DQUOTE] = ACTIONS(1931), + [sym_true] = ACTIONS(1929), + [sym_false] = ACTIONS(1929), + [sym_null] = ACTIONS(1929), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1929), + [anon_sym_decltype] = ACTIONS(1929), + [anon_sym_virtual] = ACTIONS(1929), + [anon_sym_typename] = ACTIONS(1929), + [anon_sym_template] = ACTIONS(1929), + [anon_sym_delete] = ACTIONS(1929), + [anon_sym_throw] = ACTIONS(1929), + [anon_sym_co_return] = ACTIONS(1929), + [anon_sym_co_yield] = ACTIONS(1929), + [anon_sym_try] = ACTIONS(1929), + [anon_sym_co_await] = ACTIONS(1929), + [anon_sym_new] = ACTIONS(1929), + [anon_sym_requires] = ACTIONS(1929), + [sym_this] = ACTIONS(1929), + [sym_nullptr] = ACTIONS(1929), + [sym_raw_string_literal] = ACTIONS(1931), + }, + [964] = { + [sym_identifier] = ACTIONS(1965), + [anon_sym_LPAREN2] = ACTIONS(1967), + [anon_sym_BANG] = ACTIONS(1967), + [anon_sym_TILDE] = ACTIONS(1967), + [anon_sym_DASH] = ACTIONS(1965), + [anon_sym_PLUS] = ACTIONS(1965), + [anon_sym_STAR] = ACTIONS(1967), + [anon_sym_AMP] = ACTIONS(1967), + [anon_sym_SEMI] = ACTIONS(1967), + [anon_sym_typedef] = ACTIONS(1965), + [anon_sym_extern] = ACTIONS(1965), + [anon_sym___attribute__] = ACTIONS(1965), + [anon_sym_COLON_COLON] = ACTIONS(1967), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1967), + [anon_sym___declspec] = ACTIONS(1965), + [anon_sym_LBRACE] = ACTIONS(1967), + [anon_sym_LBRACK] = ACTIONS(1965), + [anon_sym_static] = ACTIONS(1965), + [anon_sym_register] = ACTIONS(1965), + [anon_sym_inline] = ACTIONS(1965), + [anon_sym_thread_local] = ACTIONS(1965), + [anon_sym_const] = ACTIONS(1965), + [anon_sym_volatile] = ACTIONS(1965), + [anon_sym_restrict] = ACTIONS(1965), + [anon_sym__Atomic] = ACTIONS(1965), + [anon_sym_mutable] = ACTIONS(1965), + [anon_sym_constexpr] = ACTIONS(1965), + [anon_sym_constinit] = ACTIONS(1965), + [anon_sym_consteval] = ACTIONS(1965), + [anon_sym_signed] = ACTIONS(1965), + [anon_sym_unsigned] = ACTIONS(1965), + [anon_sym_long] = ACTIONS(1965), + [anon_sym_short] = ACTIONS(1965), + [sym_primitive_type] = ACTIONS(1965), + [anon_sym_enum] = ACTIONS(1965), + [anon_sym_class] = ACTIONS(1965), + [anon_sym_struct] = ACTIONS(1965), + [anon_sym_union] = ACTIONS(1965), + [anon_sym_if] = ACTIONS(1965), + [anon_sym_else] = ACTIONS(1965), + [anon_sym_switch] = ACTIONS(1965), + [anon_sym_while] = ACTIONS(1965), + [anon_sym_do] = ACTIONS(1965), + [anon_sym_for] = ACTIONS(1965), + [anon_sym_return] = ACTIONS(1965), + [anon_sym_break] = ACTIONS(1965), + [anon_sym_continue] = ACTIONS(1965), + [anon_sym_goto] = ACTIONS(1965), + [anon_sym_DASH_DASH] = ACTIONS(1967), + [anon_sym_PLUS_PLUS] = ACTIONS(1967), + [anon_sym_sizeof] = ACTIONS(1965), + [sym_number_literal] = ACTIONS(1967), + [anon_sym_L_SQUOTE] = ACTIONS(1967), + [anon_sym_u_SQUOTE] = ACTIONS(1967), + [anon_sym_U_SQUOTE] = ACTIONS(1967), + [anon_sym_u8_SQUOTE] = ACTIONS(1967), + [anon_sym_SQUOTE] = ACTIONS(1967), + [anon_sym_L_DQUOTE] = ACTIONS(1967), + [anon_sym_u_DQUOTE] = ACTIONS(1967), + [anon_sym_U_DQUOTE] = ACTIONS(1967), + [anon_sym_u8_DQUOTE] = ACTIONS(1967), + [anon_sym_DQUOTE] = ACTIONS(1967), + [sym_true] = ACTIONS(1965), + [sym_false] = ACTIONS(1965), + [sym_null] = ACTIONS(1965), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1965), + [anon_sym_decltype] = ACTIONS(1965), + [anon_sym_virtual] = ACTIONS(1965), + [anon_sym_typename] = ACTIONS(1965), + [anon_sym_template] = ACTIONS(1965), + [anon_sym_delete] = ACTIONS(1965), + [anon_sym_throw] = ACTIONS(1965), + [anon_sym_co_return] = ACTIONS(1965), + [anon_sym_co_yield] = ACTIONS(1965), + [anon_sym_try] = ACTIONS(1965), + [anon_sym_co_await] = ACTIONS(1965), + [anon_sym_new] = ACTIONS(1965), + [anon_sym_requires] = ACTIONS(1965), + [sym_this] = ACTIONS(1965), + [sym_nullptr] = ACTIONS(1965), + [sym_raw_string_literal] = ACTIONS(1967), + }, + [965] = { + [sym_identifier] = ACTIONS(1953), + [anon_sym_LPAREN2] = ACTIONS(1955), + [anon_sym_BANG] = ACTIONS(1955), + [anon_sym_TILDE] = ACTIONS(1955), + [anon_sym_DASH] = ACTIONS(1953), + [anon_sym_PLUS] = ACTIONS(1953), + [anon_sym_STAR] = ACTIONS(1955), + [anon_sym_AMP] = ACTIONS(1955), + [anon_sym_SEMI] = ACTIONS(1955), + [anon_sym_typedef] = ACTIONS(1953), + [anon_sym_extern] = ACTIONS(1953), + [anon_sym___attribute__] = ACTIONS(1953), + [anon_sym_COLON_COLON] = ACTIONS(1955), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1955), + [anon_sym___declspec] = ACTIONS(1953), + [anon_sym_LBRACE] = ACTIONS(1955), + [anon_sym_LBRACK] = ACTIONS(1953), + [anon_sym_static] = ACTIONS(1953), + [anon_sym_register] = ACTIONS(1953), + [anon_sym_inline] = ACTIONS(1953), + [anon_sym_thread_local] = ACTIONS(1953), + [anon_sym_const] = ACTIONS(1953), + [anon_sym_volatile] = ACTIONS(1953), + [anon_sym_restrict] = ACTIONS(1953), + [anon_sym__Atomic] = ACTIONS(1953), + [anon_sym_mutable] = ACTIONS(1953), + [anon_sym_constexpr] = ACTIONS(1953), + [anon_sym_constinit] = ACTIONS(1953), + [anon_sym_consteval] = ACTIONS(1953), + [anon_sym_signed] = ACTIONS(1953), + [anon_sym_unsigned] = ACTIONS(1953), + [anon_sym_long] = ACTIONS(1953), + [anon_sym_short] = ACTIONS(1953), + [sym_primitive_type] = ACTIONS(1953), + [anon_sym_enum] = ACTIONS(1953), + [anon_sym_class] = ACTIONS(1953), + [anon_sym_struct] = ACTIONS(1953), + [anon_sym_union] = ACTIONS(1953), + [anon_sym_if] = ACTIONS(1953), + [anon_sym_else] = ACTIONS(1953), + [anon_sym_switch] = ACTIONS(1953), + [anon_sym_while] = ACTIONS(1953), + [anon_sym_do] = ACTIONS(1953), + [anon_sym_for] = ACTIONS(1953), + [anon_sym_return] = ACTIONS(1953), + [anon_sym_break] = ACTIONS(1953), + [anon_sym_continue] = ACTIONS(1953), + [anon_sym_goto] = ACTIONS(1953), + [anon_sym_DASH_DASH] = ACTIONS(1955), + [anon_sym_PLUS_PLUS] = ACTIONS(1955), + [anon_sym_sizeof] = ACTIONS(1953), + [sym_number_literal] = ACTIONS(1955), + [anon_sym_L_SQUOTE] = ACTIONS(1955), + [anon_sym_u_SQUOTE] = ACTIONS(1955), + [anon_sym_U_SQUOTE] = ACTIONS(1955), + [anon_sym_u8_SQUOTE] = ACTIONS(1955), + [anon_sym_SQUOTE] = ACTIONS(1955), + [anon_sym_L_DQUOTE] = ACTIONS(1955), + [anon_sym_u_DQUOTE] = ACTIONS(1955), + [anon_sym_U_DQUOTE] = ACTIONS(1955), + [anon_sym_u8_DQUOTE] = ACTIONS(1955), + [anon_sym_DQUOTE] = ACTIONS(1955), + [sym_true] = ACTIONS(1953), + [sym_false] = ACTIONS(1953), + [sym_null] = ACTIONS(1953), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1953), + [anon_sym_decltype] = ACTIONS(1953), + [anon_sym_virtual] = ACTIONS(1953), + [anon_sym_typename] = ACTIONS(1953), + [anon_sym_template] = ACTIONS(1953), + [anon_sym_delete] = ACTIONS(1953), + [anon_sym_throw] = ACTIONS(1953), + [anon_sym_co_return] = ACTIONS(1953), + [anon_sym_co_yield] = ACTIONS(1953), + [anon_sym_try] = ACTIONS(1953), + [anon_sym_co_await] = ACTIONS(1953), + [anon_sym_new] = ACTIONS(1953), + [anon_sym_requires] = ACTIONS(1953), + [sym_this] = ACTIONS(1953), + [sym_nullptr] = ACTIONS(1953), + [sym_raw_string_literal] = ACTIONS(1955), + }, + [966] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [967] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [968] = { + [sym_identifier] = ACTIONS(1925), + [anon_sym_LPAREN2] = ACTIONS(1927), + [anon_sym_BANG] = ACTIONS(1927), + [anon_sym_TILDE] = ACTIONS(1927), + [anon_sym_DASH] = ACTIONS(1925), + [anon_sym_PLUS] = ACTIONS(1925), + [anon_sym_STAR] = ACTIONS(1927), + [anon_sym_AMP] = ACTIONS(1927), + [anon_sym_SEMI] = ACTIONS(1927), + [anon_sym_typedef] = ACTIONS(1925), + [anon_sym_extern] = ACTIONS(1925), + [anon_sym___attribute__] = ACTIONS(1925), + [anon_sym_COLON_COLON] = ACTIONS(1927), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1927), + [anon_sym___declspec] = ACTIONS(1925), + [anon_sym_LBRACE] = ACTIONS(1927), + [anon_sym_LBRACK] = ACTIONS(1925), + [anon_sym_static] = ACTIONS(1925), + [anon_sym_register] = ACTIONS(1925), + [anon_sym_inline] = ACTIONS(1925), + [anon_sym_thread_local] = ACTIONS(1925), + [anon_sym_const] = ACTIONS(1925), + [anon_sym_volatile] = ACTIONS(1925), + [anon_sym_restrict] = ACTIONS(1925), + [anon_sym__Atomic] = ACTIONS(1925), + [anon_sym_mutable] = ACTIONS(1925), + [anon_sym_constexpr] = ACTIONS(1925), + [anon_sym_constinit] = ACTIONS(1925), + [anon_sym_consteval] = ACTIONS(1925), + [anon_sym_signed] = ACTIONS(1925), + [anon_sym_unsigned] = ACTIONS(1925), + [anon_sym_long] = ACTIONS(1925), + [anon_sym_short] = ACTIONS(1925), + [sym_primitive_type] = ACTIONS(1925), + [anon_sym_enum] = ACTIONS(1925), + [anon_sym_class] = ACTIONS(1925), + [anon_sym_struct] = ACTIONS(1925), + [anon_sym_union] = ACTIONS(1925), + [anon_sym_if] = ACTIONS(1925), + [anon_sym_else] = ACTIONS(1925), + [anon_sym_switch] = ACTIONS(1925), + [anon_sym_while] = ACTIONS(1925), + [anon_sym_do] = ACTIONS(1925), + [anon_sym_for] = ACTIONS(1925), + [anon_sym_return] = ACTIONS(1925), + [anon_sym_break] = ACTIONS(1925), + [anon_sym_continue] = ACTIONS(1925), + [anon_sym_goto] = ACTIONS(1925), + [anon_sym_DASH_DASH] = ACTIONS(1927), + [anon_sym_PLUS_PLUS] = ACTIONS(1927), + [anon_sym_sizeof] = ACTIONS(1925), + [sym_number_literal] = ACTIONS(1927), + [anon_sym_L_SQUOTE] = ACTIONS(1927), + [anon_sym_u_SQUOTE] = ACTIONS(1927), + [anon_sym_U_SQUOTE] = ACTIONS(1927), + [anon_sym_u8_SQUOTE] = ACTIONS(1927), + [anon_sym_SQUOTE] = ACTIONS(1927), + [anon_sym_L_DQUOTE] = ACTIONS(1927), + [anon_sym_u_DQUOTE] = ACTIONS(1927), + [anon_sym_U_DQUOTE] = ACTIONS(1927), + [anon_sym_u8_DQUOTE] = ACTIONS(1927), + [anon_sym_DQUOTE] = ACTIONS(1927), + [sym_true] = ACTIONS(1925), + [sym_false] = ACTIONS(1925), + [sym_null] = ACTIONS(1925), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1925), + [anon_sym_decltype] = ACTIONS(1925), + [anon_sym_virtual] = ACTIONS(1925), + [anon_sym_typename] = ACTIONS(1925), + [anon_sym_template] = ACTIONS(1925), + [anon_sym_delete] = ACTIONS(1925), + [anon_sym_throw] = ACTIONS(1925), + [anon_sym_co_return] = ACTIONS(1925), + [anon_sym_co_yield] = ACTIONS(1925), + [anon_sym_try] = ACTIONS(1925), + [anon_sym_co_await] = ACTIONS(1925), + [anon_sym_new] = ACTIONS(1925), + [anon_sym_requires] = ACTIONS(1925), + [sym_this] = ACTIONS(1925), + [sym_nullptr] = ACTIONS(1925), + [sym_raw_string_literal] = ACTIONS(1927), + }, + [969] = { + [sym_identifier] = ACTIONS(2119), + [anon_sym_LPAREN2] = ACTIONS(2121), + [anon_sym_BANG] = ACTIONS(2121), + [anon_sym_TILDE] = ACTIONS(2121), + [anon_sym_DASH] = ACTIONS(2119), + [anon_sym_PLUS] = ACTIONS(2119), + [anon_sym_STAR] = ACTIONS(2121), + [anon_sym_AMP] = ACTIONS(2121), + [anon_sym_SEMI] = ACTIONS(2121), + [anon_sym_typedef] = ACTIONS(2119), + [anon_sym_extern] = ACTIONS(2119), + [anon_sym___attribute__] = ACTIONS(2119), + [anon_sym_COLON_COLON] = ACTIONS(2121), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2121), + [anon_sym___declspec] = ACTIONS(2119), + [anon_sym_LBRACE] = ACTIONS(2121), + [anon_sym_LBRACK] = ACTIONS(2119), + [anon_sym_static] = ACTIONS(2119), + [anon_sym_register] = ACTIONS(2119), + [anon_sym_inline] = ACTIONS(2119), + [anon_sym_thread_local] = ACTIONS(2119), + [anon_sym_const] = ACTIONS(2119), + [anon_sym_volatile] = ACTIONS(2119), + [anon_sym_restrict] = ACTIONS(2119), + [anon_sym__Atomic] = ACTIONS(2119), + [anon_sym_mutable] = ACTIONS(2119), + [anon_sym_constexpr] = ACTIONS(2119), + [anon_sym_constinit] = ACTIONS(2119), + [anon_sym_consteval] = ACTIONS(2119), + [anon_sym_signed] = ACTIONS(2119), + [anon_sym_unsigned] = ACTIONS(2119), + [anon_sym_long] = ACTIONS(2119), + [anon_sym_short] = ACTIONS(2119), + [sym_primitive_type] = ACTIONS(2119), + [anon_sym_enum] = ACTIONS(2119), + [anon_sym_class] = ACTIONS(2119), + [anon_sym_struct] = ACTIONS(2119), + [anon_sym_union] = ACTIONS(2119), + [anon_sym_if] = ACTIONS(2119), + [anon_sym_else] = ACTIONS(2119), + [anon_sym_switch] = ACTIONS(2119), + [anon_sym_while] = ACTIONS(2119), + [anon_sym_do] = ACTIONS(2119), + [anon_sym_for] = ACTIONS(2119), + [anon_sym_return] = ACTIONS(2119), + [anon_sym_break] = ACTIONS(2119), + [anon_sym_continue] = ACTIONS(2119), + [anon_sym_goto] = ACTIONS(2119), + [anon_sym_DASH_DASH] = ACTIONS(2121), + [anon_sym_PLUS_PLUS] = ACTIONS(2121), + [anon_sym_sizeof] = ACTIONS(2119), + [sym_number_literal] = ACTIONS(2121), + [anon_sym_L_SQUOTE] = ACTIONS(2121), + [anon_sym_u_SQUOTE] = ACTIONS(2121), + [anon_sym_U_SQUOTE] = ACTIONS(2121), + [anon_sym_u8_SQUOTE] = ACTIONS(2121), + [anon_sym_SQUOTE] = ACTIONS(2121), + [anon_sym_L_DQUOTE] = ACTIONS(2121), + [anon_sym_u_DQUOTE] = ACTIONS(2121), + [anon_sym_U_DQUOTE] = ACTIONS(2121), + [anon_sym_u8_DQUOTE] = ACTIONS(2121), + [anon_sym_DQUOTE] = ACTIONS(2121), + [sym_true] = ACTIONS(2119), + [sym_false] = ACTIONS(2119), + [sym_null] = ACTIONS(2119), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2119), + [anon_sym_decltype] = ACTIONS(2119), + [anon_sym_virtual] = ACTIONS(2119), + [anon_sym_typename] = ACTIONS(2119), + [anon_sym_template] = ACTIONS(2119), + [anon_sym_delete] = ACTIONS(2119), + [anon_sym_throw] = ACTIONS(2119), + [anon_sym_co_return] = ACTIONS(2119), + [anon_sym_co_yield] = ACTIONS(2119), + [anon_sym_try] = ACTIONS(2119), + [anon_sym_co_await] = ACTIONS(2119), + [anon_sym_new] = ACTIONS(2119), + [anon_sym_requires] = ACTIONS(2119), + [sym_this] = ACTIONS(2119), + [sym_nullptr] = ACTIONS(2119), + [sym_raw_string_literal] = ACTIONS(2121), + }, + [970] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [971] = { + [sym_identifier] = ACTIONS(2019), + [anon_sym_LPAREN2] = ACTIONS(2021), + [anon_sym_BANG] = ACTIONS(2021), + [anon_sym_TILDE] = ACTIONS(2021), + [anon_sym_DASH] = ACTIONS(2019), + [anon_sym_PLUS] = ACTIONS(2019), + [anon_sym_STAR] = ACTIONS(2021), + [anon_sym_AMP] = ACTIONS(2021), + [anon_sym_SEMI] = ACTIONS(2021), + [anon_sym_typedef] = ACTIONS(2019), + [anon_sym_extern] = ACTIONS(2019), + [anon_sym___attribute__] = ACTIONS(2019), + [anon_sym_COLON_COLON] = ACTIONS(2021), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2021), + [anon_sym___declspec] = ACTIONS(2019), + [anon_sym_LBRACE] = ACTIONS(2021), + [anon_sym_LBRACK] = ACTIONS(2019), + [anon_sym_static] = ACTIONS(2019), + [anon_sym_register] = ACTIONS(2019), + [anon_sym_inline] = ACTIONS(2019), + [anon_sym_thread_local] = ACTIONS(2019), + [anon_sym_const] = ACTIONS(2019), + [anon_sym_volatile] = ACTIONS(2019), + [anon_sym_restrict] = ACTIONS(2019), + [anon_sym__Atomic] = ACTIONS(2019), + [anon_sym_mutable] = ACTIONS(2019), + [anon_sym_constexpr] = ACTIONS(2019), + [anon_sym_constinit] = ACTIONS(2019), + [anon_sym_consteval] = ACTIONS(2019), + [anon_sym_signed] = ACTIONS(2019), + [anon_sym_unsigned] = ACTIONS(2019), + [anon_sym_long] = ACTIONS(2019), + [anon_sym_short] = ACTIONS(2019), + [sym_primitive_type] = ACTIONS(2019), + [anon_sym_enum] = ACTIONS(2019), + [anon_sym_class] = ACTIONS(2019), + [anon_sym_struct] = ACTIONS(2019), + [anon_sym_union] = ACTIONS(2019), + [anon_sym_if] = ACTIONS(2019), + [anon_sym_else] = ACTIONS(2019), + [anon_sym_switch] = ACTIONS(2019), + [anon_sym_while] = ACTIONS(2019), + [anon_sym_do] = ACTIONS(2019), + [anon_sym_for] = ACTIONS(2019), + [anon_sym_return] = ACTIONS(2019), + [anon_sym_break] = ACTIONS(2019), + [anon_sym_continue] = ACTIONS(2019), + [anon_sym_goto] = ACTIONS(2019), + [anon_sym_DASH_DASH] = ACTIONS(2021), + [anon_sym_PLUS_PLUS] = ACTIONS(2021), + [anon_sym_sizeof] = ACTIONS(2019), + [sym_number_literal] = ACTIONS(2021), + [anon_sym_L_SQUOTE] = ACTIONS(2021), + [anon_sym_u_SQUOTE] = ACTIONS(2021), + [anon_sym_U_SQUOTE] = ACTIONS(2021), + [anon_sym_u8_SQUOTE] = ACTIONS(2021), + [anon_sym_SQUOTE] = ACTIONS(2021), + [anon_sym_L_DQUOTE] = ACTIONS(2021), + [anon_sym_u_DQUOTE] = ACTIONS(2021), + [anon_sym_U_DQUOTE] = ACTIONS(2021), + [anon_sym_u8_DQUOTE] = ACTIONS(2021), + [anon_sym_DQUOTE] = ACTIONS(2021), + [sym_true] = ACTIONS(2019), + [sym_false] = ACTIONS(2019), + [sym_null] = ACTIONS(2019), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2019), + [anon_sym_decltype] = ACTIONS(2019), + [anon_sym_virtual] = ACTIONS(2019), + [anon_sym_typename] = ACTIONS(2019), + [anon_sym_template] = ACTIONS(2019), + [anon_sym_delete] = ACTIONS(2019), + [anon_sym_throw] = ACTIONS(2019), + [anon_sym_co_return] = ACTIONS(2019), + [anon_sym_co_yield] = ACTIONS(2019), + [anon_sym_try] = ACTIONS(2019), + [anon_sym_co_await] = ACTIONS(2019), + [anon_sym_new] = ACTIONS(2019), + [anon_sym_requires] = ACTIONS(2019), + [sym_this] = ACTIONS(2019), + [sym_nullptr] = ACTIONS(2019), + [sym_raw_string_literal] = ACTIONS(2021), + }, + [972] = { + [sym_identifier] = ACTIONS(1941), + [anon_sym_LPAREN2] = ACTIONS(1943), + [anon_sym_BANG] = ACTIONS(1943), + [anon_sym_TILDE] = ACTIONS(1943), + [anon_sym_DASH] = ACTIONS(1941), + [anon_sym_PLUS] = ACTIONS(1941), + [anon_sym_STAR] = ACTIONS(1943), + [anon_sym_AMP] = ACTIONS(1943), + [anon_sym_SEMI] = ACTIONS(1943), + [anon_sym_typedef] = ACTIONS(1941), + [anon_sym_extern] = ACTIONS(1941), + [anon_sym___attribute__] = ACTIONS(1941), + [anon_sym_COLON_COLON] = ACTIONS(1943), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1943), + [anon_sym___declspec] = ACTIONS(1941), + [anon_sym_LBRACE] = ACTIONS(1943), + [anon_sym_LBRACK] = ACTIONS(1941), + [anon_sym_static] = ACTIONS(1941), + [anon_sym_register] = ACTIONS(1941), + [anon_sym_inline] = ACTIONS(1941), + [anon_sym_thread_local] = ACTIONS(1941), + [anon_sym_const] = ACTIONS(1941), + [anon_sym_volatile] = ACTIONS(1941), + [anon_sym_restrict] = ACTIONS(1941), + [anon_sym__Atomic] = ACTIONS(1941), + [anon_sym_mutable] = ACTIONS(1941), + [anon_sym_constexpr] = ACTIONS(1941), + [anon_sym_constinit] = ACTIONS(1941), + [anon_sym_consteval] = ACTIONS(1941), + [anon_sym_signed] = ACTIONS(1941), + [anon_sym_unsigned] = ACTIONS(1941), + [anon_sym_long] = ACTIONS(1941), + [anon_sym_short] = ACTIONS(1941), + [sym_primitive_type] = ACTIONS(1941), + [anon_sym_enum] = ACTIONS(1941), + [anon_sym_class] = ACTIONS(1941), + [anon_sym_struct] = ACTIONS(1941), + [anon_sym_union] = ACTIONS(1941), + [anon_sym_if] = ACTIONS(1941), + [anon_sym_else] = ACTIONS(1941), + [anon_sym_switch] = ACTIONS(1941), + [anon_sym_while] = ACTIONS(1941), + [anon_sym_do] = ACTIONS(1941), + [anon_sym_for] = ACTIONS(1941), + [anon_sym_return] = ACTIONS(1941), + [anon_sym_break] = ACTIONS(1941), + [anon_sym_continue] = ACTIONS(1941), + [anon_sym_goto] = ACTIONS(1941), + [anon_sym_DASH_DASH] = ACTIONS(1943), + [anon_sym_PLUS_PLUS] = ACTIONS(1943), + [anon_sym_sizeof] = ACTIONS(1941), + [sym_number_literal] = ACTIONS(1943), + [anon_sym_L_SQUOTE] = ACTIONS(1943), + [anon_sym_u_SQUOTE] = ACTIONS(1943), + [anon_sym_U_SQUOTE] = ACTIONS(1943), + [anon_sym_u8_SQUOTE] = ACTIONS(1943), + [anon_sym_SQUOTE] = ACTIONS(1943), + [anon_sym_L_DQUOTE] = ACTIONS(1943), + [anon_sym_u_DQUOTE] = ACTIONS(1943), + [anon_sym_U_DQUOTE] = ACTIONS(1943), + [anon_sym_u8_DQUOTE] = ACTIONS(1943), + [anon_sym_DQUOTE] = ACTIONS(1943), + [sym_true] = ACTIONS(1941), + [sym_false] = ACTIONS(1941), + [sym_null] = ACTIONS(1941), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1941), + [anon_sym_decltype] = ACTIONS(1941), + [anon_sym_virtual] = ACTIONS(1941), + [anon_sym_typename] = ACTIONS(1941), + [anon_sym_template] = ACTIONS(1941), + [anon_sym_delete] = ACTIONS(1941), + [anon_sym_throw] = ACTIONS(1941), + [anon_sym_co_return] = ACTIONS(1941), + [anon_sym_co_yield] = ACTIONS(1941), + [anon_sym_try] = ACTIONS(1941), + [anon_sym_co_await] = ACTIONS(1941), + [anon_sym_new] = ACTIONS(1941), + [anon_sym_requires] = ACTIONS(1941), + [sym_this] = ACTIONS(1941), + [sym_nullptr] = ACTIONS(1941), + [sym_raw_string_literal] = ACTIONS(1943), + }, + [973] = { + [sym_identifier] = ACTIONS(1937), + [anon_sym_LPAREN2] = ACTIONS(1939), + [anon_sym_BANG] = ACTIONS(1939), + [anon_sym_TILDE] = ACTIONS(1939), + [anon_sym_DASH] = ACTIONS(1937), + [anon_sym_PLUS] = ACTIONS(1937), + [anon_sym_STAR] = ACTIONS(1939), + [anon_sym_AMP] = ACTIONS(1939), + [anon_sym_SEMI] = ACTIONS(1939), + [anon_sym_typedef] = ACTIONS(1937), + [anon_sym_extern] = ACTIONS(1937), + [anon_sym___attribute__] = ACTIONS(1937), + [anon_sym_COLON_COLON] = ACTIONS(1939), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1939), + [anon_sym___declspec] = ACTIONS(1937), + [anon_sym_LBRACE] = ACTIONS(1939), + [anon_sym_LBRACK] = ACTIONS(1937), + [anon_sym_static] = ACTIONS(1937), + [anon_sym_register] = ACTIONS(1937), + [anon_sym_inline] = ACTIONS(1937), + [anon_sym_thread_local] = ACTIONS(1937), + [anon_sym_const] = ACTIONS(1937), + [anon_sym_volatile] = ACTIONS(1937), + [anon_sym_restrict] = ACTIONS(1937), + [anon_sym__Atomic] = ACTIONS(1937), + [anon_sym_mutable] = ACTIONS(1937), + [anon_sym_constexpr] = ACTIONS(1937), + [anon_sym_constinit] = ACTIONS(1937), + [anon_sym_consteval] = ACTIONS(1937), + [anon_sym_signed] = ACTIONS(1937), + [anon_sym_unsigned] = ACTIONS(1937), + [anon_sym_long] = ACTIONS(1937), + [anon_sym_short] = ACTIONS(1937), + [sym_primitive_type] = ACTIONS(1937), + [anon_sym_enum] = ACTIONS(1937), + [anon_sym_class] = ACTIONS(1937), + [anon_sym_struct] = ACTIONS(1937), + [anon_sym_union] = ACTIONS(1937), + [anon_sym_if] = ACTIONS(1937), + [anon_sym_else] = ACTIONS(1937), + [anon_sym_switch] = ACTIONS(1937), + [anon_sym_while] = ACTIONS(1937), + [anon_sym_do] = ACTIONS(1937), + [anon_sym_for] = ACTIONS(1937), + [anon_sym_return] = ACTIONS(1937), + [anon_sym_break] = ACTIONS(1937), + [anon_sym_continue] = ACTIONS(1937), + [anon_sym_goto] = ACTIONS(1937), + [anon_sym_DASH_DASH] = ACTIONS(1939), + [anon_sym_PLUS_PLUS] = ACTIONS(1939), + [anon_sym_sizeof] = ACTIONS(1937), + [sym_number_literal] = ACTIONS(1939), + [anon_sym_L_SQUOTE] = ACTIONS(1939), + [anon_sym_u_SQUOTE] = ACTIONS(1939), + [anon_sym_U_SQUOTE] = ACTIONS(1939), + [anon_sym_u8_SQUOTE] = ACTIONS(1939), + [anon_sym_SQUOTE] = ACTIONS(1939), + [anon_sym_L_DQUOTE] = ACTIONS(1939), + [anon_sym_u_DQUOTE] = ACTIONS(1939), + [anon_sym_U_DQUOTE] = ACTIONS(1939), + [anon_sym_u8_DQUOTE] = ACTIONS(1939), + [anon_sym_DQUOTE] = ACTIONS(1939), + [sym_true] = ACTIONS(1937), + [sym_false] = ACTIONS(1937), + [sym_null] = ACTIONS(1937), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1937), + [anon_sym_decltype] = ACTIONS(1937), + [anon_sym_virtual] = ACTIONS(1937), + [anon_sym_typename] = ACTIONS(1937), + [anon_sym_template] = ACTIONS(1937), + [anon_sym_delete] = ACTIONS(1937), + [anon_sym_throw] = ACTIONS(1937), + [anon_sym_co_return] = ACTIONS(1937), + [anon_sym_co_yield] = ACTIONS(1937), + [anon_sym_try] = ACTIONS(1937), + [anon_sym_co_await] = ACTIONS(1937), + [anon_sym_new] = ACTIONS(1937), + [anon_sym_requires] = ACTIONS(1937), + [sym_this] = ACTIONS(1937), + [sym_nullptr] = ACTIONS(1937), + [sym_raw_string_literal] = ACTIONS(1939), + }, + [974] = { + [sym_identifier] = ACTIONS(2051), + [anon_sym_LPAREN2] = ACTIONS(2053), + [anon_sym_BANG] = ACTIONS(2053), + [anon_sym_TILDE] = ACTIONS(2053), + [anon_sym_DASH] = ACTIONS(2051), + [anon_sym_PLUS] = ACTIONS(2051), + [anon_sym_STAR] = ACTIONS(2053), + [anon_sym_AMP] = ACTIONS(2053), + [anon_sym_SEMI] = ACTIONS(2053), + [anon_sym_typedef] = ACTIONS(2051), + [anon_sym_extern] = ACTIONS(2051), + [anon_sym___attribute__] = ACTIONS(2051), + [anon_sym_COLON_COLON] = ACTIONS(2053), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2053), + [anon_sym___declspec] = ACTIONS(2051), + [anon_sym_LBRACE] = ACTIONS(2053), + [anon_sym_LBRACK] = ACTIONS(2051), + [anon_sym_static] = ACTIONS(2051), + [anon_sym_register] = ACTIONS(2051), + [anon_sym_inline] = ACTIONS(2051), + [anon_sym_thread_local] = ACTIONS(2051), + [anon_sym_const] = ACTIONS(2051), + [anon_sym_volatile] = ACTIONS(2051), + [anon_sym_restrict] = ACTIONS(2051), + [anon_sym__Atomic] = ACTIONS(2051), + [anon_sym_mutable] = ACTIONS(2051), + [anon_sym_constexpr] = ACTIONS(2051), + [anon_sym_constinit] = ACTIONS(2051), + [anon_sym_consteval] = ACTIONS(2051), + [anon_sym_signed] = ACTIONS(2051), + [anon_sym_unsigned] = ACTIONS(2051), + [anon_sym_long] = ACTIONS(2051), + [anon_sym_short] = ACTIONS(2051), + [sym_primitive_type] = ACTIONS(2051), + [anon_sym_enum] = ACTIONS(2051), + [anon_sym_class] = ACTIONS(2051), + [anon_sym_struct] = ACTIONS(2051), + [anon_sym_union] = ACTIONS(2051), + [anon_sym_if] = ACTIONS(2051), + [anon_sym_else] = ACTIONS(2051), + [anon_sym_switch] = ACTIONS(2051), + [anon_sym_while] = ACTIONS(2051), + [anon_sym_do] = ACTIONS(2051), + [anon_sym_for] = ACTIONS(2051), + [anon_sym_return] = ACTIONS(2051), + [anon_sym_break] = ACTIONS(2051), + [anon_sym_continue] = ACTIONS(2051), + [anon_sym_goto] = ACTIONS(2051), + [anon_sym_DASH_DASH] = ACTIONS(2053), + [anon_sym_PLUS_PLUS] = ACTIONS(2053), + [anon_sym_sizeof] = ACTIONS(2051), + [sym_number_literal] = ACTIONS(2053), + [anon_sym_L_SQUOTE] = ACTIONS(2053), + [anon_sym_u_SQUOTE] = ACTIONS(2053), + [anon_sym_U_SQUOTE] = ACTIONS(2053), + [anon_sym_u8_SQUOTE] = ACTIONS(2053), + [anon_sym_SQUOTE] = ACTIONS(2053), + [anon_sym_L_DQUOTE] = ACTIONS(2053), + [anon_sym_u_DQUOTE] = ACTIONS(2053), + [anon_sym_U_DQUOTE] = ACTIONS(2053), + [anon_sym_u8_DQUOTE] = ACTIONS(2053), + [anon_sym_DQUOTE] = ACTIONS(2053), + [sym_true] = ACTIONS(2051), + [sym_false] = ACTIONS(2051), + [sym_null] = ACTIONS(2051), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2051), + [anon_sym_decltype] = ACTIONS(2051), + [anon_sym_virtual] = ACTIONS(2051), + [anon_sym_typename] = ACTIONS(2051), + [anon_sym_template] = ACTIONS(2051), + [anon_sym_delete] = ACTIONS(2051), + [anon_sym_throw] = ACTIONS(2051), + [anon_sym_co_return] = ACTIONS(2051), + [anon_sym_co_yield] = ACTIONS(2051), + [anon_sym_try] = ACTIONS(2051), + [anon_sym_co_await] = ACTIONS(2051), + [anon_sym_new] = ACTIONS(2051), + [anon_sym_requires] = ACTIONS(2051), + [sym_this] = ACTIONS(2051), + [sym_nullptr] = ACTIONS(2051), + [sym_raw_string_literal] = ACTIONS(2053), + }, + [975] = { + [sym_identifier] = ACTIONS(2013), + [anon_sym_LPAREN2] = ACTIONS(2015), + [anon_sym_BANG] = ACTIONS(2015), + [anon_sym_TILDE] = ACTIONS(2015), + [anon_sym_DASH] = ACTIONS(2013), + [anon_sym_PLUS] = ACTIONS(2013), + [anon_sym_STAR] = ACTIONS(2015), + [anon_sym_AMP] = ACTIONS(2015), + [anon_sym_SEMI] = ACTIONS(2015), + [anon_sym_typedef] = ACTIONS(2013), + [anon_sym_extern] = ACTIONS(2013), + [anon_sym___attribute__] = ACTIONS(2013), + [anon_sym_COLON_COLON] = ACTIONS(2015), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2015), + [anon_sym___declspec] = ACTIONS(2013), + [anon_sym_LBRACE] = ACTIONS(2015), + [anon_sym_LBRACK] = ACTIONS(2013), + [anon_sym_static] = ACTIONS(2013), + [anon_sym_register] = ACTIONS(2013), + [anon_sym_inline] = ACTIONS(2013), + [anon_sym_thread_local] = ACTIONS(2013), + [anon_sym_const] = ACTIONS(2013), + [anon_sym_volatile] = ACTIONS(2013), + [anon_sym_restrict] = ACTIONS(2013), + [anon_sym__Atomic] = ACTIONS(2013), + [anon_sym_mutable] = ACTIONS(2013), + [anon_sym_constexpr] = ACTIONS(2013), + [anon_sym_constinit] = ACTIONS(2013), + [anon_sym_consteval] = ACTIONS(2013), + [anon_sym_signed] = ACTIONS(2013), + [anon_sym_unsigned] = ACTIONS(2013), + [anon_sym_long] = ACTIONS(2013), + [anon_sym_short] = ACTIONS(2013), + [sym_primitive_type] = ACTIONS(2013), + [anon_sym_enum] = ACTIONS(2013), + [anon_sym_class] = ACTIONS(2013), + [anon_sym_struct] = ACTIONS(2013), + [anon_sym_union] = ACTIONS(2013), + [anon_sym_if] = ACTIONS(2013), + [anon_sym_else] = ACTIONS(2013), + [anon_sym_switch] = ACTIONS(2013), + [anon_sym_while] = ACTIONS(2013), + [anon_sym_do] = ACTIONS(2013), + [anon_sym_for] = ACTIONS(2013), + [anon_sym_return] = ACTIONS(2013), + [anon_sym_break] = ACTIONS(2013), + [anon_sym_continue] = ACTIONS(2013), + [anon_sym_goto] = ACTIONS(2013), + [anon_sym_DASH_DASH] = ACTIONS(2015), + [anon_sym_PLUS_PLUS] = ACTIONS(2015), + [anon_sym_sizeof] = ACTIONS(2013), + [sym_number_literal] = ACTIONS(2015), + [anon_sym_L_SQUOTE] = ACTIONS(2015), + [anon_sym_u_SQUOTE] = ACTIONS(2015), + [anon_sym_U_SQUOTE] = ACTIONS(2015), + [anon_sym_u8_SQUOTE] = ACTIONS(2015), + [anon_sym_SQUOTE] = ACTIONS(2015), + [anon_sym_L_DQUOTE] = ACTIONS(2015), + [anon_sym_u_DQUOTE] = ACTIONS(2015), + [anon_sym_U_DQUOTE] = ACTIONS(2015), + [anon_sym_u8_DQUOTE] = ACTIONS(2015), + [anon_sym_DQUOTE] = ACTIONS(2015), + [sym_true] = ACTIONS(2013), + [sym_false] = ACTIONS(2013), + [sym_null] = ACTIONS(2013), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2013), + [anon_sym_decltype] = ACTIONS(2013), + [anon_sym_virtual] = ACTIONS(2013), + [anon_sym_typename] = ACTIONS(2013), + [anon_sym_template] = ACTIONS(2013), + [anon_sym_delete] = ACTIONS(2013), + [anon_sym_throw] = ACTIONS(2013), + [anon_sym_co_return] = ACTIONS(2013), + [anon_sym_co_yield] = ACTIONS(2013), + [anon_sym_try] = ACTIONS(2013), + [anon_sym_co_await] = ACTIONS(2013), + [anon_sym_new] = ACTIONS(2013), + [anon_sym_requires] = ACTIONS(2013), + [sym_this] = ACTIONS(2013), + [sym_nullptr] = ACTIONS(2013), + [sym_raw_string_literal] = ACTIONS(2015), + }, + [976] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [977] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [978] = { + [sym_identifier] = ACTIONS(2009), + [anon_sym_LPAREN2] = ACTIONS(2011), + [anon_sym_BANG] = ACTIONS(2011), + [anon_sym_TILDE] = ACTIONS(2011), + [anon_sym_DASH] = ACTIONS(2009), + [anon_sym_PLUS] = ACTIONS(2009), + [anon_sym_STAR] = ACTIONS(2011), + [anon_sym_AMP] = ACTIONS(2011), + [anon_sym_SEMI] = ACTIONS(2011), + [anon_sym_typedef] = ACTIONS(2009), + [anon_sym_extern] = ACTIONS(2009), + [anon_sym___attribute__] = ACTIONS(2009), + [anon_sym_COLON_COLON] = ACTIONS(2011), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2011), + [anon_sym___declspec] = ACTIONS(2009), + [anon_sym_LBRACE] = ACTIONS(2011), + [anon_sym_LBRACK] = ACTIONS(2009), + [anon_sym_static] = ACTIONS(2009), + [anon_sym_register] = ACTIONS(2009), + [anon_sym_inline] = ACTIONS(2009), + [anon_sym_thread_local] = ACTIONS(2009), + [anon_sym_const] = ACTIONS(2009), + [anon_sym_volatile] = ACTIONS(2009), + [anon_sym_restrict] = ACTIONS(2009), + [anon_sym__Atomic] = ACTIONS(2009), + [anon_sym_mutable] = ACTIONS(2009), + [anon_sym_constexpr] = ACTIONS(2009), + [anon_sym_constinit] = ACTIONS(2009), + [anon_sym_consteval] = ACTIONS(2009), + [anon_sym_signed] = ACTIONS(2009), + [anon_sym_unsigned] = ACTIONS(2009), + [anon_sym_long] = ACTIONS(2009), + [anon_sym_short] = ACTIONS(2009), + [sym_primitive_type] = ACTIONS(2009), + [anon_sym_enum] = ACTIONS(2009), + [anon_sym_class] = ACTIONS(2009), + [anon_sym_struct] = ACTIONS(2009), + [anon_sym_union] = ACTIONS(2009), + [anon_sym_if] = ACTIONS(2009), + [anon_sym_else] = ACTIONS(2009), + [anon_sym_switch] = ACTIONS(2009), + [anon_sym_while] = ACTIONS(2009), + [anon_sym_do] = ACTIONS(2009), + [anon_sym_for] = ACTIONS(2009), + [anon_sym_return] = ACTIONS(2009), + [anon_sym_break] = ACTIONS(2009), + [anon_sym_continue] = ACTIONS(2009), + [anon_sym_goto] = ACTIONS(2009), + [anon_sym_DASH_DASH] = ACTIONS(2011), + [anon_sym_PLUS_PLUS] = ACTIONS(2011), + [anon_sym_sizeof] = ACTIONS(2009), + [sym_number_literal] = ACTIONS(2011), + [anon_sym_L_SQUOTE] = ACTIONS(2011), + [anon_sym_u_SQUOTE] = ACTIONS(2011), + [anon_sym_U_SQUOTE] = ACTIONS(2011), + [anon_sym_u8_SQUOTE] = ACTIONS(2011), + [anon_sym_SQUOTE] = ACTIONS(2011), + [anon_sym_L_DQUOTE] = ACTIONS(2011), + [anon_sym_u_DQUOTE] = ACTIONS(2011), + [anon_sym_U_DQUOTE] = ACTIONS(2011), + [anon_sym_u8_DQUOTE] = ACTIONS(2011), + [anon_sym_DQUOTE] = ACTIONS(2011), + [sym_true] = ACTIONS(2009), + [sym_false] = ACTIONS(2009), + [sym_null] = ACTIONS(2009), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2009), + [anon_sym_decltype] = ACTIONS(2009), + [anon_sym_virtual] = ACTIONS(2009), + [anon_sym_typename] = ACTIONS(2009), + [anon_sym_template] = ACTIONS(2009), + [anon_sym_delete] = ACTIONS(2009), + [anon_sym_throw] = ACTIONS(2009), + [anon_sym_co_return] = ACTIONS(2009), + [anon_sym_co_yield] = ACTIONS(2009), + [anon_sym_try] = ACTIONS(2009), + [anon_sym_co_await] = ACTIONS(2009), + [anon_sym_new] = ACTIONS(2009), + [anon_sym_requires] = ACTIONS(2009), + [sym_this] = ACTIONS(2009), + [sym_nullptr] = ACTIONS(2009), + [sym_raw_string_literal] = ACTIONS(2011), + }, + [979] = { + [sym_type_qualifier] = STATE(944), + [sym__expression] = STATE(3652), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(944), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2714), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2716), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [980] = { + [sym_type_qualifier] = STATE(1985), + [sym__expression] = STATE(3512), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(1985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2718), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2720), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [981] = { + [sym_type_qualifier] = STATE(918), + [sym__expression] = STATE(3550), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(918), + [sym_identifier] = ACTIONS(2722), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2684), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2686), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [982] = { + [sym_identifier] = ACTIONS(2079), + [anon_sym_LPAREN2] = ACTIONS(2081), + [anon_sym_BANG] = ACTIONS(2081), + [anon_sym_TILDE] = ACTIONS(2081), + [anon_sym_DASH] = ACTIONS(2079), + [anon_sym_PLUS] = ACTIONS(2079), + [anon_sym_STAR] = ACTIONS(2081), + [anon_sym_AMP] = ACTIONS(2081), + [anon_sym_SEMI] = ACTIONS(2081), + [anon_sym_typedef] = ACTIONS(2079), + [anon_sym_extern] = ACTIONS(2079), + [anon_sym___attribute__] = ACTIONS(2079), + [anon_sym_COLON_COLON] = ACTIONS(2081), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2081), + [anon_sym___declspec] = ACTIONS(2079), + [anon_sym_LBRACE] = ACTIONS(2081), + [anon_sym_LBRACK] = ACTIONS(2079), + [anon_sym_static] = ACTIONS(2079), + [anon_sym_register] = ACTIONS(2079), + [anon_sym_inline] = ACTIONS(2079), + [anon_sym_thread_local] = ACTIONS(2079), + [anon_sym_const] = ACTIONS(2079), + [anon_sym_volatile] = ACTIONS(2079), + [anon_sym_restrict] = ACTIONS(2079), + [anon_sym__Atomic] = ACTIONS(2079), + [anon_sym_mutable] = ACTIONS(2079), + [anon_sym_constexpr] = ACTIONS(2079), + [anon_sym_constinit] = ACTIONS(2079), + [anon_sym_consteval] = ACTIONS(2079), + [anon_sym_signed] = ACTIONS(2079), + [anon_sym_unsigned] = ACTIONS(2079), + [anon_sym_long] = ACTIONS(2079), + [anon_sym_short] = ACTIONS(2079), + [sym_primitive_type] = ACTIONS(2079), + [anon_sym_enum] = ACTIONS(2079), + [anon_sym_class] = ACTIONS(2079), + [anon_sym_struct] = ACTIONS(2079), + [anon_sym_union] = ACTIONS(2079), + [anon_sym_if] = ACTIONS(2079), + [anon_sym_else] = ACTIONS(2079), + [anon_sym_switch] = ACTIONS(2079), + [anon_sym_while] = ACTIONS(2079), + [anon_sym_do] = ACTIONS(2079), + [anon_sym_for] = ACTIONS(2079), + [anon_sym_return] = ACTIONS(2079), + [anon_sym_break] = ACTIONS(2079), + [anon_sym_continue] = ACTIONS(2079), + [anon_sym_goto] = ACTIONS(2079), + [anon_sym_DASH_DASH] = ACTIONS(2081), + [anon_sym_PLUS_PLUS] = ACTIONS(2081), + [anon_sym_sizeof] = ACTIONS(2079), + [sym_number_literal] = ACTIONS(2081), + [anon_sym_L_SQUOTE] = ACTIONS(2081), + [anon_sym_u_SQUOTE] = ACTIONS(2081), + [anon_sym_U_SQUOTE] = ACTIONS(2081), + [anon_sym_u8_SQUOTE] = ACTIONS(2081), + [anon_sym_SQUOTE] = ACTIONS(2081), + [anon_sym_L_DQUOTE] = ACTIONS(2081), + [anon_sym_u_DQUOTE] = ACTIONS(2081), + [anon_sym_U_DQUOTE] = ACTIONS(2081), + [anon_sym_u8_DQUOTE] = ACTIONS(2081), + [anon_sym_DQUOTE] = ACTIONS(2081), + [sym_true] = ACTIONS(2079), + [sym_false] = ACTIONS(2079), + [sym_null] = ACTIONS(2079), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2079), + [anon_sym_decltype] = ACTIONS(2079), + [anon_sym_virtual] = ACTIONS(2079), + [anon_sym_typename] = ACTIONS(2079), + [anon_sym_template] = ACTIONS(2079), + [anon_sym_delete] = ACTIONS(2079), + [anon_sym_throw] = ACTIONS(2079), + [anon_sym_co_return] = ACTIONS(2079), + [anon_sym_co_yield] = ACTIONS(2079), + [anon_sym_try] = ACTIONS(2079), + [anon_sym_co_await] = ACTIONS(2079), + [anon_sym_new] = ACTIONS(2079), + [anon_sym_requires] = ACTIONS(2079), + [sym_this] = ACTIONS(2079), + [sym_nullptr] = ACTIONS(2079), + [sym_raw_string_literal] = ACTIONS(2081), + }, + [983] = { + [sym_identifier] = ACTIONS(2047), + [anon_sym_LPAREN2] = ACTIONS(2049), + [anon_sym_BANG] = ACTIONS(2049), + [anon_sym_TILDE] = ACTIONS(2049), + [anon_sym_DASH] = ACTIONS(2047), + [anon_sym_PLUS] = ACTIONS(2047), + [anon_sym_STAR] = ACTIONS(2049), + [anon_sym_AMP] = ACTIONS(2049), + [anon_sym_SEMI] = ACTIONS(2049), + [anon_sym_typedef] = ACTIONS(2047), + [anon_sym_extern] = ACTIONS(2047), + [anon_sym___attribute__] = ACTIONS(2047), + [anon_sym_COLON_COLON] = ACTIONS(2049), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2049), + [anon_sym___declspec] = ACTIONS(2047), + [anon_sym_LBRACE] = ACTIONS(2049), + [anon_sym_LBRACK] = ACTIONS(2047), + [anon_sym_static] = ACTIONS(2047), + [anon_sym_register] = ACTIONS(2047), + [anon_sym_inline] = ACTIONS(2047), + [anon_sym_thread_local] = ACTIONS(2047), + [anon_sym_const] = ACTIONS(2047), + [anon_sym_volatile] = ACTIONS(2047), + [anon_sym_restrict] = ACTIONS(2047), + [anon_sym__Atomic] = ACTIONS(2047), + [anon_sym_mutable] = ACTIONS(2047), + [anon_sym_constexpr] = ACTIONS(2047), + [anon_sym_constinit] = ACTIONS(2047), + [anon_sym_consteval] = ACTIONS(2047), + [anon_sym_signed] = ACTIONS(2047), + [anon_sym_unsigned] = ACTIONS(2047), + [anon_sym_long] = ACTIONS(2047), + [anon_sym_short] = ACTIONS(2047), + [sym_primitive_type] = ACTIONS(2047), + [anon_sym_enum] = ACTIONS(2047), + [anon_sym_class] = ACTIONS(2047), + [anon_sym_struct] = ACTIONS(2047), + [anon_sym_union] = ACTIONS(2047), + [anon_sym_if] = ACTIONS(2047), + [anon_sym_else] = ACTIONS(2047), + [anon_sym_switch] = ACTIONS(2047), + [anon_sym_while] = ACTIONS(2047), + [anon_sym_do] = ACTIONS(2047), + [anon_sym_for] = ACTIONS(2047), + [anon_sym_return] = ACTIONS(2047), + [anon_sym_break] = ACTIONS(2047), + [anon_sym_continue] = ACTIONS(2047), + [anon_sym_goto] = ACTIONS(2047), + [anon_sym_DASH_DASH] = ACTIONS(2049), + [anon_sym_PLUS_PLUS] = ACTIONS(2049), + [anon_sym_sizeof] = ACTIONS(2047), + [sym_number_literal] = ACTIONS(2049), + [anon_sym_L_SQUOTE] = ACTIONS(2049), + [anon_sym_u_SQUOTE] = ACTIONS(2049), + [anon_sym_U_SQUOTE] = ACTIONS(2049), + [anon_sym_u8_SQUOTE] = ACTIONS(2049), + [anon_sym_SQUOTE] = ACTIONS(2049), + [anon_sym_L_DQUOTE] = ACTIONS(2049), + [anon_sym_u_DQUOTE] = ACTIONS(2049), + [anon_sym_U_DQUOTE] = ACTIONS(2049), + [anon_sym_u8_DQUOTE] = ACTIONS(2049), + [anon_sym_DQUOTE] = ACTIONS(2049), + [sym_true] = ACTIONS(2047), + [sym_false] = ACTIONS(2047), + [sym_null] = ACTIONS(2047), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2047), + [anon_sym_decltype] = ACTIONS(2047), + [anon_sym_virtual] = ACTIONS(2047), + [anon_sym_typename] = ACTIONS(2047), + [anon_sym_template] = ACTIONS(2047), + [anon_sym_delete] = ACTIONS(2047), + [anon_sym_throw] = ACTIONS(2047), + [anon_sym_co_return] = ACTIONS(2047), + [anon_sym_co_yield] = ACTIONS(2047), + [anon_sym_try] = ACTIONS(2047), + [anon_sym_co_await] = ACTIONS(2047), + [anon_sym_new] = ACTIONS(2047), + [anon_sym_requires] = ACTIONS(2047), + [sym_this] = ACTIONS(2047), + [sym_nullptr] = ACTIONS(2047), + [sym_raw_string_literal] = ACTIONS(2049), + }, + [984] = { + [sym_identifier] = ACTIONS(2091), + [anon_sym_LPAREN2] = ACTIONS(2093), + [anon_sym_BANG] = ACTIONS(2093), + [anon_sym_TILDE] = ACTIONS(2093), + [anon_sym_DASH] = ACTIONS(2091), + [anon_sym_PLUS] = ACTIONS(2091), + [anon_sym_STAR] = ACTIONS(2093), + [anon_sym_AMP] = ACTIONS(2093), + [anon_sym_SEMI] = ACTIONS(2093), + [anon_sym_typedef] = ACTIONS(2091), + [anon_sym_extern] = ACTIONS(2091), + [anon_sym___attribute__] = ACTIONS(2091), + [anon_sym_COLON_COLON] = ACTIONS(2093), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2093), + [anon_sym___declspec] = ACTIONS(2091), + [anon_sym_LBRACE] = ACTIONS(2093), + [anon_sym_LBRACK] = ACTIONS(2091), + [anon_sym_static] = ACTIONS(2091), + [anon_sym_register] = ACTIONS(2091), + [anon_sym_inline] = ACTIONS(2091), + [anon_sym_thread_local] = ACTIONS(2091), + [anon_sym_const] = ACTIONS(2091), + [anon_sym_volatile] = ACTIONS(2091), + [anon_sym_restrict] = ACTIONS(2091), + [anon_sym__Atomic] = ACTIONS(2091), + [anon_sym_mutable] = ACTIONS(2091), + [anon_sym_constexpr] = ACTIONS(2091), + [anon_sym_constinit] = ACTIONS(2091), + [anon_sym_consteval] = ACTIONS(2091), + [anon_sym_signed] = ACTIONS(2091), + [anon_sym_unsigned] = ACTIONS(2091), + [anon_sym_long] = ACTIONS(2091), + [anon_sym_short] = ACTIONS(2091), + [sym_primitive_type] = ACTIONS(2091), + [anon_sym_enum] = ACTIONS(2091), + [anon_sym_class] = ACTIONS(2091), + [anon_sym_struct] = ACTIONS(2091), + [anon_sym_union] = ACTIONS(2091), + [anon_sym_if] = ACTIONS(2091), + [anon_sym_else] = ACTIONS(2091), + [anon_sym_switch] = ACTIONS(2091), + [anon_sym_while] = ACTIONS(2091), + [anon_sym_do] = ACTIONS(2091), + [anon_sym_for] = ACTIONS(2091), + [anon_sym_return] = ACTIONS(2091), + [anon_sym_break] = ACTIONS(2091), + [anon_sym_continue] = ACTIONS(2091), + [anon_sym_goto] = ACTIONS(2091), + [anon_sym_DASH_DASH] = ACTIONS(2093), + [anon_sym_PLUS_PLUS] = ACTIONS(2093), + [anon_sym_sizeof] = ACTIONS(2091), + [sym_number_literal] = ACTIONS(2093), + [anon_sym_L_SQUOTE] = ACTIONS(2093), + [anon_sym_u_SQUOTE] = ACTIONS(2093), + [anon_sym_U_SQUOTE] = ACTIONS(2093), + [anon_sym_u8_SQUOTE] = ACTIONS(2093), + [anon_sym_SQUOTE] = ACTIONS(2093), + [anon_sym_L_DQUOTE] = ACTIONS(2093), + [anon_sym_u_DQUOTE] = ACTIONS(2093), + [anon_sym_U_DQUOTE] = ACTIONS(2093), + [anon_sym_u8_DQUOTE] = ACTIONS(2093), + [anon_sym_DQUOTE] = ACTIONS(2093), + [sym_true] = ACTIONS(2091), + [sym_false] = ACTIONS(2091), + [sym_null] = ACTIONS(2091), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2091), + [anon_sym_decltype] = ACTIONS(2091), + [anon_sym_virtual] = ACTIONS(2091), + [anon_sym_typename] = ACTIONS(2091), + [anon_sym_template] = ACTIONS(2091), + [anon_sym_delete] = ACTIONS(2091), + [anon_sym_throw] = ACTIONS(2091), + [anon_sym_co_return] = ACTIONS(2091), + [anon_sym_co_yield] = ACTIONS(2091), + [anon_sym_try] = ACTIONS(2091), + [anon_sym_co_await] = ACTIONS(2091), + [anon_sym_new] = ACTIONS(2091), + [anon_sym_requires] = ACTIONS(2091), + [sym_this] = ACTIONS(2091), + [sym_nullptr] = ACTIONS(2091), + [sym_raw_string_literal] = ACTIONS(2093), + }, + [985] = { + [sym_type_qualifier] = STATE(1985), + [sym__expression] = STATE(3486), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(1985), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2724), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2726), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [986] = { + [sym_identifier] = ACTIONS(1949), + [anon_sym_LPAREN2] = ACTIONS(1951), + [anon_sym_BANG] = ACTIONS(1951), + [anon_sym_TILDE] = ACTIONS(1951), + [anon_sym_DASH] = ACTIONS(1949), + [anon_sym_PLUS] = ACTIONS(1949), + [anon_sym_STAR] = ACTIONS(1951), + [anon_sym_AMP] = ACTIONS(1951), + [anon_sym_SEMI] = ACTIONS(1951), + [anon_sym_typedef] = ACTIONS(1949), + [anon_sym_extern] = ACTIONS(1949), + [anon_sym___attribute__] = ACTIONS(1949), + [anon_sym_COLON_COLON] = ACTIONS(1951), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1951), + [anon_sym___declspec] = ACTIONS(1949), + [anon_sym_LBRACE] = ACTIONS(1951), + [anon_sym_LBRACK] = ACTIONS(1949), + [anon_sym_static] = ACTIONS(1949), + [anon_sym_register] = ACTIONS(1949), + [anon_sym_inline] = ACTIONS(1949), + [anon_sym_thread_local] = ACTIONS(1949), + [anon_sym_const] = ACTIONS(1949), + [anon_sym_volatile] = ACTIONS(1949), + [anon_sym_restrict] = ACTIONS(1949), + [anon_sym__Atomic] = ACTIONS(1949), + [anon_sym_mutable] = ACTIONS(1949), + [anon_sym_constexpr] = ACTIONS(1949), + [anon_sym_constinit] = ACTIONS(1949), + [anon_sym_consteval] = ACTIONS(1949), + [anon_sym_signed] = ACTIONS(1949), + [anon_sym_unsigned] = ACTIONS(1949), + [anon_sym_long] = ACTIONS(1949), + [anon_sym_short] = ACTIONS(1949), + [sym_primitive_type] = ACTIONS(1949), + [anon_sym_enum] = ACTIONS(1949), + [anon_sym_class] = ACTIONS(1949), + [anon_sym_struct] = ACTIONS(1949), + [anon_sym_union] = ACTIONS(1949), + [anon_sym_if] = ACTIONS(1949), + [anon_sym_else] = ACTIONS(1949), + [anon_sym_switch] = ACTIONS(1949), + [anon_sym_while] = ACTIONS(1949), + [anon_sym_do] = ACTIONS(1949), + [anon_sym_for] = ACTIONS(1949), + [anon_sym_return] = ACTIONS(1949), + [anon_sym_break] = ACTIONS(1949), + [anon_sym_continue] = ACTIONS(1949), + [anon_sym_goto] = ACTIONS(1949), + [anon_sym_DASH_DASH] = ACTIONS(1951), + [anon_sym_PLUS_PLUS] = ACTIONS(1951), + [anon_sym_sizeof] = ACTIONS(1949), + [sym_number_literal] = ACTIONS(1951), + [anon_sym_L_SQUOTE] = ACTIONS(1951), + [anon_sym_u_SQUOTE] = ACTIONS(1951), + [anon_sym_U_SQUOTE] = ACTIONS(1951), + [anon_sym_u8_SQUOTE] = ACTIONS(1951), + [anon_sym_SQUOTE] = ACTIONS(1951), + [anon_sym_L_DQUOTE] = ACTIONS(1951), + [anon_sym_u_DQUOTE] = ACTIONS(1951), + [anon_sym_U_DQUOTE] = ACTIONS(1951), + [anon_sym_u8_DQUOTE] = ACTIONS(1951), + [anon_sym_DQUOTE] = ACTIONS(1951), + [sym_true] = ACTIONS(1949), + [sym_false] = ACTIONS(1949), + [sym_null] = ACTIONS(1949), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1949), + [anon_sym_decltype] = ACTIONS(1949), + [anon_sym_virtual] = ACTIONS(1949), + [anon_sym_typename] = ACTIONS(1949), + [anon_sym_template] = ACTIONS(1949), + [anon_sym_delete] = ACTIONS(1949), + [anon_sym_throw] = ACTIONS(1949), + [anon_sym_co_return] = ACTIONS(1949), + [anon_sym_co_yield] = ACTIONS(1949), + [anon_sym_try] = ACTIONS(1949), + [anon_sym_co_await] = ACTIONS(1949), + [anon_sym_new] = ACTIONS(1949), + [anon_sym_requires] = ACTIONS(1949), + [sym_this] = ACTIONS(1949), + [sym_nullptr] = ACTIONS(1949), + [sym_raw_string_literal] = ACTIONS(1951), + }, + [987] = { + [sym_identifier] = ACTIONS(2095), + [anon_sym_LPAREN2] = ACTIONS(2097), + [anon_sym_BANG] = ACTIONS(2097), + [anon_sym_TILDE] = ACTIONS(2097), + [anon_sym_DASH] = ACTIONS(2095), + [anon_sym_PLUS] = ACTIONS(2095), + [anon_sym_STAR] = ACTIONS(2097), + [anon_sym_AMP] = ACTIONS(2097), + [anon_sym_SEMI] = ACTIONS(2097), + [anon_sym_typedef] = ACTIONS(2095), + [anon_sym_extern] = ACTIONS(2095), + [anon_sym___attribute__] = ACTIONS(2095), + [anon_sym_COLON_COLON] = ACTIONS(2097), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2097), + [anon_sym___declspec] = ACTIONS(2095), + [anon_sym_LBRACE] = ACTIONS(2097), + [anon_sym_LBRACK] = ACTIONS(2095), + [anon_sym_static] = ACTIONS(2095), + [anon_sym_register] = ACTIONS(2095), + [anon_sym_inline] = ACTIONS(2095), + [anon_sym_thread_local] = ACTIONS(2095), + [anon_sym_const] = ACTIONS(2095), + [anon_sym_volatile] = ACTIONS(2095), + [anon_sym_restrict] = ACTIONS(2095), + [anon_sym__Atomic] = ACTIONS(2095), + [anon_sym_mutable] = ACTIONS(2095), + [anon_sym_constexpr] = ACTIONS(2095), + [anon_sym_constinit] = ACTIONS(2095), + [anon_sym_consteval] = ACTIONS(2095), + [anon_sym_signed] = ACTIONS(2095), + [anon_sym_unsigned] = ACTIONS(2095), + [anon_sym_long] = ACTIONS(2095), + [anon_sym_short] = ACTIONS(2095), + [sym_primitive_type] = ACTIONS(2095), + [anon_sym_enum] = ACTIONS(2095), + [anon_sym_class] = ACTIONS(2095), + [anon_sym_struct] = ACTIONS(2095), + [anon_sym_union] = ACTIONS(2095), + [anon_sym_if] = ACTIONS(2095), + [anon_sym_else] = ACTIONS(2095), + [anon_sym_switch] = ACTIONS(2095), + [anon_sym_while] = ACTIONS(2095), + [anon_sym_do] = ACTIONS(2095), + [anon_sym_for] = ACTIONS(2095), + [anon_sym_return] = ACTIONS(2095), + [anon_sym_break] = ACTIONS(2095), + [anon_sym_continue] = ACTIONS(2095), + [anon_sym_goto] = ACTIONS(2095), + [anon_sym_DASH_DASH] = ACTIONS(2097), + [anon_sym_PLUS_PLUS] = ACTIONS(2097), + [anon_sym_sizeof] = ACTIONS(2095), + [sym_number_literal] = ACTIONS(2097), + [anon_sym_L_SQUOTE] = ACTIONS(2097), + [anon_sym_u_SQUOTE] = ACTIONS(2097), + [anon_sym_U_SQUOTE] = ACTIONS(2097), + [anon_sym_u8_SQUOTE] = ACTIONS(2097), + [anon_sym_SQUOTE] = ACTIONS(2097), + [anon_sym_L_DQUOTE] = ACTIONS(2097), + [anon_sym_u_DQUOTE] = ACTIONS(2097), + [anon_sym_U_DQUOTE] = ACTIONS(2097), + [anon_sym_u8_DQUOTE] = ACTIONS(2097), + [anon_sym_DQUOTE] = ACTIONS(2097), + [sym_true] = ACTIONS(2095), + [sym_false] = ACTIONS(2095), + [sym_null] = ACTIONS(2095), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2095), + [anon_sym_decltype] = ACTIONS(2095), + [anon_sym_virtual] = ACTIONS(2095), + [anon_sym_typename] = ACTIONS(2095), + [anon_sym_template] = ACTIONS(2095), + [anon_sym_delete] = ACTIONS(2095), + [anon_sym_throw] = ACTIONS(2095), + [anon_sym_co_return] = ACTIONS(2095), + [anon_sym_co_yield] = ACTIONS(2095), + [anon_sym_try] = ACTIONS(2095), + [anon_sym_co_await] = ACTIONS(2095), + [anon_sym_new] = ACTIONS(2095), + [anon_sym_requires] = ACTIONS(2095), + [sym_this] = ACTIONS(2095), + [sym_nullptr] = ACTIONS(2095), + [sym_raw_string_literal] = ACTIONS(2097), + }, + [988] = { + [sym_identifier] = ACTIONS(2055), + [anon_sym_LPAREN2] = ACTIONS(2057), + [anon_sym_BANG] = ACTIONS(2057), + [anon_sym_TILDE] = ACTIONS(2057), + [anon_sym_DASH] = ACTIONS(2055), + [anon_sym_PLUS] = ACTIONS(2055), + [anon_sym_STAR] = ACTIONS(2057), + [anon_sym_AMP] = ACTIONS(2057), + [anon_sym_SEMI] = ACTIONS(2057), + [anon_sym_typedef] = ACTIONS(2055), + [anon_sym_extern] = ACTIONS(2055), + [anon_sym___attribute__] = ACTIONS(2055), + [anon_sym_COLON_COLON] = ACTIONS(2057), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2057), + [anon_sym___declspec] = ACTIONS(2055), + [anon_sym_LBRACE] = ACTIONS(2057), + [anon_sym_LBRACK] = ACTIONS(2055), + [anon_sym_static] = ACTIONS(2055), + [anon_sym_register] = ACTIONS(2055), + [anon_sym_inline] = ACTIONS(2055), + [anon_sym_thread_local] = ACTIONS(2055), + [anon_sym_const] = ACTIONS(2055), + [anon_sym_volatile] = ACTIONS(2055), + [anon_sym_restrict] = ACTIONS(2055), + [anon_sym__Atomic] = ACTIONS(2055), + [anon_sym_mutable] = ACTIONS(2055), + [anon_sym_constexpr] = ACTIONS(2055), + [anon_sym_constinit] = ACTIONS(2055), + [anon_sym_consteval] = ACTIONS(2055), + [anon_sym_signed] = ACTIONS(2055), + [anon_sym_unsigned] = ACTIONS(2055), + [anon_sym_long] = ACTIONS(2055), + [anon_sym_short] = ACTIONS(2055), + [sym_primitive_type] = ACTIONS(2055), + [anon_sym_enum] = ACTIONS(2055), + [anon_sym_class] = ACTIONS(2055), + [anon_sym_struct] = ACTIONS(2055), + [anon_sym_union] = ACTIONS(2055), + [anon_sym_if] = ACTIONS(2055), + [anon_sym_else] = ACTIONS(2055), + [anon_sym_switch] = ACTIONS(2055), + [anon_sym_while] = ACTIONS(2055), + [anon_sym_do] = ACTIONS(2055), + [anon_sym_for] = ACTIONS(2055), + [anon_sym_return] = ACTIONS(2055), + [anon_sym_break] = ACTIONS(2055), + [anon_sym_continue] = ACTIONS(2055), + [anon_sym_goto] = ACTIONS(2055), + [anon_sym_DASH_DASH] = ACTIONS(2057), + [anon_sym_PLUS_PLUS] = ACTIONS(2057), + [anon_sym_sizeof] = ACTIONS(2055), + [sym_number_literal] = ACTIONS(2057), + [anon_sym_L_SQUOTE] = ACTIONS(2057), + [anon_sym_u_SQUOTE] = ACTIONS(2057), + [anon_sym_U_SQUOTE] = ACTIONS(2057), + [anon_sym_u8_SQUOTE] = ACTIONS(2057), + [anon_sym_SQUOTE] = ACTIONS(2057), + [anon_sym_L_DQUOTE] = ACTIONS(2057), + [anon_sym_u_DQUOTE] = ACTIONS(2057), + [anon_sym_U_DQUOTE] = ACTIONS(2057), + [anon_sym_u8_DQUOTE] = ACTIONS(2057), + [anon_sym_DQUOTE] = ACTIONS(2057), + [sym_true] = ACTIONS(2055), + [sym_false] = ACTIONS(2055), + [sym_null] = ACTIONS(2055), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2055), + [anon_sym_decltype] = ACTIONS(2055), + [anon_sym_virtual] = ACTIONS(2055), + [anon_sym_typename] = ACTIONS(2055), + [anon_sym_template] = ACTIONS(2055), + [anon_sym_delete] = ACTIONS(2055), + [anon_sym_throw] = ACTIONS(2055), + [anon_sym_co_return] = ACTIONS(2055), + [anon_sym_co_yield] = ACTIONS(2055), + [anon_sym_try] = ACTIONS(2055), + [anon_sym_co_await] = ACTIONS(2055), + [anon_sym_new] = ACTIONS(2055), + [anon_sym_requires] = ACTIONS(2055), + [sym_this] = ACTIONS(2055), + [sym_nullptr] = ACTIONS(2055), + [sym_raw_string_literal] = ACTIONS(2057), + }, + [989] = { + [sym_identifier] = ACTIONS(2111), + [anon_sym_LPAREN2] = ACTIONS(2113), + [anon_sym_BANG] = ACTIONS(2113), + [anon_sym_TILDE] = ACTIONS(2113), + [anon_sym_DASH] = ACTIONS(2111), + [anon_sym_PLUS] = ACTIONS(2111), + [anon_sym_STAR] = ACTIONS(2113), + [anon_sym_AMP] = ACTIONS(2113), + [anon_sym_SEMI] = ACTIONS(2113), + [anon_sym_typedef] = ACTIONS(2111), + [anon_sym_extern] = ACTIONS(2111), + [anon_sym___attribute__] = ACTIONS(2111), + [anon_sym_COLON_COLON] = ACTIONS(2113), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2113), + [anon_sym___declspec] = ACTIONS(2111), + [anon_sym_LBRACE] = ACTIONS(2113), + [anon_sym_LBRACK] = ACTIONS(2111), + [anon_sym_static] = ACTIONS(2111), + [anon_sym_register] = ACTIONS(2111), + [anon_sym_inline] = ACTIONS(2111), + [anon_sym_thread_local] = ACTIONS(2111), + [anon_sym_const] = ACTIONS(2111), + [anon_sym_volatile] = ACTIONS(2111), + [anon_sym_restrict] = ACTIONS(2111), + [anon_sym__Atomic] = ACTIONS(2111), + [anon_sym_mutable] = ACTIONS(2111), + [anon_sym_constexpr] = ACTIONS(2111), + [anon_sym_constinit] = ACTIONS(2111), + [anon_sym_consteval] = ACTIONS(2111), + [anon_sym_signed] = ACTIONS(2111), + [anon_sym_unsigned] = ACTIONS(2111), + [anon_sym_long] = ACTIONS(2111), + [anon_sym_short] = ACTIONS(2111), + [sym_primitive_type] = ACTIONS(2111), + [anon_sym_enum] = ACTIONS(2111), + [anon_sym_class] = ACTIONS(2111), + [anon_sym_struct] = ACTIONS(2111), + [anon_sym_union] = ACTIONS(2111), + [anon_sym_if] = ACTIONS(2111), + [anon_sym_else] = ACTIONS(2111), + [anon_sym_switch] = ACTIONS(2111), + [anon_sym_while] = ACTIONS(2111), + [anon_sym_do] = ACTIONS(2111), + [anon_sym_for] = ACTIONS(2111), + [anon_sym_return] = ACTIONS(2111), + [anon_sym_break] = ACTIONS(2111), + [anon_sym_continue] = ACTIONS(2111), + [anon_sym_goto] = ACTIONS(2111), + [anon_sym_DASH_DASH] = ACTIONS(2113), + [anon_sym_PLUS_PLUS] = ACTIONS(2113), + [anon_sym_sizeof] = ACTIONS(2111), + [sym_number_literal] = ACTIONS(2113), + [anon_sym_L_SQUOTE] = ACTIONS(2113), + [anon_sym_u_SQUOTE] = ACTIONS(2113), + [anon_sym_U_SQUOTE] = ACTIONS(2113), + [anon_sym_u8_SQUOTE] = ACTIONS(2113), + [anon_sym_SQUOTE] = ACTIONS(2113), + [anon_sym_L_DQUOTE] = ACTIONS(2113), + [anon_sym_u_DQUOTE] = ACTIONS(2113), + [anon_sym_U_DQUOTE] = ACTIONS(2113), + [anon_sym_u8_DQUOTE] = ACTIONS(2113), + [anon_sym_DQUOTE] = ACTIONS(2113), + [sym_true] = ACTIONS(2111), + [sym_false] = ACTIONS(2111), + [sym_null] = ACTIONS(2111), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2111), + [anon_sym_decltype] = ACTIONS(2111), + [anon_sym_virtual] = ACTIONS(2111), + [anon_sym_typename] = ACTIONS(2111), + [anon_sym_template] = ACTIONS(2111), + [anon_sym_delete] = ACTIONS(2111), + [anon_sym_throw] = ACTIONS(2111), + [anon_sym_co_return] = ACTIONS(2111), + [anon_sym_co_yield] = ACTIONS(2111), + [anon_sym_try] = ACTIONS(2111), + [anon_sym_co_await] = ACTIONS(2111), + [anon_sym_new] = ACTIONS(2111), + [anon_sym_requires] = ACTIONS(2111), + [sym_this] = ACTIONS(2111), + [sym_nullptr] = ACTIONS(2111), + [sym_raw_string_literal] = ACTIONS(2113), + }, + [990] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [991] = { + [sym_type_qualifier] = STATE(938), + [sym__expression] = STATE(3488), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_type_definition_repeat1] = STATE(938), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2728), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2730), + [anon_sym_const] = ACTIONS(2672), + [anon_sym_volatile] = ACTIONS(2672), + [anon_sym_restrict] = ACTIONS(2672), + [anon_sym__Atomic] = ACTIONS(2672), + [anon_sym_mutable] = ACTIONS(2672), + [anon_sym_constexpr] = ACTIONS(2672), + [anon_sym_constinit] = ACTIONS(2672), + [anon_sym_consteval] = ACTIONS(2672), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [992] = { + [sym_identifier] = ACTIONS(1933), + [anon_sym_LPAREN2] = ACTIONS(1935), + [anon_sym_BANG] = ACTIONS(1935), + [anon_sym_TILDE] = ACTIONS(1935), + [anon_sym_DASH] = ACTIONS(1933), + [anon_sym_PLUS] = ACTIONS(1933), + [anon_sym_STAR] = ACTIONS(1935), + [anon_sym_AMP] = ACTIONS(1935), + [anon_sym_SEMI] = ACTIONS(1935), + [anon_sym_typedef] = ACTIONS(1933), + [anon_sym_extern] = ACTIONS(1933), + [anon_sym___attribute__] = ACTIONS(1933), + [anon_sym_COLON_COLON] = ACTIONS(1935), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1935), + [anon_sym___declspec] = ACTIONS(1933), + [anon_sym_LBRACE] = ACTIONS(1935), + [anon_sym_LBRACK] = ACTIONS(1933), + [anon_sym_static] = ACTIONS(1933), + [anon_sym_register] = ACTIONS(1933), + [anon_sym_inline] = ACTIONS(1933), + [anon_sym_thread_local] = ACTIONS(1933), + [anon_sym_const] = ACTIONS(1933), + [anon_sym_volatile] = ACTIONS(1933), + [anon_sym_restrict] = ACTIONS(1933), + [anon_sym__Atomic] = ACTIONS(1933), + [anon_sym_mutable] = ACTIONS(1933), + [anon_sym_constexpr] = ACTIONS(1933), + [anon_sym_constinit] = ACTIONS(1933), + [anon_sym_consteval] = ACTIONS(1933), + [anon_sym_signed] = ACTIONS(1933), + [anon_sym_unsigned] = ACTIONS(1933), + [anon_sym_long] = ACTIONS(1933), + [anon_sym_short] = ACTIONS(1933), + [sym_primitive_type] = ACTIONS(1933), + [anon_sym_enum] = ACTIONS(1933), + [anon_sym_class] = ACTIONS(1933), + [anon_sym_struct] = ACTIONS(1933), + [anon_sym_union] = ACTIONS(1933), + [anon_sym_if] = ACTIONS(1933), + [anon_sym_else] = ACTIONS(1933), + [anon_sym_switch] = ACTIONS(1933), + [anon_sym_while] = ACTIONS(1933), + [anon_sym_do] = ACTIONS(1933), + [anon_sym_for] = ACTIONS(1933), + [anon_sym_return] = ACTIONS(1933), + [anon_sym_break] = ACTIONS(1933), + [anon_sym_continue] = ACTIONS(1933), + [anon_sym_goto] = ACTIONS(1933), + [anon_sym_DASH_DASH] = ACTIONS(1935), + [anon_sym_PLUS_PLUS] = ACTIONS(1935), + [anon_sym_sizeof] = ACTIONS(1933), + [sym_number_literal] = ACTIONS(1935), + [anon_sym_L_SQUOTE] = ACTIONS(1935), + [anon_sym_u_SQUOTE] = ACTIONS(1935), + [anon_sym_U_SQUOTE] = ACTIONS(1935), + [anon_sym_u8_SQUOTE] = ACTIONS(1935), + [anon_sym_SQUOTE] = ACTIONS(1935), + [anon_sym_L_DQUOTE] = ACTIONS(1935), + [anon_sym_u_DQUOTE] = ACTIONS(1935), + [anon_sym_U_DQUOTE] = ACTIONS(1935), + [anon_sym_u8_DQUOTE] = ACTIONS(1935), + [anon_sym_DQUOTE] = ACTIONS(1935), + [sym_true] = ACTIONS(1933), + [sym_false] = ACTIONS(1933), + [sym_null] = ACTIONS(1933), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(1933), + [anon_sym_decltype] = ACTIONS(1933), + [anon_sym_virtual] = ACTIONS(1933), + [anon_sym_typename] = ACTIONS(1933), + [anon_sym_template] = ACTIONS(1933), + [anon_sym_delete] = ACTIONS(1933), + [anon_sym_throw] = ACTIONS(1933), + [anon_sym_co_return] = ACTIONS(1933), + [anon_sym_co_yield] = ACTIONS(1933), + [anon_sym_try] = ACTIONS(1933), + [anon_sym_co_await] = ACTIONS(1933), + [anon_sym_new] = ACTIONS(1933), + [anon_sym_requires] = ACTIONS(1933), + [sym_this] = ACTIONS(1933), + [sym_nullptr] = ACTIONS(1933), + [sym_raw_string_literal] = ACTIONS(1935), + }, + [993] = { + [sym_identifier] = ACTIONS(2103), + [anon_sym_LPAREN2] = ACTIONS(2105), + [anon_sym_BANG] = ACTIONS(2105), + [anon_sym_TILDE] = ACTIONS(2105), + [anon_sym_DASH] = ACTIONS(2103), + [anon_sym_PLUS] = ACTIONS(2103), + [anon_sym_STAR] = ACTIONS(2105), + [anon_sym_AMP] = ACTIONS(2105), + [anon_sym_SEMI] = ACTIONS(2105), + [anon_sym_typedef] = ACTIONS(2103), + [anon_sym_extern] = ACTIONS(2103), + [anon_sym___attribute__] = ACTIONS(2103), + [anon_sym_COLON_COLON] = ACTIONS(2105), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2105), + [anon_sym___declspec] = ACTIONS(2103), + [anon_sym_LBRACE] = ACTIONS(2105), + [anon_sym_LBRACK] = ACTIONS(2103), + [anon_sym_static] = ACTIONS(2103), + [anon_sym_register] = ACTIONS(2103), + [anon_sym_inline] = ACTIONS(2103), + [anon_sym_thread_local] = ACTIONS(2103), + [anon_sym_const] = ACTIONS(2103), + [anon_sym_volatile] = ACTIONS(2103), + [anon_sym_restrict] = ACTIONS(2103), + [anon_sym__Atomic] = ACTIONS(2103), + [anon_sym_mutable] = ACTIONS(2103), + [anon_sym_constexpr] = ACTIONS(2103), + [anon_sym_constinit] = ACTIONS(2103), + [anon_sym_consteval] = ACTIONS(2103), + [anon_sym_signed] = ACTIONS(2103), + [anon_sym_unsigned] = ACTIONS(2103), + [anon_sym_long] = ACTIONS(2103), + [anon_sym_short] = ACTIONS(2103), + [sym_primitive_type] = ACTIONS(2103), + [anon_sym_enum] = ACTIONS(2103), + [anon_sym_class] = ACTIONS(2103), + [anon_sym_struct] = ACTIONS(2103), + [anon_sym_union] = ACTIONS(2103), + [anon_sym_if] = ACTIONS(2103), + [anon_sym_else] = ACTIONS(2103), + [anon_sym_switch] = ACTIONS(2103), + [anon_sym_while] = ACTIONS(2103), + [anon_sym_do] = ACTIONS(2103), + [anon_sym_for] = ACTIONS(2103), + [anon_sym_return] = ACTIONS(2103), + [anon_sym_break] = ACTIONS(2103), + [anon_sym_continue] = ACTIONS(2103), + [anon_sym_goto] = ACTIONS(2103), + [anon_sym_DASH_DASH] = ACTIONS(2105), + [anon_sym_PLUS_PLUS] = ACTIONS(2105), + [anon_sym_sizeof] = ACTIONS(2103), + [sym_number_literal] = ACTIONS(2105), + [anon_sym_L_SQUOTE] = ACTIONS(2105), + [anon_sym_u_SQUOTE] = ACTIONS(2105), + [anon_sym_U_SQUOTE] = ACTIONS(2105), + [anon_sym_u8_SQUOTE] = ACTIONS(2105), + [anon_sym_SQUOTE] = ACTIONS(2105), + [anon_sym_L_DQUOTE] = ACTIONS(2105), + [anon_sym_u_DQUOTE] = ACTIONS(2105), + [anon_sym_U_DQUOTE] = ACTIONS(2105), + [anon_sym_u8_DQUOTE] = ACTIONS(2105), + [anon_sym_DQUOTE] = ACTIONS(2105), + [sym_true] = ACTIONS(2103), + [sym_false] = ACTIONS(2103), + [sym_null] = ACTIONS(2103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2103), + [anon_sym_decltype] = ACTIONS(2103), + [anon_sym_virtual] = ACTIONS(2103), + [anon_sym_typename] = ACTIONS(2103), + [anon_sym_template] = ACTIONS(2103), + [anon_sym_delete] = ACTIONS(2103), + [anon_sym_throw] = ACTIONS(2103), + [anon_sym_co_return] = ACTIONS(2103), + [anon_sym_co_yield] = ACTIONS(2103), + [anon_sym_try] = ACTIONS(2103), + [anon_sym_co_await] = ACTIONS(2103), + [anon_sym_new] = ACTIONS(2103), + [anon_sym_requires] = ACTIONS(2103), + [sym_this] = ACTIONS(2103), + [sym_nullptr] = ACTIONS(2103), + [sym_raw_string_literal] = ACTIONS(2105), + }, + [994] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2734), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [995] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2738), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [996] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2740), + [anon_sym_LPAREN2] = ACTIONS(2743), + [anon_sym_BANG] = ACTIONS(2746), + [anon_sym_TILDE] = ACTIONS(2746), + [anon_sym_DASH] = ACTIONS(2749), + [anon_sym_PLUS] = ACTIONS(2749), + [anon_sym_STAR] = ACTIONS(2752), + [anon_sym_AMP] = ACTIONS(2752), + [anon_sym_SEMI] = ACTIONS(2755), + [anon_sym_COLON_COLON] = ACTIONS(2758), + [anon_sym_LBRACE] = ACTIONS(2761), + [anon_sym_RBRACE] = ACTIONS(2764), + [anon_sym_LBRACK] = ACTIONS(2766), + [sym_primitive_type] = ACTIONS(2769), + [anon_sym_DASH_DASH] = ACTIONS(2772), + [anon_sym_PLUS_PLUS] = ACTIONS(2772), + [anon_sym_sizeof] = ACTIONS(2775), + [sym_number_literal] = ACTIONS(2778), + [anon_sym_L_SQUOTE] = ACTIONS(2781), + [anon_sym_u_SQUOTE] = ACTIONS(2781), + [anon_sym_U_SQUOTE] = ACTIONS(2781), + [anon_sym_u8_SQUOTE] = ACTIONS(2781), + [anon_sym_SQUOTE] = ACTIONS(2781), + [anon_sym_L_DQUOTE] = ACTIONS(2784), + [anon_sym_u_DQUOTE] = ACTIONS(2784), + [anon_sym_U_DQUOTE] = ACTIONS(2784), + [anon_sym_u8_DQUOTE] = ACTIONS(2784), + [anon_sym_DQUOTE] = ACTIONS(2784), + [sym_true] = ACTIONS(2787), + [sym_false] = ACTIONS(2787), + [sym_null] = ACTIONS(2787), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2790), + [anon_sym_template] = ACTIONS(2793), + [anon_sym_delete] = ACTIONS(2796), + [anon_sym_co_await] = ACTIONS(2799), + [anon_sym_new] = ACTIONS(2802), + [anon_sym_requires] = ACTIONS(2805), + [sym_this] = ACTIONS(2787), + [sym_nullptr] = ACTIONS(2787), + [sym_raw_string_literal] = ACTIONS(2808), + }, + [997] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2811), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [998] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(1004), + [sym_compound_requirement] = STATE(1004), + [sym__requirement] = STATE(1004), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(1004), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2813), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [999] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(997), + [sym_compound_requirement] = STATE(997), + [sym__requirement] = STATE(997), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(997), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2815), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1000] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2817), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1001] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(1003), + [sym_compound_requirement] = STATE(1003), + [sym__requirement] = STATE(1003), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(1003), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2819), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1002] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2821), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1003] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2823), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1004] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2825), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1005] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(1002), + [sym_compound_requirement] = STATE(1002), + [sym__requirement] = STATE(1002), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(1002), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2827), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1006] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(994), + [sym_compound_requirement] = STATE(994), + [sym__requirement] = STATE(994), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(994), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2829), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1007] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(996), + [sym_compound_requirement] = STATE(996), + [sym__requirement] = STATE(996), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(996), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2831), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1008] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(995), + [sym_compound_requirement] = STATE(995), + [sym__requirement] = STATE(995), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(995), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2833), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1009] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(1000), + [sym_compound_requirement] = STATE(1000), + [sym__requirement] = STATE(1000), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(1000), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2835), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1010] = { + [sym_expression_statement] = STATE(2746), + [sym__expression] = STATE(3372), + [sym_comma_expression] = STATE(6005), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_type_requirement] = STATE(1007), + [sym_compound_requirement] = STATE(1007), + [sym__requirement] = STATE(1007), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_requirement_seq_repeat1] = STATE(1007), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(1449), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2732), + [anon_sym_RBRACE] = ACTIONS(2837), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_typename] = ACTIONS(2736), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1011] = { + [sym__expression] = STATE(3268), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5202), + [sym_initializer_pair] = STATE(5202), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_COMMA] = ACTIONS(2839), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2841), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1012] = { + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3742), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4762), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_parameter_list] = STATE(620), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3375), + [sym_template_function] = STATE(4500), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4319), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2845), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_LT] = ACTIONS(2847), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2849), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + }, + [1013] = { + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3743), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4743), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_parameter_list] = STATE(615), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3375), + [sym_template_function] = STATE(4500), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4319), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2845), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_LT] = ACTIONS(2847), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2849), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + }, + [1014] = { + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3756), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4756), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_parameter_list] = STATE(700), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3375), + [sym_template_function] = STATE(4500), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4319), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2845), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_LT] = ACTIONS(2847), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2849), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + }, + [1015] = { + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3738), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_based_modifier] = STATE(6395), + [sym__declarator] = STATE(4779), + [sym_parenthesized_declarator] = STATE(4500), + [sym_attributed_declarator] = STATE(4500), + [sym_pointer_declarator] = STATE(4500), + [sym_function_declarator] = STATE(4500), + [sym_array_declarator] = STATE(4500), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_parameter_list] = STATE(696), + [sym_reference_declarator] = STATE(4500), + [sym_structured_binding_declarator] = STATE(4500), + [sym_template_type] = STATE(3375), + [sym_template_function] = STATE(4500), + [sym_destructor_name] = STATE(4500), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4319), + [sym_qualified_identifier] = STATE(4500), + [sym_qualified_type_identifier] = STATE(2968), + [sym_operator_name] = STATE(4500), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2845), + [anon_sym_LPAREN2] = ACTIONS(1511), + [anon_sym_TILDE] = ACTIONS(1513), + [anon_sym_STAR] = ACTIONS(1515), + [anon_sym_AMP_AMP] = ACTIONS(29), + [anon_sym_AMP] = ACTIONS(1517), + [anon_sym_LT] = ACTIONS(2847), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2849), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___based] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(1523), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + [anon_sym_operator] = ACTIONS(1481), + }, + [1016] = { + [sym__expression] = STATE(3291), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5433), + [sym_initializer_pair] = STATE(5433), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_COMMA] = ACTIONS(151), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2851), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1017] = { + [sym__expression] = STATE(3246), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5299), + [sym_initializer_pair] = STATE(5299), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_COMMA] = ACTIONS(2853), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2855), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1018] = { + [sym__expression] = STATE(3274), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5217), + [sym_initializer_pair] = STATE(5217), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_COMMA] = ACTIONS(2857), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2859), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1019] = { + [sym__expression] = STATE(3247), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5210), + [sym_initializer_pair] = STATE(5210), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_COMMA] = ACTIONS(2861), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2863), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1020] = { + [sym__expression] = STATE(3289), + [sym_comma_expression] = STATE(5772), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2865), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1021] = { + [sym_identifier] = ACTIONS(2645), + [anon_sym_LPAREN2] = ACTIONS(2651), + [anon_sym_BANG] = ACTIONS(2651), + [anon_sym_TILDE] = ACTIONS(2651), + [anon_sym_DASH] = ACTIONS(2653), + [anon_sym_PLUS] = ACTIONS(2653), + [anon_sym_STAR] = ACTIONS(2651), + [anon_sym_AMP] = ACTIONS(2651), + [anon_sym_SEMI] = ACTIONS(2651), + [anon_sym_extern] = ACTIONS(2657), + [anon_sym___attribute__] = ACTIONS(2657), + [anon_sym_COLON_COLON] = ACTIONS(2648), + [anon_sym_LBRACK_LBRACK] = ACTIONS(2648), + [anon_sym___declspec] = ACTIONS(2657), + [anon_sym_LBRACE] = ACTIONS(2651), + [anon_sym_LBRACK] = ACTIONS(2653), + [anon_sym_static] = ACTIONS(2657), + [anon_sym_register] = ACTIONS(2657), + [anon_sym_inline] = ACTIONS(2657), + [anon_sym_thread_local] = ACTIONS(2657), + [anon_sym_const] = ACTIONS(2657), + [anon_sym_volatile] = ACTIONS(2657), + [anon_sym_restrict] = ACTIONS(2657), + [anon_sym__Atomic] = ACTIONS(2657), + [anon_sym_mutable] = ACTIONS(2657), + [anon_sym_constexpr] = ACTIONS(2657), + [anon_sym_constinit] = ACTIONS(2657), + [anon_sym_consteval] = ACTIONS(2657), + [anon_sym_signed] = ACTIONS(2657), + [anon_sym_unsigned] = ACTIONS(2657), + [anon_sym_long] = ACTIONS(2657), + [anon_sym_short] = ACTIONS(2657), + [sym_primitive_type] = ACTIONS(2645), + [anon_sym_enum] = ACTIONS(2657), + [anon_sym_class] = ACTIONS(2657), + [anon_sym_struct] = ACTIONS(2657), + [anon_sym_union] = ACTIONS(2657), + [anon_sym_if] = ACTIONS(2653), + [anon_sym_switch] = ACTIONS(2653), + [anon_sym_while] = ACTIONS(2653), + [anon_sym_do] = ACTIONS(2653), + [anon_sym_for] = ACTIONS(2653), + [anon_sym_return] = ACTIONS(2653), + [anon_sym_break] = ACTIONS(2653), + [anon_sym_continue] = ACTIONS(2653), + [anon_sym_goto] = ACTIONS(2653), + [anon_sym_DASH_DASH] = ACTIONS(2651), + [anon_sym_PLUS_PLUS] = ACTIONS(2651), + [anon_sym_sizeof] = ACTIONS(2653), + [sym_number_literal] = ACTIONS(2651), + [anon_sym_L_SQUOTE] = ACTIONS(2651), + [anon_sym_u_SQUOTE] = ACTIONS(2651), + [anon_sym_U_SQUOTE] = ACTIONS(2651), + [anon_sym_u8_SQUOTE] = ACTIONS(2651), + [anon_sym_SQUOTE] = ACTIONS(2651), + [anon_sym_L_DQUOTE] = ACTIONS(2651), + [anon_sym_u_DQUOTE] = ACTIONS(2651), + [anon_sym_U_DQUOTE] = ACTIONS(2651), + [anon_sym_u8_DQUOTE] = ACTIONS(2651), + [anon_sym_DQUOTE] = ACTIONS(2651), + [sym_true] = ACTIONS(2653), + [sym_false] = ACTIONS(2653), + [sym_null] = ACTIONS(2653), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(2657), + [anon_sym_decltype] = ACTIONS(2657), + [anon_sym_virtual] = ACTIONS(2657), + [anon_sym_typename] = ACTIONS(2657), + [anon_sym_template] = ACTIONS(2645), + [anon_sym_delete] = ACTIONS(2653), + [anon_sym_throw] = ACTIONS(2653), + [anon_sym_co_return] = ACTIONS(2653), + [anon_sym_co_yield] = ACTIONS(2653), + [anon_sym_try] = ACTIONS(2653), + [anon_sym_co_await] = ACTIONS(2653), + [anon_sym_new] = ACTIONS(2653), + [anon_sym_requires] = ACTIONS(2653), + [sym_this] = ACTIONS(2653), + [sym_nullptr] = ACTIONS(2653), + [sym_raw_string_literal] = ACTIONS(2651), + }, + [1022] = { + [sym__expression] = STATE(3272), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5389), + [sym_initializer_pair] = STATE(5389), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_COMMA] = ACTIONS(2867), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2869), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1023] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2871), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1024] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2873), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1025] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2875), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1026] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2877), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1027] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2879), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1028] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2881), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1029] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2883), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1030] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2885), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1031] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2887), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1032] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2889), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1033] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2865), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1034] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_RBRACE] = ACTIONS(2891), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1035] = { + [sym__expression] = STATE(3378), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5645), + [sym_initializer_pair] = STATE(5645), + [sym_subscript_designator] = STATE(4846), + [sym_field_designator] = STATE(4846), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [aux_sym_initializer_pair_repeat1] = STATE(4846), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(2843), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [anon_sym_DOT] = ACTIONS(193), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1036] = { + [sym__expression] = STATE(3323), + [sym_comma_expression] = STATE(6125), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6125), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(2893), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1037] = { + [sym__expression] = STATE(2083), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6013), + [sym__unary_right_fold] = STATE(6014), + [sym__binary_fold] = STATE(6019), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1038] = { + [sym__expression] = STATE(3382), + [sym_comma_expression] = STATE(6239), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6239), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(2895), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1039] = { + [sym__expression] = STATE(2113), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6227), + [sym__unary_right_fold] = STATE(6230), + [sym__binary_fold] = STATE(5967), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1040] = { + [sym__expression] = STATE(2084), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6491), + [sym__unary_right_fold] = STATE(6488), + [sym__binary_fold] = STATE(6485), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1041] = { + [sym__expression] = STATE(3457), + [sym_comma_expression] = STATE(6094), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6094), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(2897), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1042] = { + [sym__expression] = STATE(3398), + [sym_comma_expression] = STATE(6054), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6054), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(2899), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1043] = { + [sym__expression] = STATE(2204), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6007), + [sym__unary_right_fold] = STATE(6008), + [sym__binary_fold] = STATE(6009), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1044] = { + [sym__expression] = STATE(2075), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6363), + [sym__unary_right_fold] = STATE(6364), + [sym__binary_fold] = STATE(6355), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1045] = { + [sym__expression] = STATE(2217), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6473), + [sym__unary_right_fold] = STATE(6458), + [sym__binary_fold] = STATE(6391), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1046] = { + [sym__expression] = STATE(2133), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6167), + [sym__unary_right_fold] = STATE(6166), + [sym__binary_fold] = STATE(6165), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1047] = { + [sym__expression] = STATE(2142), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym__unary_left_fold] = STATE(6332), + [sym__unary_right_fold] = STATE(6331), + [sym__binary_fold] = STATE(6330), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1389), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1048] = { + [sym__expression] = STATE(3312), + [sym_comma_expression] = STATE(6271), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6271), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(2901), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1049] = { + [sym__expression] = STATE(3450), + [sym_comma_expression] = STATE(6472), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6472), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(2903), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1050] = { + [sym__expression] = STATE(3276), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5401), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2905), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1051] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2909), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1052] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2913), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1053] = { + [sym__expression] = STATE(3325), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1054] = { + [sym__expression] = STATE(3543), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1055] = { + [sym__expression] = STATE(3326), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1056] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym__abstract_declarator] = STATE(5084), + [sym_abstract_parenthesized_declarator] = STATE(4543), + [sym_abstract_pointer_declarator] = STATE(4543), + [sym_abstract_function_declarator] = STATE(4543), + [sym_abstract_array_declarator] = STATE(4543), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_list] = STATE(3781), + [sym_parameter_declaration] = STATE(5272), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5272), + [sym_variadic_parameter_declaration] = STATE(5272), + [sym_abstract_reference_declarator] = STATE(4543), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4808), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2919), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1441), + [anon_sym_RPAREN] = ACTIONS(2921), + [anon_sym_LPAREN2] = ACTIONS(2923), + [anon_sym_STAR] = ACTIONS(2925), + [anon_sym_AMP_AMP] = ACTIONS(2927), + [anon_sym_AMP] = ACTIONS(2929), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(2933), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + }, + [1057] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2935), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1058] = { + [sym__expression] = STATE(3270), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2937), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2935), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1059] = { + [sym__expression] = STATE(2677), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1060] = { + [sym__expression] = STATE(3641), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6194), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_default] = ACTIONS(2939), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2941), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1061] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2943), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1062] = { + [sym__expression] = STATE(3248), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5216), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2945), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1063] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2947), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1064] = { + [sym__expression] = STATE(3438), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1065] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2949), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1066] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2951), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1067] = { + [sym__expression] = STATE(3635), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6048), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_default] = ACTIONS(2953), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2955), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1068] = { + [sym__expression] = STATE(2591), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1069] = { + [sym__expression] = STATE(3385), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1070] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2957), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1071] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2959), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1072] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2961), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1073] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2963), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1074] = { + [sym__expression] = STATE(2299), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1075] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2965), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1076] = { + [sym__expression] = STATE(2756), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1077] = { + [sym__expression] = STATE(3229), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1078] = { + [sym__expression] = STATE(3252), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5367), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2967), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1079] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2969), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1080] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2937), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2935), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1081] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2971), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1082] = { + [sym__expression] = STATE(3211), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1083] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2973), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1084] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2975), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1085] = { + [sym__expression] = STATE(3625), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6229), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_default] = ACTIONS(2977), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2979), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1086] = { + [sym__expression] = STATE(3283), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5347), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2981), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1087] = { + [sym__expression] = STATE(3546), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1088] = { + [sym__expression] = STATE(3270), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2935), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1089] = { + [sym__expression] = STATE(2393), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1090] = { + [sym__expression] = STATE(3249), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5191), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2983), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1091] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2823), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym__abstract_declarator] = STATE(5131), + [sym_abstract_parenthesized_declarator] = STATE(4543), + [sym_abstract_pointer_declarator] = STATE(4543), + [sym_abstract_function_declarator] = STATE(4543), + [sym_abstract_array_declarator] = STATE(4543), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_list] = STATE(3781), + [sym_parameter_declaration] = STATE(5208), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_optional_parameter_declaration] = STATE(5208), + [sym_variadic_parameter_declaration] = STATE(5208), + [sym_abstract_reference_declarator] = STATE(4543), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4808), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2919), + [anon_sym_DOT_DOT_DOT] = ACTIONS(2625), + [anon_sym_RPAREN] = ACTIONS(2627), + [anon_sym_LPAREN2] = ACTIONS(2923), + [anon_sym_STAR] = ACTIONS(2925), + [anon_sym_AMP_AMP] = ACTIONS(2927), + [anon_sym_AMP] = ACTIONS(2929), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_LBRACK] = ACTIONS(2933), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(1409), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(1427), + [anon_sym_template] = ACTIONS(972), + }, + [1092] = { + [sym__expression] = STATE(2752), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1093] = { + [sym__expression] = STATE(3297), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5355), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2985), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1094] = { + [sym__expression] = STATE(2425), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1095] = { + [sym__expression] = STATE(2270), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2915), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(2915), + [anon_sym_AMP_AMP] = ACTIONS(2915), + [anon_sym_AMP] = ACTIONS(2917), + [anon_sym_LT] = ACTIONS(2915), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACE] = ACTIONS(2915), + [anon_sym_LBRACK] = ACTIONS(2915), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1096] = { + [sym__expression] = STATE(3288), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_lambda_default_capture] = STATE(5648), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(2907), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(2987), + [anon_sym_EQ] = ACTIONS(2911), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1097] = { + [sym__expression] = STATE(3266), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5245), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2989), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1098] = { + [sym__expression] = STATE(3439), + [sym_comma_expression] = STATE(6152), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2991), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1099] = { + [sym__expression] = STATE(3501), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6340), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1100] = { + [sym__expression] = STATE(3355), + [sym_comma_expression] = STATE(6211), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2993), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1101] = { + [sym__expression] = STATE(3636), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_initializer_list] = STATE(3125), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1102] = { + [sym__expression] = STATE(3440), + [sym_comma_expression] = STATE(6156), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2995), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1103] = { + [sym__expression] = STATE(3481), + [sym_comma_expression] = STATE(6214), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2997), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1104] = { + [sym__expression] = STATE(3442), + [sym_comma_expression] = STATE(6161), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(2999), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1105] = { + [sym__expression] = STATE(3354), + [sym_comma_expression] = STATE(5994), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3001), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1106] = { + [sym__expression] = STATE(3389), + [sym_comma_expression] = STATE(6293), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3003), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1107] = { + [sym__expression] = STATE(3459), + [sym_comma_expression] = STATE(6218), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3005), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1108] = { + [sym__expression] = STATE(3353), + [sym_comma_expression] = STATE(5974), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3007), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1109] = { + [sym__expression] = STATE(3351), + [sym_comma_expression] = STATE(5977), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3009), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1110] = { + [sym__expression] = STATE(3300), + [sym_comma_expression] = STATE(6285), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3011), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1111] = { + [sym__expression] = STATE(3426), + [sym_comma_expression] = STATE(6143), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3013), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1112] = { + [sym__expression] = STATE(3445), + [sym_comma_expression] = STATE(6170), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3015), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1113] = { + [sym__expression] = STATE(3593), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_initializer_list] = STATE(6387), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1114] = { + [sym__expression] = STATE(3284), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5959), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1115] = { + [sym__expression] = STATE(3586), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_initializer_list] = STATE(6192), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1116] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_COMMA] = ACTIONS(3017), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3017), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1117] = { + [sym__expression] = STATE(3622), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6278), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1118] = { + [sym__expression] = STATE(3627), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6212), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1119] = { + [sym__expression] = STATE(3628), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6204), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1120] = { + [sym__expression] = STATE(3656), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5981), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1121] = { + [sym__expression] = STATE(3330), + [sym_comma_expression] = STATE(6151), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3019), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1122] = { + [sym__expression] = STATE(3462), + [sym_comma_expression] = STATE(6311), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3021), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1123] = { + [sym__expression] = STATE(2783), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_initializer_list] = STATE(2356), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACE] = ACTIONS(1895), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1124] = { + [sym__expression] = STATE(3331), + [sym_comma_expression] = STATE(6149), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3023), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1125] = { + [sym__expression] = STATE(3658), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6148), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1126] = { + [sym__expression] = STATE(3384), + [sym_comma_expression] = STATE(6142), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3025), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1127] = { + [sym__expression] = STATE(3428), + [sym_comma_expression] = STATE(6249), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3027), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1128] = { + [sym__expression] = STATE(3644), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6191), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1129] = { + [sym__expression] = STATE(3332), + [sym_comma_expression] = STATE(5998), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3029), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1130] = { + [sym__expression] = STATE(3405), + [sym_comma_expression] = STATE(6254), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3031), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1131] = { + [sym__expression] = STATE(3653), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5975), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1132] = { + [sym__expression] = STATE(3333), + [sym_comma_expression] = STATE(5997), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3033), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1133] = { + [sym__expression] = STATE(3475), + [sym_comma_expression] = STATE(6324), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3035), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1134] = { + [sym__expression] = STATE(3472), + [sym_comma_expression] = STATE(6329), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3037), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1135] = { + [sym__expression] = STATE(3469), + [sym_comma_expression] = STATE(6341), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3039), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1136] = { + [sym__expression] = STATE(2666), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_initializer_list] = STATE(2800), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACE] = ACTIONS(2459), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1137] = { + [sym__expression] = STATE(3466), + [sym_comma_expression] = STATE(6345), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3041), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1138] = { + [sym__expression] = STATE(3456), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5708), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1139] = { + [sym__expression] = STATE(3337), + [sym_comma_expression] = STATE(5993), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3043), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1140] = { + [sym__expression] = STATE(3344), + [sym_comma_expression] = STATE(5991), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3045), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1141] = { + [sym__expression] = STATE(3352), + [sym_comma_expression] = STATE(5988), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3047), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1142] = { + [sym__expression] = STATE(3377), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5578), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1143] = { + [sym__expression] = STATE(3604), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6088), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1144] = { + [sym__expression] = STATE(3556), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6245), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1145] = { + [sym__expression] = STATE(3356), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5959), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1146] = { + [sym__expression] = STATE(3451), + [sym_comma_expression] = STATE(6100), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3049), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1147] = { + [sym__expression] = STATE(2395), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_initializer_list] = STATE(2503), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACE] = ACTIONS(2039), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1148] = { + [sym__expression] = STATE(3123), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(3125), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1149] = { + [sym__expression] = STATE(3350), + [sym_comma_expression] = STATE(5982), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3051), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1150] = { + [sym__expression] = STATE(3441), + [sym_comma_expression] = STATE(6321), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3053), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1151] = { + [sym__expression] = STATE(3424), + [sym_comma_expression] = STATE(6141), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3055), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1152] = { + [sym__expression] = STATE(3361), + [sym_comma_expression] = STATE(6118), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3057), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1153] = { + [sym__expression] = STATE(3659), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(5989), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1154] = { + [sym__expression] = STATE(3123), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_initializer_list] = STATE(3125), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1155] = { + [sym__expression] = STATE(3559), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_initializer_list] = STATE(6158), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1156] = { + [sym__expression] = STATE(3411), + [sym_comma_expression] = STATE(6203), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3059), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1157] = { + [sym__expression] = STATE(3578), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_initializer_list] = STATE(6320), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACE] = ACTIONS(1445), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1158] = { + [sym__expression] = STATE(3299), + [sym_comma_expression] = STATE(6079), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3061), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1159] = { + [sym__expression] = STATE(3362), + [sym_comma_expression] = STATE(6134), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3063), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1160] = { + [sym__expression] = STATE(3282), + [sym_comma_expression] = STATE(5772), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3065), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1161] = { + [sym__expression] = STATE(2357), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_initializer_list] = STATE(2356), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACE] = ACTIONS(1895), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1162] = { + [sym__expression] = STATE(3448), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_initializer_list] = STATE(3537), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACE] = ACTIONS(2599), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1163] = { + [sym__expression] = STATE(2456), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3068), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1164] = { + [sym__expression] = STATE(3633), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3071), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1165] = { + [sym__expression] = STATE(2480), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3073), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1166] = { + [sym__expression] = STATE(2480), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3076), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1167] = { + [sym__expression] = STATE(2480), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3079), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1168] = { + [sym__expression] = STATE(3623), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3082), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1169] = { + [sym__expression] = STATE(2478), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3084), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1170] = { + [sym__expression] = STATE(2477), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3087), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1171] = { + [sym__expression] = STATE(2471), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3090), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1172] = { + [sym__expression] = STATE(2468), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3093), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1173] = { + [sym__expression] = STATE(2629), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3096), + [anon_sym_LPAREN2] = ACTIONS(3098), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1174] = { + [sym__expression] = STATE(2456), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3100), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1175] = { + [sym__expression] = STATE(3660), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3103), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1176] = { + [sym__expression] = STATE(3620), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3105), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1177] = { + [sym__expression] = STATE(2447), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3107), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1178] = { + [sym__expression] = STATE(3605), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3110), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1179] = { + [sym__expression] = STATE(2447), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3112), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1180] = { + [sym__expression] = STATE(2447), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3115), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1181] = { + [sym__expression] = STATE(3490), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3118), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1182] = { + [sym__expression] = STATE(2483), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3120), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1183] = { + [sym__expression] = STATE(3601), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3123), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1184] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3125), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1185] = { + [sym__expression] = STATE(3574), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3127), + [anon_sym_LPAREN2] = ACTIONS(3129), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1186] = { + [sym__expression] = STATE(2447), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3131), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1187] = { + [sym__expression] = STATE(2440), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3134), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1188] = { + [sym__expression] = STATE(3548), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3137), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1189] = { + [sym__expression] = STATE(3535), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3139), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1190] = { + [sym__expression] = STATE(3606), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3141), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1191] = { + [sym__expression] = STATE(2440), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3143), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1192] = { + [sym__expression] = STATE(3611), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3146), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1193] = { + [sym__expression] = STATE(3617), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3148), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1194] = { + [sym__expression] = STATE(3594), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3150), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1195] = { + [sym__expression] = STATE(3588), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3152), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1196] = { + [sym__expression] = STATE(3596), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3154), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1197] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3156), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1198] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3158), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1199] = { + [sym__expression] = STATE(3608), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3160), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1200] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3162), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1201] = { + [sym__expression] = STATE(3514), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3164), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1202] = { + [sym__expression] = STATE(3631), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3166), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1203] = { + [sym__expression] = STATE(3577), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3168), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1204] = { + [sym__expression] = STATE(3423), + [sym_comma_expression] = STATE(6405), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1205] = { + [sym__expression] = STATE(3650), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3170), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1206] = { + [sym__expression] = STATE(2483), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3172), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1207] = { + [sym__expression] = STATE(3637), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3175), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1208] = { + [sym__expression] = STATE(3230), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3127), + [anon_sym_LPAREN2] = ACTIONS(3177), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1209] = { + [sym__expression] = STATE(3654), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3179), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1210] = { + [sym__expression] = STATE(2777), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3181), + [anon_sym_LPAREN2] = ACTIONS(3183), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1211] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3185), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1212] = { + [sym__expression] = STATE(3576), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3187), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1213] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3189), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1214] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3191), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1215] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3193), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1216] = { + [sym__expression] = STATE(3568), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3195), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1217] = { + [sym__expression] = STATE(3243), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3197), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(3199), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1218] = { + [sym__expression] = STATE(3671), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3201), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1219] = { + [sym__expression] = STATE(3500), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3203), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1220] = { + [sym__expression] = STATE(2465), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3205), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1221] = { + [sym__expression] = STATE(3243), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3208), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(3199), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1222] = { + [sym__expression] = STATE(3243), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3210), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(3199), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1223] = { + [sym__expression] = STATE(3674), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3212), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1224] = { + [sym__expression] = STATE(3589), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3214), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1225] = { + [sym__expression] = STATE(2384), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3216), + [anon_sym_LPAREN2] = ACTIONS(3218), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1226] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3220), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1227] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3222), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1228] = { + [sym__expression] = STATE(3590), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_RPAREN] = ACTIONS(3224), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1229] = { + [sym__expression] = STATE(2275), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3181), + [anon_sym_LPAREN2] = ACTIONS(3226), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1230] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3228), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1231] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3230), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1232] = { + [sym__expression] = STATE(3614), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3232), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1233] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3234), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1234] = { + [sym__expression] = STATE(3447), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3127), + [anon_sym_LPAREN2] = ACTIONS(3236), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1235] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [anon_sym_RBRACK] = ACTIONS(3238), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1236] = { + [sym__expression] = STATE(3667), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3240), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1237] = { + [sym__expression] = STATE(3547), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3242), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1238] = { + [sym__expression] = STATE(3379), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3244), + [anon_sym_LPAREN2] = ACTIONS(3246), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1239] = { + [sym__expression] = STATE(3539), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3248), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1240] = { + [sym__expression] = STATE(3670), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3250), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1241] = { + [sym__expression] = STATE(3563), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3252), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1242] = { + [sym__expression] = STATE(3561), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3254), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1243] = { + [sym__expression] = STATE(3587), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3256), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1244] = { + [sym__expression] = STATE(3444), + [sym_comma_expression] = STATE(6169), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1245] = { + [sym__expression] = STATE(3552), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3258), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1246] = { + [sym__expression] = STATE(3282), + [sym_comma_expression] = STATE(5772), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1247] = { + [sym__expression] = STATE(3392), + [sym_comma_expression] = STATE(6335), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1248] = { + [sym__expression] = STATE(3541), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3260), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1249] = { + [sym__expression] = STATE(3542), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_SEMI] = ACTIONS(3262), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1250] = { + [sym__expression] = STATE(3523), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1251] = { + [sym__expression] = STATE(3214), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1252] = { + [sym__expression] = STATE(2362), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1253] = { + [sym__expression] = STATE(2354), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(3264), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1254] = { + [sym__expression] = STATE(3485), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1255] = { + [sym__expression] = STATE(3534), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1256] = { + [sym__expression] = STATE(3646), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1257] = { + [sym__expression] = STATE(2279), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1258] = { + [sym__expression] = STATE(2316), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(3266), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1259] = { + [sym__expression] = STATE(2316), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1260] = { + [sym__expression] = STATE(3159), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1261] = { + [sym__expression] = STATE(3159), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(3268), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1262] = { + [sym__expression] = STATE(3569), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1263] = { + [sym__expression] = STATE(3640), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1264] = { + [sym__expression] = STATE(3613), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1265] = { + [sym__expression] = STATE(3400), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1266] = { + [sym__expression] = STATE(3105), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1267] = { + [sym__expression] = STATE(3338), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1268] = { + [sym__expression] = STATE(3404), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1269] = { + [sym__expression] = STATE(3243), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(3199), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1270] = { + [sym__expression] = STATE(3634), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1271] = { + [sym__expression] = STATE(3661), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1272] = { + [sym__expression] = STATE(3430), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1273] = { + [sym__expression] = STATE(3127), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1274] = { + [sym__expression] = STATE(3339), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1275] = { + [sym__expression] = STATE(3471), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1276] = { + [sym__expression] = STATE(3436), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1277] = { + [sym__expression] = STATE(3504), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1278] = { + [sym__expression] = STATE(3573), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(3270), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1279] = { + [sym__expression] = STATE(2287), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(3272), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1280] = { + [sym__expression] = STATE(2286), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1281] = { + [sym__expression] = STATE(3505), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1282] = { + [sym__expression] = STATE(3583), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1283] = { + [sym__expression] = STATE(2843), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1284] = { + [sym__expression] = STATE(3340), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1285] = { + [sym__expression] = STATE(2638), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1286] = { + [sym__expression] = STATE(3341), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1287] = { + [sym__expression] = STATE(3390), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1288] = { + [sym__expression] = STATE(3301), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1289] = { + [sym__expression] = STATE(3234), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(3274), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1290] = { + [sym__expression] = STATE(3302), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1291] = { + [sym__expression] = STATE(3342), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1292] = { + [sym__expression] = STATE(3303), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1293] = { + [sym__expression] = STATE(3304), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1294] = { + [sym__expression] = STATE(3305), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1295] = { + [sym__expression] = STATE(3306), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1296] = { + [sym__expression] = STATE(3307), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1297] = { + [sym__expression] = STATE(3308), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1298] = { + [sym__expression] = STATE(3309), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1299] = { + [sym__expression] = STATE(3357), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1300] = { + [sym__expression] = STATE(3359), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1301] = { + [sym__expression] = STATE(2483), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1302] = { + [sym__expression] = STATE(3360), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1303] = { + [sym__expression] = STATE(2480), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1304] = { + [sym__expression] = STATE(2478), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1305] = { + [sym__expression] = STATE(3363), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1306] = { + [sym__expression] = STATE(2477), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1307] = { + [sym__expression] = STATE(3508), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1308] = { + [sym__expression] = STATE(2791), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1309] = { + [sym__expression] = STATE(2471), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1310] = { + [sym__expression] = STATE(3381), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1311] = { + [sym__expression] = STATE(3318), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1312] = { + [sym__expression] = STATE(2468), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1313] = { + [sym__expression] = STATE(2684), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1314] = { + [sym__expression] = STATE(3156), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1315] = { + [sym__expression] = STATE(3491), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1316] = { + [sym__expression] = STATE(2465), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1317] = { + [sym__expression] = STATE(2456), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1318] = { + [sym__expression] = STATE(2737), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(3276), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1319] = { + [sym__expression] = STATE(2447), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1320] = { + [sym__expression] = STATE(2440), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1321] = { + [sym__expression] = STATE(2363), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1322] = { + [sym__expression] = STATE(3387), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1323] = { + [sym__expression] = STATE(2744), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1324] = { + [sym__expression] = STATE(3675), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1325] = { + [sym__expression] = STATE(3647), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1326] = { + [sym__expression] = STATE(3370), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1327] = { + [sym__expression] = STATE(2722), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(3278), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1328] = { + [sym__expression] = STATE(3374), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1329] = { + [sym__expression] = STATE(3321), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1330] = { + [sym__expression] = STATE(3645), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1331] = { + [sym__expression] = STATE(2816), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1332] = { + [sym__expression] = STATE(2826), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1333] = { + [sym__expression] = STATE(3626), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1334] = { + [sym__expression] = STATE(3198), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1335] = { + [sym__expression] = STATE(3619), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1336] = { + [sym__expression] = STATE(2438), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1337] = { + [sym__expression] = STATE(2842), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1338] = { + [sym__expression] = STATE(2763), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1339] = { + [sym__expression] = STATE(3455), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1340] = { + [sym__expression] = STATE(2817), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1341] = { + [sym__expression] = STATE(3413), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(3280), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1342] = { + [sym__expression] = STATE(2751), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1343] = { + [sym__expression] = STATE(2834), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1344] = { + [sym__expression] = STATE(2808), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1345] = { + [sym__expression] = STATE(2793), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1346] = { + [sym__expression] = STATE(2779), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1347] = { + [sym__expression] = STATE(2761), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1348] = { + [sym__expression] = STATE(2451), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1349] = { + [sym__expression] = STATE(2759), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1350] = { + [sym__expression] = STATE(3324), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1351] = { + [sym__expression] = STATE(2364), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1352] = { + [sym__expression] = STATE(3371), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1353] = { + [sym__expression] = STATE(2365), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1354] = { + [sym__expression] = STATE(2367), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1355] = { + [sym__expression] = STATE(2794), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(2509), + [anon_sym_BANG] = ACTIONS(2513), + [anon_sym_TILDE] = ACTIONS(2513), + [anon_sym_DASH] = ACTIONS(2511), + [anon_sym_PLUS] = ACTIONS(2511), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2517), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2519), + [anon_sym_PLUS_PLUS] = ACTIONS(2519), + [anon_sym_sizeof] = ACTIONS(2521), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2523), + [anon_sym_co_await] = ACTIONS(2525), + [anon_sym_new] = ACTIONS(2527), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1356] = { + [sym__expression] = STATE(3335), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1357] = { + [sym__expression] = STATE(2643), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1358] = { + [sym__expression] = STATE(2649), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1359] = { + [sym__expression] = STATE(2369), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1360] = { + [sym__expression] = STATE(2370), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1361] = { + [sym__expression] = STATE(2651), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1362] = { + [sym__expression] = STATE(2652), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1363] = { + [sym__expression] = STATE(2654), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1364] = { + [sym__expression] = STATE(2655), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1365] = { + [sym__expression] = STATE(2673), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1366] = { + [sym__expression] = STATE(2371), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1367] = { + [sym__expression] = STATE(2656), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1368] = { + [sym__expression] = STATE(2657), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1369] = { + [sym__expression] = STATE(2662), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1370] = { + [sym__expression] = STATE(3221), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1371] = { + [sym__expression] = STATE(2347), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1372] = { + [sym__expression] = STATE(2263), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1373] = { + [sym__expression] = STATE(2338), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1374] = { + [sym__expression] = STATE(2323), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1375] = { + [sym__expression] = STATE(3497), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(3282), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1376] = { + [sym__expression] = STATE(3156), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1377] = { + [sym__expression] = STATE(3220), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1378] = { + [sym__expression] = STATE(3226), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1379] = { + [sym__expression] = STATE(3638), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1380] = { + [sym__expression] = STATE(3219), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1381] = { + [sym__expression] = STATE(3618), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1382] = { + [sym__expression] = STATE(3215), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1383] = { + [sym__expression] = STATE(3241), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1384] = { + [sym__expression] = STATE(3496), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1385] = { + [sym__expression] = STATE(3642), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1386] = { + [sym__expression] = STATE(3549), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1387] = { + [sym__expression] = STATE(3498), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1388] = { + [sym__expression] = STATE(3364), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1389] = { + [sym__expression] = STATE(3213), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1390] = { + [sym__expression] = STATE(3212), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1391] = { + [sym__expression] = STATE(3210), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1392] = { + [sym__expression] = STATE(2659), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1393] = { + [sym__expression] = STATE(3502), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1394] = { + [sym__expression] = STATE(3581), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1395] = { + [sym__expression] = STATE(2373), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1396] = { + [sym__expression] = STATE(2373), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(3284), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1397] = { + [sym__expression] = STATE(3643), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1398] = { + [sym__expression] = STATE(3327), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1399] = { + [sym__expression] = STATE(3209), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1400] = { + [sym__expression] = STATE(3503), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1401] = { + [sym__expression] = STATE(2390), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1402] = { + [sym__expression] = STATE(2630), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1403] = { + [sym__expression] = STATE(3603), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1404] = { + [sym__expression] = STATE(2625), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(3286), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1405] = { + [sym__expression] = STATE(2623), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1406] = { + [sym__expression] = STATE(3507), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1407] = { + [sym__expression] = STATE(2428), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1408] = { + [sym__expression] = STATE(2380), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(3288), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1409] = { + [sym__expression] = STATE(2379), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1410] = { + [sym__expression] = STATE(3127), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1411] = { + [sym__expression] = STATE(3433), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(3290), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1412] = { + [sym__expression] = STATE(3105), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1413] = { + [sym__expression] = STATE(3159), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1414] = { + [sym__expression] = STATE(3463), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1415] = { + [sym__expression] = STATE(3607), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1416] = { + [sym__expression] = STATE(2605), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(3292), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1417] = { + [sym__expression] = STATE(3506), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1418] = { + [sym__expression] = STATE(3509), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1419] = { + [sym__expression] = STATE(3598), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1420] = { + [sym__expression] = STATE(3515), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1421] = { + [sym__expression] = STATE(3592), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1422] = { + [sym__expression] = STATE(3343), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(3294), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1423] = { + [sym__expression] = STATE(3489), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1424] = { + [sym__expression] = STATE(3492), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1425] = { + [sym__expression] = STATE(3493), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1426] = { + [sym__expression] = STATE(3538), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1427] = { + [sym__expression] = STATE(3564), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1428] = { + [sym__expression] = STATE(3566), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1429] = { + [sym__expression] = STATE(3369), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1430] = { + [sym__expression] = STATE(3373), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(3296), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1431] = { + [sym__expression] = STATE(3580), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1432] = { + [sym__expression] = STATE(3571), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1433] = { + [sym__expression] = STATE(3380), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1434] = { + [sym__expression] = STATE(3516), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1435] = { + [sym__expression] = STATE(2429), + [sym_conditional_expression] = STATE(2551), + [sym_assignment_expression] = STATE(2551), + [sym_pointer_expression] = STATE(2552), + [sym_unary_expression] = STATE(2551), + [sym_binary_expression] = STATE(2551), + [sym_update_expression] = STATE(2551), + [sym_cast_expression] = STATE(2551), + [sym_sizeof_expression] = STATE(2551), + [sym_subscript_expression] = STATE(2552), + [sym_call_expression] = STATE(2552), + [sym_field_expression] = STATE(2552), + [sym_compound_literal_expression] = STATE(2551), + [sym_parenthesized_expression] = STATE(2552), + [sym_char_literal] = STATE(2458), + [sym_concatenated_string] = STATE(2458), + [sym_string_literal] = STATE(1838), + [sym__class_name] = STATE(5964), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2551), + [sym_co_await_expression] = STATE(2551), + [sym_new_expression] = STATE(2551), + [sym_delete_expression] = STATE(2551), + [sym_requires_clause] = STATE(2551), + [sym_requires_expression] = STATE(2551), + [sym_lambda_expression] = STATE(2551), + [sym_lambda_capture_specifier] = STATE(4218), + [sym_fold_expression] = STATE(2551), + [sym_parameter_pack_expansion] = STATE(2551), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4350), + [sym_qualified_identifier] = STATE(2552), + [sym_qualified_type_identifier] = STATE(5964), + [sym_user_defined_literal] = STATE(2551), + [sym_identifier] = ACTIONS(2035), + [anon_sym_LPAREN2] = ACTIONS(1393), + [anon_sym_BANG] = ACTIONS(1395), + [anon_sym_TILDE] = ACTIONS(1395), + [anon_sym_DASH] = ACTIONS(1397), + [anon_sym_PLUS] = ACTIONS(1397), + [anon_sym_STAR] = ACTIONS(1399), + [anon_sym_AMP] = ACTIONS(1399), + [anon_sym_COLON_COLON] = ACTIONS(1401), + [anon_sym_LBRACK] = ACTIONS(3298), + [sym_primitive_type] = ACTIONS(2041), + [anon_sym_DASH_DASH] = ACTIONS(1415), + [anon_sym_PLUS_PLUS] = ACTIONS(1415), + [anon_sym_sizeof] = ACTIONS(1417), + [sym_number_literal] = ACTIONS(1419), + [anon_sym_L_SQUOTE] = ACTIONS(1421), + [anon_sym_u_SQUOTE] = ACTIONS(1421), + [anon_sym_U_SQUOTE] = ACTIONS(1421), + [anon_sym_u8_SQUOTE] = ACTIONS(1421), + [anon_sym_SQUOTE] = ACTIONS(1421), + [anon_sym_L_DQUOTE] = ACTIONS(1423), + [anon_sym_u_DQUOTE] = ACTIONS(1423), + [anon_sym_U_DQUOTE] = ACTIONS(1423), + [anon_sym_u8_DQUOTE] = ACTIONS(1423), + [anon_sym_DQUOTE] = ACTIONS(1423), + [sym_true] = ACTIONS(1425), + [sym_false] = ACTIONS(1425), + [sym_null] = ACTIONS(1425), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1429), + [anon_sym_co_await] = ACTIONS(1431), + [anon_sym_new] = ACTIONS(1433), + [anon_sym_requires] = ACTIONS(1435), + [sym_this] = ACTIONS(1425), + [sym_nullptr] = ACTIONS(1425), + [sym_raw_string_literal] = ACTIONS(1437), + }, + [1436] = { + [sym__expression] = STATE(3484), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1437] = { + [sym__expression] = STATE(3391), + [sym_conditional_expression] = STATE(3558), + [sym_assignment_expression] = STATE(3558), + [sym_pointer_expression] = STATE(2839), + [sym_unary_expression] = STATE(3558), + [sym_binary_expression] = STATE(3558), + [sym_update_expression] = STATE(3558), + [sym_cast_expression] = STATE(3558), + [sym_sizeof_expression] = STATE(3558), + [sym_subscript_expression] = STATE(2839), + [sym_call_expression] = STATE(2839), + [sym_field_expression] = STATE(2839), + [sym_compound_literal_expression] = STATE(3558), + [sym_parenthesized_expression] = STATE(2839), + [sym_char_literal] = STATE(3401), + [sym_concatenated_string] = STATE(3401), + [sym_string_literal] = STATE(2974), + [sym__class_name] = STATE(5780), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3558), + [sym_co_await_expression] = STATE(3558), + [sym_new_expression] = STATE(3558), + [sym_delete_expression] = STATE(3558), + [sym_requires_clause] = STATE(3558), + [sym_requires_expression] = STATE(3558), + [sym_lambda_expression] = STATE(3558), + [sym_lambda_capture_specifier] = STATE(4214), + [sym_fold_expression] = STATE(3558), + [sym_parameter_pack_expansion] = STATE(3558), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2839), + [sym_qualified_type_identifier] = STATE(5780), + [sym_user_defined_literal] = STATE(3558), + [sym_identifier] = ACTIONS(2597), + [anon_sym_LPAREN2] = ACTIONS(2133), + [anon_sym_BANG] = ACTIONS(2135), + [anon_sym_TILDE] = ACTIONS(2135), + [anon_sym_DASH] = ACTIONS(2137), + [anon_sym_PLUS] = ACTIONS(2137), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2141), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2155), + [anon_sym_PLUS_PLUS] = ACTIONS(2155), + [anon_sym_sizeof] = ACTIONS(2157), + [sym_number_literal] = ACTIONS(2159), + [anon_sym_L_SQUOTE] = ACTIONS(2161), + [anon_sym_u_SQUOTE] = ACTIONS(2161), + [anon_sym_U_SQUOTE] = ACTIONS(2161), + [anon_sym_u8_SQUOTE] = ACTIONS(2161), + [anon_sym_SQUOTE] = ACTIONS(2161), + [anon_sym_L_DQUOTE] = ACTIONS(2163), + [anon_sym_u_DQUOTE] = ACTIONS(2163), + [anon_sym_U_DQUOTE] = ACTIONS(2163), + [anon_sym_u8_DQUOTE] = ACTIONS(2163), + [anon_sym_DQUOTE] = ACTIONS(2163), + [sym_true] = ACTIONS(2165), + [sym_false] = ACTIONS(2165), + [sym_null] = ACTIONS(2165), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2175), + [anon_sym_co_await] = ACTIONS(2177), + [anon_sym_new] = ACTIONS(2179), + [anon_sym_requires] = ACTIONS(2181), + [sym_this] = ACTIONS(2165), + [sym_nullptr] = ACTIONS(2165), + [sym_raw_string_literal] = ACTIONS(2183), + }, + [1438] = { + [sym__expression] = STATE(3584), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1439] = { + [sym__expression] = STATE(3602), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1440] = { + [sym__expression] = STATE(3630), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1441] = { + [sym__expression] = STATE(2663), + [sym_conditional_expression] = STATE(2804), + [sym_assignment_expression] = STATE(2804), + [sym_pointer_expression] = STATE(2810), + [sym_unary_expression] = STATE(2804), + [sym_binary_expression] = STATE(2804), + [sym_update_expression] = STATE(2804), + [sym_cast_expression] = STATE(2804), + [sym_sizeof_expression] = STATE(2804), + [sym_subscript_expression] = STATE(2810), + [sym_call_expression] = STATE(2810), + [sym_field_expression] = STATE(2810), + [sym_compound_literal_expression] = STATE(2804), + [sym_parenthesized_expression] = STATE(2810), + [sym_char_literal] = STATE(2664), + [sym_concatenated_string] = STATE(2664), + [sym_string_literal] = STATE(1906), + [sym__class_name] = STATE(5946), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2804), + [sym_co_await_expression] = STATE(2804), + [sym_new_expression] = STATE(2804), + [sym_delete_expression] = STATE(2804), + [sym_requires_clause] = STATE(2804), + [sym_requires_expression] = STATE(2804), + [sym_lambda_expression] = STATE(2804), + [sym_lambda_capture_specifier] = STATE(4195), + [sym_fold_expression] = STATE(2804), + [sym_parameter_pack_expansion] = STATE(2804), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4328), + [sym_qualified_identifier] = STATE(2810), + [sym_qualified_type_identifier] = STATE(5946), + [sym_user_defined_literal] = STATE(2804), + [sym_identifier] = ACTIONS(2447), + [anon_sym_LPAREN2] = ACTIONS(2449), + [anon_sym_BANG] = ACTIONS(2453), + [anon_sym_TILDE] = ACTIONS(2453), + [anon_sym_DASH] = ACTIONS(2451), + [anon_sym_PLUS] = ACTIONS(2451), + [anon_sym_STAR] = ACTIONS(2139), + [anon_sym_AMP] = ACTIONS(2139), + [anon_sym_COLON_COLON] = ACTIONS(2457), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(2461), + [anon_sym_DASH_DASH] = ACTIONS(2463), + [anon_sym_PLUS_PLUS] = ACTIONS(2463), + [anon_sym_sizeof] = ACTIONS(2465), + [sym_number_literal] = ACTIONS(2467), + [anon_sym_L_SQUOTE] = ACTIONS(2469), + [anon_sym_u_SQUOTE] = ACTIONS(2469), + [anon_sym_U_SQUOTE] = ACTIONS(2469), + [anon_sym_u8_SQUOTE] = ACTIONS(2469), + [anon_sym_SQUOTE] = ACTIONS(2469), + [anon_sym_L_DQUOTE] = ACTIONS(2471), + [anon_sym_u_DQUOTE] = ACTIONS(2471), + [anon_sym_U_DQUOTE] = ACTIONS(2471), + [anon_sym_u8_DQUOTE] = ACTIONS(2471), + [anon_sym_DQUOTE] = ACTIONS(2471), + [sym_true] = ACTIONS(2473), + [sym_false] = ACTIONS(2473), + [sym_null] = ACTIONS(2473), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2475), + [anon_sym_co_await] = ACTIONS(2477), + [anon_sym_new] = ACTIONS(2479), + [anon_sym_requires] = ACTIONS(2481), + [sym_this] = ACTIONS(2473), + [sym_nullptr] = ACTIONS(2473), + [sym_raw_string_literal] = ACTIONS(2483), + }, + [1442] = { + [sym__expression] = STATE(3663), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1443] = { + [sym__expression] = STATE(3664), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1444] = { + [sym__expression] = STATE(3610), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1445] = { + [sym__expression] = STATE(3665), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1446] = { + [sym__expression] = STATE(2315), + [sym_conditional_expression] = STATE(2328), + [sym_assignment_expression] = STATE(2328), + [sym_pointer_expression] = STATE(2335), + [sym_unary_expression] = STATE(2328), + [sym_binary_expression] = STATE(2328), + [sym_update_expression] = STATE(2328), + [sym_cast_expression] = STATE(2328), + [sym_sizeof_expression] = STATE(2328), + [sym_subscript_expression] = STATE(2335), + [sym_call_expression] = STATE(2335), + [sym_field_expression] = STATE(2335), + [sym_compound_literal_expression] = STATE(2328), + [sym_parenthesized_expression] = STATE(2335), + [sym_char_literal] = STATE(2173), + [sym_concatenated_string] = STATE(2173), + [sym_string_literal] = STATE(1816), + [sym__class_name] = STATE(5513), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(2328), + [sym_co_await_expression] = STATE(2328), + [sym_new_expression] = STATE(2328), + [sym_delete_expression] = STATE(2328), + [sym_requires_clause] = STATE(2328), + [sym_requires_expression] = STATE(2328), + [sym_lambda_expression] = STATE(2328), + [sym_lambda_capture_specifier] = STATE(4201), + [sym_fold_expression] = STATE(2328), + [sym_parameter_pack_expansion] = STATE(2328), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2335), + [sym_qualified_type_identifier] = STATE(5513), + [sym_user_defined_literal] = STATE(2328), + [sym_identifier] = ACTIONS(1881), + [anon_sym_LPAREN2] = ACTIONS(1885), + [anon_sym_BANG] = ACTIONS(1889), + [anon_sym_TILDE] = ACTIONS(1889), + [anon_sym_DASH] = ACTIONS(1887), + [anon_sym_PLUS] = ACTIONS(1887), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(1893), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(1897), + [anon_sym_PLUS_PLUS] = ACTIONS(1897), + [anon_sym_sizeof] = ACTIONS(1899), + [sym_number_literal] = ACTIONS(1901), + [anon_sym_L_SQUOTE] = ACTIONS(1903), + [anon_sym_u_SQUOTE] = ACTIONS(1903), + [anon_sym_U_SQUOTE] = ACTIONS(1903), + [anon_sym_u8_SQUOTE] = ACTIONS(1903), + [anon_sym_SQUOTE] = ACTIONS(1903), + [anon_sym_L_DQUOTE] = ACTIONS(1905), + [anon_sym_u_DQUOTE] = ACTIONS(1905), + [anon_sym_U_DQUOTE] = ACTIONS(1905), + [anon_sym_u8_DQUOTE] = ACTIONS(1905), + [anon_sym_DQUOTE] = ACTIONS(1905), + [sym_true] = ACTIONS(1907), + [sym_false] = ACTIONS(1907), + [sym_null] = ACTIONS(1907), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(1909), + [anon_sym_co_await] = ACTIONS(1911), + [anon_sym_new] = ACTIONS(1913), + [anon_sym_requires] = ACTIONS(1915), + [sym_this] = ACTIONS(1907), + [sym_nullptr] = ACTIONS(1907), + [sym_raw_string_literal] = ACTIONS(1917), + }, + [1447] = { + [sym__expression] = STATE(3666), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1448] = { + [sym__expression] = STATE(3668), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1449] = { + [sym__expression] = STATE(3524), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1450] = { + [sym__expression] = STATE(3672), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1451] = { + [sym__expression] = STATE(3662), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1452] = { + [sym__expression] = STATE(3551), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1453] = { + [sym__expression] = STATE(3468), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1454] = { + [sym__expression] = STATE(3259), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1455] = { + [sym__expression] = STATE(3621), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1456] = { + [sym__expression] = STATE(3616), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2838), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2838), + [sym_call_expression] = STATE(2838), + [sym_field_expression] = STATE(2838), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2838), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2838), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2577), + [anon_sym_LPAREN2] = ACTIONS(2579), + [anon_sym_BANG] = ACTIONS(2583), + [anon_sym_TILDE] = ACTIONS(2583), + [anon_sym_DASH] = ACTIONS(2581), + [anon_sym_PLUS] = ACTIONS(2581), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(2585), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2587), + [anon_sym_PLUS_PLUS] = ACTIONS(2587), + [anon_sym_sizeof] = ACTIONS(2589), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2591), + [anon_sym_co_await] = ACTIONS(2593), + [anon_sym_new] = ACTIONS(2595), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1457] = { + [sym__expression] = STATE(3615), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1458] = { + [sym__expression] = STATE(3528), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1459] = { + [sym__expression] = STATE(3600), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2581), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2581), + [sym_call_expression] = STATE(2581), + [sym_field_expression] = STATE(2581), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2581), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2581), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2575), + [anon_sym_LPAREN2] = ACTIONS(960), + [anon_sym_BANG] = ACTIONS(21), + [anon_sym_TILDE] = ACTIONS(21), + [anon_sym_DASH] = ACTIONS(25), + [anon_sym_PLUS] = ACTIONS(25), + [anon_sym_STAR] = ACTIONS(962), + [anon_sym_AMP] = ACTIONS(962), + [anon_sym_COLON_COLON] = ACTIONS(41), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(93), + [anon_sym_PLUS_PLUS] = ACTIONS(93), + [anon_sym_sizeof] = ACTIONS(95), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(119), + [anon_sym_co_await] = ACTIONS(137), + [anon_sym_new] = ACTIONS(139), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1460] = { + [sym__expression] = STATE(3533), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1461] = { + [sym__expression] = STATE(3599), + [sym_conditional_expression] = STATE(3118), + [sym_assignment_expression] = STATE(3118), + [sym_pointer_expression] = STATE(2866), + [sym_unary_expression] = STATE(3118), + [sym_binary_expression] = STATE(3118), + [sym_update_expression] = STATE(3118), + [sym_cast_expression] = STATE(3118), + [sym_sizeof_expression] = STATE(3118), + [sym_subscript_expression] = STATE(2866), + [sym_call_expression] = STATE(2866), + [sym_field_expression] = STATE(2866), + [sym_compound_literal_expression] = STATE(3118), + [sym_parenthesized_expression] = STATE(2866), + [sym_char_literal] = STATE(3087), + [sym_concatenated_string] = STATE(3087), + [sym_string_literal] = STATE(2548), + [sym__class_name] = STATE(5573), + [sym_template_type] = STATE(2507), + [sym_template_function] = STATE(3118), + [sym_co_await_expression] = STATE(3118), + [sym_new_expression] = STATE(3118), + [sym_delete_expression] = STATE(3118), + [sym_requires_clause] = STATE(3118), + [sym_requires_expression] = STATE(3118), + [sym_lambda_expression] = STATE(3118), + [sym_lambda_capture_specifier] = STATE(4205), + [sym_fold_expression] = STATE(3118), + [sym_parameter_pack_expansion] = STATE(3118), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4312), + [sym_qualified_identifier] = STATE(2866), + [sym_qualified_type_identifier] = STATE(5573), + [sym_user_defined_literal] = STATE(3118), + [sym_identifier] = ACTIONS(2601), + [anon_sym_LPAREN2] = ACTIONS(2603), + [anon_sym_BANG] = ACTIONS(2607), + [anon_sym_TILDE] = ACTIONS(2607), + [anon_sym_DASH] = ACTIONS(2605), + [anon_sym_PLUS] = ACTIONS(2605), + [anon_sym_STAR] = ACTIONS(2609), + [anon_sym_AMP] = ACTIONS(2609), + [anon_sym_COLON_COLON] = ACTIONS(2611), + [anon_sym_LBRACK] = ACTIONS(1852), + [sym_primitive_type] = ACTIONS(1842), + [anon_sym_DASH_DASH] = ACTIONS(2613), + [anon_sym_PLUS_PLUS] = ACTIONS(2613), + [anon_sym_sizeof] = ACTIONS(2615), + [sym_number_literal] = ACTIONS(97), + [anon_sym_L_SQUOTE] = ACTIONS(99), + [anon_sym_u_SQUOTE] = ACTIONS(99), + [anon_sym_U_SQUOTE] = ACTIONS(99), + [anon_sym_u8_SQUOTE] = ACTIONS(99), + [anon_sym_SQUOTE] = ACTIONS(99), + [anon_sym_L_DQUOTE] = ACTIONS(101), + [anon_sym_u_DQUOTE] = ACTIONS(101), + [anon_sym_U_DQUOTE] = ACTIONS(101), + [anon_sym_u8_DQUOTE] = ACTIONS(101), + [anon_sym_DQUOTE] = ACTIONS(101), + [sym_true] = ACTIONS(103), + [sym_false] = ACTIONS(103), + [sym_null] = ACTIONS(103), + [sym_comment] = ACTIONS(3), + [anon_sym_template] = ACTIONS(972), + [anon_sym_delete] = ACTIONS(2617), + [anon_sym_co_await] = ACTIONS(2619), + [anon_sym_new] = ACTIONS(2621), + [anon_sym_requires] = ACTIONS(141), + [sym_this] = ACTIONS(103), + [sym_nullptr] = ACTIONS(103), + [sym_raw_string_literal] = ACTIONS(143), + }, + [1462] = { + [sym_template_argument_list] = STATE(1627), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3304), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3315), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3323), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_RBRACE] = ACTIONS(3302), + [anon_sym_LBRACK] = ACTIONS(3328), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3334), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1463] = { + [sym_template_argument_list] = STATE(1484), + [sym_identifier] = ACTIONS(3338), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3340), + [anon_sym_COMMA] = ACTIONS(3340), + [anon_sym_RPAREN] = ACTIONS(3340), + [anon_sym_LPAREN2] = ACTIONS(3340), + [anon_sym_TILDE] = ACTIONS(3343), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(3347), + [anon_sym_SLASH] = ACTIONS(3345), + [anon_sym_PERCENT] = ACTIONS(3345), + [anon_sym_PIPE_PIPE] = ACTIONS(3350), + [anon_sym_AMP_AMP] = ACTIONS(3340), + [anon_sym_PIPE] = ACTIONS(3345), + [anon_sym_CARET] = ACTIONS(3345), + [anon_sym_AMP] = ACTIONS(3347), + [anon_sym_EQ_EQ] = ACTIONS(3350), + [anon_sym_BANG_EQ] = ACTIONS(3350), + [anon_sym_GT] = ACTIONS(3345), + [anon_sym_GT_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ] = ACTIONS(3345), + [anon_sym_LT] = ACTIONS(3352), + [anon_sym_LT_LT] = ACTIONS(3345), + [anon_sym_GT_GT] = ACTIONS(3345), + [anon_sym_extern] = ACTIONS(3338), + [anon_sym___attribute__] = ACTIONS(3338), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3343), + [anon_sym___declspec] = ACTIONS(3338), + [anon_sym___based] = ACTIONS(3338), + [anon_sym_LBRACE] = ACTIONS(3343), + [anon_sym_LBRACK] = ACTIONS(3347), + [anon_sym_EQ] = ACTIONS(3347), + [anon_sym_static] = ACTIONS(3338), + [anon_sym_register] = ACTIONS(3338), + [anon_sym_inline] = ACTIONS(3338), + [anon_sym_thread_local] = ACTIONS(3338), + [anon_sym_const] = ACTIONS(3338), + [anon_sym_volatile] = ACTIONS(3338), + [anon_sym_restrict] = ACTIONS(3338), + [anon_sym__Atomic] = ACTIONS(3338), + [anon_sym_mutable] = ACTIONS(3338), + [anon_sym_constexpr] = ACTIONS(3338), + [anon_sym_constinit] = ACTIONS(3338), + [anon_sym_consteval] = ACTIONS(3338), + [anon_sym_QMARK] = ACTIONS(3350), + [anon_sym_STAR_EQ] = ACTIONS(3350), + [anon_sym_SLASH_EQ] = ACTIONS(3350), + [anon_sym_PERCENT_EQ] = ACTIONS(3350), + [anon_sym_PLUS_EQ] = ACTIONS(3350), + [anon_sym_DASH_EQ] = ACTIONS(3350), + [anon_sym_LT_LT_EQ] = ACTIONS(3350), + [anon_sym_GT_GT_EQ] = ACTIONS(3350), + [anon_sym_AMP_EQ] = ACTIONS(3350), + [anon_sym_CARET_EQ] = ACTIONS(3350), + [anon_sym_PIPE_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ_GT] = ACTIONS(3350), + [anon_sym_DASH_DASH] = ACTIONS(3350), + [anon_sym_PLUS_PLUS] = ACTIONS(3350), + [anon_sym_DOT] = ACTIONS(3345), + [anon_sym_DASH_GT] = ACTIONS(3345), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3338), + [anon_sym_decltype] = ACTIONS(3338), + [anon_sym_virtual] = ACTIONS(3338), + [anon_sym_template] = ACTIONS(3338), + [anon_sym_operator] = ACTIONS(3338), + [anon_sym_DOT_STAR] = ACTIONS(3350), + [anon_sym_DASH_GT_STAR] = ACTIONS(3350), + }, + [1464] = { + [sym_template_argument_list] = STATE(1484), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3315), + [anon_sym_COMMA] = ACTIONS(3315), + [anon_sym_RPAREN] = ACTIONS(3315), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3355), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3312), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3302), + [anon_sym_SLASH_EQ] = ACTIONS(3302), + [anon_sym_PERCENT_EQ] = ACTIONS(3302), + [anon_sym_PLUS_EQ] = ACTIONS(3302), + [anon_sym_DASH_EQ] = ACTIONS(3302), + [anon_sym_LT_LT_EQ] = ACTIONS(3302), + [anon_sym_GT_GT_EQ] = ACTIONS(3302), + [anon_sym_AMP_EQ] = ACTIONS(3302), + [anon_sym_CARET_EQ] = ACTIONS(3302), + [anon_sym_PIPE_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3310), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + [anon_sym_DOT_STAR] = ACTIONS(3302), + [anon_sym_DASH_GT_STAR] = ACTIONS(3302), + }, + [1465] = { + [sym_identifier] = ACTIONS(3358), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3360), + [anon_sym_COMMA] = ACTIONS(3360), + [anon_sym_RPAREN] = ACTIONS(3360), + [anon_sym_LPAREN2] = ACTIONS(3360), + [anon_sym_TILDE] = ACTIONS(3360), + [anon_sym_DASH] = ACTIONS(3358), + [anon_sym_PLUS] = ACTIONS(3358), + [anon_sym_STAR] = ACTIONS(3358), + [anon_sym_SLASH] = ACTIONS(3358), + [anon_sym_PERCENT] = ACTIONS(3358), + [anon_sym_PIPE_PIPE] = ACTIONS(3360), + [anon_sym_AMP_AMP] = ACTIONS(3360), + [anon_sym_PIPE] = ACTIONS(3358), + [anon_sym_CARET] = ACTIONS(3358), + [anon_sym_AMP] = ACTIONS(3358), + [anon_sym_EQ_EQ] = ACTIONS(3360), + [anon_sym_BANG_EQ] = ACTIONS(3360), + [anon_sym_GT] = ACTIONS(3358), + [anon_sym_GT_EQ] = ACTIONS(3360), + [anon_sym_LT_EQ] = ACTIONS(3358), + [anon_sym_LT] = ACTIONS(3358), + [anon_sym_LT_LT] = ACTIONS(3358), + [anon_sym_GT_GT] = ACTIONS(3358), + [anon_sym_extern] = ACTIONS(3358), + [anon_sym___attribute__] = ACTIONS(3358), + [anon_sym_COLON_COLON] = ACTIONS(3360), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3360), + [anon_sym___declspec] = ACTIONS(3358), + [anon_sym___based] = ACTIONS(3358), + [anon_sym_LBRACE] = ACTIONS(3360), + [anon_sym_LBRACK] = ACTIONS(3358), + [anon_sym_EQ] = ACTIONS(3358), + [anon_sym_static] = ACTIONS(3358), + [anon_sym_register] = ACTIONS(3358), + [anon_sym_inline] = ACTIONS(3358), + [anon_sym_thread_local] = ACTIONS(3358), + [anon_sym_const] = ACTIONS(3358), + [anon_sym_volatile] = ACTIONS(3358), + [anon_sym_restrict] = ACTIONS(3358), + [anon_sym__Atomic] = ACTIONS(3358), + [anon_sym_mutable] = ACTIONS(3358), + [anon_sym_constexpr] = ACTIONS(3358), + [anon_sym_constinit] = ACTIONS(3358), + [anon_sym_consteval] = ACTIONS(3358), + [anon_sym_QMARK] = ACTIONS(3360), + [anon_sym_STAR_EQ] = ACTIONS(3360), + [anon_sym_SLASH_EQ] = ACTIONS(3360), + [anon_sym_PERCENT_EQ] = ACTIONS(3360), + [anon_sym_PLUS_EQ] = ACTIONS(3360), + [anon_sym_DASH_EQ] = ACTIONS(3360), + [anon_sym_LT_LT_EQ] = ACTIONS(3360), + [anon_sym_GT_GT_EQ] = ACTIONS(3360), + [anon_sym_AMP_EQ] = ACTIONS(3360), + [anon_sym_CARET_EQ] = ACTIONS(3360), + [anon_sym_PIPE_EQ] = ACTIONS(3360), + [anon_sym_LT_EQ_GT] = ACTIONS(3360), + [anon_sym_DASH_DASH] = ACTIONS(3360), + [anon_sym_PLUS_PLUS] = ACTIONS(3360), + [anon_sym_DOT] = ACTIONS(3358), + [anon_sym_DASH_GT] = ACTIONS(3358), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3358), + [anon_sym_decltype] = ACTIONS(3358), + [anon_sym_virtual] = ACTIONS(3358), + [anon_sym_template] = ACTIONS(3358), + [anon_sym_operator] = ACTIONS(3358), + [anon_sym_DOT_STAR] = ACTIONS(3360), + [anon_sym_DASH_GT_STAR] = ACTIONS(3360), + }, + [1466] = { + [sym_template_argument_list] = STATE(1572), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3302), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3362), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1467] = { + [sym_template_argument_list] = STATE(1572), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3302), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3364), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1468] = { + [sym_identifier] = ACTIONS(3366), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3368), + [anon_sym_COMMA] = ACTIONS(3368), + [anon_sym_RPAREN] = ACTIONS(3368), + [anon_sym_LPAREN2] = ACTIONS(3368), + [anon_sym_TILDE] = ACTIONS(3368), + [anon_sym_DASH] = ACTIONS(3366), + [anon_sym_PLUS] = ACTIONS(3366), + [anon_sym_STAR] = ACTIONS(3366), + [anon_sym_SLASH] = ACTIONS(3366), + [anon_sym_PERCENT] = ACTIONS(3366), + [anon_sym_PIPE_PIPE] = ACTIONS(3368), + [anon_sym_AMP_AMP] = ACTIONS(3368), + [anon_sym_PIPE] = ACTIONS(3366), + [anon_sym_CARET] = ACTIONS(3366), + [anon_sym_AMP] = ACTIONS(3366), + [anon_sym_EQ_EQ] = ACTIONS(3368), + [anon_sym_BANG_EQ] = ACTIONS(3368), + [anon_sym_GT] = ACTIONS(3366), + [anon_sym_GT_EQ] = ACTIONS(3368), + [anon_sym_LT_EQ] = ACTIONS(3366), + [anon_sym_LT] = ACTIONS(3366), + [anon_sym_LT_LT] = ACTIONS(3366), + [anon_sym_GT_GT] = ACTIONS(3366), + [anon_sym_extern] = ACTIONS(3366), + [anon_sym___attribute__] = ACTIONS(3366), + [anon_sym_COLON_COLON] = ACTIONS(3368), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3368), + [anon_sym___declspec] = ACTIONS(3366), + [anon_sym___based] = ACTIONS(3366), + [anon_sym_LBRACE] = ACTIONS(3368), + [anon_sym_LBRACK] = ACTIONS(3366), + [anon_sym_EQ] = ACTIONS(3366), + [anon_sym_static] = ACTIONS(3366), + [anon_sym_register] = ACTIONS(3366), + [anon_sym_inline] = ACTIONS(3366), + [anon_sym_thread_local] = ACTIONS(3366), + [anon_sym_const] = ACTIONS(3366), + [anon_sym_volatile] = ACTIONS(3366), + [anon_sym_restrict] = ACTIONS(3366), + [anon_sym__Atomic] = ACTIONS(3366), + [anon_sym_mutable] = ACTIONS(3366), + [anon_sym_constexpr] = ACTIONS(3366), + [anon_sym_constinit] = ACTIONS(3366), + [anon_sym_consteval] = ACTIONS(3366), + [anon_sym_QMARK] = ACTIONS(3368), + [anon_sym_STAR_EQ] = ACTIONS(3368), + [anon_sym_SLASH_EQ] = ACTIONS(3368), + [anon_sym_PERCENT_EQ] = ACTIONS(3368), + [anon_sym_PLUS_EQ] = ACTIONS(3368), + [anon_sym_DASH_EQ] = ACTIONS(3368), + [anon_sym_LT_LT_EQ] = ACTIONS(3368), + [anon_sym_GT_GT_EQ] = ACTIONS(3368), + [anon_sym_AMP_EQ] = ACTIONS(3368), + [anon_sym_CARET_EQ] = ACTIONS(3368), + [anon_sym_PIPE_EQ] = ACTIONS(3368), + [anon_sym_LT_EQ_GT] = ACTIONS(3368), + [anon_sym_DASH_DASH] = ACTIONS(3368), + [anon_sym_PLUS_PLUS] = ACTIONS(3368), + [anon_sym_DOT] = ACTIONS(3366), + [anon_sym_DASH_GT] = ACTIONS(3366), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3366), + [anon_sym_decltype] = ACTIONS(3366), + [anon_sym_virtual] = ACTIONS(3366), + [anon_sym_template] = ACTIONS(3366), + [anon_sym_operator] = ACTIONS(3366), + [anon_sym_DOT_STAR] = ACTIONS(3368), + [anon_sym_DASH_GT_STAR] = ACTIONS(3368), + }, + [1469] = { + [sym_identifier] = ACTIONS(3370), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3372), + [anon_sym_COMMA] = ACTIONS(3372), + [anon_sym_RPAREN] = ACTIONS(3372), + [anon_sym_LPAREN2] = ACTIONS(3372), + [anon_sym_TILDE] = ACTIONS(3372), + [anon_sym_DASH] = ACTIONS(3370), + [anon_sym_PLUS] = ACTIONS(3370), + [anon_sym_STAR] = ACTIONS(3370), + [anon_sym_SLASH] = ACTIONS(3370), + [anon_sym_PERCENT] = ACTIONS(3370), + [anon_sym_PIPE_PIPE] = ACTIONS(3372), + [anon_sym_AMP_AMP] = ACTIONS(3372), + [anon_sym_PIPE] = ACTIONS(3370), + [anon_sym_CARET] = ACTIONS(3370), + [anon_sym_AMP] = ACTIONS(3370), + [anon_sym_EQ_EQ] = ACTIONS(3372), + [anon_sym_BANG_EQ] = ACTIONS(3372), + [anon_sym_GT] = ACTIONS(3370), + [anon_sym_GT_EQ] = ACTIONS(3372), + [anon_sym_LT_EQ] = ACTIONS(3370), + [anon_sym_LT] = ACTIONS(3370), + [anon_sym_LT_LT] = ACTIONS(3370), + [anon_sym_GT_GT] = ACTIONS(3370), + [anon_sym_extern] = ACTIONS(3370), + [anon_sym___attribute__] = ACTIONS(3370), + [anon_sym_COLON_COLON] = ACTIONS(3372), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3372), + [anon_sym___declspec] = ACTIONS(3370), + [anon_sym___based] = ACTIONS(3370), + [anon_sym_LBRACE] = ACTIONS(3372), + [anon_sym_LBRACK] = ACTIONS(3370), + [anon_sym_EQ] = ACTIONS(3370), + [anon_sym_static] = ACTIONS(3370), + [anon_sym_register] = ACTIONS(3370), + [anon_sym_inline] = ACTIONS(3370), + [anon_sym_thread_local] = ACTIONS(3370), + [anon_sym_const] = ACTIONS(3370), + [anon_sym_volatile] = ACTIONS(3370), + [anon_sym_restrict] = ACTIONS(3370), + [anon_sym__Atomic] = ACTIONS(3370), + [anon_sym_mutable] = ACTIONS(3370), + [anon_sym_constexpr] = ACTIONS(3370), + [anon_sym_constinit] = ACTIONS(3370), + [anon_sym_consteval] = ACTIONS(3370), + [anon_sym_QMARK] = ACTIONS(3372), + [anon_sym_STAR_EQ] = ACTIONS(3372), + [anon_sym_SLASH_EQ] = ACTIONS(3372), + [anon_sym_PERCENT_EQ] = ACTIONS(3372), + [anon_sym_PLUS_EQ] = ACTIONS(3372), + [anon_sym_DASH_EQ] = ACTIONS(3372), + [anon_sym_LT_LT_EQ] = ACTIONS(3372), + [anon_sym_GT_GT_EQ] = ACTIONS(3372), + [anon_sym_AMP_EQ] = ACTIONS(3372), + [anon_sym_CARET_EQ] = ACTIONS(3372), + [anon_sym_PIPE_EQ] = ACTIONS(3372), + [anon_sym_LT_EQ_GT] = ACTIONS(3372), + [anon_sym_DASH_DASH] = ACTIONS(3372), + [anon_sym_PLUS_PLUS] = ACTIONS(3372), + [anon_sym_DOT] = ACTIONS(3370), + [anon_sym_DASH_GT] = ACTIONS(3370), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3370), + [anon_sym_decltype] = ACTIONS(3370), + [anon_sym_virtual] = ACTIONS(3370), + [anon_sym_template] = ACTIONS(3370), + [anon_sym_operator] = ACTIONS(3370), + [anon_sym_DOT_STAR] = ACTIONS(3372), + [anon_sym_DASH_GT_STAR] = ACTIONS(3372), + }, + [1470] = { + [sym_template_argument_list] = STATE(1496), + [sym_identifier] = ACTIONS(3338), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3350), + [anon_sym_COMMA] = ACTIONS(3350), + [anon_sym_LPAREN2] = ACTIONS(3340), + [anon_sym_TILDE] = ACTIONS(3343), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(3347), + [anon_sym_SLASH] = ACTIONS(3345), + [anon_sym_PERCENT] = ACTIONS(3345), + [anon_sym_PIPE_PIPE] = ACTIONS(3350), + [anon_sym_AMP_AMP] = ACTIONS(3340), + [anon_sym_PIPE] = ACTIONS(3345), + [anon_sym_CARET] = ACTIONS(3345), + [anon_sym_AMP] = ACTIONS(3347), + [anon_sym_EQ_EQ] = ACTIONS(3350), + [anon_sym_BANG_EQ] = ACTIONS(3350), + [anon_sym_GT] = ACTIONS(3345), + [anon_sym_GT_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ] = ACTIONS(3345), + [anon_sym_LT] = ACTIONS(3374), + [anon_sym_LT_LT] = ACTIONS(3345), + [anon_sym_GT_GT] = ACTIONS(3345), + [anon_sym_SEMI] = ACTIONS(3340), + [anon_sym_extern] = ACTIONS(3338), + [anon_sym___attribute__] = ACTIONS(3338), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3340), + [anon_sym___declspec] = ACTIONS(3338), + [anon_sym___based] = ACTIONS(3338), + [anon_sym_LBRACE] = ACTIONS(3343), + [anon_sym_RBRACE] = ACTIONS(3350), + [anon_sym_LBRACK] = ACTIONS(3347), + [anon_sym_EQ] = ACTIONS(3345), + [anon_sym_static] = ACTIONS(3338), + [anon_sym_register] = ACTIONS(3338), + [anon_sym_inline] = ACTIONS(3338), + [anon_sym_thread_local] = ACTIONS(3338), + [anon_sym_const] = ACTIONS(3338), + [anon_sym_volatile] = ACTIONS(3338), + [anon_sym_restrict] = ACTIONS(3338), + [anon_sym__Atomic] = ACTIONS(3338), + [anon_sym_mutable] = ACTIONS(3338), + [anon_sym_constexpr] = ACTIONS(3338), + [anon_sym_constinit] = ACTIONS(3338), + [anon_sym_consteval] = ACTIONS(3338), + [anon_sym_QMARK] = ACTIONS(3350), + [anon_sym_STAR_EQ] = ACTIONS(3350), + [anon_sym_SLASH_EQ] = ACTIONS(3350), + [anon_sym_PERCENT_EQ] = ACTIONS(3350), + [anon_sym_PLUS_EQ] = ACTIONS(3350), + [anon_sym_DASH_EQ] = ACTIONS(3350), + [anon_sym_LT_LT_EQ] = ACTIONS(3350), + [anon_sym_GT_GT_EQ] = ACTIONS(3350), + [anon_sym_AMP_EQ] = ACTIONS(3350), + [anon_sym_CARET_EQ] = ACTIONS(3350), + [anon_sym_PIPE_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ_GT] = ACTIONS(3350), + [anon_sym_DASH_DASH] = ACTIONS(3350), + [anon_sym_PLUS_PLUS] = ACTIONS(3350), + [anon_sym_DOT] = ACTIONS(3345), + [anon_sym_DASH_GT] = ACTIONS(3350), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3338), + [anon_sym_decltype] = ACTIONS(3338), + [anon_sym_virtual] = ACTIONS(3338), + [anon_sym_template] = ACTIONS(3338), + [anon_sym_operator] = ACTIONS(3338), + }, + [1471] = { + [sym_identifier] = ACTIONS(3370), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3372), + [anon_sym_COMMA] = ACTIONS(3372), + [anon_sym_RPAREN] = ACTIONS(3372), + [anon_sym_LPAREN2] = ACTIONS(3372), + [anon_sym_TILDE] = ACTIONS(3372), + [anon_sym_DASH] = ACTIONS(3370), + [anon_sym_PLUS] = ACTIONS(3370), + [anon_sym_STAR] = ACTIONS(3370), + [anon_sym_SLASH] = ACTIONS(3370), + [anon_sym_PERCENT] = ACTIONS(3370), + [anon_sym_PIPE_PIPE] = ACTIONS(3372), + [anon_sym_AMP_AMP] = ACTIONS(3372), + [anon_sym_PIPE] = ACTIONS(3370), + [anon_sym_CARET] = ACTIONS(3370), + [anon_sym_AMP] = ACTIONS(3370), + [anon_sym_EQ_EQ] = ACTIONS(3372), + [anon_sym_BANG_EQ] = ACTIONS(3372), + [anon_sym_GT] = ACTIONS(3370), + [anon_sym_GT_EQ] = ACTIONS(3372), + [anon_sym_LT_EQ] = ACTIONS(3370), + [anon_sym_LT] = ACTIONS(3370), + [anon_sym_LT_LT] = ACTIONS(3370), + [anon_sym_GT_GT] = ACTIONS(3370), + [anon_sym_SEMI] = ACTIONS(3372), + [anon_sym_extern] = ACTIONS(3370), + [anon_sym___attribute__] = ACTIONS(3370), + [anon_sym_COLON_COLON] = ACTIONS(3372), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3372), + [anon_sym___declspec] = ACTIONS(3370), + [anon_sym___based] = ACTIONS(3370), + [anon_sym_LBRACE] = ACTIONS(3372), + [anon_sym_RBRACE] = ACTIONS(3372), + [anon_sym_LBRACK] = ACTIONS(3370), + [anon_sym_EQ] = ACTIONS(3370), + [anon_sym_static] = ACTIONS(3370), + [anon_sym_register] = ACTIONS(3370), + [anon_sym_inline] = ACTIONS(3370), + [anon_sym_thread_local] = ACTIONS(3370), + [anon_sym_const] = ACTIONS(3370), + [anon_sym_volatile] = ACTIONS(3370), + [anon_sym_restrict] = ACTIONS(3370), + [anon_sym__Atomic] = ACTIONS(3370), + [anon_sym_mutable] = ACTIONS(3370), + [anon_sym_constexpr] = ACTIONS(3370), + [anon_sym_constinit] = ACTIONS(3370), + [anon_sym_consteval] = ACTIONS(3370), + [anon_sym_QMARK] = ACTIONS(3372), + [anon_sym_STAR_EQ] = ACTIONS(3372), + [anon_sym_SLASH_EQ] = ACTIONS(3372), + [anon_sym_PERCENT_EQ] = ACTIONS(3372), + [anon_sym_PLUS_EQ] = ACTIONS(3372), + [anon_sym_DASH_EQ] = ACTIONS(3372), + [anon_sym_LT_LT_EQ] = ACTIONS(3372), + [anon_sym_GT_GT_EQ] = ACTIONS(3372), + [anon_sym_AMP_EQ] = ACTIONS(3372), + [anon_sym_CARET_EQ] = ACTIONS(3372), + [anon_sym_PIPE_EQ] = ACTIONS(3372), + [anon_sym_LT_EQ_GT] = ACTIONS(3372), + [anon_sym_DASH_DASH] = ACTIONS(3372), + [anon_sym_PLUS_PLUS] = ACTIONS(3372), + [anon_sym_DOT] = ACTIONS(3370), + [anon_sym_DASH_GT] = ACTIONS(3372), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3370), + [anon_sym_decltype] = ACTIONS(3370), + [anon_sym_virtual] = ACTIONS(3370), + [anon_sym_template] = ACTIONS(3370), + [anon_sym_operator] = ACTIONS(3370), + }, + [1472] = { + [sym_identifier] = ACTIONS(3377), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3379), + [anon_sym_COMMA] = ACTIONS(3379), + [anon_sym_RPAREN] = ACTIONS(3379), + [anon_sym_LPAREN2] = ACTIONS(3379), + [anon_sym_TILDE] = ACTIONS(3379), + [anon_sym_DASH] = ACTIONS(3377), + [anon_sym_PLUS] = ACTIONS(3377), + [anon_sym_STAR] = ACTIONS(3377), + [anon_sym_SLASH] = ACTIONS(3377), + [anon_sym_PERCENT] = ACTIONS(3377), + [anon_sym_PIPE_PIPE] = ACTIONS(3379), + [anon_sym_AMP_AMP] = ACTIONS(3379), + [anon_sym_PIPE] = ACTIONS(3377), + [anon_sym_CARET] = ACTIONS(3377), + [anon_sym_AMP] = ACTIONS(3377), + [anon_sym_EQ_EQ] = ACTIONS(3379), + [anon_sym_BANG_EQ] = ACTIONS(3379), + [anon_sym_GT] = ACTIONS(3377), + [anon_sym_GT_EQ] = ACTIONS(3379), + [anon_sym_LT_EQ] = ACTIONS(3377), + [anon_sym_LT] = ACTIONS(3377), + [anon_sym_LT_LT] = ACTIONS(3377), + [anon_sym_GT_GT] = ACTIONS(3377), + [anon_sym_extern] = ACTIONS(3377), + [anon_sym___attribute__] = ACTIONS(3377), + [anon_sym_COLON_COLON] = ACTIONS(3379), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3379), + [anon_sym___declspec] = ACTIONS(3377), + [anon_sym___based] = ACTIONS(3377), + [anon_sym_LBRACE] = ACTIONS(3379), + [anon_sym_LBRACK] = ACTIONS(3377), + [anon_sym_EQ] = ACTIONS(3377), + [anon_sym_static] = ACTIONS(3377), + [anon_sym_register] = ACTIONS(3377), + [anon_sym_inline] = ACTIONS(3377), + [anon_sym_thread_local] = ACTIONS(3377), + [anon_sym_const] = ACTIONS(3377), + [anon_sym_volatile] = ACTIONS(3377), + [anon_sym_restrict] = ACTIONS(3377), + [anon_sym__Atomic] = ACTIONS(3377), + [anon_sym_mutable] = ACTIONS(3377), + [anon_sym_constexpr] = ACTIONS(3377), + [anon_sym_constinit] = ACTIONS(3377), + [anon_sym_consteval] = ACTIONS(3377), + [anon_sym_QMARK] = ACTIONS(3379), + [anon_sym_STAR_EQ] = ACTIONS(3379), + [anon_sym_SLASH_EQ] = ACTIONS(3379), + [anon_sym_PERCENT_EQ] = ACTIONS(3379), + [anon_sym_PLUS_EQ] = ACTIONS(3379), + [anon_sym_DASH_EQ] = ACTIONS(3379), + [anon_sym_LT_LT_EQ] = ACTIONS(3379), + [anon_sym_GT_GT_EQ] = ACTIONS(3379), + [anon_sym_AMP_EQ] = ACTIONS(3379), + [anon_sym_CARET_EQ] = ACTIONS(3379), + [anon_sym_PIPE_EQ] = ACTIONS(3379), + [anon_sym_LT_EQ_GT] = ACTIONS(3379), + [anon_sym_DASH_DASH] = ACTIONS(3379), + [anon_sym_PLUS_PLUS] = ACTIONS(3379), + [anon_sym_DOT] = ACTIONS(3377), + [anon_sym_DASH_GT] = ACTIONS(3377), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3377), + [anon_sym_decltype] = ACTIONS(3377), + [anon_sym_virtual] = ACTIONS(3377), + [anon_sym_template] = ACTIONS(3377), + [anon_sym_operator] = ACTIONS(3377), + [anon_sym_DOT_STAR] = ACTIONS(3379), + [anon_sym_DASH_GT_STAR] = ACTIONS(3379), + }, + [1473] = { + [sym_template_argument_list] = STATE(1627), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3304), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3315), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3323), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3328), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3381), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1474] = { + [sym_identifier] = ACTIONS(3383), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3385), + [anon_sym_COMMA] = ACTIONS(3385), + [anon_sym_RPAREN] = ACTIONS(3385), + [anon_sym_LPAREN2] = ACTIONS(3385), + [anon_sym_TILDE] = ACTIONS(3385), + [anon_sym_DASH] = ACTIONS(3383), + [anon_sym_PLUS] = ACTIONS(3383), + [anon_sym_STAR] = ACTIONS(3383), + [anon_sym_SLASH] = ACTIONS(3383), + [anon_sym_PERCENT] = ACTIONS(3383), + [anon_sym_PIPE_PIPE] = ACTIONS(3385), + [anon_sym_AMP_AMP] = ACTIONS(3385), + [anon_sym_PIPE] = ACTIONS(3383), + [anon_sym_CARET] = ACTIONS(3383), + [anon_sym_AMP] = ACTIONS(3383), + [anon_sym_EQ_EQ] = ACTIONS(3385), + [anon_sym_BANG_EQ] = ACTIONS(3385), + [anon_sym_GT] = ACTIONS(3383), + [anon_sym_GT_EQ] = ACTIONS(3385), + [anon_sym_LT_EQ] = ACTIONS(3383), + [anon_sym_LT] = ACTIONS(3383), + [anon_sym_LT_LT] = ACTIONS(3383), + [anon_sym_GT_GT] = ACTIONS(3383), + [anon_sym_extern] = ACTIONS(3383), + [anon_sym___attribute__] = ACTIONS(3383), + [anon_sym_COLON_COLON] = ACTIONS(3385), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3385), + [anon_sym___declspec] = ACTIONS(3383), + [anon_sym___based] = ACTIONS(3383), + [anon_sym_LBRACE] = ACTIONS(3385), + [anon_sym_LBRACK] = ACTIONS(3383), + [anon_sym_EQ] = ACTIONS(3383), + [anon_sym_static] = ACTIONS(3383), + [anon_sym_register] = ACTIONS(3383), + [anon_sym_inline] = ACTIONS(3383), + [anon_sym_thread_local] = ACTIONS(3383), + [anon_sym_const] = ACTIONS(3383), + [anon_sym_volatile] = ACTIONS(3383), + [anon_sym_restrict] = ACTIONS(3383), + [anon_sym__Atomic] = ACTIONS(3383), + [anon_sym_mutable] = ACTIONS(3383), + [anon_sym_constexpr] = ACTIONS(3383), + [anon_sym_constinit] = ACTIONS(3383), + [anon_sym_consteval] = ACTIONS(3383), + [anon_sym_QMARK] = ACTIONS(3385), + [anon_sym_STAR_EQ] = ACTIONS(3385), + [anon_sym_SLASH_EQ] = ACTIONS(3385), + [anon_sym_PERCENT_EQ] = ACTIONS(3385), + [anon_sym_PLUS_EQ] = ACTIONS(3385), + [anon_sym_DASH_EQ] = ACTIONS(3385), + [anon_sym_LT_LT_EQ] = ACTIONS(3385), + [anon_sym_GT_GT_EQ] = ACTIONS(3385), + [anon_sym_AMP_EQ] = ACTIONS(3385), + [anon_sym_CARET_EQ] = ACTIONS(3385), + [anon_sym_PIPE_EQ] = ACTIONS(3385), + [anon_sym_LT_EQ_GT] = ACTIONS(3385), + [anon_sym_DASH_DASH] = ACTIONS(3385), + [anon_sym_PLUS_PLUS] = ACTIONS(3385), + [anon_sym_DOT] = ACTIONS(3383), + [anon_sym_DASH_GT] = ACTIONS(3383), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3383), + [anon_sym_decltype] = ACTIONS(3383), + [anon_sym_virtual] = ACTIONS(3383), + [anon_sym_template] = ACTIONS(3383), + [anon_sym_operator] = ACTIONS(3383), + [anon_sym_DOT_STAR] = ACTIONS(3385), + [anon_sym_DASH_GT_STAR] = ACTIONS(3385), + }, + [1475] = { + [sym_template_argument_list] = STATE(1572), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3302), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3387), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1476] = { + [sym_template_argument_list] = STATE(1572), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3302), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3381), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1477] = { + [sym_template_argument_list] = STATE(1572), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3302), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3334), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1478] = { + [sym_template_argument_list] = STATE(1572), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_RPAREN] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3302), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1479] = { + [sym_identifier] = ACTIONS(3389), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3391), + [anon_sym_COMMA] = ACTIONS(3391), + [anon_sym_RPAREN] = ACTIONS(3391), + [anon_sym_LPAREN2] = ACTIONS(3391), + [anon_sym_TILDE] = ACTIONS(3391), + [anon_sym_DASH] = ACTIONS(3389), + [anon_sym_PLUS] = ACTIONS(3389), + [anon_sym_STAR] = ACTIONS(3389), + [anon_sym_SLASH] = ACTIONS(3389), + [anon_sym_PERCENT] = ACTIONS(3389), + [anon_sym_PIPE_PIPE] = ACTIONS(3391), + [anon_sym_AMP_AMP] = ACTIONS(3391), + [anon_sym_PIPE] = ACTIONS(3389), + [anon_sym_CARET] = ACTIONS(3389), + [anon_sym_AMP] = ACTIONS(3389), + [anon_sym_EQ_EQ] = ACTIONS(3391), + [anon_sym_BANG_EQ] = ACTIONS(3391), + [anon_sym_GT] = ACTIONS(3389), + [anon_sym_GT_EQ] = ACTIONS(3391), + [anon_sym_LT_EQ] = ACTIONS(3389), + [anon_sym_LT] = ACTIONS(3389), + [anon_sym_LT_LT] = ACTIONS(3389), + [anon_sym_GT_GT] = ACTIONS(3389), + [anon_sym_extern] = ACTIONS(3389), + [anon_sym___attribute__] = ACTIONS(3389), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3391), + [anon_sym___declspec] = ACTIONS(3389), + [anon_sym___based] = ACTIONS(3389), + [anon_sym_LBRACE] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(3389), + [anon_sym_EQ] = ACTIONS(3389), + [anon_sym_static] = ACTIONS(3389), + [anon_sym_register] = ACTIONS(3389), + [anon_sym_inline] = ACTIONS(3389), + [anon_sym_thread_local] = ACTIONS(3389), + [anon_sym_const] = ACTIONS(3389), + [anon_sym_volatile] = ACTIONS(3389), + [anon_sym_restrict] = ACTIONS(3389), + [anon_sym__Atomic] = ACTIONS(3389), + [anon_sym_mutable] = ACTIONS(3389), + [anon_sym_constexpr] = ACTIONS(3389), + [anon_sym_constinit] = ACTIONS(3389), + [anon_sym_consteval] = ACTIONS(3389), + [anon_sym_QMARK] = ACTIONS(3391), + [anon_sym_STAR_EQ] = ACTIONS(3391), + [anon_sym_SLASH_EQ] = ACTIONS(3391), + [anon_sym_PERCENT_EQ] = ACTIONS(3391), + [anon_sym_PLUS_EQ] = ACTIONS(3391), + [anon_sym_DASH_EQ] = ACTIONS(3391), + [anon_sym_LT_LT_EQ] = ACTIONS(3391), + [anon_sym_GT_GT_EQ] = ACTIONS(3391), + [anon_sym_AMP_EQ] = ACTIONS(3391), + [anon_sym_CARET_EQ] = ACTIONS(3391), + [anon_sym_PIPE_EQ] = ACTIONS(3391), + [anon_sym_LT_EQ_GT] = ACTIONS(3391), + [anon_sym_DASH_DASH] = ACTIONS(3391), + [anon_sym_PLUS_PLUS] = ACTIONS(3391), + [anon_sym_DOT] = ACTIONS(3389), + [anon_sym_DASH_GT] = ACTIONS(3389), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3389), + [anon_sym_decltype] = ACTIONS(3389), + [anon_sym_virtual] = ACTIONS(3389), + [anon_sym_template] = ACTIONS(3389), + [anon_sym_operator] = ACTIONS(3389), + [anon_sym_DOT_STAR] = ACTIONS(3391), + [anon_sym_DASH_GT_STAR] = ACTIONS(3391), + }, + [1480] = { + [sym_identifier] = ACTIONS(3393), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3395), + [anon_sym_COMMA] = ACTIONS(3395), + [anon_sym_RPAREN] = ACTIONS(3395), + [anon_sym_LPAREN2] = ACTIONS(3395), + [anon_sym_TILDE] = ACTIONS(3395), + [anon_sym_DASH] = ACTIONS(3393), + [anon_sym_PLUS] = ACTIONS(3393), + [anon_sym_STAR] = ACTIONS(3393), + [anon_sym_SLASH] = ACTIONS(3393), + [anon_sym_PERCENT] = ACTIONS(3393), + [anon_sym_PIPE_PIPE] = ACTIONS(3395), + [anon_sym_AMP_AMP] = ACTIONS(3395), + [anon_sym_PIPE] = ACTIONS(3393), + [anon_sym_CARET] = ACTIONS(3393), + [anon_sym_AMP] = ACTIONS(3393), + [anon_sym_EQ_EQ] = ACTIONS(3395), + [anon_sym_BANG_EQ] = ACTIONS(3395), + [anon_sym_GT] = ACTIONS(3393), + [anon_sym_GT_EQ] = ACTIONS(3395), + [anon_sym_LT_EQ] = ACTIONS(3393), + [anon_sym_LT] = ACTIONS(3393), + [anon_sym_LT_LT] = ACTIONS(3393), + [anon_sym_GT_GT] = ACTIONS(3393), + [anon_sym_SEMI] = ACTIONS(3395), + [anon_sym_extern] = ACTIONS(3393), + [anon_sym___attribute__] = ACTIONS(3393), + [anon_sym_COLON_COLON] = ACTIONS(3395), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3395), + [anon_sym___declspec] = ACTIONS(3393), + [anon_sym___based] = ACTIONS(3393), + [anon_sym_LBRACE] = ACTIONS(3395), + [anon_sym_RBRACE] = ACTIONS(3395), + [anon_sym_LBRACK] = ACTIONS(3393), + [anon_sym_EQ] = ACTIONS(3393), + [anon_sym_static] = ACTIONS(3393), + [anon_sym_register] = ACTIONS(3393), + [anon_sym_inline] = ACTIONS(3393), + [anon_sym_thread_local] = ACTIONS(3393), + [anon_sym_const] = ACTIONS(3393), + [anon_sym_volatile] = ACTIONS(3393), + [anon_sym_restrict] = ACTIONS(3393), + [anon_sym__Atomic] = ACTIONS(3393), + [anon_sym_mutable] = ACTIONS(3393), + [anon_sym_constexpr] = ACTIONS(3393), + [anon_sym_constinit] = ACTIONS(3393), + [anon_sym_consteval] = ACTIONS(3393), + [anon_sym_QMARK] = ACTIONS(3395), + [anon_sym_STAR_EQ] = ACTIONS(3395), + [anon_sym_SLASH_EQ] = ACTIONS(3395), + [anon_sym_PERCENT_EQ] = ACTIONS(3395), + [anon_sym_PLUS_EQ] = ACTIONS(3395), + [anon_sym_DASH_EQ] = ACTIONS(3395), + [anon_sym_LT_LT_EQ] = ACTIONS(3395), + [anon_sym_GT_GT_EQ] = ACTIONS(3395), + [anon_sym_AMP_EQ] = ACTIONS(3395), + [anon_sym_CARET_EQ] = ACTIONS(3395), + [anon_sym_PIPE_EQ] = ACTIONS(3395), + [anon_sym_LT_EQ_GT] = ACTIONS(3395), + [anon_sym_DASH_DASH] = ACTIONS(3395), + [anon_sym_PLUS_PLUS] = ACTIONS(3395), + [anon_sym_DOT] = ACTIONS(3393), + [anon_sym_DASH_GT] = ACTIONS(3395), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3393), + [anon_sym_decltype] = ACTIONS(3393), + [anon_sym_virtual] = ACTIONS(3393), + [anon_sym_template] = ACTIONS(3393), + [anon_sym_operator] = ACTIONS(3393), + }, + [1481] = { + [sym_identifier] = ACTIONS(3358), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3360), + [anon_sym_COMMA] = ACTIONS(3360), + [anon_sym_RPAREN] = ACTIONS(3360), + [anon_sym_LPAREN2] = ACTIONS(3360), + [anon_sym_TILDE] = ACTIONS(3360), + [anon_sym_DASH] = ACTIONS(3358), + [anon_sym_PLUS] = ACTIONS(3358), + [anon_sym_STAR] = ACTIONS(3358), + [anon_sym_SLASH] = ACTIONS(3358), + [anon_sym_PERCENT] = ACTIONS(3358), + [anon_sym_PIPE_PIPE] = ACTIONS(3360), + [anon_sym_AMP_AMP] = ACTIONS(3360), + [anon_sym_PIPE] = ACTIONS(3358), + [anon_sym_CARET] = ACTIONS(3358), + [anon_sym_AMP] = ACTIONS(3358), + [anon_sym_EQ_EQ] = ACTIONS(3360), + [anon_sym_BANG_EQ] = ACTIONS(3360), + [anon_sym_GT] = ACTIONS(3358), + [anon_sym_GT_EQ] = ACTIONS(3360), + [anon_sym_LT_EQ] = ACTIONS(3358), + [anon_sym_LT] = ACTIONS(3358), + [anon_sym_LT_LT] = ACTIONS(3358), + [anon_sym_GT_GT] = ACTIONS(3358), + [anon_sym_SEMI] = ACTIONS(3360), + [anon_sym_extern] = ACTIONS(3358), + [anon_sym___attribute__] = ACTIONS(3358), + [anon_sym_COLON_COLON] = ACTIONS(3360), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3360), + [anon_sym___declspec] = ACTIONS(3358), + [anon_sym___based] = ACTIONS(3358), + [anon_sym_LBRACE] = ACTIONS(3360), + [anon_sym_RBRACE] = ACTIONS(3360), + [anon_sym_LBRACK] = ACTIONS(3358), + [anon_sym_EQ] = ACTIONS(3358), + [anon_sym_static] = ACTIONS(3358), + [anon_sym_register] = ACTIONS(3358), + [anon_sym_inline] = ACTIONS(3358), + [anon_sym_thread_local] = ACTIONS(3358), + [anon_sym_const] = ACTIONS(3358), + [anon_sym_volatile] = ACTIONS(3358), + [anon_sym_restrict] = ACTIONS(3358), + [anon_sym__Atomic] = ACTIONS(3358), + [anon_sym_mutable] = ACTIONS(3358), + [anon_sym_constexpr] = ACTIONS(3358), + [anon_sym_constinit] = ACTIONS(3358), + [anon_sym_consteval] = ACTIONS(3358), + [anon_sym_QMARK] = ACTIONS(3360), + [anon_sym_STAR_EQ] = ACTIONS(3360), + [anon_sym_SLASH_EQ] = ACTIONS(3360), + [anon_sym_PERCENT_EQ] = ACTIONS(3360), + [anon_sym_PLUS_EQ] = ACTIONS(3360), + [anon_sym_DASH_EQ] = ACTIONS(3360), + [anon_sym_LT_LT_EQ] = ACTIONS(3360), + [anon_sym_GT_GT_EQ] = ACTIONS(3360), + [anon_sym_AMP_EQ] = ACTIONS(3360), + [anon_sym_CARET_EQ] = ACTIONS(3360), + [anon_sym_PIPE_EQ] = ACTIONS(3360), + [anon_sym_LT_EQ_GT] = ACTIONS(3360), + [anon_sym_DASH_DASH] = ACTIONS(3360), + [anon_sym_PLUS_PLUS] = ACTIONS(3360), + [anon_sym_DOT] = ACTIONS(3358), + [anon_sym_DASH_GT] = ACTIONS(3360), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3358), + [anon_sym_decltype] = ACTIONS(3358), + [anon_sym_virtual] = ACTIONS(3358), + [anon_sym_template] = ACTIONS(3358), + [anon_sym_operator] = ACTIONS(3358), + }, + [1482] = { + [sym_identifier] = ACTIONS(3383), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3385), + [anon_sym_COMMA] = ACTIONS(3385), + [anon_sym_RPAREN] = ACTIONS(3385), + [anon_sym_LPAREN2] = ACTIONS(3385), + [anon_sym_TILDE] = ACTIONS(3385), + [anon_sym_DASH] = ACTIONS(3383), + [anon_sym_PLUS] = ACTIONS(3383), + [anon_sym_STAR] = ACTIONS(3383), + [anon_sym_SLASH] = ACTIONS(3383), + [anon_sym_PERCENT] = ACTIONS(3383), + [anon_sym_PIPE_PIPE] = ACTIONS(3385), + [anon_sym_AMP_AMP] = ACTIONS(3385), + [anon_sym_PIPE] = ACTIONS(3383), + [anon_sym_CARET] = ACTIONS(3383), + [anon_sym_AMP] = ACTIONS(3383), + [anon_sym_EQ_EQ] = ACTIONS(3385), + [anon_sym_BANG_EQ] = ACTIONS(3385), + [anon_sym_GT] = ACTIONS(3383), + [anon_sym_GT_EQ] = ACTIONS(3385), + [anon_sym_LT_EQ] = ACTIONS(3383), + [anon_sym_LT] = ACTIONS(3383), + [anon_sym_LT_LT] = ACTIONS(3383), + [anon_sym_GT_GT] = ACTIONS(3383), + [anon_sym_SEMI] = ACTIONS(3385), + [anon_sym_extern] = ACTIONS(3383), + [anon_sym___attribute__] = ACTIONS(3383), + [anon_sym_COLON_COLON] = ACTIONS(3385), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3385), + [anon_sym___declspec] = ACTIONS(3383), + [anon_sym___based] = ACTIONS(3383), + [anon_sym_LBRACE] = ACTIONS(3385), + [anon_sym_RBRACE] = ACTIONS(3385), + [anon_sym_LBRACK] = ACTIONS(3383), + [anon_sym_EQ] = ACTIONS(3383), + [anon_sym_static] = ACTIONS(3383), + [anon_sym_register] = ACTIONS(3383), + [anon_sym_inline] = ACTIONS(3383), + [anon_sym_thread_local] = ACTIONS(3383), + [anon_sym_const] = ACTIONS(3383), + [anon_sym_volatile] = ACTIONS(3383), + [anon_sym_restrict] = ACTIONS(3383), + [anon_sym__Atomic] = ACTIONS(3383), + [anon_sym_mutable] = ACTIONS(3383), + [anon_sym_constexpr] = ACTIONS(3383), + [anon_sym_constinit] = ACTIONS(3383), + [anon_sym_consteval] = ACTIONS(3383), + [anon_sym_QMARK] = ACTIONS(3385), + [anon_sym_STAR_EQ] = ACTIONS(3385), + [anon_sym_SLASH_EQ] = ACTIONS(3385), + [anon_sym_PERCENT_EQ] = ACTIONS(3385), + [anon_sym_PLUS_EQ] = ACTIONS(3385), + [anon_sym_DASH_EQ] = ACTIONS(3385), + [anon_sym_LT_LT_EQ] = ACTIONS(3385), + [anon_sym_GT_GT_EQ] = ACTIONS(3385), + [anon_sym_AMP_EQ] = ACTIONS(3385), + [anon_sym_CARET_EQ] = ACTIONS(3385), + [anon_sym_PIPE_EQ] = ACTIONS(3385), + [anon_sym_LT_EQ_GT] = ACTIONS(3385), + [anon_sym_DASH_DASH] = ACTIONS(3385), + [anon_sym_PLUS_PLUS] = ACTIONS(3385), + [anon_sym_DOT] = ACTIONS(3383), + [anon_sym_DASH_GT] = ACTIONS(3385), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3383), + [anon_sym_decltype] = ACTIONS(3383), + [anon_sym_virtual] = ACTIONS(3383), + [anon_sym_template] = ACTIONS(3383), + [anon_sym_operator] = ACTIONS(3383), + }, + [1483] = { + [sym_template_argument_list] = STATE(1627), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3304), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3315), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3323), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3328), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3362), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1484] = { + [sym_identifier] = ACTIONS(3397), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3399), + [anon_sym_COMMA] = ACTIONS(3399), + [anon_sym_RPAREN] = ACTIONS(3399), + [anon_sym_LPAREN2] = ACTIONS(3399), + [anon_sym_TILDE] = ACTIONS(3402), + [anon_sym_DASH] = ACTIONS(3404), + [anon_sym_PLUS] = ACTIONS(3404), + [anon_sym_STAR] = ACTIONS(3406), + [anon_sym_SLASH] = ACTIONS(3404), + [anon_sym_PERCENT] = ACTIONS(3404), + [anon_sym_PIPE_PIPE] = ACTIONS(3409), + [anon_sym_AMP_AMP] = ACTIONS(3399), + [anon_sym_PIPE] = ACTIONS(3404), + [anon_sym_CARET] = ACTIONS(3404), + [anon_sym_AMP] = ACTIONS(3406), + [anon_sym_EQ_EQ] = ACTIONS(3409), + [anon_sym_BANG_EQ] = ACTIONS(3409), + [anon_sym_GT] = ACTIONS(3404), + [anon_sym_GT_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ] = ACTIONS(3404), + [anon_sym_LT] = ACTIONS(3404), + [anon_sym_LT_LT] = ACTIONS(3404), + [anon_sym_GT_GT] = ACTIONS(3404), + [anon_sym_extern] = ACTIONS(3397), + [anon_sym___attribute__] = ACTIONS(3397), + [anon_sym_COLON_COLON] = ACTIONS(3402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3402), + [anon_sym___declspec] = ACTIONS(3397), + [anon_sym___based] = ACTIONS(3397), + [anon_sym_LBRACE] = ACTIONS(3402), + [anon_sym_LBRACK] = ACTIONS(3406), + [anon_sym_EQ] = ACTIONS(3406), + [anon_sym_static] = ACTIONS(3397), + [anon_sym_register] = ACTIONS(3397), + [anon_sym_inline] = ACTIONS(3397), + [anon_sym_thread_local] = ACTIONS(3397), + [anon_sym_const] = ACTIONS(3397), + [anon_sym_volatile] = ACTIONS(3397), + [anon_sym_restrict] = ACTIONS(3397), + [anon_sym__Atomic] = ACTIONS(3397), + [anon_sym_mutable] = ACTIONS(3397), + [anon_sym_constexpr] = ACTIONS(3397), + [anon_sym_constinit] = ACTIONS(3397), + [anon_sym_consteval] = ACTIONS(3397), + [anon_sym_QMARK] = ACTIONS(3409), + [anon_sym_STAR_EQ] = ACTIONS(3409), + [anon_sym_SLASH_EQ] = ACTIONS(3409), + [anon_sym_PERCENT_EQ] = ACTIONS(3409), + [anon_sym_PLUS_EQ] = ACTIONS(3409), + [anon_sym_DASH_EQ] = ACTIONS(3409), + [anon_sym_LT_LT_EQ] = ACTIONS(3409), + [anon_sym_GT_GT_EQ] = ACTIONS(3409), + [anon_sym_AMP_EQ] = ACTIONS(3409), + [anon_sym_CARET_EQ] = ACTIONS(3409), + [anon_sym_PIPE_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ_GT] = ACTIONS(3409), + [anon_sym_DASH_DASH] = ACTIONS(3409), + [anon_sym_PLUS_PLUS] = ACTIONS(3409), + [anon_sym_DOT] = ACTIONS(3404), + [anon_sym_DASH_GT] = ACTIONS(3404), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3397), + [anon_sym_decltype] = ACTIONS(3397), + [anon_sym_virtual] = ACTIONS(3397), + [anon_sym_template] = ACTIONS(3397), + [anon_sym_operator] = ACTIONS(3397), + [anon_sym_DOT_STAR] = ACTIONS(3409), + [anon_sym_DASH_GT_STAR] = ACTIONS(3409), + }, + [1485] = { + [sym_template_argument_list] = STATE(1498), + [sym_identifier] = ACTIONS(3338), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3350), + [anon_sym_COMMA] = ACTIONS(3350), + [anon_sym_RPAREN] = ACTIONS(3350), + [anon_sym_LPAREN2] = ACTIONS(3340), + [anon_sym_TILDE] = ACTIONS(3343), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(3347), + [anon_sym_SLASH] = ACTIONS(3345), + [anon_sym_PERCENT] = ACTIONS(3345), + [anon_sym_PIPE_PIPE] = ACTIONS(3350), + [anon_sym_AMP_AMP] = ACTIONS(3340), + [anon_sym_PIPE] = ACTIONS(3345), + [anon_sym_CARET] = ACTIONS(3345), + [anon_sym_AMP] = ACTIONS(3347), + [anon_sym_EQ_EQ] = ACTIONS(3350), + [anon_sym_BANG_EQ] = ACTIONS(3350), + [anon_sym_GT] = ACTIONS(3345), + [anon_sym_GT_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ] = ACTIONS(3345), + [anon_sym_LT] = ACTIONS(3374), + [anon_sym_LT_LT] = ACTIONS(3345), + [anon_sym_GT_GT] = ACTIONS(3345), + [anon_sym_SEMI] = ACTIONS(3350), + [anon_sym_extern] = ACTIONS(3338), + [anon_sym___attribute__] = ACTIONS(3338), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3343), + [anon_sym___declspec] = ACTIONS(3338), + [anon_sym___based] = ACTIONS(3338), + [anon_sym_LBRACE] = ACTIONS(3343), + [anon_sym_LBRACK] = ACTIONS(3347), + [anon_sym_EQ] = ACTIONS(3345), + [anon_sym_static] = ACTIONS(3338), + [anon_sym_register] = ACTIONS(3338), + [anon_sym_inline] = ACTIONS(3338), + [anon_sym_thread_local] = ACTIONS(3338), + [anon_sym_const] = ACTIONS(3338), + [anon_sym_volatile] = ACTIONS(3338), + [anon_sym_restrict] = ACTIONS(3338), + [anon_sym__Atomic] = ACTIONS(3338), + [anon_sym_mutable] = ACTIONS(3338), + [anon_sym_constexpr] = ACTIONS(3338), + [anon_sym_constinit] = ACTIONS(3338), + [anon_sym_consteval] = ACTIONS(3338), + [anon_sym_QMARK] = ACTIONS(3350), + [anon_sym_STAR_EQ] = ACTIONS(3350), + [anon_sym_SLASH_EQ] = ACTIONS(3350), + [anon_sym_PERCENT_EQ] = ACTIONS(3350), + [anon_sym_PLUS_EQ] = ACTIONS(3350), + [anon_sym_DASH_EQ] = ACTIONS(3350), + [anon_sym_LT_LT_EQ] = ACTIONS(3350), + [anon_sym_GT_GT_EQ] = ACTIONS(3350), + [anon_sym_AMP_EQ] = ACTIONS(3350), + [anon_sym_CARET_EQ] = ACTIONS(3350), + [anon_sym_PIPE_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ_GT] = ACTIONS(3350), + [anon_sym_DASH_DASH] = ACTIONS(3350), + [anon_sym_PLUS_PLUS] = ACTIONS(3350), + [anon_sym_DOT] = ACTIONS(3345), + [anon_sym_DASH_GT] = ACTIONS(3350), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3338), + [anon_sym_decltype] = ACTIONS(3338), + [anon_sym_virtual] = ACTIONS(3338), + [anon_sym_template] = ACTIONS(3338), + [anon_sym_operator] = ACTIONS(3338), + }, + [1486] = { + [sym_identifier] = ACTIONS(3366), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3368), + [anon_sym_COMMA] = ACTIONS(3368), + [anon_sym_RPAREN] = ACTIONS(3368), + [anon_sym_LPAREN2] = ACTIONS(3368), + [anon_sym_TILDE] = ACTIONS(3368), + [anon_sym_DASH] = ACTIONS(3366), + [anon_sym_PLUS] = ACTIONS(3366), + [anon_sym_STAR] = ACTIONS(3366), + [anon_sym_SLASH] = ACTIONS(3366), + [anon_sym_PERCENT] = ACTIONS(3366), + [anon_sym_PIPE_PIPE] = ACTIONS(3368), + [anon_sym_AMP_AMP] = ACTIONS(3368), + [anon_sym_PIPE] = ACTIONS(3366), + [anon_sym_CARET] = ACTIONS(3366), + [anon_sym_AMP] = ACTIONS(3366), + [anon_sym_EQ_EQ] = ACTIONS(3368), + [anon_sym_BANG_EQ] = ACTIONS(3368), + [anon_sym_GT] = ACTIONS(3366), + [anon_sym_GT_EQ] = ACTIONS(3368), + [anon_sym_LT_EQ] = ACTIONS(3366), + [anon_sym_LT] = ACTIONS(3366), + [anon_sym_LT_LT] = ACTIONS(3366), + [anon_sym_GT_GT] = ACTIONS(3366), + [anon_sym_SEMI] = ACTIONS(3368), + [anon_sym_extern] = ACTIONS(3366), + [anon_sym___attribute__] = ACTIONS(3366), + [anon_sym_COLON_COLON] = ACTIONS(3368), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3368), + [anon_sym___declspec] = ACTIONS(3366), + [anon_sym___based] = ACTIONS(3366), + [anon_sym_LBRACE] = ACTIONS(3368), + [anon_sym_RBRACE] = ACTIONS(3368), + [anon_sym_LBRACK] = ACTIONS(3366), + [anon_sym_EQ] = ACTIONS(3366), + [anon_sym_static] = ACTIONS(3366), + [anon_sym_register] = ACTIONS(3366), + [anon_sym_inline] = ACTIONS(3366), + [anon_sym_thread_local] = ACTIONS(3366), + [anon_sym_const] = ACTIONS(3366), + [anon_sym_volatile] = ACTIONS(3366), + [anon_sym_restrict] = ACTIONS(3366), + [anon_sym__Atomic] = ACTIONS(3366), + [anon_sym_mutable] = ACTIONS(3366), + [anon_sym_constexpr] = ACTIONS(3366), + [anon_sym_constinit] = ACTIONS(3366), + [anon_sym_consteval] = ACTIONS(3366), + [anon_sym_QMARK] = ACTIONS(3368), + [anon_sym_STAR_EQ] = ACTIONS(3368), + [anon_sym_SLASH_EQ] = ACTIONS(3368), + [anon_sym_PERCENT_EQ] = ACTIONS(3368), + [anon_sym_PLUS_EQ] = ACTIONS(3368), + [anon_sym_DASH_EQ] = ACTIONS(3368), + [anon_sym_LT_LT_EQ] = ACTIONS(3368), + [anon_sym_GT_GT_EQ] = ACTIONS(3368), + [anon_sym_AMP_EQ] = ACTIONS(3368), + [anon_sym_CARET_EQ] = ACTIONS(3368), + [anon_sym_PIPE_EQ] = ACTIONS(3368), + [anon_sym_LT_EQ_GT] = ACTIONS(3368), + [anon_sym_DASH_DASH] = ACTIONS(3368), + [anon_sym_PLUS_PLUS] = ACTIONS(3368), + [anon_sym_DOT] = ACTIONS(3366), + [anon_sym_DASH_GT] = ACTIONS(3368), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3366), + [anon_sym_decltype] = ACTIONS(3366), + [anon_sym_virtual] = ACTIONS(3366), + [anon_sym_template] = ACTIONS(3366), + [anon_sym_operator] = ACTIONS(3366), + }, + [1487] = { + [sym_identifier] = ACTIONS(3377), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3379), + [anon_sym_COMMA] = ACTIONS(3379), + [anon_sym_RPAREN] = ACTIONS(3379), + [anon_sym_LPAREN2] = ACTIONS(3379), + [anon_sym_TILDE] = ACTIONS(3379), + [anon_sym_DASH] = ACTIONS(3377), + [anon_sym_PLUS] = ACTIONS(3377), + [anon_sym_STAR] = ACTIONS(3377), + [anon_sym_SLASH] = ACTIONS(3377), + [anon_sym_PERCENT] = ACTIONS(3377), + [anon_sym_PIPE_PIPE] = ACTIONS(3379), + [anon_sym_AMP_AMP] = ACTIONS(3379), + [anon_sym_PIPE] = ACTIONS(3377), + [anon_sym_CARET] = ACTIONS(3377), + [anon_sym_AMP] = ACTIONS(3377), + [anon_sym_EQ_EQ] = ACTIONS(3379), + [anon_sym_BANG_EQ] = ACTIONS(3379), + [anon_sym_GT] = ACTIONS(3377), + [anon_sym_GT_EQ] = ACTIONS(3379), + [anon_sym_LT_EQ] = ACTIONS(3377), + [anon_sym_LT] = ACTIONS(3377), + [anon_sym_LT_LT] = ACTIONS(3377), + [anon_sym_GT_GT] = ACTIONS(3377), + [anon_sym_SEMI] = ACTIONS(3379), + [anon_sym_extern] = ACTIONS(3377), + [anon_sym___attribute__] = ACTIONS(3377), + [anon_sym_COLON_COLON] = ACTIONS(3379), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3379), + [anon_sym___declspec] = ACTIONS(3377), + [anon_sym___based] = ACTIONS(3377), + [anon_sym_LBRACE] = ACTIONS(3379), + [anon_sym_RBRACE] = ACTIONS(3379), + [anon_sym_LBRACK] = ACTIONS(3377), + [anon_sym_EQ] = ACTIONS(3377), + [anon_sym_static] = ACTIONS(3377), + [anon_sym_register] = ACTIONS(3377), + [anon_sym_inline] = ACTIONS(3377), + [anon_sym_thread_local] = ACTIONS(3377), + [anon_sym_const] = ACTIONS(3377), + [anon_sym_volatile] = ACTIONS(3377), + [anon_sym_restrict] = ACTIONS(3377), + [anon_sym__Atomic] = ACTIONS(3377), + [anon_sym_mutable] = ACTIONS(3377), + [anon_sym_constexpr] = ACTIONS(3377), + [anon_sym_constinit] = ACTIONS(3377), + [anon_sym_consteval] = ACTIONS(3377), + [anon_sym_QMARK] = ACTIONS(3379), + [anon_sym_STAR_EQ] = ACTIONS(3379), + [anon_sym_SLASH_EQ] = ACTIONS(3379), + [anon_sym_PERCENT_EQ] = ACTIONS(3379), + [anon_sym_PLUS_EQ] = ACTIONS(3379), + [anon_sym_DASH_EQ] = ACTIONS(3379), + [anon_sym_LT_LT_EQ] = ACTIONS(3379), + [anon_sym_GT_GT_EQ] = ACTIONS(3379), + [anon_sym_AMP_EQ] = ACTIONS(3379), + [anon_sym_CARET_EQ] = ACTIONS(3379), + [anon_sym_PIPE_EQ] = ACTIONS(3379), + [anon_sym_LT_EQ_GT] = ACTIONS(3379), + [anon_sym_DASH_DASH] = ACTIONS(3379), + [anon_sym_PLUS_PLUS] = ACTIONS(3379), + [anon_sym_DOT] = ACTIONS(3377), + [anon_sym_DASH_GT] = ACTIONS(3379), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3377), + [anon_sym_decltype] = ACTIONS(3377), + [anon_sym_virtual] = ACTIONS(3377), + [anon_sym_template] = ACTIONS(3377), + [anon_sym_operator] = ACTIONS(3377), + }, + [1488] = { + [sym_identifier] = ACTIONS(3389), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3391), + [anon_sym_COMMA] = ACTIONS(3391), + [anon_sym_RPAREN] = ACTIONS(3391), + [anon_sym_LPAREN2] = ACTIONS(3391), + [anon_sym_TILDE] = ACTIONS(3391), + [anon_sym_DASH] = ACTIONS(3389), + [anon_sym_PLUS] = ACTIONS(3389), + [anon_sym_STAR] = ACTIONS(3389), + [anon_sym_SLASH] = ACTIONS(3389), + [anon_sym_PERCENT] = ACTIONS(3389), + [anon_sym_PIPE_PIPE] = ACTIONS(3391), + [anon_sym_AMP_AMP] = ACTIONS(3391), + [anon_sym_PIPE] = ACTIONS(3389), + [anon_sym_CARET] = ACTIONS(3389), + [anon_sym_AMP] = ACTIONS(3389), + [anon_sym_EQ_EQ] = ACTIONS(3391), + [anon_sym_BANG_EQ] = ACTIONS(3391), + [anon_sym_GT] = ACTIONS(3389), + [anon_sym_GT_EQ] = ACTIONS(3391), + [anon_sym_LT_EQ] = ACTIONS(3389), + [anon_sym_LT] = ACTIONS(3389), + [anon_sym_LT_LT] = ACTIONS(3389), + [anon_sym_GT_GT] = ACTIONS(3389), + [anon_sym_SEMI] = ACTIONS(3391), + [anon_sym_extern] = ACTIONS(3389), + [anon_sym___attribute__] = ACTIONS(3389), + [anon_sym_COLON_COLON] = ACTIONS(3391), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3391), + [anon_sym___declspec] = ACTIONS(3389), + [anon_sym___based] = ACTIONS(3389), + [anon_sym_LBRACE] = ACTIONS(3391), + [anon_sym_RBRACE] = ACTIONS(3391), + [anon_sym_LBRACK] = ACTIONS(3389), + [anon_sym_EQ] = ACTIONS(3389), + [anon_sym_static] = ACTIONS(3389), + [anon_sym_register] = ACTIONS(3389), + [anon_sym_inline] = ACTIONS(3389), + [anon_sym_thread_local] = ACTIONS(3389), + [anon_sym_const] = ACTIONS(3389), + [anon_sym_volatile] = ACTIONS(3389), + [anon_sym_restrict] = ACTIONS(3389), + [anon_sym__Atomic] = ACTIONS(3389), + [anon_sym_mutable] = ACTIONS(3389), + [anon_sym_constexpr] = ACTIONS(3389), + [anon_sym_constinit] = ACTIONS(3389), + [anon_sym_consteval] = ACTIONS(3389), + [anon_sym_QMARK] = ACTIONS(3391), + [anon_sym_STAR_EQ] = ACTIONS(3391), + [anon_sym_SLASH_EQ] = ACTIONS(3391), + [anon_sym_PERCENT_EQ] = ACTIONS(3391), + [anon_sym_PLUS_EQ] = ACTIONS(3391), + [anon_sym_DASH_EQ] = ACTIONS(3391), + [anon_sym_LT_LT_EQ] = ACTIONS(3391), + [anon_sym_GT_GT_EQ] = ACTIONS(3391), + [anon_sym_AMP_EQ] = ACTIONS(3391), + [anon_sym_CARET_EQ] = ACTIONS(3391), + [anon_sym_PIPE_EQ] = ACTIONS(3391), + [anon_sym_LT_EQ_GT] = ACTIONS(3391), + [anon_sym_DASH_DASH] = ACTIONS(3391), + [anon_sym_PLUS_PLUS] = ACTIONS(3391), + [anon_sym_DOT] = ACTIONS(3389), + [anon_sym_DASH_GT] = ACTIONS(3391), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3389), + [anon_sym_decltype] = ACTIONS(3389), + [anon_sym_virtual] = ACTIONS(3389), + [anon_sym_template] = ACTIONS(3389), + [anon_sym_operator] = ACTIONS(3389), + }, + [1489] = { + [sym_identifier] = ACTIONS(3393), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3395), + [anon_sym_COMMA] = ACTIONS(3395), + [anon_sym_RPAREN] = ACTIONS(3395), + [anon_sym_LPAREN2] = ACTIONS(3395), + [anon_sym_TILDE] = ACTIONS(3395), + [anon_sym_DASH] = ACTIONS(3393), + [anon_sym_PLUS] = ACTIONS(3393), + [anon_sym_STAR] = ACTIONS(3393), + [anon_sym_SLASH] = ACTIONS(3393), + [anon_sym_PERCENT] = ACTIONS(3393), + [anon_sym_PIPE_PIPE] = ACTIONS(3395), + [anon_sym_AMP_AMP] = ACTIONS(3395), + [anon_sym_PIPE] = ACTIONS(3393), + [anon_sym_CARET] = ACTIONS(3393), + [anon_sym_AMP] = ACTIONS(3393), + [anon_sym_EQ_EQ] = ACTIONS(3395), + [anon_sym_BANG_EQ] = ACTIONS(3395), + [anon_sym_GT] = ACTIONS(3393), + [anon_sym_GT_EQ] = ACTIONS(3395), + [anon_sym_LT_EQ] = ACTIONS(3393), + [anon_sym_LT] = ACTIONS(3393), + [anon_sym_LT_LT] = ACTIONS(3393), + [anon_sym_GT_GT] = ACTIONS(3393), + [anon_sym_extern] = ACTIONS(3393), + [anon_sym___attribute__] = ACTIONS(3393), + [anon_sym_COLON_COLON] = ACTIONS(3395), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3395), + [anon_sym___declspec] = ACTIONS(3393), + [anon_sym___based] = ACTIONS(3393), + [anon_sym_LBRACE] = ACTIONS(3395), + [anon_sym_LBRACK] = ACTIONS(3393), + [anon_sym_EQ] = ACTIONS(3393), + [anon_sym_static] = ACTIONS(3393), + [anon_sym_register] = ACTIONS(3393), + [anon_sym_inline] = ACTIONS(3393), + [anon_sym_thread_local] = ACTIONS(3393), + [anon_sym_const] = ACTIONS(3393), + [anon_sym_volatile] = ACTIONS(3393), + [anon_sym_restrict] = ACTIONS(3393), + [anon_sym__Atomic] = ACTIONS(3393), + [anon_sym_mutable] = ACTIONS(3393), + [anon_sym_constexpr] = ACTIONS(3393), + [anon_sym_constinit] = ACTIONS(3393), + [anon_sym_consteval] = ACTIONS(3393), + [anon_sym_QMARK] = ACTIONS(3395), + [anon_sym_STAR_EQ] = ACTIONS(3395), + [anon_sym_SLASH_EQ] = ACTIONS(3395), + [anon_sym_PERCENT_EQ] = ACTIONS(3395), + [anon_sym_PLUS_EQ] = ACTIONS(3395), + [anon_sym_DASH_EQ] = ACTIONS(3395), + [anon_sym_LT_LT_EQ] = ACTIONS(3395), + [anon_sym_GT_GT_EQ] = ACTIONS(3395), + [anon_sym_AMP_EQ] = ACTIONS(3395), + [anon_sym_CARET_EQ] = ACTIONS(3395), + [anon_sym_PIPE_EQ] = ACTIONS(3395), + [anon_sym_LT_EQ_GT] = ACTIONS(3395), + [anon_sym_DASH_DASH] = ACTIONS(3395), + [anon_sym_PLUS_PLUS] = ACTIONS(3395), + [anon_sym_DOT] = ACTIONS(3393), + [anon_sym_DASH_GT] = ACTIONS(3393), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3393), + [anon_sym_decltype] = ACTIONS(3393), + [anon_sym_virtual] = ACTIONS(3393), + [anon_sym_template] = ACTIONS(3393), + [anon_sym_operator] = ACTIONS(3393), + [anon_sym_DOT_STAR] = ACTIONS(3395), + [anon_sym_DASH_GT_STAR] = ACTIONS(3395), + }, + [1490] = { + [sym_template_argument_list] = STATE(1627), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3302), + [anon_sym_COMMA] = ACTIONS(3302), + [anon_sym_LPAREN2] = ACTIONS(3304), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_SEMI] = ACTIONS(3315), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3323), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3328), + [anon_sym_EQ] = ACTIONS(3332), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_COLON] = ACTIONS(3364), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1491] = { + [sym_template_argument_list] = STATE(1618), + [sym_identifier] = ACTIONS(3300), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3315), + [anon_sym_COMMA] = ACTIONS(3315), + [anon_sym_RPAREN] = ACTIONS(3315), + [anon_sym_LPAREN2] = ACTIONS(3315), + [anon_sym_TILDE] = ACTIONS(3308), + [anon_sym_DASH] = ACTIONS(3310), + [anon_sym_PLUS] = ACTIONS(3310), + [anon_sym_STAR] = ACTIONS(3312), + [anon_sym_SLASH] = ACTIONS(3310), + [anon_sym_PERCENT] = ACTIONS(3310), + [anon_sym_PIPE_PIPE] = ACTIONS(3302), + [anon_sym_AMP_AMP] = ACTIONS(3315), + [anon_sym_PIPE] = ACTIONS(3310), + [anon_sym_CARET] = ACTIONS(3310), + [anon_sym_AMP] = ACTIONS(3312), + [anon_sym_EQ_EQ] = ACTIONS(3302), + [anon_sym_BANG_EQ] = ACTIONS(3302), + [anon_sym_GT] = ACTIONS(3310), + [anon_sym_GT_EQ] = ACTIONS(3302), + [anon_sym_LT_EQ] = ACTIONS(3310), + [anon_sym_LT] = ACTIONS(3318), + [anon_sym_LT_LT] = ACTIONS(3310), + [anon_sym_GT_GT] = ACTIONS(3310), + [anon_sym_extern] = ACTIONS(3300), + [anon_sym___attribute__] = ACTIONS(3300), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3308), + [anon_sym___declspec] = ACTIONS(3300), + [anon_sym___based] = ACTIONS(3300), + [anon_sym_LBRACE] = ACTIONS(3326), + [anon_sym_LBRACK] = ACTIONS(3312), + [anon_sym_EQ] = ACTIONS(3300), + [anon_sym_static] = ACTIONS(3300), + [anon_sym_register] = ACTIONS(3300), + [anon_sym_inline] = ACTIONS(3300), + [anon_sym_thread_local] = ACTIONS(3300), + [anon_sym_const] = ACTIONS(3300), + [anon_sym_volatile] = ACTIONS(3300), + [anon_sym_restrict] = ACTIONS(3300), + [anon_sym__Atomic] = ACTIONS(3300), + [anon_sym_mutable] = ACTIONS(3300), + [anon_sym_constexpr] = ACTIONS(3300), + [anon_sym_constinit] = ACTIONS(3300), + [anon_sym_consteval] = ACTIONS(3300), + [anon_sym_QMARK] = ACTIONS(3302), + [anon_sym_STAR_EQ] = ACTIONS(3336), + [anon_sym_SLASH_EQ] = ACTIONS(3336), + [anon_sym_PERCENT_EQ] = ACTIONS(3336), + [anon_sym_PLUS_EQ] = ACTIONS(3336), + [anon_sym_DASH_EQ] = ACTIONS(3336), + [anon_sym_LT_LT_EQ] = ACTIONS(3336), + [anon_sym_GT_GT_EQ] = ACTIONS(3336), + [anon_sym_AMP_EQ] = ACTIONS(3336), + [anon_sym_CARET_EQ] = ACTIONS(3336), + [anon_sym_PIPE_EQ] = ACTIONS(3336), + [anon_sym_LT_EQ_GT] = ACTIONS(3302), + [anon_sym_DASH_DASH] = ACTIONS(3302), + [anon_sym_PLUS_PLUS] = ACTIONS(3302), + [anon_sym_DOT] = ACTIONS(3310), + [anon_sym_DASH_GT] = ACTIONS(3302), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3300), + [anon_sym_decltype] = ACTIONS(3300), + [anon_sym_virtual] = ACTIONS(3300), + [anon_sym_template] = ACTIONS(3300), + [anon_sym_operator] = ACTIONS(3300), + }, + [1492] = { + [sym_template_argument_list] = STATE(1500), + [sym_identifier] = ACTIONS(3338), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3340), + [anon_sym_COMMA] = ACTIONS(3340), + [anon_sym_RPAREN] = ACTIONS(3340), + [anon_sym_LPAREN2] = ACTIONS(3340), + [anon_sym_TILDE] = ACTIONS(3343), + [anon_sym_DASH] = ACTIONS(3345), + [anon_sym_PLUS] = ACTIONS(3345), + [anon_sym_STAR] = ACTIONS(3347), + [anon_sym_SLASH] = ACTIONS(3345), + [anon_sym_PERCENT] = ACTIONS(3345), + [anon_sym_PIPE_PIPE] = ACTIONS(3350), + [anon_sym_AMP_AMP] = ACTIONS(3340), + [anon_sym_PIPE] = ACTIONS(3345), + [anon_sym_CARET] = ACTIONS(3345), + [anon_sym_AMP] = ACTIONS(3347), + [anon_sym_EQ_EQ] = ACTIONS(3350), + [anon_sym_BANG_EQ] = ACTIONS(3350), + [anon_sym_GT] = ACTIONS(3345), + [anon_sym_GT_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ] = ACTIONS(3345), + [anon_sym_LT] = ACTIONS(3374), + [anon_sym_LT_LT] = ACTIONS(3345), + [anon_sym_GT_GT] = ACTIONS(3345), + [anon_sym_extern] = ACTIONS(3338), + [anon_sym___attribute__] = ACTIONS(3338), + [anon_sym_COLON_COLON] = ACTIONS(3321), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3343), + [anon_sym___declspec] = ACTIONS(3338), + [anon_sym___based] = ACTIONS(3338), + [anon_sym_LBRACE] = ACTIONS(3343), + [anon_sym_LBRACK] = ACTIONS(3347), + [anon_sym_EQ] = ACTIONS(3347), + [anon_sym_static] = ACTIONS(3338), + [anon_sym_register] = ACTIONS(3338), + [anon_sym_inline] = ACTIONS(3338), + [anon_sym_thread_local] = ACTIONS(3338), + [anon_sym_const] = ACTIONS(3338), + [anon_sym_volatile] = ACTIONS(3338), + [anon_sym_restrict] = ACTIONS(3338), + [anon_sym__Atomic] = ACTIONS(3338), + [anon_sym_mutable] = ACTIONS(3338), + [anon_sym_constexpr] = ACTIONS(3338), + [anon_sym_constinit] = ACTIONS(3338), + [anon_sym_consteval] = ACTIONS(3338), + [anon_sym_QMARK] = ACTIONS(3350), + [anon_sym_STAR_EQ] = ACTIONS(3350), + [anon_sym_SLASH_EQ] = ACTIONS(3350), + [anon_sym_PERCENT_EQ] = ACTIONS(3350), + [anon_sym_PLUS_EQ] = ACTIONS(3350), + [anon_sym_DASH_EQ] = ACTIONS(3350), + [anon_sym_LT_LT_EQ] = ACTIONS(3350), + [anon_sym_GT_GT_EQ] = ACTIONS(3350), + [anon_sym_AMP_EQ] = ACTIONS(3350), + [anon_sym_CARET_EQ] = ACTIONS(3350), + [anon_sym_PIPE_EQ] = ACTIONS(3350), + [anon_sym_LT_EQ_GT] = ACTIONS(3350), + [anon_sym_DASH_DASH] = ACTIONS(3350), + [anon_sym_PLUS_PLUS] = ACTIONS(3350), + [anon_sym_DOT] = ACTIONS(3345), + [anon_sym_DASH_GT] = ACTIONS(3350), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3338), + [anon_sym_decltype] = ACTIONS(3338), + [anon_sym_virtual] = ACTIONS(3338), + [anon_sym_template] = ACTIONS(3338), + [anon_sym_operator] = ACTIONS(3338), + }, + [1493] = { + [sym_function_definition] = STATE(453), + [sym_declaration] = STATE(453), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3695), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_call_modifier] = STATE(1571), + [sym_declaration_list] = STATE(453), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2543), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(3411), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + }, + [1494] = { + [sym_function_definition] = STATE(840), + [sym_declaration] = STATE(840), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3709), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_call_modifier] = STATE(1569), + [sym_declaration_list] = STATE(840), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2543), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(3413), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + }, + [1495] = { + [sym_function_definition] = STATE(715), + [sym_declaration] = STATE(715), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3699), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_call_modifier] = STATE(1568), + [sym_declaration_list] = STATE(715), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2543), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(3415), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + }, + [1496] = { + [sym_identifier] = ACTIONS(3397), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3409), + [anon_sym_COMMA] = ACTIONS(3409), + [anon_sym_LPAREN2] = ACTIONS(3399), + [anon_sym_TILDE] = ACTIONS(3402), + [anon_sym_DASH] = ACTIONS(3404), + [anon_sym_PLUS] = ACTIONS(3404), + [anon_sym_STAR] = ACTIONS(3406), + [anon_sym_SLASH] = ACTIONS(3404), + [anon_sym_PERCENT] = ACTIONS(3404), + [anon_sym_PIPE_PIPE] = ACTIONS(3409), + [anon_sym_AMP_AMP] = ACTIONS(3399), + [anon_sym_PIPE] = ACTIONS(3404), + [anon_sym_CARET] = ACTIONS(3404), + [anon_sym_AMP] = ACTIONS(3406), + [anon_sym_EQ_EQ] = ACTIONS(3409), + [anon_sym_BANG_EQ] = ACTIONS(3409), + [anon_sym_GT] = ACTIONS(3404), + [anon_sym_GT_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ] = ACTIONS(3404), + [anon_sym_LT] = ACTIONS(3404), + [anon_sym_LT_LT] = ACTIONS(3404), + [anon_sym_GT_GT] = ACTIONS(3404), + [anon_sym_SEMI] = ACTIONS(3399), + [anon_sym_extern] = ACTIONS(3397), + [anon_sym___attribute__] = ACTIONS(3397), + [anon_sym_COLON_COLON] = ACTIONS(3402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3399), + [anon_sym___declspec] = ACTIONS(3397), + [anon_sym___based] = ACTIONS(3397), + [anon_sym_LBRACE] = ACTIONS(3402), + [anon_sym_RBRACE] = ACTIONS(3409), + [anon_sym_LBRACK] = ACTIONS(3406), + [anon_sym_EQ] = ACTIONS(3404), + [anon_sym_static] = ACTIONS(3397), + [anon_sym_register] = ACTIONS(3397), + [anon_sym_inline] = ACTIONS(3397), + [anon_sym_thread_local] = ACTIONS(3397), + [anon_sym_const] = ACTIONS(3397), + [anon_sym_volatile] = ACTIONS(3397), + [anon_sym_restrict] = ACTIONS(3397), + [anon_sym__Atomic] = ACTIONS(3397), + [anon_sym_mutable] = ACTIONS(3397), + [anon_sym_constexpr] = ACTIONS(3397), + [anon_sym_constinit] = ACTIONS(3397), + [anon_sym_consteval] = ACTIONS(3397), + [anon_sym_QMARK] = ACTIONS(3409), + [anon_sym_STAR_EQ] = ACTIONS(3409), + [anon_sym_SLASH_EQ] = ACTIONS(3409), + [anon_sym_PERCENT_EQ] = ACTIONS(3409), + [anon_sym_PLUS_EQ] = ACTIONS(3409), + [anon_sym_DASH_EQ] = ACTIONS(3409), + [anon_sym_LT_LT_EQ] = ACTIONS(3409), + [anon_sym_GT_GT_EQ] = ACTIONS(3409), + [anon_sym_AMP_EQ] = ACTIONS(3409), + [anon_sym_CARET_EQ] = ACTIONS(3409), + [anon_sym_PIPE_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ_GT] = ACTIONS(3409), + [anon_sym_DASH_DASH] = ACTIONS(3409), + [anon_sym_PLUS_PLUS] = ACTIONS(3409), + [anon_sym_DOT] = ACTIONS(3404), + [anon_sym_DASH_GT] = ACTIONS(3409), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3397), + [anon_sym_decltype] = ACTIONS(3397), + [anon_sym_virtual] = ACTIONS(3397), + [anon_sym_template] = ACTIONS(3397), + [anon_sym_operator] = ACTIONS(3397), + }, + [1497] = { + [sym_function_definition] = STATE(804), + [sym_declaration] = STATE(804), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3689), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_call_modifier] = STATE(1610), + [sym_declaration_list] = STATE(804), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2543), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(3417), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(65), + [anon_sym_struct] = ACTIONS(67), + [anon_sym_union] = ACTIONS(69), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + }, + [1498] = { + [sym_identifier] = ACTIONS(3397), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3409), + [anon_sym_COMMA] = ACTIONS(3409), + [anon_sym_RPAREN] = ACTIONS(3409), + [anon_sym_LPAREN2] = ACTIONS(3399), + [anon_sym_TILDE] = ACTIONS(3402), + [anon_sym_DASH] = ACTIONS(3404), + [anon_sym_PLUS] = ACTIONS(3404), + [anon_sym_STAR] = ACTIONS(3406), + [anon_sym_SLASH] = ACTIONS(3404), + [anon_sym_PERCENT] = ACTIONS(3404), + [anon_sym_PIPE_PIPE] = ACTIONS(3409), + [anon_sym_AMP_AMP] = ACTIONS(3399), + [anon_sym_PIPE] = ACTIONS(3404), + [anon_sym_CARET] = ACTIONS(3404), + [anon_sym_AMP] = ACTIONS(3406), + [anon_sym_EQ_EQ] = ACTIONS(3409), + [anon_sym_BANG_EQ] = ACTIONS(3409), + [anon_sym_GT] = ACTIONS(3404), + [anon_sym_GT_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ] = ACTIONS(3404), + [anon_sym_LT] = ACTIONS(3404), + [anon_sym_LT_LT] = ACTIONS(3404), + [anon_sym_GT_GT] = ACTIONS(3404), + [anon_sym_SEMI] = ACTIONS(3409), + [anon_sym_extern] = ACTIONS(3397), + [anon_sym___attribute__] = ACTIONS(3397), + [anon_sym_COLON_COLON] = ACTIONS(3402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3402), + [anon_sym___declspec] = ACTIONS(3397), + [anon_sym___based] = ACTIONS(3397), + [anon_sym_LBRACE] = ACTIONS(3402), + [anon_sym_LBRACK] = ACTIONS(3406), + [anon_sym_EQ] = ACTIONS(3404), + [anon_sym_static] = ACTIONS(3397), + [anon_sym_register] = ACTIONS(3397), + [anon_sym_inline] = ACTIONS(3397), + [anon_sym_thread_local] = ACTIONS(3397), + [anon_sym_const] = ACTIONS(3397), + [anon_sym_volatile] = ACTIONS(3397), + [anon_sym_restrict] = ACTIONS(3397), + [anon_sym__Atomic] = ACTIONS(3397), + [anon_sym_mutable] = ACTIONS(3397), + [anon_sym_constexpr] = ACTIONS(3397), + [anon_sym_constinit] = ACTIONS(3397), + [anon_sym_consteval] = ACTIONS(3397), + [anon_sym_QMARK] = ACTIONS(3409), + [anon_sym_STAR_EQ] = ACTIONS(3409), + [anon_sym_SLASH_EQ] = ACTIONS(3409), + [anon_sym_PERCENT_EQ] = ACTIONS(3409), + [anon_sym_PLUS_EQ] = ACTIONS(3409), + [anon_sym_DASH_EQ] = ACTIONS(3409), + [anon_sym_LT_LT_EQ] = ACTIONS(3409), + [anon_sym_GT_GT_EQ] = ACTIONS(3409), + [anon_sym_AMP_EQ] = ACTIONS(3409), + [anon_sym_CARET_EQ] = ACTIONS(3409), + [anon_sym_PIPE_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ_GT] = ACTIONS(3409), + [anon_sym_DASH_DASH] = ACTIONS(3409), + [anon_sym_PLUS_PLUS] = ACTIONS(3409), + [anon_sym_DOT] = ACTIONS(3404), + [anon_sym_DASH_GT] = ACTIONS(3409), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3397), + [anon_sym_decltype] = ACTIONS(3397), + [anon_sym_virtual] = ACTIONS(3397), + [anon_sym_template] = ACTIONS(3397), + [anon_sym_operator] = ACTIONS(3397), + }, + [1499] = { + [sym_function_definition] = STATE(1802), + [sym_declaration] = STATE(1802), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3719), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_call_modifier] = STATE(1561), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(6314), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3265), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(3271), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(3419), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(3421), + [anon_sym_struct] = ACTIONS(3423), + [anon_sym_union] = ACTIONS(3425), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + }, + [1500] = { + [sym_identifier] = ACTIONS(3397), + [anon_sym_DOT_DOT_DOT] = ACTIONS(3399), + [anon_sym_COMMA] = ACTIONS(3399), + [anon_sym_RPAREN] = ACTIONS(3399), + [anon_sym_LPAREN2] = ACTIONS(3399), + [anon_sym_TILDE] = ACTIONS(3402), + [anon_sym_DASH] = ACTIONS(3404), + [anon_sym_PLUS] = ACTIONS(3404), + [anon_sym_STAR] = ACTIONS(3406), + [anon_sym_SLASH] = ACTIONS(3404), + [anon_sym_PERCENT] = ACTIONS(3404), + [anon_sym_PIPE_PIPE] = ACTIONS(3409), + [anon_sym_AMP_AMP] = ACTIONS(3399), + [anon_sym_PIPE] = ACTIONS(3404), + [anon_sym_CARET] = ACTIONS(3404), + [anon_sym_AMP] = ACTIONS(3406), + [anon_sym_EQ_EQ] = ACTIONS(3409), + [anon_sym_BANG_EQ] = ACTIONS(3409), + [anon_sym_GT] = ACTIONS(3404), + [anon_sym_GT_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ] = ACTIONS(3404), + [anon_sym_LT] = ACTIONS(3404), + [anon_sym_LT_LT] = ACTIONS(3404), + [anon_sym_GT_GT] = ACTIONS(3404), + [anon_sym_extern] = ACTIONS(3397), + [anon_sym___attribute__] = ACTIONS(3397), + [anon_sym_COLON_COLON] = ACTIONS(3402), + [anon_sym_LBRACK_LBRACK] = ACTIONS(3402), + [anon_sym___declspec] = ACTIONS(3397), + [anon_sym___based] = ACTIONS(3397), + [anon_sym_LBRACE] = ACTIONS(3402), + [anon_sym_LBRACK] = ACTIONS(3406), + [anon_sym_EQ] = ACTIONS(3406), + [anon_sym_static] = ACTIONS(3397), + [anon_sym_register] = ACTIONS(3397), + [anon_sym_inline] = ACTIONS(3397), + [anon_sym_thread_local] = ACTIONS(3397), + [anon_sym_const] = ACTIONS(3397), + [anon_sym_volatile] = ACTIONS(3397), + [anon_sym_restrict] = ACTIONS(3397), + [anon_sym__Atomic] = ACTIONS(3397), + [anon_sym_mutable] = ACTIONS(3397), + [anon_sym_constexpr] = ACTIONS(3397), + [anon_sym_constinit] = ACTIONS(3397), + [anon_sym_consteval] = ACTIONS(3397), + [anon_sym_QMARK] = ACTIONS(3409), + [anon_sym_STAR_EQ] = ACTIONS(3409), + [anon_sym_SLASH_EQ] = ACTIONS(3409), + [anon_sym_PERCENT_EQ] = ACTIONS(3409), + [anon_sym_PLUS_EQ] = ACTIONS(3409), + [anon_sym_DASH_EQ] = ACTIONS(3409), + [anon_sym_LT_LT_EQ] = ACTIONS(3409), + [anon_sym_GT_GT_EQ] = ACTIONS(3409), + [anon_sym_AMP_EQ] = ACTIONS(3409), + [anon_sym_CARET_EQ] = ACTIONS(3409), + [anon_sym_PIPE_EQ] = ACTIONS(3409), + [anon_sym_LT_EQ_GT] = ACTIONS(3409), + [anon_sym_DASH_DASH] = ACTIONS(3409), + [anon_sym_PLUS_PLUS] = ACTIONS(3409), + [anon_sym_DOT] = ACTIONS(3404), + [anon_sym_DASH_GT] = ACTIONS(3409), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(3397), + [anon_sym_decltype] = ACTIONS(3397), + [anon_sym_virtual] = ACTIONS(3397), + [anon_sym_template] = ACTIONS(3397), + [anon_sym_operator] = ACTIONS(3397), + }, + [1501] = { + [sym_function_definition] = STATE(1612), + [sym_declaration] = STATE(1612), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3688), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_call_modifier] = STATE(1560), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(6492), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3265), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(3271), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(3419), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(3427), + [anon_sym_struct] = ACTIONS(3429), + [anon_sym_union] = ACTIONS(3431), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + }, + [1502] = { + [sym_function_definition] = STATE(1671), + [sym_declaration] = STATE(1671), + [sym__declaration_modifiers] = STATE(1657), + [sym__declaration_specifiers] = STATE(3723), + [sym_attribute_specifier] = STATE(1657), + [sym_attribute_declaration] = STATE(1657), + [sym_ms_declspec_modifier] = STATE(1657), + [sym_ms_call_modifier] = STATE(1559), + [sym_storage_class_specifier] = STATE(1657), + [sym_type_qualifier] = STATE(1657), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym__class_name] = STATE(6367), + [sym_virtual_function_specifier] = STATE(1657), + [sym_dependent_type] = STATE(2975), + [sym_template_type] = STATE(3265), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4794), + [sym_qualified_type_identifier] = STATE(3271), + [aux_sym__declaration_specifiers_repeat1] = STATE(1657), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(3419), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2549), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym___cdecl] = ACTIONS(49), + [anon_sym___clrcall] = ACTIONS(49), + [anon_sym___stdcall] = ACTIONS(49), + [anon_sym___fastcall] = ACTIONS(49), + [anon_sym___thiscall] = ACTIONS(49), + [anon_sym___vectorcall] = ACTIONS(49), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(63), + [anon_sym_class] = ACTIONS(3433), + [anon_sym_struct] = ACTIONS(3435), + [anon_sym_union] = ACTIONS(3437), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(113), + [anon_sym_template] = ACTIONS(972), + }, + [1503] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2730), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5240), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_type_parameter_declaration] = STATE(5240), + [sym_variadic_type_parameter_declaration] = STATE(5240), + [sym_optional_type_parameter_declaration] = STATE(5240), + [sym_template_template_parameter_declaration] = STATE(5240), + [sym_optional_parameter_declaration] = STATE(5240), + [sym_variadic_parameter_declaration] = STATE(5240), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4808), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(3439), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(3441), + [anon_sym_template] = ACTIONS(3443), + [anon_sym_GT2] = ACTIONS(3445), + }, + [1504] = { + [sym__declaration_modifiers] = STATE(1645), + [sym__declaration_specifiers] = STATE(2730), + [sym_attribute_specifier] = STATE(1645), + [sym_attribute_declaration] = STATE(1645), + [sym_ms_declspec_modifier] = STATE(1645), + [sym_storage_class_specifier] = STATE(1645), + [sym_type_qualifier] = STATE(1645), + [sym__type_specifier] = STATE(2344), + [sym_sized_type_specifier] = STATE(2975), + [sym_enum_specifier] = STATE(2975), + [sym_struct_specifier] = STATE(2975), + [sym_union_specifier] = STATE(2975), + [sym_parameter_declaration] = STATE(5362), + [sym_placeholder_type_specifier] = STATE(2975), + [sym_decltype_auto] = STATE(2954), + [sym_decltype] = STATE(2975), + [sym_class_specifier] = STATE(2975), + [sym_virtual_function_specifier] = STATE(1645), + [sym_dependent_type] = STATE(2975), + [sym_type_parameter_declaration] = STATE(5362), + [sym_variadic_type_parameter_declaration] = STATE(5362), + [sym_optional_type_parameter_declaration] = STATE(5362), + [sym_template_template_parameter_declaration] = STATE(5362), + [sym_optional_parameter_declaration] = STATE(5362), + [sym_variadic_parameter_declaration] = STATE(5362), + [sym_template_type] = STATE(2873), + [sym_dependent_type_identifier] = STATE(6376), + [sym__scope_resolution] = STATE(4808), + [sym_qualified_type_identifier] = STATE(2968), + [aux_sym__declaration_specifiers_repeat1] = STATE(1645), + [aux_sym_sized_type_specifier_repeat1] = STATE(2427), + [sym_identifier] = ACTIONS(2919), + [anon_sym_extern] = ACTIONS(55), + [anon_sym___attribute__] = ACTIONS(39), + [anon_sym_COLON_COLON] = ACTIONS(2931), + [anon_sym_LBRACK_LBRACK] = ACTIONS(1403), + [anon_sym___declspec] = ACTIONS(45), + [anon_sym_static] = ACTIONS(55), + [anon_sym_register] = ACTIONS(55), + [anon_sym_inline] = ACTIONS(55), + [anon_sym_thread_local] = ACTIONS(55), + [anon_sym_const] = ACTIONS(57), + [anon_sym_volatile] = ACTIONS(57), + [anon_sym_restrict] = ACTIONS(57), + [anon_sym__Atomic] = ACTIONS(57), + [anon_sym_mutable] = ACTIONS(57), + [anon_sym_constexpr] = ACTIONS(57), + [anon_sym_constinit] = ACTIONS(57), + [anon_sym_consteval] = ACTIONS(57), + [anon_sym_signed] = ACTIONS(59), + [anon_sym_unsigned] = ACTIONS(59), + [anon_sym_long] = ACTIONS(59), + [anon_sym_short] = ACTIONS(59), + [sym_primitive_type] = ACTIONS(2431), + [anon_sym_enum] = ACTIONS(1407), + [anon_sym_class] = ACTIONS(3439), + [anon_sym_struct] = ACTIONS(1411), + [anon_sym_union] = ACTIONS(1413), + [sym_comment] = ACTIONS(3), + [sym_auto] = ACTIONS(105), + [anon_sym_decltype] = ACTIONS(107), + [anon_sym_virtual] = ACTIONS(109), + [anon_sym_typename] = ACTIONS(3441), + [anon_sym_template] = ACTIONS(3443), + [anon_sym_GT2] = ACTIONS(3447), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3439), 1, + anon_sym_class, + ACTIONS(3441), 1, + anon_sym_typename, + ACTIONS(3443), 1, + anon_sym_template, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2730), 1, + sym__declaration_specifiers, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + STATE(5517), 7, + sym_parameter_declaration, + sym_type_parameter_declaration, + sym_variadic_type_parameter_declaration, + sym_optional_type_parameter_declaration, + sym_template_template_parameter_declaration, + sym_optional_parameter_declaration, + sym_variadic_parameter_declaration, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1645), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [125] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3379), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3377), 37, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [195] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3368), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3366), 37, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [265] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(1877), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + anon_sym_requires, + [335] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3391), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3389), 37, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [405] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3372), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3370), 37, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [475] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3385), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3383), 37, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [545] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1863), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(1861), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + anon_sym_requires, + [615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3360), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3358), 37, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3395), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3393), 37, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [755] = 32, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(1441), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2921), 1, + anon_sym_RPAREN, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2823), 1, + sym__declaration_specifiers, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5272), 3, + sym_parameter_declaration, + sym_optional_parameter_declaration, + sym_variadic_parameter_declaration, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1645), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [882] = 32, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2625), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(2627), 1, + anon_sym_RPAREN, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2823), 1, + sym__declaration_specifiers, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5208), 3, + sym_parameter_declaration, + sym_optional_parameter_declaration, + sym_variadic_parameter_declaration, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1645), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [1009] = 31, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1391), 1, + anon_sym_RPAREN, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2823), 1, + sym__declaration_specifiers, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5298), 3, + sym_parameter_declaration, + sym_optional_parameter_declaration, + sym_variadic_parameter_declaration, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1645), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [1133] = 31, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3449), 1, + anon_sym_DOT_DOT_DOT, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2823), 1, + sym__declaration_specifiers, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5500), 3, + sym_parameter_declaration, + sym_optional_parameter_declaration, + sym_variadic_parameter_declaration, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1645), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [1257] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2823), 1, + sym__declaration_specifiers, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5568), 3, + sym_parameter_declaration, + sym_optional_parameter_declaration, + sym_variadic_parameter_declaration, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1645), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [1378] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1963), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(1863), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1861), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [1446] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3385), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [1511] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4514), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5094), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [1624] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4527), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5063), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [1737] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3469), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3467), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [1802] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3368), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [1867] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3379), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [1932] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3391), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [1997] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3473), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3471), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2062] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3477), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3475), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2127] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3360), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [2192] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3395), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [2257] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3481), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3479), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2322] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3485), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3483), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2387] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3487), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2452] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3493), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3491), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2517] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3497), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3495), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2582] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3372), 39, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [2647] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3501), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3499), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2712] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3501), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3499), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2777] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4480), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5094), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [2890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3505), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3503), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [2955] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3501), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3499), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [3020] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3509), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3507), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [3085] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4436), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5030), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [3198] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4432), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5134), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [3311] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3513), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3511), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [3376] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4447), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(4984), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [3489] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4422), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5063), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [3602] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4583), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5134), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [3715] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3517), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3515), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [3780] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4430), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(4978), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [3893] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4522), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(4978), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [4006] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(111), 1, + anon_sym_explicit, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(1523), 1, + anon_sym_LBRACK, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + STATE(4231), 1, + sym__scope_resolution, + STATE(4483), 1, + sym_function_declarator, + STATE(4861), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(5185), 2, + sym_operator_cast, + sym_qualified_operator_cast_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + STATE(4500), 10, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [4119] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3521), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3519), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4183] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2237), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2235), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1863), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1861), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4311] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1963), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(1863), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1861), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4377] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1967), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1965), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4441] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3728), 1, + sym__declaration_specifiers, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1657), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [4557] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3750), 1, + sym__declaration_specifiers, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1657), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [4673] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3752), 1, + sym__declaration_specifiers, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1657), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [4789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3525), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4853] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3525), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4917] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1963), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(1863), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1861), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [4983] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2385), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2383), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [5047] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3338), 1, + anon_sym_const, + ACTIONS(3352), 1, + anon_sym_LT, + STATE(1602), 1, + sym_template_argument_list, + ACTIONS(3340), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + ACTIONS(3347), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(3343), 10, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3345), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [5125] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3529), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3527), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [5189] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3753), 1, + sym__declaration_specifiers, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1657), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [5305] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3727), 1, + sym__declaration_specifiers, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1657), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [5421] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3300), 1, + anon_sym_const, + ACTIONS(3315), 1, + anon_sym_AMP_AMP, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3328), 1, + anon_sym_LBRACK, + ACTIONS(3355), 1, + anon_sym_LT, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + STATE(1602), 1, + sym_template_argument_list, + ACTIONS(3304), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + ACTIONS(3312), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3308), 9, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [5507] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3755), 1, + sym__declaration_specifiers, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1657), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [5623] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3406), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(3399), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(3402), 4, + anon_sym_TILDE, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3404), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3409), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3397), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [5695] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3535), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3533), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [5759] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3539), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3537), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [5823] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3543), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3541), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [5887] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3543), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3541), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [5951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3547), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3545), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6015] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3551), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3549), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6079] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3555), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3553), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6143] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1877), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6207] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2077), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2075), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6271] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2253), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2251), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6335] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2241), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2239), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2249), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2247), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6463] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2281), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2279), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2285), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2283), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6591] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3559), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3557), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3563), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3561), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6719] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3567), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3565), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6783] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3571), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3569), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6847] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3571), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3569), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6911] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3575), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3573), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [6975] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2089), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2087), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7039] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3579), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3577), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7103] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3583), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3581), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2353), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2351), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2345), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2343), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7295] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2293), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2291), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7359] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1955), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1953), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2265), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2263), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2049), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2047), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7551] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 1, + anon_sym_const, + ACTIONS(3399), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + ACTIONS(3406), 3, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(3402), 11, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3404), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3409), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [7623] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2245), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2243), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2049), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2047), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7751] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3589), 1, + anon_sym_LBRACK_LBRACK, + STATE(1605), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3587), 22, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3585), 31, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + sym_primitive_type, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_throw, + anon_sym_co_return, + anon_sym_co_yield, + anon_sym_try, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + [7819] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2223), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2221), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7883] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2367), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2365), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [7947] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2397), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2395), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8011] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2377), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2375), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8075] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2344), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3737), 1, + sym__declaration_specifiers, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(1657), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [8191] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3594), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3592), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8255] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3598), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3596), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3602), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3600), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8383] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3606), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3604), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3610), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3608), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8511] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3610), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3608), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8575] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2333), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2331), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8639] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3406), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(3402), 4, + anon_sym_TILDE, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3399), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(3404), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3409), 13, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3397), 23, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [8711] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3614), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3612), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8775] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2229), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2227), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3618), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3616), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8903] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2081), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2079), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [8967] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3622), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3620), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9031] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3626), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3624), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9095] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2207), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2205), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9159] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2199), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2197), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9223] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3406), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(3402), 3, + anon_sym_TILDE, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3399), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + ACTIONS(3404), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3409), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3397), 22, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [9295] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2401), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2399), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9359] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3630), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3628), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2277), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2275), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2417), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2415), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2297), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2295), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2421), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2419), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9679] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2301), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2299), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2305), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2303), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9807] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2325), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2323), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9871] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2309), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2307), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2313), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2311), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [9999] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2089), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2087), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [10063] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2261), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2259), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [10127] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2321), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2319), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [10191] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2187), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2185), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [10255] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2329), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2327), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [10319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2349), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2347), 50, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + aux_sym_preproc_else_token1, + aux_sym_preproc_elif_token1, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [10383] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + STATE(2305), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2822), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [10496] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(2553), 1, + anon_sym_enum, + ACTIONS(2555), 1, + anon_sym_class, + ACTIONS(2557), 1, + anon_sym_struct, + ACTIONS(2559), 1, + anon_sym_union, + ACTIONS(2561), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3153), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2822), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [10609] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3300), 1, + anon_sym_const, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3632), 1, + anon_sym_LT, + STATE(1716), 1, + sym_template_argument_list, + ACTIONS(3312), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3315), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + ACTIONS(3308), 9, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [10688] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3372), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [10751] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3338), 1, + anon_sym_const, + ACTIONS(3635), 1, + anon_sym_LT, + STATE(1716), 1, + sym_template_argument_list, + ACTIONS(3347), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3340), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + ACTIONS(3343), 10, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3345), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [10828] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3395), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [10891] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3360), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [10954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3385), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [11017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3391), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [11080] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3379), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [11143] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(1527), 1, + sym_primitive_type, + ACTIONS(1529), 1, + anon_sym_enum, + ACTIONS(1531), 1, + anon_sym_class, + ACTIONS(1533), 1, + anon_sym_struct, + ACTIONS(1535), 1, + anon_sym_union, + ACTIONS(1537), 1, + sym_auto, + ACTIONS(1539), 1, + anon_sym_decltype, + ACTIONS(1543), 1, + anon_sym_typename, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + STATE(2873), 1, + sym_template_type, + STATE(2876), 1, + sym__type_specifier, + STATE(3028), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3152), 1, + sym_decltype_auto, + STATE(3157), 1, + sym_qualified_type_identifier, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1525), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2822), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(3120), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [11256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_const, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3368), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [11319] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym___attribute__, + ACTIONS(45), 1, + anon_sym___declspec, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(109), 1, + anon_sym_virtual, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1403), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2305), 1, + sym__type_specifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(55), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2822), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [11432] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2229), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2227), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11494] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3610), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3608), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3551), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3549), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11618] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3579), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3577), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11680] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3521), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3519), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11742] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2277), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2275), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11804] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2385), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2383), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11866] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2223), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2221), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3567), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3565), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [11990] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2313), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2311), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12052] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2297), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2295), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12114] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3602), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3600), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2301), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2299), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12238] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3598), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3596), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12300] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3521), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3519), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12362] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3575), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3573), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12424] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3571), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3569), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12486] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2305), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2303), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3594), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3592), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12610] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2309), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2307), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12672] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3575), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3573), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12734] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2321), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2319), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2313), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2311), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1967), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1965), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12920] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2187), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2185), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [12982] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3563), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3561), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13044] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2329), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2327), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2333), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2331), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13168] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3559), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3557), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13230] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2349), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2347), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3555), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3553), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2187), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2185), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13416] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3571), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3569), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13478] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2367), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2365), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13540] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2377), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2375), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13602] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3571), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3569), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13664] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2333), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2331), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13726] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2397), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2395), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13788] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2401), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2399), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13850] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3571), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3569), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13912] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2049), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2047), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [13974] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3583), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3581), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14036] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2049), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2047), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14098] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2089), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2087), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14160] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2417), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2415), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14222] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2089), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2087), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14284] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2081), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2079), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14346] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2421), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2419), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14408] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2353), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2351), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14470] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2325), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2323), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14532] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1955), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1953), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14594] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2249), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2247), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14656] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3547), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3545), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14718] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2229), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2227), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14780] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3644), 1, + anon_sym_STAR, + ACTIONS(3646), 1, + anon_sym_AMP_AMP, + ACTIONS(3648), 1, + anon_sym_AMP, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4548), 1, + sym__declarator, + STATE(4816), 1, + sym__abstract_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(3642), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(2062), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(2087), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [14890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2305), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2303), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [14952] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2253), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2251), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15014] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3547), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3545), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15076] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 1, + anon_sym_const, + ACTIONS(3406), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3399), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + ACTIONS(3402), 11, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3404), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3409), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [15146] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2199), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2197), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15208] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2281), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2279), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15270] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2285), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2283), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15332] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3626), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3624), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15394] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3622), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3620), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15456] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2207), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2205), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15518] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3618), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3616), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2077), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2075), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15642] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3654), 1, + anon_sym_STAR, + ACTIONS(3656), 1, + anon_sym_AMP_AMP, + ACTIONS(3658), 1, + anon_sym_AMP, + STATE(3781), 1, + sym_parameter_list, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4548), 1, + sym__declarator, + STATE(4814), 1, + sym__abstract_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + ACTIONS(3642), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(2056), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(2087), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [15752] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3614), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3612), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15814] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3610), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3608), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15876] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2309), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2307), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [15938] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3567), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3565), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16000] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3610), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3608), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16062] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2049), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2047), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16124] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2293), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2291), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2049), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2047), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16248] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2301), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2299), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16310] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3543), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3541), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16372] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3543), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3541), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16434] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3539), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3537), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16496] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2417), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2415), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16558] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3535), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3533), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16620] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3630), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3628), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16682] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3606), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3604), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16744] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2285), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2283), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16806] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3606), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3604), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16868] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2261), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2259), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16930] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3630), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3628), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [16992] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2385), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2383), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17054] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2281), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2279), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3579), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3577), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17178] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2249), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2247), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17240] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1955), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(1953), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3610), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3608), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17364] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3525), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3523), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17426] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2297), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2295), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17488] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2277), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2275), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17550] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2321), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2319), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3614), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3612), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17674] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2367), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2365), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2377), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2375), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17798] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2353), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2351), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17860] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2345), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2343), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17922] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2293), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2291), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [17984] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2325), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2323), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18046] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3529), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3527), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18108] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2265), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2263), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18170] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3602), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3600), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3618), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3616), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18294] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3660), 1, + sym_identifier, + ACTIONS(3668), 1, + sym_primitive_type, + STATE(1794), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3666), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3664), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + ACTIONS(3662), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [18364] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2421), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2419), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18426] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2245), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2243), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18488] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3622), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3620), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18550] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2237), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2235), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2329), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2327), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18674] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2223), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2221), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3626), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3624), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18798] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2237), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2235), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18860] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1967), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1965), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18922] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3529), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3527), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [18984] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3525), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19046] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2349), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2347), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19108] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2241), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2239), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19170] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2207), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2205), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3525), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3523), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19294] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3555), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3553), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19356] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1863), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1861), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19418] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2199), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2197), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3551), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3549), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19542] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3525), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3523), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2345), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2343), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19666] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1877), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19728] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2253), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2251), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19790] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2077), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2075), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19852] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2081), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2079), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19914] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3583), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3581), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [19976] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1794), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3674), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3670), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym_primitive_type, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(3672), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [20042] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3559), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3557), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20104] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3563), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3561), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20166] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3543), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3541), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20228] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3543), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3541), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20290] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2241), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2239), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20352] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3539), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3537), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20414] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3535), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3533), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20476] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3598), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3596), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20538] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2245), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2243), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20600] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2261), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2259), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20662] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2265), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2263), 48, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_if_token2, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20724] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3594), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(3592), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2401), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2399), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2397), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2395), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20910] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2089), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2087), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [20972] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2089), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + ACTIONS(2087), 47, + aux_sym_preproc_def_token1, + aux_sym_preproc_if_token1, + aux_sym_preproc_ifdef_token1, + aux_sym_preproc_ifdef_token2, + sym_preproc_directive, + anon_sym_AMP, + anon_sym_typedef, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_friend, + anon_sym_using, + anon_sym_static_assert, + [21034] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3679), 23, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3677), 30, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_throw, + anon_sym_co_return, + anon_sym_co_yield, + anon_sym_try, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + [21095] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3300), 1, + anon_sym_const, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3681), 1, + anon_sym_LT, + STATE(2634), 1, + sym_template_argument_list, + ACTIONS(3312), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3684), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(3315), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_GT2, + ACTIONS(3302), 8, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3308), 9, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3686), 9, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + [21176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3690), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3688), 40, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [21237] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3338), 1, + anon_sym_const, + ACTIONS(3692), 1, + anon_sym_LT, + STATE(1834), 1, + sym_template_argument_list, + ACTIONS(3347), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3340), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_GT2, + ACTIONS(3343), 10, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3345), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3350), 17, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [21312] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3699), 1, + sym_raw_string_literal, + STATE(1818), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(1905), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3697), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3695), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [21379] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3701), 1, + sym_literal_suffix, + ACTIONS(3703), 1, + sym_raw_string_literal, + STATE(1815), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(1905), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [21448] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3707), 23, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3705), 30, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_if, + anon_sym_switch, + anon_sym_case, + anon_sym_default, + anon_sym_while, + anon_sym_do, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_goto, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_throw, + anon_sym_co_return, + anon_sym_co_yield, + anon_sym_try, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + [21509] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3716), 1, + sym_raw_string_literal, + STATE(1818), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(3713), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3711), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3709), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [21576] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(2631), 1, + anon_sym_STAR, + ACTIONS(2633), 1, + anon_sym_AMP_AMP, + ACTIONS(2635), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3642), 1, + anon_sym_RPAREN, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + STATE(3781), 1, + sym_parameter_list, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4389), 1, + sym__scope_resolution, + STATE(4721), 1, + sym__declarator, + STATE(4814), 1, + sym__abstract_declarator, + STATE(6395), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2086), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(2260), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [21685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3723), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3721), 40, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [21746] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2007), 1, + sym_field_declaration_list, + STATE(5048), 1, + sym_virtual_specifier, + STATE(5936), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3727), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3725), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [21818] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3737), 1, + anon_sym_LT, + STATE(1874), 1, + sym_template_argument_list, + ACTIONS(3326), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3735), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [21884] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3737), 1, + anon_sym_LT, + STATE(1874), 1, + sym_template_argument_list, + ACTIONS(3343), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3338), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [21950] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2037), 1, + sym_field_declaration_list, + STATE(5057), 1, + sym_virtual_specifier, + STATE(5886), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3739), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22022] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2026), 1, + sym_field_declaration_list, + STATE(5138), 1, + sym_virtual_specifier, + STATE(5897), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3743), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22094] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2003), 1, + sym_field_declaration_list, + STATE(5045), 1, + sym_virtual_specifier, + STATE(5947), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3747), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22166] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2020), 1, + sym_field_declaration_list, + STATE(5117), 1, + sym_virtual_specifier, + STATE(5913), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3751), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22238] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2023), 1, + sym_field_declaration_list, + STATE(5120), 1, + sym_virtual_specifier, + STATE(5901), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3755), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22310] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2035), 1, + sym_field_declaration_list, + STATE(5069), 1, + sym_virtual_specifier, + STATE(5888), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3759), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22382] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3763), 1, + sym_identifier, + ACTIONS(3767), 1, + sym_primitive_type, + STATE(1835), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3765), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3664), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + ACTIONS(3662), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [22450] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(1999), 1, + sym_field_declaration_list, + STATE(5032), 1, + sym_virtual_specifier, + STATE(5950), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3769), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22522] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2033), 1, + sym_field_declaration_list, + STATE(5071), 1, + sym_virtual_specifier, + STATE(5890), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3773), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [22594] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1833), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3777), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3670), 22, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_primitive_type, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + ACTIONS(3672), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [22658] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 1, + anon_sym_const, + ACTIONS(3406), 2, + anon_sym_STAR, + anon_sym_AMP, + ACTIONS(3399), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_GT2, + ACTIONS(3402), 11, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3404), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3409), 17, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [22726] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1835), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3780), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3670), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym_primitive_type, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(3672), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [22790] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3783), 1, + sym_identifier, + ACTIONS(3787), 1, + sym_primitive_type, + STATE(1833), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3785), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3664), 20, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + ACTIONS(3662), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [22858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3791), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3789), 35, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [22917] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3793), 1, + sym_literal_suffix, + ACTIONS(3795), 1, + sym_raw_string_literal, + STATE(1844), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(1423), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3310), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [22984] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2207), 1, + sym_field_declaration_list, + STATE(5085), 1, + sym_virtual_specifier, + STATE(5596), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3743), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23055] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3402), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23114] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(3805), 1, + anon_sym_LBRACK, + ACTIONS(3807), 1, + sym_auto, + ACTIONS(3809), 1, + anon_sym_decltype, + STATE(2017), 1, + sym_new_declarator, + STATE(2047), 1, + sym_decltype_auto, + STATE(2272), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3803), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3799), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [23189] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2103), 1, + sym_field_declaration_list, + STATE(5184), 1, + sym_virtual_specifier, + STATE(5522), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3739), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23260] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(3805), 1, + anon_sym_LBRACK, + ACTIONS(3807), 1, + sym_auto, + ACTIONS(3809), 1, + anon_sym_decltype, + STATE(2013), 1, + sym_new_declarator, + STATE(2047), 1, + sym_decltype_auto, + STATE(2295), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3813), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3811), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [23335] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3815), 1, + sym_raw_string_literal, + STATE(1851), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(1423), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3697), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(3695), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23400] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2238), 1, + sym_field_declaration_list, + STATE(4939), 1, + sym_virtual_specifier, + STATE(5703), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3769), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23471] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(3805), 1, + anon_sym_LBRACK, + ACTIONS(3807), 1, + sym_auto, + ACTIONS(3809), 1, + anon_sym_decltype, + STATE(2011), 1, + sym_new_declarator, + STATE(2047), 1, + sym_decltype_auto, + STATE(2345), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3819), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3817), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [23546] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2211), 1, + sym_field_declaration_list, + STATE(5046), 1, + sym_virtual_specifier, + STATE(5616), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3755), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23617] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2215), 1, + sym_field_declaration_list, + STATE(5034), 1, + sym_virtual_specifier, + STATE(5629), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3751), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23688] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3821), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(3735), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3326), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [23753] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2246), 1, + sym_field_declaration_list, + STATE(4988), 1, + sym_virtual_specifier, + STATE(5688), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3727), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3725), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23824] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3826), 1, + sym_raw_string_literal, + STATE(1851), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(3823), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3711), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(3709), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23889] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2111), 1, + sym_field_declaration_list, + STATE(5174), 1, + sym_virtual_specifier, + STATE(5543), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3773), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [23960] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3829), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(3338), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3343), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [24025] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2242), 1, + sym_field_declaration_list, + STATE(4944), 1, + sym_virtual_specifier, + STATE(5691), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3747), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [24096] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2107), 1, + sym_field_declaration_list, + STATE(5188), 1, + sym_virtual_specifier, + STATE(5528), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3759), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [24167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3834), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3832), 35, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [24226] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(3805), 1, + anon_sym_LBRACK, + ACTIONS(3807), 1, + sym_auto, + ACTIONS(3809), 1, + anon_sym_decltype, + STATE(2012), 1, + sym_new_declarator, + STATE(2047), 1, + sym_decltype_auto, + STATE(2340), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3838), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3836), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [24301] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2170), 1, + sym_field_declaration_list, + STATE(4907), 1, + sym_virtual_specifier, + STATE(5465), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3743), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [24371] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3379), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3377), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [24429] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3385), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3383), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [24487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3360), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [24545] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3395), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [24603] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3846), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3842), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [24663] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3850), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3848), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [24721] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3854), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3852), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [24781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3854), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3852), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [24839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1863), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1861), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [24897] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2149), 1, + sym_field_declaration_list, + STATE(4987), 1, + sym_virtual_specifier, + STATE(5531), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3751), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [24967] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3854), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3852), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [25027] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3854), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [25087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3402), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [25145] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3848), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3850), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [25203] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3858), 1, + anon_sym_LT, + STATE(1840), 1, + sym_template_argument_list, + ACTIONS(3735), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3326), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [25267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3397), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [25325] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2166), 1, + sym_field_declaration_list, + STATE(4910), 1, + sym_virtual_specifier, + STATE(5476), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3755), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [25395] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2252), 1, + sym_field_declaration_list, + STATE(5167), 1, + sym_virtual_specifier, + STATE(5727), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3759), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [25465] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(1877), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [25523] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3862), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3860), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [25583] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3360), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3358), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [25641] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3395), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3393), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [25699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3372), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3370), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [25757] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2249), 1, + sym_field_declaration_list, + STATE(5157), 1, + sym_virtual_specifier, + STATE(5735), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3739), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [25827] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3854), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [25887] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3372), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [25945] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3385), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [26003] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3866), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3864), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [26061] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3868), 1, + anon_sym_LT, + STATE(1840), 1, + sym_template_argument_list, + ACTIONS(3338), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3343), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [26125] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2254), 1, + sym_field_declaration_list, + STATE(5165), 1, + sym_virtual_specifier, + STATE(5607), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3773), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [26195] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3368), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [26253] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3846), 1, + anon_sym_AMP_AMP, + ACTIONS(3875), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3873), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3871), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [26315] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1891), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3877), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3670), 21, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + sym_primitive_type, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + ACTIONS(3672), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [26377] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3391), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [26435] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3880), 1, + sym_identifier, + ACTIONS(3884), 1, + sym_primitive_type, + STATE(1891), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3882), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3664), 19, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + ACTIONS(3662), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [26501] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3379), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [26559] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3888), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3886), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [26617] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2120), 1, + sym_field_declaration_list, + STATE(5115), 1, + sym_virtual_specifier, + STATE(5777), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3727), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3725), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [26687] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2155), 1, + sym_field_declaration_list, + STATE(5111), 1, + sym_virtual_specifier, + STATE(5784), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3747), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [26757] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3892), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3890), 44, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + anon_sym_requires, + [26815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3368), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3366), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [26873] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3391), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3389), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [26931] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2080), 1, + sym_field_declaration_list, + STATE(5107), 1, + sym_virtual_specifier, + STATE(5793), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3769), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [27001] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3860), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3862), 43, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + anon_sym_using, + anon_sym_concept, + [27061] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(3896), 1, + anon_sym_LBRACK, + ACTIONS(3898), 1, + sym_auto, + ACTIONS(3900), 1, + anon_sym_decltype, + STATE(2128), 1, + sym_new_declarator, + STATE(2157), 1, + sym_decltype_auto, + STATE(2537), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3813), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3811), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [27134] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3904), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3902), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [27195] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym___based, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + ACTIONS(3854), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [27252] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3906), 1, + sym_literal_suffix, + ACTIONS(3908), 1, + sym_raw_string_literal, + STATE(1922), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(2471), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3310), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [27317] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(3896), 1, + anon_sym_LBRACK, + ACTIONS(3898), 1, + sym_auto, + ACTIONS(3900), 1, + anon_sym_decltype, + STATE(2157), 1, + sym_decltype_auto, + STATE(2186), 1, + sym_new_declarator, + STATE(2543), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3838), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3836), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [27390] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2467), 1, + sym_field_declaration_list, + STATE(4927), 1, + sym_virtual_specifier, + STATE(5490), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3747), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [27459] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3862), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3860), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [27518] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2474), 1, + sym_field_declaration_list, + STATE(4919), 1, + sym_virtual_specifier, + STATE(5485), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3769), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [27587] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3821), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + ACTIONS(3300), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3308), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [27650] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2408), 1, + sym_field_declaration_list, + STATE(5021), 1, + sym_virtual_specifier, + STATE(5547), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3739), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [27719] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3791), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(3789), 32, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [27776] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3916), 1, + anon_sym_COLON, + STATE(1953), 1, + sym__enum_base_clause, + STATE(2041), 1, + sym_enumerator_list, + ACTIONS(3914), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3912), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [27839] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(3896), 1, + anon_sym_LBRACK, + ACTIONS(3898), 1, + sym_auto, + ACTIONS(3900), 1, + anon_sym_decltype, + STATE(2157), 1, + sym_decltype_auto, + STATE(2261), 1, + sym_new_declarator, + STATE(2561), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3819), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3817), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [27912] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2418), 1, + sym_field_declaration_list, + STATE(4968), 1, + sym_virtual_specifier, + STATE(5508), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3751), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [27981] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2388), 1, + sym_field_declaration_list, + STATE(5018), 1, + sym_virtual_specifier, + STATE(5545), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3759), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [28050] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2457), 1, + sym_field_declaration_list, + STATE(4937), 1, + sym_virtual_specifier, + STATE(5494), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3727), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3725), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [28119] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3921), 1, + sym_raw_string_literal, + STATE(1919), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(3918), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3711), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3709), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [28182] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2435), 1, + sym_field_declaration_list, + STATE(5016), 1, + sym_virtual_specifier, + STATE(5473), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3773), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [28251] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3850), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3848), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [28308] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3924), 1, + sym_raw_string_literal, + STATE(1919), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(2471), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3697), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3695), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [28371] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3854), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [28430] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3854), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [28487] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3854), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [28546] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3916), 1, + anon_sym_COLON, + STATE(1940), 1, + sym__enum_base_clause, + STATE(2032), 1, + sym_enumerator_list, + ACTIONS(3928), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3926), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [28609] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2381), 1, + sym_field_declaration_list, + STATE(4980), 1, + sym_virtual_specifier, + STATE(5521), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3743), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [28678] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2411), 1, + sym_field_declaration_list, + STATE(4976), 1, + sym_virtual_specifier, + STATE(5514), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3755), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [28747] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(3896), 1, + anon_sym_LBRACK, + ACTIONS(3898), 1, + sym_auto, + ACTIONS(3900), 1, + anon_sym_decltype, + STATE(2119), 1, + sym_new_declarator, + STATE(2157), 1, + sym_decltype_auto, + STATE(2542), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3803), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3799), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [28820] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3834), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + sym_literal_suffix, + ACTIONS(3832), 32, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [28877] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3854), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [28935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3360), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [28991] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3385), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [29047] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3930), 1, + anon_sym_COLON, + STATE(2059), 1, + sym__enum_base_clause, + STATE(2196), 1, + sym_enumerator_list, + ACTIONS(3928), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3926), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [29109] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3934), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3932), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [29167] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3807), 1, + sym_auto, + ACTIONS(3809), 1, + anon_sym_decltype, + STATE(2047), 1, + sym_decltype_auto, + ACTIONS(3938), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3936), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [29229] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3940), 1, + anon_sym_LT, + STATE(1946), 1, + sym_template_argument_list, + ACTIONS(3338), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3343), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [29291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3402), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [29347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3850), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3848), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [29403] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2010), 1, + sym_enumerator_list, + ACTIONS(3945), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3943), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [29461] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3372), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [29517] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3854), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [29573] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3862), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3860), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [29631] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3395), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [29687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3391), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [29743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3402), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [29799] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3854), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [29857] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3930), 1, + anon_sym_COLON, + STATE(2058), 1, + sym__enum_base_clause, + STATE(2097), 1, + sym_enumerator_list, + ACTIONS(3914), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3912), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [29919] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3854), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [29977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3379), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [30033] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1951), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3947), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3672), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3670), 24, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_primitive_type, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [30093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3368), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [30149] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2028), 1, + sym_enumerator_list, + ACTIONS(3952), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3950), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [30207] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3954), 1, + anon_sym_LT, + STATE(1946), 1, + sym_template_argument_list, + ACTIONS(3735), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3326), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [30269] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3956), 1, + sym_identifier, + ACTIONS(3960), 1, + sym_primitive_type, + STATE(1951), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(3958), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3662), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3664), 22, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DOT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [30333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3850), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3848), 37, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [30389] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3854), 36, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [30447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3964), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3962), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [30502] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3968), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3966), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [30557] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3834), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3832), 29, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + anon_sym_GT2, + [30612] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2690), 1, + sym_field_declaration_list, + STATE(5122), 1, + sym_virtual_specifier, + STATE(5663), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3751), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [30679] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2648), 1, + sym_field_declaration_list, + STATE(5125), 1, + sym_virtual_specifier, + STATE(5667), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3755), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [30746] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2644), 1, + sym_field_declaration_list, + STATE(5136), 1, + sym_virtual_specifier, + STATE(5672), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3743), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [30813] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3791), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3789), 29, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + anon_sym_GT2, + [30868] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2687), 1, + sym_field_declaration_list, + STATE(5170), 1, + sym_virtual_specifier, + STATE(5694), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3773), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [30935] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2700), 1, + sym_field_declaration_list, + STATE(5172), 1, + sym_virtual_specifier, + STATE(5698), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3759), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [31002] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2711), 1, + sym_field_declaration_list, + STATE(5180), 1, + sym_virtual_specifier, + STATE(5702), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3739), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [31069] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2618), 1, + sym_field_declaration_list, + STATE(5099), 1, + sym_virtual_specifier, + STATE(5646), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3727), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3725), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [31136] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2604), 1, + sym_field_declaration_list, + STATE(5096), 1, + sym_virtual_specifier, + STATE(5640), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3747), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [31203] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1494), 1, + sym_string_literal, + ACTIONS(3976), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3974), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3972), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [31262] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3978), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + ACTIONS(3980), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [31317] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1493), 1, + sym_string_literal, + ACTIONS(3976), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3974), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3972), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [31376] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2670), 1, + sym_field_declaration_list, + STATE(5095), 1, + sym_virtual_specifier, + STATE(5636), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3769), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [31443] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3982), 1, + anon_sym_LT, + STATE(2068), 1, + sym_template_argument_list, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3302), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [31506] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(3987), 1, + anon_sym_LBRACK, + ACTIONS(3989), 1, + sym_auto, + ACTIONS(3991), 1, + anon_sym_decltype, + STATE(2400), 1, + sym_new_declarator, + STATE(2492), 1, + sym_decltype_auto, + STATE(2767), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3803), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3799), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [31577] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1497), 1, + sym_string_literal, + ACTIONS(3976), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3974), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3972), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [31636] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(3987), 1, + anon_sym_LBRACK, + ACTIONS(3989), 1, + sym_auto, + ACTIONS(3991), 1, + anon_sym_decltype, + STATE(2413), 1, + sym_new_declarator, + STATE(2492), 1, + sym_decltype_auto, + STATE(2780), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3813), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3811), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [31707] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + ACTIONS(3995), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [31762] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3858), 1, + anon_sym_LT, + STATE(1840), 1, + sym_template_argument_list, + ACTIONS(3300), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3308), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [31823] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(3987), 1, + anon_sym_LBRACK, + ACTIONS(3989), 1, + sym_auto, + ACTIONS(3991), 1, + anon_sym_decltype, + STATE(2449), 1, + sym_new_declarator, + STATE(2492), 1, + sym_decltype_auto, + STATE(2796), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3838), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3836), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [31894] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3932), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [31949] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(3987), 1, + anon_sym_LBRACK, + ACTIONS(3989), 1, + sym_auto, + ACTIONS(3991), 1, + anon_sym_decltype, + STATE(2470), 1, + sym_new_declarator, + STATE(2492), 1, + sym_decltype_auto, + STATE(2837), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3819), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3817), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [32020] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3999), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3997), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32075] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4003), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4001), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32130] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1985), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4009), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(4005), 15, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(4007), 22, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [32189] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4014), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4012), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32244] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4018), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4016), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32299] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4022), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4020), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4026), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4024), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4030), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4028), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32464] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4034), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4032), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32519] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4038), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4036), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32574] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4042), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4040), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4046), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4044), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32684] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4050), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4048), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32739] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4054), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4052), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32794] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4056), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + anon_sym_DOT, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + ACTIONS(4058), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_RBRACK_RBRACK, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [32849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4062), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4060), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32904] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4066), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4064), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [32959] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4070), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4068), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33014] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4074), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4072), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33069] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4078), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4076), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33124] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4082), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4080), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4086), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4084), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33234] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4090), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4088), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33289] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4094), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4092), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33344] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4098), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4096), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4102), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4100), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33454] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4106), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4104), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33509] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4110), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4108), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33564] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + STATE(2296), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4114), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4112), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [33625] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + STATE(2271), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4118), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4116), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [33686] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + STATE(2314), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4122), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4120), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [33747] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4126), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4124), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33802] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1495), 1, + sym_string_literal, + ACTIONS(3976), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3974), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3972), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [33861] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4130), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4128), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [33916] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + STATE(2321), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4134), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4132), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [33977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4138), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4136), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4142), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4140), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4146), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4144), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34142] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4150), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4148), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34197] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4154), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4152), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34252] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4156), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4162), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4160), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34362] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4166), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4164), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34417] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4170), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4168), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34472] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4174), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4172), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4178), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4176), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34582] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4182), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4180), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34637] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3904), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3902), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [34696] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3854), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [34751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4184), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34806] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4190), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4188), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34861] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4194), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4192), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34916] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4198), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4196), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [34971] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4202), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4200), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35026] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4206), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4204), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35081] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4210), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4208), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35136] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4214), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4212), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35191] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3862), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3860), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [35248] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4216), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35303] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4220), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35358] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4226), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4224), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4230), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4228), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35468] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4232), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35523] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4236), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35578] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4242), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4240), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35633] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4244), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35688] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4250), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4248), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4254), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4252), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35798] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4256), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35853] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3932), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [35908] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3343), 1, + anon_sym_LBRACE, + ACTIONS(4260), 1, + anon_sym_LT, + STATE(2068), 1, + sym_template_argument_list, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3350), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [35971] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3632), 1, + anon_sym_LT, + ACTIONS(4265), 1, + anon_sym_LBRACK, + STATE(2336), 1, + sym_template_argument_list, + ACTIONS(4263), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [36037] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3355), 1, + anon_sym_LT, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4270), 1, + anon_sym_LBRACK, + STATE(2237), 1, + sym_template_argument_list, + ACTIONS(4267), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [36105] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3654), 1, + anon_sym_STAR, + ACTIONS(3656), 1, + anon_sym_AMP_AMP, + ACTIONS(3658), 1, + anon_sym_AMP, + STATE(3781), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4569), 1, + sym__declarator, + STATE(4789), 1, + sym__abstract_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(4273), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [36199] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3934), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3932), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [36255] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2200), 1, + sym_enumerator_list, + ACTIONS(3952), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3950), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [36311] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2255), 1, + sym_enumerator_list, + ACTIONS(3945), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3943), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [36367] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + STATE(2160), 1, + sym_decltype_auto, + ACTIONS(3938), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3936), 33, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [36427] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3805), 1, + anon_sym_LBRACK, + STATE(2185), 1, + sym_new_declarator, + ACTIONS(4281), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4279), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [36485] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3644), 1, + anon_sym_STAR, + ACTIONS(3646), 1, + anon_sym_AMP_AMP, + ACTIONS(3648), 1, + anon_sym_AMP, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4569), 1, + sym__declarator, + STATE(4799), 1, + sym__abstract_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(4273), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [36579] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3898), 1, + sym_auto, + ACTIONS(3900), 1, + anon_sym_decltype, + STATE(2157), 1, + sym_decltype_auto, + ACTIONS(3938), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3936), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [36639] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2098), 1, + sym_enumerator_list, + ACTIONS(3945), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3943), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [36695] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3934), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3932), 34, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [36751] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3343), 1, + anon_sym_LBRACE, + ACTIONS(3352), 1, + anon_sym_LT, + STATE(2237), 1, + sym_template_argument_list, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [36813] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4283), 1, + anon_sym_COLON, + STATE(2325), 1, + sym__enum_base_clause, + STATE(2422), 1, + sym_enumerator_list, + ACTIONS(3914), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3912), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [36873] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3404), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3409), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [36929] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2175), 1, + sym_enumerator_list, + ACTIONS(3952), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3950), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [36985] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4283), 1, + anon_sym_COLON, + STATE(2351), 1, + sym__enum_base_clause, + STATE(2404), 1, + sym_enumerator_list, + ACTIONS(3928), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3926), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [37045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4018), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4016), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [37098] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4210), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4208), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37151] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4014), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4012), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4074), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4072), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37257] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4289), 1, + anon_sym_RPAREN, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [37392] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4003), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4001), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37445] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3343), 1, + anon_sym_LBRACE, + ACTIONS(3374), 1, + anon_sym_LT, + STATE(2089), 1, + sym_template_argument_list, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [37506] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4070), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4068), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37559] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4078), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4076), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4066), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4064), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4062), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4060), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [37718] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4389), 1, + sym__scope_resolution, + STATE(4721), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2086), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(2988), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [37811] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4365), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [37946] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4367), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [38081] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4548), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2087), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(2981), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [38174] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4389), 1, + sym__scope_resolution, + STATE(4670), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3004), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [38267] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4569), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2986), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [38360] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4267), 1, + anon_sym_LPAREN2, + ACTIONS(4270), 1, + anon_sym_LBRACK, + ACTIONS(4375), 1, + anon_sym_LT, + STATE(2089), 1, + sym_template_argument_list, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [38427] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3404), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3409), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [38482] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(4265), 1, + anon_sym_LBRACK, + ACTIONS(4378), 1, + anon_sym_LT, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(4263), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [38551] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3982), 1, + anon_sym_LT, + ACTIONS(4265), 1, + anon_sym_LBRACK, + STATE(2068), 1, + sym_template_argument_list, + ACTIONS(4263), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [38616] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4577), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2984), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [38709] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4226), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4224), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [38762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4220), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [38815] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(4378), 1, + anon_sym_LT, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [38880] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3932), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [38933] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4216), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [38986] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4110), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4108), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [39039] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4214), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4212), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [39092] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4210), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4208), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [39145] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4383), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4381), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_literal_suffix, + [39198] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4236), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [39251] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4206), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4204), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [39304] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4202), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4200), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [39357] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4569), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2092), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(2986), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [39450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4126), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4124), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [39503] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4198), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4196), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [39556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4194), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4192), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [39609] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4517), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3007), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [39702] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4494), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2109), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(2998), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [39795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4190), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4188), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [39848] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4391), 1, + anon_sym_COMMA, + ACTIONS(4393), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [39983] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4395), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [40118] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4086), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4084), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40171] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3999), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3997), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40224] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4090), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4088), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40277] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3632), 1, + anon_sym_LT, + STATE(2336), 1, + sym_template_argument_list, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [40338] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4094), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4092), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40391] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + STATE(2584), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4134), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4132), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [40450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4098), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4096), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40503] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3932), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [40556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3723), 22, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3721), 23, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + [40609] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4256), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40662] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4254), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4252), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40715] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4250), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4248), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [40768] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4391), 1, + anon_sym_COMMA, + ACTIONS(4397), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [40903] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4389), 1, + sym__scope_resolution, + STATE(4670), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2137), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3004), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [40996] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + STATE(2536), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4122), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4120), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [41055] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4438), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3009), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [41148] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4244), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [41201] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4382), 1, + sym__scope_resolution, + STATE(4758), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2221), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(2992), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [41294] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4417), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4415), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [41347] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4419), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [41482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4244), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [41535] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4391), 1, + anon_sym_COMMA, + ACTIONS(4421), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [41670] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3968), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3966), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [41723] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4389), 1, + sym__scope_resolution, + STATE(4660), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2987), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [41816] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4130), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4128), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [41869] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4485), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2129), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3006), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [41962] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3854), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [42017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4230), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4228), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [42070] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4423), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [42205] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3854), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [42260] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4256), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [42313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4102), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4100), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [42366] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3850), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3848), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [42419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4138), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4136), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [42472] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4142), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4140), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [42525] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4146), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4144), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [42578] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3402), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [42631] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4150), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4148), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [42684] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4154), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4152), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [42737] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3904), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3902), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [42794] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3372), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [42847] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4082), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4080), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [42900] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4429), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(4427), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4425), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [42955] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4242), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4240), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [43008] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4054), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4052), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43061] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3395), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [43114] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4242), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4240), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3360), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [43220] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3385), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [43273] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4050), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4048), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43326] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4382), 1, + sym__scope_resolution, + STATE(4766), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2182), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3002), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [43419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4254), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4252), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [43472] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4156), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43525] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4162), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4160), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43578] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4046), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4044), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43631] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4166), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4164), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43684] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4170), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4168), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43737] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3999), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3997), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [43790] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4003), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4001), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [43843] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4431), 1, + sym_literal_suffix, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [43898] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4174), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4172), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [43951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4178), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4176), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44004] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4182), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4180), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44057] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4468), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2222), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3010), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [44150] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4184), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3964), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3962), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4014), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4012), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44309] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4250), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4248), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44362] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4382), 1, + sym__scope_resolution, + STATE(4758), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2992), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [44455] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4042), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4040), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44508] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4038), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4036), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4435), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4433), 30, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [44614] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + STATE(2502), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4118), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4116), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44673] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4232), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44726] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4230), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4228), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [44779] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4236), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4232), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44885] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3932), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44938] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4022), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4020), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [44991] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4026), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4024), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45044] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4106), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4104), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [45097] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3964), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3962), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45150] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4184), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4030), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4028), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4034), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4032), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45309] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4182), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4180), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45362] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4178), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4176), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4038), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4036), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45468] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4042), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4040), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45521] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4046), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4044), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45574] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4437), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [45709] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4174), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4172), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4050), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4048), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4170), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4168), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45868] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4166), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4164), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [45921] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3862), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3860), 31, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [45976] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4162), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4160), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46029] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4156), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46082] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4154), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4152), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46135] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3954), 1, + anon_sym_LT, + STATE(1946), 1, + sym_template_argument_list, + ACTIONS(3300), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3308), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [46194] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4150), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4148), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46247] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4146), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4144), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46300] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4142), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4140), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46353] = 44, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4287), 1, + anon_sym_COMMA, + ACTIONS(4291), 1, + anon_sym_DASH, + ACTIONS(4293), 1, + anon_sym_PLUS, + ACTIONS(4295), 1, + anon_sym_STAR, + ACTIONS(4297), 1, + anon_sym_SLASH, + ACTIONS(4299), 1, + anon_sym_PERCENT, + ACTIONS(4301), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4303), 1, + anon_sym_AMP_AMP, + ACTIONS(4305), 1, + anon_sym_PIPE, + ACTIONS(4307), 1, + anon_sym_CARET, + ACTIONS(4309), 1, + anon_sym_AMP, + ACTIONS(4311), 1, + anon_sym_EQ_EQ, + ACTIONS(4313), 1, + anon_sym_BANG_EQ, + ACTIONS(4315), 1, + anon_sym_GT, + ACTIONS(4317), 1, + anon_sym_GT_EQ, + ACTIONS(4319), 1, + anon_sym_LT_EQ, + ACTIONS(4321), 1, + anon_sym_LT, + ACTIONS(4323), 1, + anon_sym_LT_LT, + ACTIONS(4325), 1, + anon_sym_GT_GT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4329), 1, + anon_sym_EQ, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4333), 1, + anon_sym_STAR_EQ, + ACTIONS(4335), 1, + anon_sym_SLASH_EQ, + ACTIONS(4337), 1, + anon_sym_PERCENT_EQ, + ACTIONS(4339), 1, + anon_sym_PLUS_EQ, + ACTIONS(4341), 1, + anon_sym_DASH_EQ, + ACTIONS(4343), 1, + anon_sym_LT_LT_EQ, + ACTIONS(4345), 1, + anon_sym_GT_GT_EQ, + ACTIONS(4347), 1, + anon_sym_AMP_EQ, + ACTIONS(4349), 1, + anon_sym_CARET_EQ, + ACTIONS(4351), 1, + anon_sym_PIPE_EQ, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4359), 1, + anon_sym_DOT_STAR, + ACTIONS(4361), 1, + anon_sym_DASH_GT_STAR, + ACTIONS(4439), 1, + anon_sym_RPAREN, + STATE(1444), 1, + sym__binary_fold_operator, + STATE(2577), 1, + sym_argument_list, + STATE(6063), 1, + sym__fold_operator, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + [46488] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4138), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4136), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46541] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4546), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2997), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [46634] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3932), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [46687] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4382), 1, + sym__scope_resolution, + STATE(4749), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2980), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [46780] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4485), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3006), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [46873] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4054), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4052), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [46926] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3391), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [46979] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4226), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4224), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [47032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4018), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4016), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [47085] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4022), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4020), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [47138] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4385), 1, + sym__scope_resolution, + STATE(4517), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(2219), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3007), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [47231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4220), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [47284] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4130), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4128), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47337] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3968), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3966), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47390] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4216), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [47443] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3379), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [47496] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3368), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [47549] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4214), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4212), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [47602] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4062), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4060), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47655] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3404), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3409), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47710] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4066), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4064), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47763] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4070), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4068), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47816] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4074), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4072), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47869] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4078), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4076), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47922] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4082), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4080), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [47975] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4086), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4084), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48028] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4090), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4088), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48081] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4094), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4092), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48134] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4098), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4096), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48187] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4102), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4100), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48240] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4106), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4104), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48293] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4206), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4204), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48346] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4202), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4200), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4026), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4024), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48452] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4198), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4196), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48505] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4194), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4192), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48558] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4190), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4188), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48611] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4110), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4108), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48664] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4126), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4124), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_auto, + anon_sym_decltype, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48717] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4030), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4028), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48770] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4034), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4032), 35, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [48823] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3343), 1, + anon_sym_LBRACE, + ACTIONS(3635), 1, + anon_sym_LT, + STATE(2336), 1, + sym_template_argument_list, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [48884] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(2631), 1, + anon_sym_STAR, + ACTIONS(2633), 1, + anon_sym_AMP_AMP, + ACTIONS(2635), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4273), 1, + anon_sym_RPAREN, + STATE(3781), 1, + sym_parameter_list, + STATE(4389), 1, + sym__scope_resolution, + STATE(4670), 1, + sym__declarator, + STATE(4789), 1, + sym__abstract_declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [48977] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + STATE(2539), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4114), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4112), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [49036] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3934), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3932), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [49090] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4447), 1, + anon_sym_AMP_AMP, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_EQ, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [49176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3479), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3481), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49228] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3471), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3473), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49280] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4477), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4475), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49332] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49384] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4481), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4479), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49436] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4485), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4483), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49488] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4447), 1, + anon_sym_AMP_AMP, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(4489), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4491), 1, + anon_sym_EQ, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4487), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [49576] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4495), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4493), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49628] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4499), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4497), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49680] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(4378), 1, + anon_sym_LT, + ACTIONS(4501), 1, + anon_sym_COMMA, + ACTIONS(4504), 1, + anon_sym_RBRACK, + ACTIONS(4507), 1, + anon_sym_EQ, + STATE(3039), 1, + sym_template_argument_list, + STATE(5372), 1, + aux_sym_structured_binding_declarator_repeat1, + ACTIONS(4509), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3302), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + [49750] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4511), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(4427), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4425), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [49804] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4515), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4513), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [49876] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4519), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4517), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4523), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4521), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [49980] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(3387), 1, + anon_sym_COLON, + ACTIONS(4378), 1, + anon_sym_LT, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50046] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4527), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4525), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [50110] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1953), 1, + sym__enum_base_clause, + STATE(2041), 1, + sym_enumerator_list, + ACTIONS(3914), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3912), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [50166] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3501), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50218] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3501), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50270] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3896), 1, + anon_sym_LBRACK, + STATE(2491), 1, + sym_new_declarator, + ACTIONS(4281), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4279), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [50326] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2284), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4529), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3672), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3670), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_primitive_type, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [50382] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3501), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50434] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4534), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4532), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [50498] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4447), 1, + anon_sym_AMP_AMP, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(4489), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4538), 1, + anon_sym_EQ, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4536), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [50586] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4056), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4058), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50638] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3326), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3735), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [50696] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3511), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3513), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50748] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4542), 1, + anon_sym_AMP_AMP, + ACTIONS(3842), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3844), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50802] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3475), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3477), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50854] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3503), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3505), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50906] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3509), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [50958] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4546), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4544), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51010] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4550), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4548), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51062] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3343), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3338), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [51120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4554), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4552), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51172] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4447), 1, + anon_sym_AMP_AMP, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(4489), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4558), 1, + anon_sym_EQ, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4556), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [51260] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(4378), 1, + anon_sym_LT, + ACTIONS(4560), 1, + anon_sym_COLON, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51326] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4564), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4562), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51378] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51430] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4568), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4566), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4572), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4570), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51534] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4574), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2667), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4576), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_EQ, + anon_sym_GT2, + [51606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51658] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3989), 1, + sym_auto, + ACTIONS(3991), 1, + anon_sym_decltype, + STATE(2492), 1, + sym_decltype_auto, + ACTIONS(3938), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3936), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [51716] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4584), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4582), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51768] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3978), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3980), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51820] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51872] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51924] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4590), 1, + anon_sym_LT, + STATE(2331), 1, + sym_template_argument_list, + ACTIONS(4588), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4586), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [51980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4593), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(1963), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4597), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4595), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52084] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4447), 1, + anon_sym_AMP_AMP, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(4489), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4599), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4603), 1, + anon_sym_EQ, + ACTIONS(4605), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4601), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [52176] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4609), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4607), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [52238] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3467), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3469), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52290] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4265), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4263), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52342] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(3362), 1, + anon_sym_COLON, + ACTIONS(4378), 1, + anon_sym_LT, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52408] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(4378), 1, + anon_sym_LT, + ACTIONS(4504), 1, + anon_sym_RBRACK, + ACTIONS(4507), 1, + anon_sym_EQ, + ACTIONS(4611), 1, + anon_sym_COMMA, + STATE(3039), 1, + sym_template_argument_list, + STATE(5372), 1, + aux_sym_structured_binding_declarator_repeat1, + ACTIONS(4509), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3302), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + [52478] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4615), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4613), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52530] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4617), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52582] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [52648] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52700] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2406), 1, + sym_enumerator_list, + ACTIONS(3952), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3950), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [52754] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4447), 1, + anon_sym_AMP_AMP, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(4489), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4599), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4623), 1, + anon_sym_EQ, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4621), 16, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [52844] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(3334), 1, + anon_sym_COLON, + ACTIONS(4378), 1, + anon_sym_LT, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52910] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [52962] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4625), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53014] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3854), 32, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [53066] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4629), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53118] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53170] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(3381), 1, + anon_sym_COLON, + ACTIONS(4378), 1, + anon_sym_LT, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53236] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(1863), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53288] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53340] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3404), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3409), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [53394] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53446] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [53510] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3491), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3493), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53562] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4633), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53614] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(3364), 1, + anon_sym_COLON, + ACTIONS(4378), 1, + anon_sym_LT, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53680] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3487), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3489), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53732] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(1879), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53784] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4639), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_EQ, + anon_sym_GT2, + [53856] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4641), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53908] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [53960] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_EQ, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [54044] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4427), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4425), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4647), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4645), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54148] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(1940), 1, + sym__enum_base_clause, + STATE(2032), 1, + sym_enumerator_list, + ACTIONS(3928), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3926), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [54204] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2446), 1, + sym_enumerator_list, + ACTIONS(3945), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3943), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [54258] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4519), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4517), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54310] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4651), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4649), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54362] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4447), 1, + anon_sym_AMP_AMP, + ACTIONS(4449), 1, + anon_sym_PIPE, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(4489), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4655), 1, + anon_sym_EQ, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4653), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [54450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3350), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54502] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4659), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4657), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54554] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4663), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4661), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [54618] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3995), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54670] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4554), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4552), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54722] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3495), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3497), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54774] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3483), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3485), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [54826] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4667), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4665), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [54888] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4441), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [54958] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 9, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [55026] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4441), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [55098] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3515), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3517), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [55150] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(4441), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [55226] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4542), 1, + anon_sym_AMP_AMP, + ACTIONS(4669), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3871), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3873), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [55282] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [55360] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [55440] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4451), 1, + anon_sym_CARET, + ACTIONS(4453), 1, + anon_sym_AMP, + ACTIONS(4459), 1, + anon_sym_GT_EQ, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4467), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4443), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4455), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4461), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4445), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4457), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [55522] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4250), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4248), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [55573] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4609), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4607), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55632] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55683] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55734] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55836] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55887] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4667), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4665), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [55946] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4655), 1, + anon_sym_EQ, + ACTIONS(4675), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4677), 1, + anon_sym_AMP_AMP, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4653), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56031] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4170), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4168), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [56082] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4623), 1, + anon_sym_EQ, + ACTIONS(4675), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4677), 1, + anon_sym_AMP_AMP, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4621), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56169] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2942), 1, + sym_field_declaration_list, + STATE(5132), 1, + sym_virtual_specifier, + STATE(5759), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3751), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3753), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [56232] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4515), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4513), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56301] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2573), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(4699), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(2569), 16, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DASH_GT, + ACTIONS(2567), 24, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [56356] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2932), 1, + sym_field_declaration_list, + STATE(5151), 1, + sym_virtual_specifier, + STATE(5744), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3755), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3757), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [56419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4194), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4192), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [56470] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4198), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4196), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [56521] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2887), 1, + sym_field_declaration_list, + STATE(5168), 1, + sym_virtual_specifier, + STATE(5724), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3743), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3745), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [56584] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4527), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4525), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56645] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3343), 1, + anon_sym_LBRACE, + ACTIONS(3692), 1, + anon_sym_LT, + STATE(2533), 1, + sym_template_argument_list, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3350), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [56704] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4477), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4475), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56755] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4558), 1, + anon_sym_EQ, + ACTIONS(4675), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4677), 1, + anon_sym_AMP_AMP, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4556), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56840] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4236), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [56891] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4663), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4661), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [56952] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3932), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57003] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4256), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57054] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4254), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4252), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57105] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4202), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4200), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57156] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + STATE(2745), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4134), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4132), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [57213] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4554), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4552), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [57264] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4707), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(4705), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(4703), 16, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DASH_GT, + ACTIONS(4701), 24, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [57319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3964), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3962), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57370] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4184), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57421] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4182), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4180), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57472] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4178), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4176), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57523] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4174), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4172), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57574] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4206), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4204), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4166), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4164), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4162), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4160), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57727] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4156), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57778] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4154), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4152), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [57829] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + STATE(2750), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4122), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4120), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [57886] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4709), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(4427), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4425), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [57939] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4717), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(4715), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(4713), 16, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DASH_GT, + ACTIONS(4711), 24, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [57994] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4383), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4381), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + sym_literal_suffix, + [58045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4150), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4148), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58096] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4146), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4144), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58147] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4142), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4140), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58198] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4210), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4208), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58249] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4214), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4212), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58300] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4216), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58351] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4220), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58402] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4138), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4136), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58453] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4491), 1, + anon_sym_EQ, + ACTIONS(4675), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4677), 1, + anon_sym_AMP_AMP, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4487), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [58538] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4244), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58589] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4719), 1, + sym_identifier, + ACTIONS(4724), 1, + sym_primitive_type, + STATE(2284), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4722), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3662), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3664), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [58648] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4534), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4532), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [58709] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4538), 1, + anon_sym_EQ, + ACTIONS(4675), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4677), 1, + anon_sym_AMP_AMP, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4536), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [58794] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4226), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4224), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4130), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4128), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [58896] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4726), 1, + anon_sym_LT, + STATE(2518), 1, + sym_template_argument_list, + ACTIONS(4588), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4586), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [58951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3968), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3966), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59002] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4265), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4263), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [59053] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4190), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4188), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59104] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(3681), 1, + anon_sym_LT, + STATE(3292), 1, + sym_template_argument_list, + ACTIONS(3684), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(3686), 9, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3302), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + [59167] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2926), 1, + sym_field_declaration_list, + STATE(4934), 1, + sym_virtual_specifier, + STATE(5935), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3773), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3775), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [59230] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4441), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [59297] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2924), 1, + sym_field_declaration_list, + STATE(4932), 1, + sym_virtual_specifier, + STATE(5940), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3759), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3761), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [59360] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 9, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [59425] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3932), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59476] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2921), 1, + sym_field_declaration_list, + STATE(4928), 1, + sym_virtual_specifier, + STATE(5945), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3739), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3741), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [59539] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2565), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(4729), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(2547), 16, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DASH_GT, + ACTIONS(2545), 24, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [59594] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4126), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4124), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59645] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4737), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(4735), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(4733), 16, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DASH_GT, + ACTIONS(4731), 24, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [59700] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4110), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4108), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [59751] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4441), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [59820] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4270), 1, + anon_sym_LBRACK, + ACTIONS(4267), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + ACTIONS(3310), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [59877] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + STATE(2768), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4118), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4116), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [59934] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4270), 1, + anon_sym_LBRACK, + ACTIONS(4267), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + ACTIONS(3310), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [59991] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4285), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4331), 1, + anon_sym_QMARK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4603), 1, + anon_sym_EQ, + ACTIONS(4675), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4677), 1, + anon_sym_AMP_AMP, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4601), 14, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [60080] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4106), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4104), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60131] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4102), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4100), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60182] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(4378), 1, + anon_sym_LT, + ACTIONS(4507), 1, + anon_sym_EQ, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(4509), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [60245] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4427), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4425), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [60296] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(4441), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [60369] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4098), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4096), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60420] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4739), 1, + sym_literal_suffix, + ACTIONS(3310), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [60473] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(4741), 1, + anon_sym_LT, + STATE(2533), 1, + sym_template_argument_list, + ACTIONS(3310), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [60532] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2900), 1, + sym_field_declaration_list, + STATE(4963), 1, + sym_virtual_specifier, + STATE(5671), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3769), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3771), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [60595] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4094), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4092), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60646] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2886), 1, + sym_field_declaration_list, + STATE(4922), 1, + sym_virtual_specifier, + STATE(5712), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3747), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3749), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [60709] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4090), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4088), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60760] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4750), 1, + anon_sym_DQUOTE_DQUOTE, + ACTIONS(4748), 2, + anon_sym_delete, + anon_sym_new, + ACTIONS(4746), 16, + anon_sym_BANG, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DASH_GT, + ACTIONS(4744), 24, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_co_await, + anon_sym_DASH_GT_STAR, + anon_sym_LPAREN_RPAREN, + anon_sym_LBRACK_RBRACK, + [60815] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [60890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4086), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4084), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60941] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4082), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4080), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [60992] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [61069] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4078), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4076), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61120] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + STATE(2781), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4114), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4112), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [61177] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [61256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4074), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4072), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4070), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4068), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61358] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4066), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4064), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4062), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4060), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61460] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4042), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4040), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61511] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4465), 1, + anon_sym_EQ, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [61592] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + ACTIONS(4353), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4465), 1, + anon_sym_EQ, + ACTIONS(4677), 1, + anon_sym_AMP_AMP, + ACTIONS(4679), 1, + anon_sym_PIPE, + ACTIONS(4681), 1, + anon_sym_CARET, + ACTIONS(4683), 1, + anon_sym_AMP, + ACTIONS(4689), 1, + anon_sym_GT_EQ, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4671), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4685), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4691), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4687), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [61675] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4752), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(4427), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4425), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [61728] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4465), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [61789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4230), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4228), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61840] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4232), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [61891] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + ACTIONS(4327), 1, + anon_sym_LBRACK, + STATE(2577), 1, + sym_argument_list, + ACTIONS(4355), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4357), 2, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4673), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [61954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4054), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4052), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62005] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4050), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4048), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3999), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3997), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62107] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4003), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4001), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62158] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + STATE(2892), 1, + sym_field_declaration_list, + STATE(4920), 1, + sym_virtual_specifier, + STATE(5718), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3725), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3727), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [62221] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4014), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4012), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62272] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4046), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4044), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62323] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4435), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4433), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62374] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4242), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4240), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62425] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4018), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4016), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62476] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4022), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4020), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4026), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4024), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62578] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4030), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4028), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4034), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4032), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62680] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4038), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4036), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [62731] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4056), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4058), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4523), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4521), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3372), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3370), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [62881] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4495), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4493), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62931] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4659), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4657), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [62981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4265), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4263), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [63031] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63081] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63131] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3860), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3862), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [63183] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63233] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63283] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3350), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3479), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3481), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63383] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3471), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3473), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63433] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4427), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4425), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [63483] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4477), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4475), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [63533] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4265), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4263), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63583] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4417), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4415), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63633] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3978), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3980), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63683] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4629), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63733] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4554), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4552), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63783] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4625), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63833] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3511), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3513), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63883] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4754), 1, + anon_sym_AMP_AMP, + ACTIONS(3842), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3844), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [63935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3395), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3393), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [63985] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3475), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3477), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64035] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3326), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3735), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [64091] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3360), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3358), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [64141] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3385), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3383), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [64191] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3503), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3505), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64241] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4568), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4566), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4572), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4570), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64341] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4760), 1, + anon_sym_RPAREN, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(5371), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [64435] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3391), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3389), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [64485] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3404), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3409), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [64537] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3379), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3377), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [64587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3368), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3366), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [64637] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4597), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4595), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4546), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4544), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64737] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4477), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4475), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64787] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4550), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4548), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64837] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4584), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4582), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64887] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3987), 1, + anon_sym_LBRACK, + STATE(2694), 1, + sym_new_declarator, + ACTIONS(4281), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4279), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [64941] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4499), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4497), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [64991] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4633), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65041] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3995), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65091] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3934), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3932), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [65143] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3343), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3338), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [65199] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1879), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65249] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4766), 1, + sym_literal_suffix, + ACTIONS(4768), 1, + sym_raw_string_literal, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3310), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3302), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [65307] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4770), 1, + anon_sym_LT, + STATE(2775), 1, + sym_template_argument_list, + ACTIONS(3338), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3343), 23, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [65363] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3515), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3517), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65463] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3302), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65513] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3495), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3497), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65563] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3397), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [65613] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4647), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4645), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65663] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4617), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65713] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3483), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3485), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65763] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4564), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4562), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65813] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3487), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3489), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65863] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3491), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3493), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65913] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4641), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [65963] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3848), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3850), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [66013] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4593), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1963), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66063] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4775), 1, + sym_raw_string_literal, + STATE(2564), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(4772), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3711), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3709), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [66119] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4778), 1, + sym_auto, + ACTIONS(4780), 1, + anon_sym_decltype, + STATE(2661), 1, + sym_decltype_auto, + ACTIONS(3938), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3936), 27, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [66175] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3854), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3852), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [66225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3501), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66275] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3501), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66325] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3501), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66375] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4481), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4479), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66425] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4427), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4425), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66475] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4782), 1, + sym_raw_string_literal, + STATE(2564), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3697), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3695), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [66531] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4267), 1, + anon_sym_LPAREN2, + ACTIONS(4270), 1, + anon_sym_LBRACK, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [66587] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3854), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3852), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [66639] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3509), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66689] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4485), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4483), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66739] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4519), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4517), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66789] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3854), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3852), 28, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [66841] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4267), 1, + anon_sym_LPAREN2, + ACTIONS(4270), 1, + anon_sym_LBRACK, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3302), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + [66901] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4519), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4517), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [66951] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3332), 1, + anon_sym_EQ, + ACTIONS(3336), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [67005] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3467), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3469), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [67055] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(4784), 1, + anon_sym_RPAREN, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(5391), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [67149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4615), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4613), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [67199] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4267), 1, + anon_sym_LPAREN2, + ACTIONS(4270), 1, + anon_sym_LBRACK, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3302), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [67255] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4770), 1, + anon_sym_LT, + STATE(2775), 1, + sym_template_argument_list, + ACTIONS(3735), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3326), 23, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [67311] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4651), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(4649), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [67361] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4754), 1, + anon_sym_AMP_AMP, + ACTIONS(4786), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3871), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(3873), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [67415] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_DASH_GT, + ACTIONS(1863), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [67465] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_LBRACE, + ACTIONS(4378), 1, + anon_sym_LT, + ACTIONS(4788), 1, + anon_sym_EQ, + STATE(3039), 1, + sym_template_argument_list, + ACTIONS(4790), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3302), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_DOT, + [67527] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4796), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4798), 1, + anon_sym_AMP_AMP, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4558), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4556), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [67610] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(2555), 1, + anon_sym_class, + ACTIONS(2557), 1, + anon_sym_struct, + ACTIONS(2559), 1, + anon_sym_union, + ACTIONS(4822), 1, + anon_sym_enum, + ACTIONS(4824), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3724), 1, + sym__type_specifier, + STATE(4451), 1, + sym_type_descriptor, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2719), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [67701] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4828), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(4826), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [67750] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4236), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [67799] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4054), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4052), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [67848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4050), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4048), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [67897] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4046), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4044), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [67946] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4042), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4040), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [67995] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4038), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4036), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68044] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4034), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4032), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4030), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4028), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68142] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4166), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4164), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68191] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4090), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4088), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68240] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4082), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4080), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68289] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4796), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4798), 1, + anon_sym_AMP_AMP, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4538), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4536), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [68372] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4026), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4024), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68421] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4022), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4020), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68470] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4094), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4092), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68519] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3902), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3904), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [68574] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4018), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4016), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68623] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(5851), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [68714] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4014), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4012), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68763] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4086), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4084), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68812] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4003), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4001), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68861] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3999), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3997), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68910] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4162), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4160), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [68959] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4830), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2635), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4832), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_EQ, + anon_sym_GT2, + [69022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4098), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4096), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69071] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4078), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4076), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3932), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4182), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4180), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69218] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3932), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69267] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4667), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4665), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [69326] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4184), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69375] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4796), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4798), 1, + anon_sym_AMP_AMP, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4655), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4653), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [69458] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4256), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3964), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3962), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69556] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4451), 1, + sym_type_descriptor, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [69647] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4515), 9, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4513), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [69716] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4527), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4525), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [69777] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4074), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4072), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69826] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4254), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4252), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [69875] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2643), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2641), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [69924] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 1, + anon_sym_const, + ACTIONS(3406), 1, + anon_sym_AMP, + ACTIONS(3399), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_GT2, + ACTIONS(3404), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3402), 11, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + ACTIONS(3409), 11, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [69981] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4841), 1, + anon_sym___attribute__, + ACTIONS(4844), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4847), 1, + anon_sym___declspec, + ACTIONS(4853), 1, + anon_sym_virtual, + ACTIONS(4838), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4834), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(4850), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2635), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4836), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_EQ, + anon_sym_GT2, + [70044] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4250), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4248), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4244), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70142] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4534), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4532), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [70203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4210), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4208), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70252] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4856), 1, + sym_identifier, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(4862), 1, + sym_primitive_type, + ACTIONS(4864), 1, + anon_sym_enum, + ACTIONS(4866), 1, + anon_sym_class, + ACTIONS(4868), 1, + anon_sym_struct, + ACTIONS(4870), 1, + anon_sym_union, + ACTIONS(4872), 1, + sym_auto, + ACTIONS(4874), 1, + anon_sym_decltype, + ACTIONS(4876), 1, + anon_sym_typename, + STATE(3510), 1, + sym__type_specifier, + STATE(3796), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3992), 1, + sym_template_type, + STATE(4030), 1, + sym_decltype_auto, + STATE(4034), 1, + sym_qualified_type_identifier, + STATE(4584), 1, + sym_type_descriptor, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2735), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4860), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4031), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [70343] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4138), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4136), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70392] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4885), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(4881), 4, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(4883), 5, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_explicit, + anon_sym_operator, + ACTIONS(4888), 12, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + ACTIONS(4878), 18, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_template, + [70447] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [70510] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4170), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4168), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70559] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4174), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4172), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70608] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4126), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4124), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70657] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4110), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4108), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70706] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4156), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70755] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [70816] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4070), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4068), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [70865] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4798), 1, + anon_sym_AMP_AMP, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [70946] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [71025] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4154), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4152), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [71074] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 3, + anon_sym_PIPE, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [71151] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [71226] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4441), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [71297] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 9, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4441), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [71366] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(6459), 1, + sym_type_descriptor, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [71457] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4609), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4607), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [71516] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3974), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3972), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [71565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4242), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4240), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [71614] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 11, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [71679] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 9, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [71746] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4890), 1, + sym_literal_suffix, + ACTIONS(3310), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [71797] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3308), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3300), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [71852] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4663), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4661), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [71913] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4892), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2635), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4894), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_EQ, + anon_sym_GT2, + [71976] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4584), 1, + sym_type_descriptor, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [72067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4102), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4100), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [72116] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4066), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4064), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [72165] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4214), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4212), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [72214] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6294), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [72305] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [72378] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6132), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [72469] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4796), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4798), 1, + anon_sym_AMP_AMP, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(4896), 1, + anon_sym_DOT_DOT_DOT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4623), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4621), 12, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [72554] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6351), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [72645] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4796), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4798), 1, + anon_sym_AMP_AMP, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4491), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4487), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [72728] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4900), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(4898), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [72777] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1527), 1, + sym_primitive_type, + ACTIONS(1529), 1, + anon_sym_enum, + ACTIONS(1531), 1, + anon_sym_class, + ACTIONS(1533), 1, + anon_sym_struct, + ACTIONS(1535), 1, + anon_sym_union, + ACTIONS(1537), 1, + sym_auto, + ACTIONS(1539), 1, + anon_sym_decltype, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4904), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(3152), 1, + sym_decltype_auto, + STATE(3157), 1, + sym_qualified_type_identifier, + STATE(3217), 1, + sym__type_specifier, + STATE(3582), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4451), 1, + sym_type_descriptor, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2766), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4902), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3120), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [72868] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4906), 1, + anon_sym_enum, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4914), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3273), 1, + sym__type_specifier, + STATE(4451), 1, + sym_type_descriptor, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2757), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [72959] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4142), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4140), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73008] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4062), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4060), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73057] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2147), 1, + anon_sym_enum, + ACTIONS(2149), 1, + anon_sym_class, + ACTIONS(2151), 1, + anon_sym_struct, + ACTIONS(2153), 1, + anon_sym_union, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(2171), 1, + anon_sym_typename, + ACTIONS(4916), 1, + sym_identifier, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(4920), 1, + sym_primitive_type, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(3495), 1, + sym__type_specifier, + STATE(4584), 1, + sym_type_descriptor, + STATE(4754), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2718), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [73148] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4796), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4798), 1, + anon_sym_AMP_AMP, + ACTIONS(4800), 1, + anon_sym_PIPE, + ACTIONS(4802), 1, + anon_sym_CARET, + ACTIONS(4804), 1, + anon_sym_AMP, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4814), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(4896), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4922), 1, + anon_sym_QMARK, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4603), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(4792), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4806), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4810), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4816), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4794), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4808), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4601), 11, + anon_sym_COMMA, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_GT2, + [73235] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4383), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4381), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + sym_literal_suffix, + [73284] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6064), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [73375] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4190), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4188), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73424] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(4924), 1, + anon_sym_enum, + ACTIONS(4926), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3744), 1, + sym__type_specifier, + STATE(4584), 1, + sym_type_descriptor, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [73515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4232), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73564] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4146), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4144), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73613] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4130), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4128), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73662] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4230), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4228), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73711] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(2553), 1, + anon_sym_enum, + ACTIONS(2555), 1, + anon_sym_class, + ACTIONS(2557), 1, + anon_sym_struct, + ACTIONS(2559), 1, + anon_sym_union, + ACTIONS(2561), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3579), 1, + sym__type_specifier, + STATE(4451), 1, + sym_type_descriptor, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2815), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [73802] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4435), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4433), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [73851] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4928), 1, + anon_sym_LT, + STATE(2813), 1, + sym_template_argument_list, + ACTIONS(4588), 16, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4586), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [73904] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4150), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4148), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [73953] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6023), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [74044] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4931), 1, + anon_sym_enum, + ACTIONS(4933), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3286), 1, + sym__type_specifier, + STATE(4451), 1, + sym_type_descriptor, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2712), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [74135] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4194), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4192), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74184] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4198), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4196), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74233] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4178), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4176), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74282] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3968), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(3966), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74331] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4106), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4104), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74380] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4935), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(4427), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4425), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [74431] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3575), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6301), 1, + sym_type_descriptor, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2715), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [74522] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4202), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4200), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4226), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4224), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74620] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4220), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74669] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4216), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74718] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2661), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(2659), 35, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_typename, + anon_sym_template, + anon_sym_operator, + [74767] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4206), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_const, + anon_sym_DOT, + ACTIONS(4204), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [74816] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4931), 1, + anon_sym_enum, + ACTIONS(4933), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3294), 1, + sym__type_specifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [74904] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + ACTIONS(4939), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(4937), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(3326), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3735), 27, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [74962] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4315), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [75050] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3567), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [75138] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4311), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2714), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [75226] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4427), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4425), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [75274] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2147), 1, + anon_sym_enum, + ACTIONS(2149), 1, + anon_sym_class, + ACTIONS(2151), 1, + anon_sym_struct, + ACTIONS(2153), 1, + anon_sym_union, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(2171), 1, + anon_sym_typename, + ACTIONS(4916), 1, + sym_identifier, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(4920), 1, + sym_primitive_type, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(3609), 1, + sym__type_specifier, + STATE(4754), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [75362] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(2555), 1, + anon_sym_class, + ACTIONS(2557), 1, + anon_sym_struct, + ACTIONS(2559), 1, + anon_sym_union, + ACTIONS(4822), 1, + anon_sym_enum, + ACTIONS(4824), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3713), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [75450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4647), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4645), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [75498] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3372), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [75546] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4655), 1, + anon_sym_EQ, + ACTIONS(4955), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4957), 1, + anon_sym_AMP_AMP, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4653), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [75630] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(4979), 1, + anon_sym_SEMI, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [75700] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3395), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [75748] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3360), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [75796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3834), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3832), 30, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [75844] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4351), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [75932] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3385), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [75980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3391), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [76028] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3644), 1, + anon_sym_STAR, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(4981), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4985), 1, + anon_sym_AMP_AMP, + ACTIONS(4987), 1, + anon_sym_AMP, + ACTIONS(4989), 1, + anon_sym_EQ, + STATE(3770), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4618), 1, + sym__declarator, + STATE(4875), 1, + sym__abstract_declarator, + STATE(5402), 1, + sym_variadic_declarator, + STATE(5405), 1, + sym_variadic_reference_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(4983), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [76120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4477), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4475), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [76168] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4564), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4562), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [76216] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4991), 1, + anon_sym_LT, + STATE(1938), 1, + sym_template_argument_list, + ACTIONS(3735), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3326), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [76270] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4349), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2727), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [76358] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4856), 1, + sym_identifier, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(4862), 1, + sym_primitive_type, + ACTIONS(4864), 1, + anon_sym_enum, + ACTIONS(4866), 1, + anon_sym_class, + ACTIONS(4868), 1, + anon_sym_struct, + ACTIONS(4870), 1, + anon_sym_union, + ACTIONS(4872), 1, + sym_auto, + ACTIONS(4874), 1, + anon_sym_decltype, + ACTIONS(4876), 1, + anon_sym_typename, + STATE(3572), 1, + sym__type_specifier, + STATE(3796), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3992), 1, + sym_template_type, + STATE(4030), 1, + sym_decltype_auto, + STATE(4034), 1, + sym_qualified_type_identifier, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4860), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4031), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [76446] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4599), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4623), 1, + anon_sym_EQ, + ACTIONS(4955), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4957), 1, + anon_sym_AMP_AMP, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4621), 12, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [76532] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4538), 1, + anon_sym_EQ, + ACTIONS(4955), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4957), 1, + anon_sym_AMP_AMP, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4536), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [76616] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4329), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2827), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [76704] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4627), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4625), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [76752] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3379), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [76800] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4417), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4415), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [76848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3368), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [76896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3854), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [76944] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4667), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4665), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [77002] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4615), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4613), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [77050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4993), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(4995), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [77098] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4997), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(4999), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [77146] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3467), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3469), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [77194] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5001), 1, + anon_sym_SEMI, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [77264] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4597), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4595), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [77312] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [77386] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4491), 1, + anon_sym_EQ, + ACTIONS(4955), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4957), 1, + anon_sym_AMP_AMP, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4487), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [77470] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5003), 1, + anon_sym_LT, + STATE(2331), 1, + sym_template_argument_list, + ACTIONS(4588), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(4586), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [77522] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4356), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2755), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [77610] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4352), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [77698] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4558), 1, + anon_sym_EQ, + ACTIONS(4955), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4957), 1, + anon_sym_AMP_AMP, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4556), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [77782] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4906), 1, + anon_sym_enum, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4914), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3245), 1, + sym__type_specifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [77870] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5006), 1, + anon_sym_SEMI, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [77940] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [78002] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4320), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [78090] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [78150] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4572), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4570), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78198] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [78266] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4056), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4058), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78314] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4568), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4566), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78362] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1527), 1, + sym_primitive_type, + ACTIONS(1529), 1, + anon_sym_enum, + ACTIONS(1531), 1, + anon_sym_class, + ACTIONS(1533), 1, + anon_sym_struct, + ACTIONS(1535), 1, + anon_sym_union, + ACTIONS(1537), 1, + sym_auto, + ACTIONS(1539), 1, + anon_sym_decltype, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4904), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(3152), 1, + sym_decltype_auto, + STATE(3157), 1, + sym_qualified_type_identifier, + STATE(3206), 1, + sym__type_specifier, + STATE(3582), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4902), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3120), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [78450] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4499), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4497), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78498] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4495), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4493), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78546] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3511), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3513), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78594] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3479), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3481), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78642] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3471), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3473), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78690] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4345), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [78778] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5008), 1, + anon_sym_SEMI, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [78848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3475), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3477), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3402), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [78944] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4554), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4552), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [78992] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4515), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4513), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [79060] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5010), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(5012), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [79108] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_EQ, + ACTIONS(4957), 1, + anon_sym_AMP_AMP, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [79190] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4546), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4544), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79238] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4550), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4548), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79286] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4519), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4517), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79334] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4663), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4661), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [79394] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4310), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2772), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [79482] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3854), 23, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [79532] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5014), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(5016), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [79580] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3501), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79628] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3501), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3350), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79724] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3501), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79772] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_EQ, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [79838] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3350), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [79886] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_EQ, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [79966] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4534), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4532), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [80026] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3503), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3505), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80074] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4633), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80122] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4337), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [80210] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5018), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(5020), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [80258] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2059), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(2061), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [80306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4659), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4657), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3350), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80402] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3854), 23, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [80452] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3350), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80500] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3978), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3980), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80596] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(1863), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80644] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(4924), 1, + anon_sym_enum, + ACTIONS(4926), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3749), 1, + sym__type_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [80732] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_EQ, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [80810] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3495), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3497), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3302), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80906] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3483), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3485), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [80954] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4617), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [81002] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4629), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [81050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3350), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [81098] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(2553), 1, + anon_sym_enum, + ACTIONS(2555), 1, + anon_sym_class, + ACTIONS(2557), 1, + anon_sym_struct, + ACTIONS(2559), 1, + anon_sym_union, + ACTIONS(2561), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(3597), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [81186] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4527), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4525), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [81246] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4465), 4, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ, + ACTIONS(4441), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [81318] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4344), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [81406] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4519), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4517), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [81454] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4325), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2760), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [81542] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5022), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5024), 1, + anon_sym_AMP_AMP, + ACTIONS(3871), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3873), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [81594] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4836), 1, + anon_sym_COLON_COLON, + ACTIONS(5029), 1, + anon_sym___attribute__, + ACTIONS(5032), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5035), 1, + anon_sym___declspec, + ACTIONS(5041), 1, + anon_sym_virtual, + ACTIONS(5026), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(5038), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2822), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + ACTIONS(4834), 14, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [81656] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3654), 1, + anon_sym_STAR, + ACTIONS(4981), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5044), 1, + anon_sym_AMP_AMP, + ACTIONS(5046), 1, + anon_sym_AMP, + ACTIONS(5048), 1, + anon_sym_EQ, + STATE(3781), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4646), 1, + sym__declarator, + STATE(4870), 1, + sym__abstract_declarator, + STATE(5402), 1, + sym_variadic_declarator, + STATE(5405), 1, + sym_variadic_reference_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(4983), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [81748] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3995), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [81796] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(5050), 1, + anon_sym_LT, + STATE(1938), 1, + sym_template_argument_list, + ACTIONS(3338), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3343), 28, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + [81850] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4609), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4607), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [81908] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4331), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [81996] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(1879), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [82044] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3487), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3489), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [82092] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3862), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3860), 23, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [82142] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5053), 1, + anon_sym_SEMI, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [82212] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3491), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3493), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [82260] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3850), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(3848), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [82308] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 3, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_EQ, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [82384] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3791), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3789), 30, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [82432] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4584), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4582), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [82480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4641), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [82528] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4507), 1, + anon_sym_EQ, + ACTIONS(4509), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [82580] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3684), 2, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + ACTIONS(3686), 9, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3302), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3310), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + [82632] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3509), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [82680] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5055), 1, + anon_sym_SEMI, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [82750] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4465), 9, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(4441), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + [82814] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4599), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(4603), 1, + anon_sym_EQ, + ACTIONS(4955), 1, + anon_sym_PIPE_PIPE, + ACTIONS(4957), 1, + anon_sym_AMP_AMP, + ACTIONS(4959), 1, + anon_sym_PIPE, + ACTIONS(4961), 1, + anon_sym_CARET, + ACTIONS(4963), 1, + anon_sym_AMP, + ACTIONS(4969), 1, + anon_sym_GT_EQ, + ACTIONS(4973), 1, + anon_sym_LT_EQ_GT, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5057), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4469), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4951), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(4965), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(4971), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4953), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(4967), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4601), 11, + anon_sym_COLON, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [82902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4265), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4263), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [82950] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5024), 1, + anon_sym_AMP_AMP, + ACTIONS(3842), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3844), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [83000] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4593), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(1963), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [83048] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4336), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2818), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [83136] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4481), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4479), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [83184] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4354), 1, + sym__type_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2797), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(57), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [83272] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3455), 1, + anon_sym___attribute__, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3465), 1, + anon_sym_virtual, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5059), 1, + anon_sym_SEMI, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3453), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(4637), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(3463), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2617), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [83342] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3515), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(3517), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [83390] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4651), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4649), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [83438] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1969), 16, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_typename, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(1971), 24, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [83486] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4523), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4521), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [83534] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4485), 17, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_GT_GT_EQ, + anon_sym_DOT, + ACTIONS(4483), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [83582] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3360), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [83629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3368), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [83676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3789), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3791), 36, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_typename, + anon_sym_template, + [83723] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2643), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(2641), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [83770] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5068), 1, + anon_sym___attribute__, + ACTIONS(5071), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5074), 1, + anon_sym___declspec, + ACTIONS(5080), 1, + anon_sym_virtual, + ACTIONS(5083), 1, + anon_sym_explicit, + ACTIONS(5063), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + ACTIONS(5065), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(5061), 6, + anon_sym_AMP, + anon_sym___based, + anon_sym_LBRACK, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(5077), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(2860), 10, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + sym_explicit_function_specifier, + sym__constructor_specifiers, + aux_sym_operator_cast_definition_repeat1, + [83833] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(5088), 1, + anon_sym_COLON, + STATE(2877), 1, + sym__enum_base_clause, + STATE(2914), 1, + sym_enumerator_list, + ACTIONS(3912), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3914), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [83888] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3379), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [83935] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2863), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5090), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3672), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3670), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_primitive_type, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [83986] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3391), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [84033] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3385), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [84080] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4788), 1, + anon_sym_EQ, + ACTIONS(4790), 10, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(3302), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + ACTIONS(3310), 14, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_DOT, + [84131] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(3936), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3938), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [84184] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3832), 3, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3834), 36, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___cdecl, + anon_sym___clrcall, + anon_sym___stdcall, + anon_sym___fastcall, + anon_sym___thiscall, + anon_sym___vectorcall, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_typename, + anon_sym_template, + [84231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3395), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [84278] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(3372), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [84325] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5095), 1, + anon_sym___attribute__, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5099), 1, + anon_sym___declspec, + ACTIONS(5103), 1, + sym_auto, + ACTIONS(5105), 1, + anon_sym_decltype, + ACTIONS(5107), 1, + anon_sym_virtual, + STATE(3104), 1, + sym_decltype_auto, + ACTIONS(4637), 4, + anon_sym_AMP, + anon_sym___based, + sym_identifier, + anon_sym_operator, + ACTIONS(5093), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4639), 7, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5101), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3030), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [84392] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + STATE(2907), 1, + sym_enumerator_list, + ACTIONS(3943), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3945), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [84443] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3932), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3934), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [84492] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2661), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(2659), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [84539] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(5088), 1, + anon_sym_COLON, + STATE(2872), 1, + sym__enum_base_clause, + STATE(2896), 1, + sym_enumerator_list, + ACTIONS(3926), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3928), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [84594] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5095), 1, + anon_sym___attribute__, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5099), 1, + anon_sym___declspec, + ACTIONS(5103), 1, + sym_auto, + ACTIONS(5105), 1, + anon_sym_decltype, + ACTIONS(5107), 1, + anon_sym_virtual, + STATE(3104), 1, + sym_decltype_auto, + ACTIONS(4574), 4, + anon_sym_AMP, + anon_sym___based, + sym_identifier, + anon_sym_operator, + ACTIONS(5093), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4576), 7, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5101), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3025), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [84661] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + STATE(2880), 1, + sym_enumerator_list, + ACTIONS(3950), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3952), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [84712] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4991), 1, + anon_sym_LT, + STATE(1938), 1, + sym_template_argument_list, + ACTIONS(3300), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3308), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [84764] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3644), 1, + anon_sym_STAR, + ACTIONS(3646), 1, + anon_sym_AMP_AMP, + ACTIONS(3648), 1, + anon_sym_AMP, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(4981), 1, + anon_sym_DOT_DOT_DOT, + STATE(3770), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4554), 1, + sym__declarator, + STATE(4810), 1, + sym__abstract_declarator, + STATE(5211), 1, + sym_variadic_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(5109), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [84850] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4176), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4178), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [84896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4180), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4182), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [84942] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4076), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4078), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [84988] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5111), 1, + anon_sym_SEMI, + STATE(2921), 1, + sym_field_declaration_list, + STATE(4928), 1, + sym_virtual_specifier, + STATE(5945), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3739), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3741), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [85048] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4164), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4166), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85094] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(1879), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_else, + anon_sym_while, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_catch, + anon_sym_requires, + [85140] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4080), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4082), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4168), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4170), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85232] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4084), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4086), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85278] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4088), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4090), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85324] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4092), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4094), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85370] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5111), 1, + anon_sym_SEMI, + STATE(2924), 1, + sym_field_declaration_list, + STATE(4932), 1, + sym_virtual_specifier, + STATE(5940), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3759), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3761), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [85430] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4096), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4098), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85476] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3854), 12, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + ACTIONS(3852), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [85522] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4100), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4102), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85568] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4232), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4234), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85614] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4184), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4186), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85660] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4228), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4230), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85706] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4104), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4106), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85752] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4060), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4062), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85798] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4064), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4066), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85844] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3962), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3964), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85890] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4068), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4070), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [85936] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5111), 1, + anon_sym_SEMI, + STATE(2926), 1, + sym_field_declaration_list, + STATE(4934), 1, + sym_virtual_specifier, + STATE(5935), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3773), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3775), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [85996] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5113), 1, + anon_sym_SEMI, + STATE(2926), 1, + sym_field_declaration_list, + STATE(4934), 1, + sym_virtual_specifier, + STATE(5935), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3773), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3775), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [86056] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5113), 1, + anon_sym_SEMI, + STATE(2924), 1, + sym_field_declaration_list, + STATE(4932), 1, + sym_virtual_specifier, + STATE(5940), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3759), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3761), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [86116] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5113), 1, + anon_sym_SEMI, + STATE(2921), 1, + sym_field_declaration_list, + STATE(4928), 1, + sym_virtual_specifier, + STATE(5945), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3739), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3741), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [86176] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4108), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4110), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86222] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4124), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4126), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86268] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5117), 1, + anon_sym_LBRACK, + STATE(2160), 1, + sym_decltype_auto, + STATE(3070), 1, + sym_new_declarator, + STATE(3134), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3838), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3836), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [86330] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4240), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4242), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86376] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4224), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4226), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86422] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4172), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4174), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86468] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4220), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4222), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86514] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4216), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4218), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86560] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(1863), 29, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_else, + anon_sym_while, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_catch, + anon_sym_requires, + [86606] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5117), 1, + anon_sym_LBRACK, + STATE(2160), 1, + sym_decltype_auto, + STATE(3074), 1, + sym_new_declarator, + STATE(3195), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3803), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3799), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [86668] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4212), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4214), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86714] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4208), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4210), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86760] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4828), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4826), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [86806] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5117), 1, + anon_sym_LBRACK, + STATE(2160), 1, + sym_decltype_auto, + STATE(3084), 1, + sym_new_declarator, + STATE(3102), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3819), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3817), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [86868] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4204), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4206), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86914] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4200), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4202), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [86960] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3904), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3902), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [87010] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4196), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4198), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4192), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4194), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87102] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4188), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4190), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87148] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4072), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4074), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87194] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4724), 1, + sym_primitive_type, + ACTIONS(5119), 1, + sym_identifier, + STATE(2284), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(4722), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3662), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3664), 21, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_requires, + [87248] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4052), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4054), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87294] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4244), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4246), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87340] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3128), 1, + sym_field_declaration_list, + STATE(5081), 1, + sym_virtual_specifier, + STATE(5819), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3769), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3771), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [87398] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4156), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4158), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87444] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4152), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4154), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87490] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3135), 1, + sym_field_declaration_list, + STATE(5077), 1, + sym_virtual_specifier, + STATE(5822), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3747), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3749), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [87548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4248), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4250), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87594] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4148), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4150), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87640] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3141), 1, + sym_field_declaration_list, + STATE(5073), 1, + sym_virtual_specifier, + STATE(5826), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3725), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3727), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [87698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4048), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4050), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87744] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4044), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4046), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87790] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4040), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4042), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87836] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4036), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4038), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87882] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4144), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4146), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4032), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4034), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [87974] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4140), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4142), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88020] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5117), 1, + anon_sym_LBRACK, + STATE(2160), 1, + sym_decltype_auto, + STATE(3081), 1, + sym_new_declarator, + STATE(3167), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3813), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3811), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [88082] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4252), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4254), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88128] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4136), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4138), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88174] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4028), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4030), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88220] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4024), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4026), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88266] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4020), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4022), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88312] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3177), 1, + sym_field_declaration_list, + STATE(5049), 1, + sym_virtual_specifier, + STATE(5841), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3751), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3753), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [88370] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4016), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4018), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88416] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3185), 1, + sym_field_declaration_list, + STATE(5044), 1, + sym_virtual_specifier, + STATE(5845), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3755), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3757), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [88474] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4236), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4238), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88520] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3188), 1, + sym_field_declaration_list, + STATE(5039), 1, + sym_virtual_specifier, + STATE(5848), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3743), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3745), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [88578] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3155), 1, + sym_field_declaration_list, + STATE(5002), 1, + sym_virtual_specifier, + STATE(5863), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3773), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3775), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [88636] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4256), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4258), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88682] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3160), 1, + sym_field_declaration_list, + STATE(4998), 1, + sym_virtual_specifier, + STATE(5856), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3759), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3761), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [88740] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5123), 1, + anon_sym_COLON, + STATE(2064), 1, + sym__enum_base_clause, + STATE(2178), 1, + sym_enumerator_list, + ACTIONS(3928), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3926), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [88792] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3168), 1, + sym_field_declaration_list, + STATE(4994), 1, + sym_virtual_specifier, + STATE(5867), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3739), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3741), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [88850] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5128), 1, + sym_raw_string_literal, + STATE(2961), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(5125), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3711), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3709), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [88902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4012), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4014), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88948] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4001), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4003), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [88994] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4128), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4130), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [89040] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3654), 1, + anon_sym_STAR, + ACTIONS(3656), 1, + anon_sym_AMP_AMP, + ACTIONS(3658), 1, + anon_sym_AMP, + ACTIONS(4981), 1, + anon_sym_DOT_DOT_DOT, + STATE(3781), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4554), 1, + sym__declarator, + STATE(4812), 1, + sym__abstract_declarator, + STATE(5211), 1, + sym_variadic_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(5109), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [89126] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3997), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3999), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [89172] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3966), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3968), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [89218] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3932), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3934), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [89264] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5131), 1, + anon_sym_SEMI, + STATE(2926), 1, + sym_field_declaration_list, + STATE(4934), 1, + sym_virtual_specifier, + STATE(5935), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3773), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3775), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [89324] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5131), 1, + anon_sym_SEMI, + STATE(2924), 1, + sym_field_declaration_list, + STATE(4932), 1, + sym_virtual_specifier, + STATE(5940), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3759), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3761), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [89384] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5131), 1, + anon_sym_SEMI, + STATE(2921), 1, + sym_field_declaration_list, + STATE(4928), 1, + sym_virtual_specifier, + STATE(5945), 1, + sym_base_class_clause, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3739), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3741), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [89444] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5123), 1, + anon_sym_COLON, + STATE(2069), 1, + sym__enum_base_clause, + STATE(2232), 1, + sym_enumerator_list, + ACTIONS(3914), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3912), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [89496] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4160), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4162), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [89542] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5133), 1, + sym_literal_suffix, + ACTIONS(5135), 1, + sym_raw_string_literal, + STATE(2976), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(2163), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3310), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [89596] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3932), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3934), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [89642] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5137), 1, + sym_raw_string_literal, + STATE(2961), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(2163), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + ACTIONS(3697), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3695), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [89694] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2921), 1, + sym_field_declaration_list, + STATE(4928), 1, + sym_virtual_specifier, + STATE(5945), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3739), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [89751] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2892), 1, + sym_field_declaration_list, + STATE(4920), 1, + sym_virtual_specifier, + STATE(5718), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3727), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3725), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [89808] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2900), 1, + sym_field_declaration_list, + STATE(4963), 1, + sym_virtual_specifier, + STATE(5671), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3769), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [89865] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4745), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [89942] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4569), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [90019] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(5139), 1, + anon_sym_LT, + STATE(2150), 1, + sym_template_argument_list, + ACTIONS(3338), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3343), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [90070] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5117), 1, + anon_sym_LBRACK, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(2160), 1, + sym_decltype_auto, + STATE(3121), 1, + sym_new_declarator, + STATE(3102), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3819), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3817), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [90131] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4578), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [90208] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2887), 1, + sym_field_declaration_list, + STATE(5168), 1, + sym_virtual_specifier, + STATE(5724), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3743), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [90265] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4577), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [90342] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4715), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [90419] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4670), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [90496] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2932), 1, + sym_field_declaration_list, + STATE(5151), 1, + sym_virtual_specifier, + STATE(5744), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3755), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [90553] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2886), 1, + sym_field_declaration_list, + STATE(4922), 1, + sym_virtual_specifier, + STATE(5712), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3747), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [90610] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2924), 1, + sym_field_declaration_list, + STATE(4932), 1, + sym_virtual_specifier, + STATE(5940), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3759), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [90667] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4749), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [90744] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2047), 15, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(2049), 22, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [90789] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2087), 15, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(2089), 22, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [90834] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2926), 1, + sym_field_declaration_list, + STATE(4934), 1, + sym_virtual_specifier, + STATE(5935), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3773), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [90891] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5117), 1, + anon_sym_LBRACK, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(2160), 1, + sym_decltype_auto, + STATE(3164), 1, + sym_new_declarator, + STATE(3195), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3803), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3799), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [90952] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4589), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91029] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4517), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2047), 15, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(2049), 22, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [91151] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(5144), 1, + anon_sym_LT, + STATE(2150), 1, + sym_template_argument_list, + ACTIONS(3735), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3326), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + [91202] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5117), 1, + anon_sym_LBRACK, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(2160), 1, + sym_decltype_auto, + STATE(3175), 1, + sym_new_declarator, + STATE(3167), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3813), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3811), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [91263] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4758), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91340] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2087), 15, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(2089), 22, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [91385] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4660), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91462] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2942), 1, + sym_field_declaration_list, + STATE(5132), 1, + sym_virtual_specifier, + STATE(5759), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3751), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_EQ, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_GT2, + anon_sym_requires, + [91519] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4438), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91596] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4546), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91673] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5117), 1, + anon_sym_LBRACK, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(2160), 1, + sym_decltype_auto, + STATE(3122), 1, + sym_new_declarator, + STATE(3134), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3838), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3836), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [91734] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4416), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91811] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4485), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91888] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3644), 1, + anon_sym_STAR, + ACTIONS(3646), 1, + anon_sym_AMP_AMP, + ACTIONS(3648), 1, + anon_sym_AMP, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4554), 1, + sym__declarator, + STATE(4810), 1, + sym__abstract_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(5109), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [91968] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3860), 1, + anon_sym_LBRACE, + ACTIONS(3932), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [92014] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3860), 1, + anon_sym_LBRACE, + ACTIONS(3932), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [92062] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5146), 1, + anon_sym_LPAREN2, + STATE(2276), 1, + sym_argument_list, + ACTIONS(3932), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [92110] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3347), 1, + anon_sym_LBRACK, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(3058), 1, + sym_template_argument_list, + ACTIONS(3340), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3343), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_EQ, + ACTIONS(3338), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [92164] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3791), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3789), 24, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + anon_sym_GT2, + [92208] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5152), 1, + anon_sym___attribute__, + ACTIONS(5155), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5158), 1, + anon_sym___declspec, + ACTIONS(5164), 1, + anon_sym_virtual, + ACTIONS(4834), 4, + anon_sym_AMP, + anon_sym___based, + sym_identifier, + anon_sym_operator, + ACTIONS(5149), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4836), 7, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5161), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3017), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [92266] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(4778), 1, + sym_auto, + ACTIONS(4780), 1, + anon_sym_decltype, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + ACTIONS(5169), 1, + anon_sym_LBRACK, + STATE(2661), 1, + sym_decltype_auto, + STATE(3216), 1, + sym_new_declarator, + STATE(3530), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3813), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3811), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [92326] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3654), 1, + anon_sym_STAR, + ACTIONS(3656), 1, + anon_sym_AMP_AMP, + ACTIONS(3658), 1, + anon_sym_AMP, + STATE(3781), 1, + sym_parameter_list, + STATE(4385), 1, + sym__scope_resolution, + STATE(4554), 1, + sym__declarator, + STATE(4812), 1, + sym__abstract_declarator, + STATE(6493), 1, + sym_ms_based_modifier, + ACTIONS(5109), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [92406] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + ACTIONS(5171), 1, + anon_sym_LBRACK, + STATE(3058), 1, + sym_template_argument_list, + ACTIONS(3323), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3308), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_EQ, + ACTIONS(3300), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [92460] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(4778), 1, + sym_auto, + ACTIONS(4780), 1, + anon_sym_decltype, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + ACTIONS(5169), 1, + anon_sym_LBRACK, + STATE(2661), 1, + sym_decltype_auto, + STATE(3244), 1, + sym_new_declarator, + STATE(3525), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3819), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3817), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [92520] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3308), 8, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + ACTIONS(3300), 25, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + anon_sym_requires, + [92570] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3690), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DASH_GT, + ACTIONS(3688), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_operator, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [92614] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + ACTIONS(4939), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(4937), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(3308), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3300), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [92668] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5095), 1, + anon_sym___attribute__, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5099), 1, + anon_sym___declspec, + ACTIONS(5107), 1, + anon_sym_virtual, + ACTIONS(4892), 4, + anon_sym_AMP, + anon_sym___based, + sym_identifier, + anon_sym_operator, + ACTIONS(5093), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4894), 7, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5101), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3017), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [92726] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(4778), 1, + sym_auto, + ACTIONS(4780), 1, + anon_sym_decltype, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + ACTIONS(5169), 1, + anon_sym_LBRACK, + STATE(2661), 1, + sym_decltype_auto, + STATE(3197), 1, + sym_new_declarator, + STATE(3526), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3803), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3799), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [92786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3723), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DASH_GT, + ACTIONS(3721), 26, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_final, + anon_sym_override, + anon_sym_virtual, + anon_sym_operator, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [92830] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5174), 1, + sym_identifier, + ACTIONS(5179), 1, + sym_primitive_type, + STATE(2863), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5177), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3662), 8, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3664), 21, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + [92882] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(4778), 1, + sym_auto, + ACTIONS(4780), 1, + anon_sym_decltype, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + ACTIONS(5169), 1, + anon_sym_LBRACK, + STATE(2661), 1, + sym_decltype_auto, + STATE(3228), 1, + sym_new_declarator, + STATE(3536), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(3838), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3836), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [92942] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5095), 1, + anon_sym___attribute__, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5099), 1, + anon_sym___declspec, + ACTIONS(5107), 1, + anon_sym_virtual, + ACTIONS(4830), 4, + anon_sym_AMP, + anon_sym___based, + sym_identifier, + anon_sym_operator, + ACTIONS(5093), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(4832), 7, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5101), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3017), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [93000] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5181), 15, + anon_sym_DASH, + anon_sym_PLUS, + sym_primitive_type, + anon_sym_sizeof, + sym_true, + sym_false, + sym_null, + sym_identifier, + anon_sym_template, + anon_sym_delete, + anon_sym_co_await, + anon_sym_new, + anon_sym_requires, + sym_this, + sym_nullptr, + ACTIONS(5183), 21, + sym_raw_string_literal, + anon_sym_LPAREN2, + anon_sym_BANG, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + sym_number_literal, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [93044] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3834), 12, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + sym_literal_suffix, + ACTIONS(3832), 24, + sym_raw_string_literal, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + anon_sym_GT2, + [93088] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5185), 1, + anon_sym_COLON, + STATE(2709), 1, + sym_enumerator_list, + STATE(3100), 1, + sym__enum_base_clause, + ACTIONS(3914), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3912), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [93137] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4805), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3049), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3735), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [93208] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3077), 1, + sym__enum_base_clause, + STATE(3101), 1, + sym_enumerator_list, + ACTIONS(3926), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3928), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [93255] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4444), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3061), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3732), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [93326] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4751), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3751), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [93397] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3495), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3497), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [93440] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3404), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_COLON, + anon_sym_DOT, + ACTIONS(3409), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [93485] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(5205), 1, + anon_sym_COLON, + STATE(2872), 1, + sym__enum_base_clause, + STATE(2896), 1, + sym_enumerator_list, + ACTIONS(3926), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3928), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [93536] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3079), 1, + sym__enum_base_clause, + STATE(3182), 1, + sym_enumerator_list, + ACTIONS(3912), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3914), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [93583] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3483), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3485), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [93626] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5213), 1, + anon_sym___attribute__, + ACTIONS(5215), 1, + anon_sym_LBRACK, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + STATE(4496), 1, + sym_requires_clause, + STATE(4497), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3045), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + STATE(3222), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5207), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [93697] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3515), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3517), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [93740] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5213), 1, + anon_sym___attribute__, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5229), 1, + anon_sym_LBRACK, + STATE(4537), 1, + sym_trailing_return_type, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3746), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + STATE(3227), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5227), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [93811] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3501), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [93854] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4772), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3037), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3745), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [93925] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3501), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [93968] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4772), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3745), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [94039] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3509), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94082] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3501), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94125] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3467), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3469), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94168] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4459), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3739), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [94239] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5185), 1, + anon_sym_COLON, + STATE(2624), 1, + sym_enumerator_list, + STATE(3144), 1, + sym__enum_base_clause, + ACTIONS(3928), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3926), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [94288] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(5205), 1, + anon_sym_COLON, + STATE(2877), 1, + sym__enum_base_clause, + STATE(2914), 1, + sym_enumerator_list, + ACTIONS(3912), 7, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3914), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [94339] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3511), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3513), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94382] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3475), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3477), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94425] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3406), 1, + anon_sym_LBRACK, + ACTIONS(3409), 1, + anon_sym_SEMI, + ACTIONS(3399), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3402), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_EQ, + ACTIONS(3397), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [94474] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5117), 1, + anon_sym_LBRACK, + STATE(3071), 1, + sym_new_declarator, + ACTIONS(4281), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4279), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [94521] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3503), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3505), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94564] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4448), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3733), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [94635] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2629), 1, + anon_sym_LPAREN2, + ACTIONS(2631), 1, + anon_sym_STAR, + ACTIONS(2633), 1, + anon_sym_AMP_AMP, + ACTIONS(2635), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3652), 1, + anon_sym_LBRACK, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(5109), 1, + anon_sym_RPAREN, + STATE(3781), 1, + sym_parameter_list, + STATE(4389), 1, + sym__scope_resolution, + STATE(4719), 1, + sym__declarator, + STATE(4812), 1, + sym__abstract_declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [94714] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3487), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3489), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94757] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3479), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3481), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94800] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3491), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3493), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [94843] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5231), 1, + anon_sym_LPAREN2, + STATE(2580), 1, + sym_argument_list, + ACTIONS(3932), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [94890] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4448), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3053), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3733), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [94961] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3471), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3473), 26, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_requires, + [95004] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5215), 1, + anon_sym_LBRACK, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + STATE(4463), 1, + sym_trailing_return_type, + STATE(4496), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3076), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5207), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + STATE(3295), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [95074] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(3098), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4118), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4116), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [95122] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4435), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4433), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [95164] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4900), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(4898), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [95206] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4383), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4381), 25, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_literal_suffix, + [95248] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(3151), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4134), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4132), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [95296] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3904), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3902), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [95342] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + STATE(4441), 1, + sym_trailing_return_type, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3714), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5227), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + STATE(3298), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [95412] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(3148), 1, + sym_enumerator_list, + ACTIONS(3943), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3945), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [95456] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + ACTIONS(5242), 1, + anon_sym_LBRACK, + STATE(3203), 1, + sym_template_argument_list, + ACTIONS(3323), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3308), 5, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(3300), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + [95508] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(3192), 1, + sym_enumerator_list, + ACTIONS(3950), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3952), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [95552] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + STATE(4441), 1, + sym_trailing_return_type, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3714), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5227), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + STATE(3275), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [95622] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(3142), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4122), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4120), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [95670] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5103), 1, + sym_auto, + ACTIONS(5105), 1, + anon_sym_decltype, + STATE(3104), 1, + sym_decltype_auto, + ACTIONS(3936), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3938), 22, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [95718] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(5246), 1, + sym_identifier, + ACTIONS(5248), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5252), 1, + anon_sym_EQ, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5250), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [95802] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(3171), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4114), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4112), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [95850] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3690), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3688), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [95892] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5215), 1, + anon_sym_LBRACK, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + STATE(4463), 1, + sym_trailing_return_type, + STATE(4496), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3080), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5207), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + STATE(3278), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [95962] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5254), 1, + sym_literal_suffix, + ACTIONS(3310), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3302), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [96006] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3974), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3972), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [96048] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3723), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(3721), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [96090] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(3203), 1, + sym_template_argument_list, + ACTIONS(3340), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3343), 5, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(3338), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + [96142] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(5144), 1, + anon_sym_LT, + STATE(2150), 1, + sym_template_argument_list, + ACTIONS(3300), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3308), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [96190] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4252), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4254), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3997), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3999), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96272] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4248), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4250), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4012), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4014), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96354] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4244), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4246), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96395] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4001), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4003), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96436] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4495), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4493), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [96477] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2064), 1, + sym__enum_base_clause, + STATE(2178), 1, + sym_enumerator_list, + ACTIONS(3928), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3926), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [96522] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2701), 1, + sym_enumerator_list, + ACTIONS(3952), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3950), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [96565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4184), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4186), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4641), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [96647] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4256), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4258), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96688] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4240), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4242), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96729] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4527), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4525), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [96782] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4016), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4018), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96823] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4020), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4022), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96864] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4024), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4026), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96905] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4028), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4030), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96946] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4032), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4034), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [96987] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4036), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4038), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97028] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4040), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4042), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97069] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3531), 1, + anon_sym_SEMI, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(5171), 1, + anon_sym_LBRACK, + STATE(3058), 1, + sym_template_argument_list, + ACTIONS(3323), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3308), 3, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(3300), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [97122] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4044), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4046), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97163] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4593), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(1963), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4048), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4050), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97245] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4052), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4054), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97286] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3302), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97327] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4584), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4582), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97368] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3932), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97409] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(3171), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4114), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4112), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97456] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(3098), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4118), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4116), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97503] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4663), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4661), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [97556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4647), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4645), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97597] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4659), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4657), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97638] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4060), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4062), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97679] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4667), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4665), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [97730] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4064), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4066), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97771] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4068), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4070), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97812] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3326), 1, + anon_sym_SEMI, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3308), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3300), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [97861] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4072), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4074), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4076), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4078), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [97943] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5258), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5260), 1, + anon_sym_AMP_AMP, + ACTIONS(3871), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3873), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [97988] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4633), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [98029] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4080), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4082), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98070] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4084), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4086), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98111] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4088), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4090), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98152] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4092), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4094), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4228), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4230), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98234] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4232), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4234), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98275] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4096), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4098), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98316] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4597), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4595), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [98357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4100), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4102), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98398] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2647), 1, + sym_enumerator_list, + ACTIONS(3945), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3943), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [98441] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4651), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4649), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [98482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4523), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4521), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [98523] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4104), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4106), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98564] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4108), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4110), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98605] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4124), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4126), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98646] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4485), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4483), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [98687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4615), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4613), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [98728] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4236), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4238), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98769] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5264), 1, + anon_sym___declspec, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5270), 1, + anon_sym_virtual, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(4574), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(4576), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(5262), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3449), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [98832] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5264), 1, + anon_sym___declspec, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5270), 1, + anon_sym_virtual, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(4637), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(4639), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(5262), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3419), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [98895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4188), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4190), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [98936] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [98989] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3932), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99030] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4192), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4194), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99071] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4609), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4607), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [99122] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4196), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4198), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99163] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3962), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3964), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99204] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5260), 1, + anon_sym_AMP_AMP, + ACTIONS(3842), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3844), 23, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [99247] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(1432), 1, + sym__fold_operator, + ACTIONS(5274), 13, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_EQ, + ACTIONS(5272), 19, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + anon_sym_DOT_STAR, + anon_sym_DASH_GT_STAR, + [99290] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(3151), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4134), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4132), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [99337] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4617), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [99378] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4200), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4202), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4546), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4544), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [99460] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4204), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4206), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99501] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3966), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3968), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99542] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4128), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4130), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99583] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4550), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4548), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [99624] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4208), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4210), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4136), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4138), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99706] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3347), 1, + anon_sym_LBRACK, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(3254), 1, + sym_template_argument_list, + ACTIONS(3340), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3343), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + ACTIONS(3338), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [99757] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5142), 1, + anon_sym_LPAREN2, + STATE(3142), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4122), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4120), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [99804] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4140), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4142), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4144), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4146), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99886] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4148), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4150), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99927] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4212), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4214), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [99968] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(5171), 1, + anon_sym_LBRACK, + STATE(3254), 1, + sym_template_argument_list, + ACTIONS(3323), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3308), 4, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + ACTIONS(3300), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [100019] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4152), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4154), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100060] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4216), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4218), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100101] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4220), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4222), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100142] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4224), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4226), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100183] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4156), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4158), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100224] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4160), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4162), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100265] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4164), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4166), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4168), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4170), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4172), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4174), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100388] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(2069), 1, + sym__enum_base_clause, + STATE(2232), 1, + sym_enumerator_list, + ACTIONS(3914), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3912), 22, + anon_sym_DOT_DOT_DOT, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + sym_auto, + anon_sym_decltype, + [100433] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4568), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4566), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [100474] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4176), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4178), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4572), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4570), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [100556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4180), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4182), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + anon_sym_requires, + [100597] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4499), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4497), 24, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [100638] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3347), 1, + anon_sym_LBRACK, + ACTIONS(3350), 1, + anon_sym_SEMI, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(3058), 1, + sym_template_argument_list, + ACTIONS(3340), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3343), 3, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(3338), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [100691] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + STATE(3520), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4134), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4132), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [100737] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4621), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [100815] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5304), 1, + sym_identifier, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(5310), 1, + sym_primitive_type, + ACTIONS(5312), 1, + anon_sym_enum, + ACTIONS(5314), 1, + anon_sym_class, + ACTIONS(5316), 1, + anon_sym_struct, + ACTIONS(5318), 1, + anon_sym_union, + ACTIONS(5320), 1, + sym_auto, + ACTIONS(5322), 1, + anon_sym_decltype, + ACTIONS(5324), 1, + anon_sym_typename, + STATE(1830), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1915), 1, + sym__type_specifier, + STATE(2057), 1, + sym_template_type, + STATE(2121), 1, + sym_qualified_type_identifier, + STATE(2189), 1, + sym_decltype_auto, + STATE(3446), 1, + sym_argument_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5308), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2191), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [100895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5328), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(5326), 30, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_typename, + anon_sym_template, + [100935] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5304), 1, + sym_identifier, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(5310), 1, + sym_primitive_type, + ACTIONS(5312), 1, + anon_sym_enum, + ACTIONS(5314), 1, + anon_sym_class, + ACTIONS(5316), 1, + anon_sym_struct, + ACTIONS(5318), 1, + anon_sym_union, + ACTIONS(5320), 1, + sym_auto, + ACTIONS(5322), 1, + anon_sym_decltype, + ACTIONS(5324), 1, + anon_sym_typename, + STATE(1830), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1907), 1, + sym__type_specifier, + STATE(2057), 1, + sym_template_type, + STATE(2121), 1, + sym_qualified_type_identifier, + STATE(2189), 1, + sym_decltype_auto, + STATE(3437), 1, + sym_argument_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5308), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2191), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [101015] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + STATE(4538), 1, + sym_requires_clause, + STATE(4726), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3714), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5227), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3499), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [101083] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3404), 1, + anon_sym_LBRACK, + ACTIONS(3399), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3402), 6, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(3397), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_operator, + [101127] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2983), 1, + sym__type_specifier, + STATE(3474), 1, + sym_argument_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [101207] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2920), 1, + sym__type_specifier, + STATE(3365), 1, + sym_argument_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [101287] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5352), 1, + anon_sym_STAR, + ACTIONS(5354), 1, + anon_sym_AMP_AMP, + ACTIONS(5356), 1, + anon_sym_AMP, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5360), 1, + sym_auto, + ACTIONS(5362), 1, + anon_sym_decltype, + STATE(3104), 1, + sym_decltype_auto, + STATE(3562), 1, + sym_parameter_list, + STATE(4562), 1, + sym__abstract_declarator, + STATE(3513), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5348), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [101353] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3008), 1, + sym__type_specifier, + STATE(3415), 1, + sym_argument_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [101433] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5215), 1, + anon_sym_LBRACK, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + STATE(4496), 1, + sym_requires_clause, + STATE(4675), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3202), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5207), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3483), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [101501] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [101561] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [101619] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4556), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [101695] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [101757] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [101823] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [101891] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [101961] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + STATE(3521), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4122), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4120), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [102007] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5352), 1, + anon_sym_STAR, + ACTIONS(5354), 1, + anon_sym_AMP_AMP, + ACTIONS(5356), 1, + anon_sym_AMP, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5360), 1, + sym_auto, + ACTIONS(5362), 1, + anon_sym_decltype, + STATE(3104), 1, + sym_decltype_auto, + STATE(3562), 1, + sym_parameter_list, + STATE(4547), 1, + sym__abstract_declarator, + STATE(3517), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5364), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [102073] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5366), 1, + sym_identifier, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(5372), 1, + sym_primitive_type, + ACTIONS(5374), 1, + anon_sym_enum, + ACTIONS(5376), 1, + anon_sym_class, + ACTIONS(5378), 1, + anon_sym_struct, + ACTIONS(5380), 1, + anon_sym_union, + ACTIONS(5382), 1, + sym_auto, + ACTIONS(5384), 1, + anon_sym_decltype, + ACTIONS(5386), 1, + anon_sym_typename, + STATE(1893), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1980), 1, + sym__type_specifier, + STATE(2262), 1, + sym_template_type, + STATE(2394), 1, + sym_decltype_auto, + STATE(2441), 1, + sym_qualified_type_identifier, + STATE(3406), 1, + sym_argument_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5370), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2396), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [102153] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [102225] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [102299] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [102355] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5229), 1, + anon_sym_LBRACK, + STATE(4537), 1, + sym_trailing_return_type, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3334), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5227), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [102419] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5366), 1, + sym_identifier, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(5372), 1, + sym_primitive_type, + ACTIONS(5374), 1, + anon_sym_enum, + ACTIONS(5376), 1, + anon_sym_class, + ACTIONS(5378), 1, + anon_sym_struct, + ACTIONS(5380), 1, + anon_sym_union, + ACTIONS(5382), 1, + sym_auto, + ACTIONS(5384), 1, + anon_sym_decltype, + ACTIONS(5386), 1, + anon_sym_typename, + STATE(1893), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1982), 1, + sym__type_specifier, + STATE(2262), 1, + sym_template_type, + STATE(2394), 1, + sym_decltype_auto, + STATE(2441), 1, + sym_qualified_type_identifier, + STATE(3429), 1, + sym_argument_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5370), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2396), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [102499] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5388), 1, + anon_sym_COMMA, + ACTIONS(5390), 1, + anon_sym_SEMI, + ACTIONS(5392), 1, + anon_sym_RBRACE, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + STATE(5295), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [102585] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2909), 1, + sym__type_specifier, + STATE(3460), 1, + sym_argument_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [102665] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [102737] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5398), 1, + anon_sym_LBRACK, + STATE(4539), 1, + sym_trailing_return_type, + STATE(4574), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3334), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5396), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [102801] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + STATE(3527), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4118), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4116), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [102847] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4487), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [102923] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4515), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4513), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [102985] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5408), 1, + anon_sym_enum, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5420), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1846), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(3452), 1, + sym_argument_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103065] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5424), 1, + anon_sym_LBRACK, + STATE(4536), 1, + sym_trailing_return_type, + STATE(4625), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3233), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5422), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [103129] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5428), 1, + anon_sym_LBRACK, + STATE(4529), 1, + sym_trailing_return_type, + STATE(4598), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3334), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5426), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [103193] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4536), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [103269] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5430), 1, + anon_sym_enum, + ACTIONS(5432), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1857), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(3310), 1, + sym_argument_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103349] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5434), 1, + anon_sym_enum, + ACTIONS(5436), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2983), 1, + sym__type_specifier, + STATE(3410), 1, + sym_argument_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103429] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5434), 1, + anon_sym_enum, + ACTIONS(5436), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3008), 1, + sym__type_specifier, + STATE(3432), 1, + sym_argument_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103509] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(4920), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5438), 1, + sym_identifier, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(5442), 1, + anon_sym_enum, + ACTIONS(5444), 1, + anon_sym_class, + ACTIONS(5446), 1, + anon_sym_struct, + ACTIONS(5448), 1, + anon_sym_union, + ACTIONS(5450), 1, + anon_sym_typename, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(3021), 1, + sym__type_specifier, + STATE(3328), 1, + sym_argument_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103589] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(4920), 1, + sym_primitive_type, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5438), 1, + sym_identifier, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(5442), 1, + anon_sym_enum, + ACTIONS(5444), 1, + anon_sym_class, + ACTIONS(5446), 1, + anon_sym_struct, + ACTIONS(5448), 1, + anon_sym_union, + ACTIONS(5450), 1, + anon_sym_typename, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(3029), 1, + sym__type_specifier, + STATE(3329), 1, + sym_argument_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103669] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5408), 1, + anon_sym_enum, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5420), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1857), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(3479), 1, + sym_argument_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103749] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4601), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + [103829] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5430), 1, + anon_sym_enum, + ACTIONS(5432), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1846), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(3311), 1, + sym_argument_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [103909] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4653), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + [103985] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + ACTIONS(5167), 1, + anon_sym_LPAREN2, + STATE(3531), 2, + sym_argument_list, + sym_initializer_list, + ACTIONS(4114), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4112), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [104031] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5452), 1, + anon_sym_STAR, + ACTIONS(5454), 1, + anon_sym_AMP_AMP, + ACTIONS(5456), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3717), 1, + sym_parameter_list, + STATE(4635), 1, + sym__abstract_declarator, + STATE(3704), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5348), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [104096] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5458), 1, + anon_sym_COMMA, + ACTIONS(5460), 1, + anon_sym_RBRACE, + STATE(2352), 1, + sym_argument_list, + STATE(5302), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [104179] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5462), 1, + anon_sym_COMMA, + ACTIONS(5464), 1, + anon_sym_RBRACE, + STATE(2352), 1, + sym_argument_list, + STATE(5259), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [104262] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5468), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + STATE(5286), 1, + aux_sym_argument_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [104345] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5470), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + STATE(5236), 1, + aux_sym_argument_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [104428] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5474), 1, + anon_sym_AMP_AMP, + ACTIONS(5477), 1, + anon_sym_AMP, + ACTIONS(5480), 1, + anon_sym_LBRACK, + ACTIONS(5482), 1, + anon_sym_const, + ACTIONS(5491), 1, + anon_sym_noexcept, + ACTIONS(5494), 1, + anon_sym_throw, + ACTIONS(5488), 2, + anon_sym_final, + anon_sym_override, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5485), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5472), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [104483] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5531), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5260), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [104566] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5533), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + STATE(5409), 1, + aux_sym_argument_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [104649] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5535), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5428), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [104732] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3406), 1, + anon_sym_LBRACK, + ACTIONS(3399), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + ACTIONS(3402), 5, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + ACTIONS(3397), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [104775] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5537), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5195), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [104858] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5169), 1, + anon_sym_LBRACK, + STATE(3322), 1, + sym_new_declarator, + ACTIONS(4281), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4279), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [104901] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5539), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5381), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [104984] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5541), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5330), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [105067] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5543), 1, + anon_sym_COMMA, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5569), 1, + anon_sym_RBRACK, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + STATE(5370), 1, + aux_sym_lambda_capture_specifier_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [105150] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5575), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5307), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [105233] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5577), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5291), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [105316] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5579), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5278), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [105399] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5581), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5264), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [105482] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5583), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5247), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [105565] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3860), 1, + anon_sym_SEMI, + ACTIONS(3932), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [105608] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5585), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + STATE(5446), 1, + aux_sym_argument_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [105691] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5589), 1, + anon_sym_RPAREN, + ACTIONS(5591), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [105774] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5593), 1, + anon_sym_COMMA, + ACTIONS(5595), 1, + anon_sym_RBRACE, + STATE(2352), 1, + sym_argument_list, + STATE(5333), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [105857] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5597), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5320), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [105940] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5543), 1, + anon_sym_COMMA, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5599), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + STATE(5394), 1, + aux_sym_lambda_capture_specifier_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [106023] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3860), 1, + anon_sym_SEMI, + ACTIONS(3932), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [106064] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5601), 1, + anon_sym_COMMA, + ACTIONS(5603), 1, + anon_sym_RBRACE, + STATE(2352), 1, + sym_argument_list, + STATE(5282), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [106147] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5452), 1, + anon_sym_STAR, + ACTIONS(5454), 1, + anon_sym_AMP_AMP, + ACTIONS(5456), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3717), 1, + sym_parameter_list, + STATE(4601), 1, + sym__abstract_declarator, + STATE(3708), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5364), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [106212] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5605), 1, + anon_sym_COMMA, + ACTIONS(5607), 1, + anon_sym_RBRACE, + STATE(2352), 1, + sym_argument_list, + STATE(5382), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [106295] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + ACTIONS(5398), 1, + anon_sym_LBRACK, + STATE(4439), 1, + sym_trailing_return_type, + STATE(4574), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5396), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [106358] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5609), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + STATE(5357), 1, + aux_sym_argument_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [106441] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5591), 1, + anon_sym_SEMI, + ACTIONS(5611), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [106524] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + STATE(4441), 1, + sym_trailing_return_type, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5227), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [106587] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3531), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4267), 1, + anon_sym_LPAREN2, + ACTIONS(4270), 1, + anon_sym_LBRACK, + ACTIONS(3310), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3302), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [106632] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + STATE(4538), 1, + sym_requires_clause, + STATE(4726), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3714), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5227), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3716), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [106699] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5215), 1, + anon_sym_LBRACK, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + STATE(4496), 1, + sym_requires_clause, + STATE(4675), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + STATE(3280), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(5207), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3715), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [106766] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5615), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [106847] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5617), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + STATE(5323), 1, + aux_sym_argument_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [106930] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5621), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5619), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [107011] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5623), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5385), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [107094] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5625), 1, + anon_sym_STAR, + ACTIONS(5627), 1, + anon_sym_AMP_AMP, + ACTIONS(5629), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3684), 1, + sym_parameter_list, + STATE(4639), 1, + sym__abstract_declarator, + STATE(3697), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5364), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [107159] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5631), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5303), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [107242] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5543), 1, + anon_sym_COMMA, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5633), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + STATE(5394), 1, + aux_sym_lambda_capture_specifier_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [107325] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5615), 1, + anon_sym_SEMI, + ACTIONS(5635), 1, + anon_sym_COMMA, + ACTIONS(5638), 1, + anon_sym_RBRACE, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [107408] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(5640), 1, + anon_sym_COLON, + STATE(2872), 1, + sym__enum_base_clause, + STATE(2896), 1, + sym_enumerator_list, + ACTIONS(3928), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3926), 24, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_requires, + [107455] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5392), 1, + anon_sym_RBRACE, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5642), 1, + anon_sym_COMMA, + STATE(2352), 1, + sym_argument_list, + STATE(5295), 1, + aux_sym_initializer_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [107538] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + ACTIONS(3404), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3409), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [107579] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(5640), 1, + anon_sym_COLON, + STATE(2877), 1, + sym__enum_base_clause, + STATE(2914), 1, + sym_enumerator_list, + ACTIONS(3914), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3912), 24, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_extern, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym___declspec, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_requires, + [107626] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5625), 1, + anon_sym_STAR, + ACTIONS(5627), 1, + anon_sym_AMP_AMP, + ACTIONS(5629), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3684), 1, + sym_parameter_list, + STATE(4620), 1, + sym__abstract_declarator, + STATE(3693), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5348), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [107691] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + STATE(4441), 1, + sym_trailing_return_type, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5227), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [107754] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5644), 1, + anon_sym_GT2, + STATE(2782), 1, + sym_argument_list, + STATE(5334), 1, + aux_sym_template_argument_list_repeat1, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [107837] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5646), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + STATE(5209), 1, + aux_sym_argument_list_repeat1, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [107920] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5398), 1, + anon_sym_LBRACK, + STATE(4439), 1, + sym_trailing_return_type, + STATE(4574), 1, + sym_requires_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5396), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [107983] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5648), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [108063] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5650), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [108143] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_GT2, + [108205] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_GT2, + [108269] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + anon_sym_GT2, + [108335] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_QMARK, + anon_sym_GT2, + [108403] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_GT2, + [108473] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_QMARK, + anon_sym_GT2, + [108543] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_QMARK, + anon_sym_GT2, + [108615] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(4441), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [108665] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(4441), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [108719] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5430), 1, + anon_sym_enum, + ACTIONS(5432), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1841), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [108793] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5430), 1, + anon_sym_enum, + ACTIONS(5432), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1843), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [108867] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5652), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [108947] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3487), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3489), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [108985] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3491), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3493), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [109023] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4906), 1, + anon_sym_enum, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4914), 1, + anon_sym_typename, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [109097] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5434), 1, + anon_sym_enum, + ACTIONS(5436), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2060), 1, + sym__type_specifier, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [109171] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1527), 1, + sym_primitive_type, + ACTIONS(1529), 1, + anon_sym_enum, + ACTIONS(1531), 1, + anon_sym_class, + ACTIONS(1533), 1, + anon_sym_struct, + ACTIONS(1535), 1, + anon_sym_union, + ACTIONS(1537), 1, + sym_auto, + ACTIONS(1539), 1, + anon_sym_decltype, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4904), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(3082), 1, + sym__type_specifier, + STATE(3152), 1, + sym_decltype_auto, + STATE(3157), 1, + sym_qualified_type_identifier, + STATE(3582), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4902), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3120), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [109245] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5654), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [109323] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5430), 1, + anon_sym_enum, + ACTIONS(5432), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1935), 1, + sym_template_type, + STATE(1936), 1, + sym__type_specifier, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [109397] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(4924), 1, + anon_sym_enum, + ACTIONS(4926), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2060), 1, + sym__type_specifier, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [109471] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4601), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [109549] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4435), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4433), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [109587] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5656), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [109667] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5658), 1, + anon_sym_COMMA, + ACTIONS(5660), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [109747] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4487), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [109821] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4556), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [109895] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4621), 3, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [109971] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(4920), 1, + sym_primitive_type, + ACTIONS(5438), 1, + sym_identifier, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(5442), 1, + anon_sym_enum, + ACTIONS(5444), 1, + anon_sym_class, + ACTIONS(5446), 1, + anon_sym_struct, + ACTIONS(5448), 1, + anon_sym_union, + ACTIONS(5450), 1, + anon_sym_typename, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(3018), 1, + sym__type_specifier, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [110045] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(4920), 1, + sym_primitive_type, + ACTIONS(5438), 1, + sym_identifier, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(5442), 1, + anon_sym_enum, + ACTIONS(5444), 1, + anon_sym_class, + ACTIONS(5446), 1, + anon_sym_struct, + ACTIONS(5448), 1, + anon_sym_union, + ACTIONS(5450), 1, + anon_sym_typename, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(3026), 1, + sym__type_specifier, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [110119] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5662), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [110199] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5664), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [110279] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5666), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [110359] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5668), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [110439] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5474), 1, + anon_sym_AMP_AMP, + ACTIONS(5477), 1, + anon_sym_AMP, + ACTIONS(5480), 1, + anon_sym_LBRACK, + ACTIONS(5491), 1, + anon_sym_noexcept, + ACTIONS(5494), 1, + anon_sym_throw, + ACTIONS(5670), 1, + anon_sym_const, + ACTIONS(5488), 2, + anon_sym_final, + anon_sym_override, + STATE(3334), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5673), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5472), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_requires, + [110493] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5676), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [110571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3495), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3497), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [110609] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5678), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [110689] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [110747] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [110803] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [110863] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [110927] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [110993] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4536), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [111067] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5680), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111147] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4056), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(4058), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [111185] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3501), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [111223] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3501), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [111261] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3501), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [111299] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2060), 1, + sym__type_specifier, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [111373] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5682), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111453] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5684), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111533] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5686), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111613] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5688), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111693] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5690), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111773] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5692), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111853] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5619), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [111931] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_RBRACK, + anon_sym_QMARK, + [111999] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3509), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [112037] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [112107] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_RBRACK, + anon_sym_QMARK, + [112177] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5694), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [112257] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5696), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [112337] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_RBRACK, + anon_sym_QMARK, + [112409] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5676), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [112487] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2945), 1, + sym__type_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [112561] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4906), 1, + anon_sym_enum, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4914), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(4884), 1, + sym__type_specifier, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [112635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3515), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3517), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [112673] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5698), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [112751] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4667), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(4665), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [112799] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_RBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [112853] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5700), 1, + anon_sym_COMMA, + ACTIONS(5702), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [112933] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5591), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [113013] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4653), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [113087] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4621), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [113163] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3932), 5, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + ACTIONS(3934), 24, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_virtual, + anon_sym_template, + anon_sym_operator, + [113203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3723), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DASH_GT, + anon_sym_GT2, + ACTIONS(3721), 16, + anon_sym_AMP, + anon_sym___based, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_template, + anon_sym_operator, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [113241] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5704), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [113319] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5638), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [113397] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4515), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4513), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_GT2, + [113459] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4527), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(4525), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [113509] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5654), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [113587] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5706), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [113667] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1467), 1, + anon_sym_enum, + ACTIONS(1469), 1, + anon_sym_class, + ACTIONS(1471), 1, + anon_sym_struct, + ACTIONS(1473), 1, + anon_sym_union, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(1479), 1, + anon_sym_typename, + ACTIONS(4758), 1, + sym_identifier, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(4764), 1, + sym_primitive_type, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2060), 1, + sym__type_specifier, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [113741] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5708), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [113821] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4556), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [113895] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5710), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [113975] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 6, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [114035] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5712), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [114115] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5714), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [114195] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 7, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(4441), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [114251] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4609), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(4607), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_GT2, + [114299] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4393), 1, + anon_sym_RPAREN, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [114379] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3503), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3505), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [114417] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3475), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3477), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [114455] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5408), 1, + anon_sym_enum, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5420), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1935), 1, + sym_template_type, + STATE(1936), 1, + sym__type_specifier, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [114529] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5716), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [114609] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3483), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3485), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [114647] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5718), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [114727] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3511), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3513), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [114765] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5720), 1, + anon_sym_COMMA, + ACTIONS(5722), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [114845] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5724), 1, + sym_literal_suffix, + ACTIONS(3310), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [114885] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4856), 1, + sym_identifier, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(4862), 1, + sym_primitive_type, + ACTIONS(4864), 1, + anon_sym_enum, + ACTIONS(4866), 1, + anon_sym_class, + ACTIONS(4868), 1, + anon_sym_struct, + ACTIONS(4870), 1, + anon_sym_union, + ACTIONS(4872), 1, + sym_auto, + ACTIONS(4874), 1, + anon_sym_decltype, + ACTIONS(4876), 1, + anon_sym_typename, + STATE(3796), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3960), 1, + sym__type_specifier, + STATE(3992), 1, + sym_template_type, + STATE(4030), 1, + sym_decltype_auto, + STATE(4034), 1, + sym_qualified_type_identifier, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4860), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(4031), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [114959] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5726), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [115039] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5728), 1, + anon_sym_COMMA, + ACTIONS(5730), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [115119] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5732), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [115199] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5366), 1, + sym_identifier, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(5372), 1, + sym_primitive_type, + ACTIONS(5374), 1, + anon_sym_enum, + ACTIONS(5376), 1, + anon_sym_class, + ACTIONS(5378), 1, + anon_sym_struct, + ACTIONS(5380), 1, + anon_sym_union, + ACTIONS(5382), 1, + sym_auto, + ACTIONS(5384), 1, + anon_sym_decltype, + ACTIONS(5386), 1, + anon_sym_typename, + STATE(1893), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1975), 1, + sym__type_specifier, + STATE(2262), 1, + sym_template_type, + STATE(2394), 1, + sym_decltype_auto, + STATE(2441), 1, + sym_qualified_type_identifier, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5370), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2396), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [115273] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(4920), 1, + sym_primitive_type, + ACTIONS(5438), 1, + sym_identifier, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(5442), 1, + anon_sym_enum, + ACTIONS(5444), 1, + anon_sym_class, + ACTIONS(5446), 1, + anon_sym_struct, + ACTIONS(5448), 1, + anon_sym_union, + ACTIONS(5450), 1, + anon_sym_typename, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2565), 1, + sym__type_specifier, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [115347] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(2555), 1, + anon_sym_class, + ACTIONS(2557), 1, + anon_sym_struct, + ACTIONS(2559), 1, + anon_sym_union, + ACTIONS(4822), 1, + anon_sym_enum, + ACTIONS(4824), 1, + anon_sym_typename, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [115421] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(2553), 1, + anon_sym_enum, + ACTIONS(2555), 1, + anon_sym_class, + ACTIONS(2557), 1, + anon_sym_struct, + ACTIONS(2559), 1, + anon_sym_union, + ACTIONS(2561), 1, + anon_sym_typename, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [115495] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5434), 1, + anon_sym_enum, + ACTIONS(5436), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3001), 1, + sym__type_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [115569] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5734), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [115649] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5366), 1, + sym_identifier, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(5372), 1, + sym_primitive_type, + ACTIONS(5374), 1, + anon_sym_enum, + ACTIONS(5376), 1, + anon_sym_class, + ACTIONS(5378), 1, + anon_sym_struct, + ACTIONS(5380), 1, + anon_sym_union, + ACTIONS(5382), 1, + sym_auto, + ACTIONS(5384), 1, + anon_sym_decltype, + ACTIONS(5386), 1, + anon_sym_typename, + STATE(1893), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2262), 1, + sym_template_type, + STATE(2307), 1, + sym__type_specifier, + STATE(2394), 1, + sym_decltype_auto, + STATE(2441), 1, + sym_qualified_type_identifier, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5370), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2396), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [115723] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4536), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [115797] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5736), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [115877] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2996), 1, + sym__type_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [115951] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3995), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [115989] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3471), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3473), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [116027] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2661), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(2659), 21, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_operator, + [116065] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5264), 1, + anon_sym___declspec, + ACTIONS(5270), 1, + anon_sym_virtual, + ACTIONS(4830), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(4832), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(5262), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3427), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [116119] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4906), 1, + anon_sym_enum, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4914), 1, + anon_sym_typename, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(4895), 1, + sym__type_specifier, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [116193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3479), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3481), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [116231] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5738), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [116311] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5740), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [116391] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5742), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [116471] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1527), 1, + sym_primitive_type, + ACTIONS(1529), 1, + anon_sym_enum, + ACTIONS(1531), 1, + anon_sym_class, + ACTIONS(1533), 1, + anon_sym_struct, + ACTIONS(1535), 1, + anon_sym_union, + ACTIONS(1537), 1, + sym_auto, + ACTIONS(1539), 1, + anon_sym_decltype, + ACTIONS(1543), 1, + anon_sym_typename, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + STATE(2873), 1, + sym_template_type, + STATE(3028), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(3082), 1, + sym__type_specifier, + STATE(3152), 1, + sym_decltype_auto, + STATE(3157), 1, + sym_qualified_type_identifier, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1525), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(3120), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [116545] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5744), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [116625] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4844), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5038), 1, + anon_sym_const, + ACTIONS(5749), 1, + anon_sym___attribute__, + ACTIONS(5752), 1, + anon_sym___declspec, + ACTIONS(5758), 1, + anon_sym_virtual, + ACTIONS(4834), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(4836), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(5746), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(5755), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3427), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [116679] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5761), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [116759] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5366), 1, + sym_identifier, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(5372), 1, + sym_primitive_type, + ACTIONS(5374), 1, + anon_sym_enum, + ACTIONS(5376), 1, + anon_sym_class, + ACTIONS(5378), 1, + anon_sym_struct, + ACTIONS(5380), 1, + anon_sym_union, + ACTIONS(5382), 1, + sym_auto, + ACTIONS(5384), 1, + anon_sym_decltype, + ACTIONS(5386), 1, + anon_sym_typename, + STATE(1893), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1977), 1, + sym__type_specifier, + STATE(2262), 1, + sym_template_type, + STATE(2394), 1, + sym_decltype_auto, + STATE(2441), 1, + sym_qualified_type_identifier, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5370), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2396), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [116833] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5763), 1, + anon_sym_COMMA, + ACTIONS(5765), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [116913] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5767), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [116993] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5434), 1, + anon_sym_enum, + ACTIONS(5436), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2996), 1, + sym__type_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [117067] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4653), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_QMARK, + [117141] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5769), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [117221] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(63), 1, + anon_sym_enum, + ACTIONS(65), 1, + anon_sym_class, + ACTIONS(67), 1, + anon_sym_struct, + ACTIONS(69), 1, + anon_sym_union, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(113), 1, + anon_sym_typename, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [117295] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5771), 1, + anon_sym_COMMA, + ACTIONS(5773), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [117375] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5304), 1, + sym_identifier, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(5310), 1, + sym_primitive_type, + ACTIONS(5312), 1, + anon_sym_enum, + ACTIONS(5314), 1, + anon_sym_class, + ACTIONS(5316), 1, + anon_sym_struct, + ACTIONS(5318), 1, + anon_sym_union, + ACTIONS(5320), 1, + sym_auto, + ACTIONS(5322), 1, + anon_sym_decltype, + ACTIONS(5324), 1, + anon_sym_typename, + STATE(1830), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1929), 1, + sym__type_specifier, + STATE(2057), 1, + sym_template_type, + STATE(2121), 1, + sym_qualified_type_identifier, + STATE(2189), 1, + sym_decltype_auto, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5308), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2191), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [117449] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4487), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_GT2, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [117523] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5775), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [117603] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5777), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [117683] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5779), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [117763] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5781), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [117843] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5783), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [117923] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5785), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [118003] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5787), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [118083] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5304), 1, + sym_identifier, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(5310), 1, + sym_primitive_type, + ACTIONS(5312), 1, + anon_sym_enum, + ACTIONS(5314), 1, + anon_sym_class, + ACTIONS(5316), 1, + anon_sym_struct, + ACTIONS(5318), 1, + anon_sym_union, + ACTIONS(5320), 1, + sym_auto, + ACTIONS(5322), 1, + anon_sym_decltype, + ACTIONS(5324), 1, + anon_sym_typename, + STATE(1830), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1903), 1, + sym__type_specifier, + STATE(2057), 1, + sym_template_type, + STATE(2121), 1, + sym_qualified_type_identifier, + STATE(2189), 1, + sym_decltype_auto, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5308), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2191), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [118157] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4515), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4513), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACK, + anon_sym_QMARK, + [118217] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4663), 10, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + ACTIONS(4661), 13, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_GT2, + [118267] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(5234), 1, + anon_sym___attribute__, + ACTIONS(5264), 1, + anon_sym___declspec, + ACTIONS(5270), 1, + anon_sym_virtual, + ACTIONS(4892), 2, + anon_sym_AMP, + anon_sym_LBRACK, + ACTIONS(4894), 3, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + ACTIONS(5262), 5, + anon_sym_extern, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(3427), 8, + sym__declaration_modifiers, + sym_attribute_specifier, + sym_attribute_declaration, + sym_ms_declspec_modifier, + sym_storage_class_specifier, + sym_type_qualifier, + sym_virtual_function_specifier, + aux_sym__declaration_specifiers_repeat1, + [118321] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5789), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [118401] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5791), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [118481] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5408), 1, + anon_sym_enum, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5420), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1843), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [118555] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5793), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [118635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3467), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3469), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [118673] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + ACTIONS(4812), 1, + anon_sym_LBRACK, + ACTIONS(4818), 1, + anon_sym_DOT, + ACTIONS(4820), 1, + anon_sym_DASH_GT, + ACTIONS(5497), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5505), 1, + anon_sym_SLASH, + ACTIONS(5507), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5509), 1, + anon_sym_AMP_AMP, + ACTIONS(5511), 1, + anon_sym_PIPE, + ACTIONS(5513), 1, + anon_sym_CARET, + ACTIONS(5515), 1, + anon_sym_AMP, + ACTIONS(5521), 1, + anon_sym_LT_LT, + ACTIONS(5523), 1, + anon_sym_GT_GT, + ACTIONS(5525), 1, + anon_sym_QMARK, + ACTIONS(5527), 1, + anon_sym_LT_EQ_GT, + STATE(2782), 1, + sym_argument_list, + ACTIONS(4601), 2, + anon_sym_COMMA, + anon_sym_GT2, + ACTIONS(5501), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5503), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5517), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5529), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5519), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [118751] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5795), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [118829] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5797), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [118909] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4908), 1, + anon_sym_class, + ACTIONS(4910), 1, + anon_sym_struct, + ACTIONS(4912), 1, + anon_sym_union, + ACTIONS(4931), 1, + anon_sym_enum, + ACTIONS(4933), 1, + anon_sym_typename, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [118983] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5799), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119063] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(2916), 1, + sym__type_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [119137] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2147), 1, + anon_sym_enum, + ACTIONS(2149), 1, + anon_sym_class, + ACTIONS(2151), 1, + anon_sym_struct, + ACTIONS(2153), 1, + anon_sym_union, + ACTIONS(2167), 1, + sym_auto, + ACTIONS(2169), 1, + anon_sym_decltype, + ACTIONS(2171), 1, + anon_sym_typename, + ACTIONS(4916), 1, + sym_identifier, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(4920), 1, + sym_primitive_type, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2545), 1, + sym_template_type, + STATE(2565), 1, + sym__type_specifier, + STATE(2594), 1, + sym_decltype_auto, + STATE(2622), 1, + sym_qualified_type_identifier, + STATE(4754), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2620), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [119211] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5801), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119291] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5803), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119369] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(1863), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [119407] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5805), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119487] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5807), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119567] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(1879), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [119605] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5809), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119683] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5811), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119763] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1407), 1, + anon_sym_enum, + ACTIONS(1409), 1, + anon_sym_class, + ACTIONS(1411), 1, + anon_sym_struct, + ACTIONS(1413), 1, + anon_sym_union, + ACTIONS(1427), 1, + anon_sym_typename, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2919), 1, + sym_identifier, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [119837] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5813), 1, + anon_sym_COMMA, + ACTIONS(5815), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119917] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5817), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [119997] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5304), 1, + sym_identifier, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(5310), 1, + sym_primitive_type, + ACTIONS(5312), 1, + anon_sym_enum, + ACTIONS(5314), 1, + anon_sym_class, + ACTIONS(5316), 1, + anon_sym_struct, + ACTIONS(5318), 1, + anon_sym_union, + ACTIONS(5320), 1, + sym_auto, + ACTIONS(5322), 1, + anon_sym_decltype, + ACTIONS(5324), 1, + anon_sym_typename, + STATE(1830), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2057), 1, + sym_template_type, + STATE(2063), 1, + sym__type_specifier, + STATE(2121), 1, + sym_qualified_type_identifier, + STATE(2189), 1, + sym_decltype_auto, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5308), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2191), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [120071] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1475), 1, + sym_auto, + ACTIONS(1477), 1, + anon_sym_decltype, + ACTIONS(4764), 1, + sym_primitive_type, + ACTIONS(5334), 1, + sym_identifier, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(5338), 1, + anon_sym_enum, + ACTIONS(5340), 1, + anon_sym_class, + ACTIONS(5342), 1, + anon_sym_struct, + ACTIONS(5344), 1, + anon_sym_union, + ACTIONS(5346), 1, + anon_sym_typename, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2065), 1, + sym_template_type, + STATE(2096), 1, + sym_qualified_type_identifier, + STATE(2102), 1, + sym_decltype_auto, + STATE(3001), 1, + sym__type_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2220), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [120145] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5819), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [120225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3978), 9, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_DOT, + ACTIONS(3980), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + [120263] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2643), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(2641), 21, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_operator, + [120301] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4383), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4381), 19, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + sym_literal_suffix, + [120339] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5400), 1, + sym_identifier, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(5406), 1, + sym_primitive_type, + ACTIONS(5408), 1, + anon_sym_enum, + ACTIONS(5410), 1, + anon_sym_class, + ACTIONS(5412), 1, + anon_sym_struct, + ACTIONS(5414), 1, + anon_sym_union, + ACTIONS(5416), 1, + sym_auto, + ACTIONS(5418), 1, + anon_sym_decltype, + ACTIONS(5420), 1, + anon_sym_typename, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(1841), 1, + sym__type_specifier, + STATE(1935), 1, + sym_template_type, + STATE(1981), 1, + sym_qualified_type_identifier, + STATE(2046), 1, + sym_decltype_auto, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2052), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [120413] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5390), 1, + anon_sym_SEMI, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [120493] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5587), 1, + anon_sym_COMMA, + ACTIONS(5821), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [120573] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(105), 1, + sym_auto, + ACTIONS(107), 1, + anon_sym_decltype, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2431), 1, + sym_primitive_type, + ACTIONS(2543), 1, + sym_identifier, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4941), 1, + anon_sym_enum, + ACTIONS(4943), 1, + anon_sym_class, + ACTIONS(4945), 1, + anon_sym_struct, + ACTIONS(4947), 1, + anon_sym_union, + ACTIONS(4949), 1, + anon_sym_typename, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(2867), 1, + sym__type_specifier, + STATE(2873), 1, + sym_template_type, + STATE(2954), 1, + sym_decltype_auto, + STATE(2968), 1, + sym_qualified_type_identifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + STATE(2975), 8, + sym_sized_type_specifier, + sym_enum_specifier, + sym_struct_specifier, + sym_union_specifier, + sym_placeholder_type_specifier, + sym_decltype, + sym_class_specifier, + sym_dependent_type, + [120647] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + STATE(4538), 1, + sym_requires_clause, + STATE(4726), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5227), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [120708] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5823), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [120785] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5825), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [120862] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3228), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [120939] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3978), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3980), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [120976] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3230), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121053] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5827), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121130] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5829), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121207] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5831), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121284] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5833), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121361] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5835), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121438] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3993), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3995), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [121475] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(4778), 1, + sym_auto, + ACTIONS(4780), 1, + anon_sym_decltype, + ACTIONS(5837), 1, + anon_sym_STAR, + ACTIONS(5839), 1, + anon_sym_AMP_AMP, + ACTIONS(5841), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(2661), 1, + sym_decltype_auto, + STATE(3770), 1, + sym_parameter_list, + STATE(4828), 1, + sym__abstract_declarator, + STATE(3761), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5364), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [121538] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5871), 1, + anon_sym_COLON, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121615] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4536), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121688] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4621), 2, + anon_sym_COLON, + anon_sym_QMARK, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121763] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5398), 1, + anon_sym_LBRACK, + STATE(4574), 1, + sym_requires_clause, + STATE(4722), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5396), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [121824] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5877), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121901] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5879), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [121978] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(4465), 7, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [122031] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_COLON, + anon_sym_QMARK, + [122102] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4667), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4665), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [122149] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4527), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4525), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [122198] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + [122267] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5881), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [122344] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4609), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4607), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + [122391] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_COLON, + anon_sym_QMARK, + [122460] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + ACTIONS(5889), 1, + sym_auto, + ACTIONS(5891), 1, + anon_sym_decltype, + STATE(3793), 1, + sym_parameter_list, + STATE(4055), 1, + sym_decltype_auto, + STATE(4818), 1, + sym__abstract_declarator, + STATE(3804), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5364), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [122523] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5895), 1, + anon_sym_LPAREN2, + ACTIONS(5897), 5, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(5893), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [122562] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3125), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [122639] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5352), 1, + anon_sym_STAR, + ACTIONS(5354), 1, + anon_sym_AMP_AMP, + ACTIONS(5356), 1, + anon_sym_AMP, + ACTIONS(5358), 1, + anon_sym_LBRACK, + STATE(3562), 1, + sym_parameter_list, + STATE(4523), 1, + sym__abstract_declarator, + STATE(3885), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5899), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [122696] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5901), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [122773] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4465), 1, + anon_sym_PIPE, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_COLON, + anon_sym_QMARK, + [122840] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_COLON, + anon_sym_QMARK, + [122905] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5352), 1, + anon_sym_STAR, + ACTIONS(5354), 1, + anon_sym_AMP_AMP, + ACTIONS(5356), 1, + anon_sym_AMP, + ACTIONS(5358), 1, + anon_sym_LBRACK, + STATE(3562), 1, + sym_parameter_list, + STATE(4561), 1, + sym__abstract_declarator, + STATE(3885), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5903), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [122962] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4568), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4566), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [122999] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4647), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4645), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123036] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4615), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4613), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4597), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4595), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123110] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4572), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4570), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123147] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(4465), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_COLON, + anon_sym_QMARK, + [123210] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + [123269] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4643), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4641), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4499), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4497), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123343] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4495), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4493), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123380] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [123435] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5905), 1, + anon_sym_AMP_AMP, + ACTIONS(3842), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3844), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123474] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4546), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4544), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123511] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4550), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4548), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123548] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4584), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4582), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123585] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4465), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [123642] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5907), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [123719] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5909), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [123796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4635), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4633), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123833] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4659), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4657), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [123870] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5911), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [123947] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5913), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124024] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4056), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4058), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [124061] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5915), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124138] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5917), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124215] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4556), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124288] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4485), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4483), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [124325] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4593), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(1963), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [124362] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4487), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124435] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5919), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124512] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5921), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124589] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5923), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124666] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3158), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124743] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4601), 1, + anon_sym_COLON, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124820] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5925), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [124897] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5905), 1, + anon_sym_AMP_AMP, + ACTIONS(5927), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3871), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3873), 16, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [124938] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4523), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4521), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [124975] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4651), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4649), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [125012] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5929), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125089] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4619), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(4617), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [125126] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3310), 11, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_GT_GT, + anon_sym_DOT, + ACTIONS(3302), 18, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_LT, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + anon_sym_DASH_GT, + anon_sym_GT2, + [125163] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5931), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125240] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5352), 1, + anon_sym_STAR, + ACTIONS(5354), 1, + anon_sym_AMP_AMP, + ACTIONS(5356), 1, + anon_sym_AMP, + ACTIONS(5358), 1, + anon_sym_LBRACK, + STATE(3562), 1, + sym_parameter_list, + STATE(4511), 1, + sym__abstract_declarator, + STATE(3673), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(3642), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [125297] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5933), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125374] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5937), 1, + anon_sym_LBRACK, + STATE(4486), 1, + sym_requires_clause, + STATE(4585), 1, + sym_trailing_return_type, + STATE(3639), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(5935), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [125433] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5939), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125510] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5941), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125587] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4605), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3591), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3896), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [125646] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5949), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125723] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(2160), 1, + sym_decltype_auto, + STATE(3781), 1, + sym_parameter_list, + STATE(4741), 1, + sym__abstract_declarator, + STATE(3774), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5348), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [125786] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5951), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125863] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5953), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [125940] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4597), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3655), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3894), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [125999] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5955), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126076] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + ACTIONS(5889), 1, + sym_auto, + ACTIONS(5891), 1, + anon_sym_decltype, + STATE(3793), 1, + sym_parameter_list, + STATE(4055), 1, + sym_decltype_auto, + STATE(4800), 1, + sym__abstract_declarator, + STATE(3764), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5348), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [126139] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4653), 3, + anon_sym_DOT_DOT_DOT, + anon_sym_COLON, + anon_sym_QMARK, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126212] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(4515), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4513), 9, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_COLON, + anon_sym_QMARK, + [126271] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(2160), 1, + sym_decltype_auto, + STATE(3781), 1, + sym_parameter_list, + STATE(4757), 1, + sym__abstract_declarator, + STATE(3772), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5364), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [126334] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5957), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126411] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5959), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126488] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5961), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126565] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5963), 1, + anon_sym_STAR, + ACTIONS(5965), 1, + anon_sym_AMP_AMP, + ACTIONS(5967), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3782), 1, + sym_parameter_list, + STATE(4782), 1, + sym__abstract_declarator, + STATE(3767), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5364), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [126628] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5969), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126705] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5971), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126782] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5179), 1, + sym_primitive_type, + ACTIONS(5973), 1, + sym_identifier, + STATE(2863), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(5177), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3662), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3664), 13, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [126827] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5975), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126904] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5977), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [126981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5981), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK_LBRACK, + ACTIONS(5979), 23, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_LBRACK, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_explicit, + anon_sym_template, + anon_sym_operator, + [127018] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5983), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127095] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5985), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127172] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5987), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127249] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5989), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127326] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5991), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127403] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4597), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3894), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [127462] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5993), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127539] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5995), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127616] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5997), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127693] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3222), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127770] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(5999), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127847] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5963), 1, + anon_sym_STAR, + ACTIONS(5965), 1, + anon_sym_AMP_AMP, + ACTIONS(5967), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3782), 1, + sym_parameter_list, + STATE(4739), 1, + sym__abstract_declarator, + STATE(3783), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5348), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [127910] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6001), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [127987] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6003), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128064] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6005), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128141] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6007), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128218] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6009), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128295] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6011), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128372] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6013), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128449] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6015), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128526] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6017), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128603] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6019), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128680] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6021), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128757] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(4778), 1, + sym_auto, + ACTIONS(4780), 1, + anon_sym_decltype, + ACTIONS(5837), 1, + anon_sym_STAR, + ACTIONS(5839), 1, + anon_sym_AMP_AMP, + ACTIONS(5841), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(2661), 1, + sym_decltype_auto, + STATE(3770), 1, + sym_parameter_list, + STATE(4752), 1, + sym__abstract_declarator, + STATE(3788), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5348), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [128820] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6023), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128897] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6025), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [128974] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3191), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129051] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6027), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129128] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6029), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129205] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6031), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129282] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6033), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129359] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6035), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129436] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6037), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129513] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6039), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129590] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6041), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129667] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6043), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129744] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6045), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129821] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6047), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129898] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3156), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [129975] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6049), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130052] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6051), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130129] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6053), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130206] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6055), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130283] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(6059), 1, + anon_sym_LBRACK, + STATE(4449), 1, + sym_requires_clause, + STATE(4518), 1, + sym_trailing_return_type, + STATE(3649), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6057), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [130342] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6061), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130419] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6063), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130496] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3189), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130573] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6065), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130650] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6067), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130727] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6069), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130804] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4663), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4661), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [130853] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6071), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [130930] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6073), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131007] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + STATE(4530), 1, + sym_trailing_return_type, + STATE(3729), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6075), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [131066] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6079), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131143] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6081), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131220] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6083), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131297] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(4465), 8, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(4441), 14, + anon_sym_DOT_DOT_DOT, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_COLON, + anon_sym_QMARK, + anon_sym_LT_EQ_GT, + [131346] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6085), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131423] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6087), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131500] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6089), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131577] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6091), 1, + anon_sym_RBRACE, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131654] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3162), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131731] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5219), 1, + anon_sym_DASH_GT, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4431), 1, + sym_requires_clause, + STATE(4521), 1, + sym_trailing_return_type, + STATE(3729), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6093), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [131790] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6097), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131867] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3193), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [131944] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3220), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132021] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6099), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132098] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6101), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132175] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + STATE(4604), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + ACTIONS(2537), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + STATE(3892), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2535), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [132234] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6103), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132311] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3185), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132388] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6105), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132465] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6107), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132542] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6109), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132619] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6111), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132696] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6113), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132773] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6115), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132850] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6117), 1, + anon_sym_RBRACK, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [132927] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6119), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133004] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6121), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133081] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6123), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133158] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4975), 1, + anon_sym_DOT, + ACTIONS(4977), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5851), 1, + anon_sym_SLASH, + ACTIONS(5853), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5855), 1, + anon_sym_AMP_AMP, + ACTIONS(5857), 1, + anon_sym_PIPE, + ACTIONS(5859), 1, + anon_sym_CARET, + ACTIONS(5861), 1, + anon_sym_AMP, + ACTIONS(5867), 1, + anon_sym_GT_EQ, + ACTIONS(5873), 1, + anon_sym_QMARK, + ACTIONS(5875), 1, + anon_sym_LT_EQ_GT, + ACTIONS(6125), 1, + anon_sym_COLON, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5847), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5849), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5863), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5869), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5865), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133235] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3234), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133312] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6127), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133389] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6129), 1, + anon_sym_RPAREN, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133466] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6131), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133543] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5101), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5352), 1, + anon_sym_STAR, + ACTIONS(5354), 1, + anon_sym_AMP_AMP, + ACTIONS(5356), 1, + anon_sym_AMP, + ACTIONS(5358), 1, + anon_sym_LBRACK, + STATE(3562), 1, + sym_parameter_list, + STATE(4565), 1, + sym__abstract_declarator, + STATE(3885), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(4273), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + ACTIONS(5217), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [133600] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6133), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133677] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5282), 1, + anon_sym_SLASH, + ACTIONS(5284), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5286), 1, + anon_sym_AMP_AMP, + ACTIONS(5288), 1, + anon_sym_PIPE, + ACTIONS(5290), 1, + anon_sym_CARET, + ACTIONS(5292), 1, + anon_sym_AMP, + ACTIONS(5298), 1, + anon_sym_GT_EQ, + ACTIONS(5302), 1, + anon_sym_LT_EQ_GT, + ACTIONS(5394), 1, + anon_sym_QMARK, + ACTIONS(6135), 1, + anon_sym_SEMI, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5278), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5280), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5294), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5300), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5296), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133754] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3238), 1, + anon_sym_RBRACK, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + ACTIONS(4463), 1, + anon_sym_LBRACK, + ACTIONS(4471), 1, + anon_sym_DOT, + ACTIONS(4473), 1, + anon_sym_DASH_GT, + ACTIONS(5276), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5549), 1, + anon_sym_SLASH, + ACTIONS(5551), 1, + anon_sym_PIPE_PIPE, + ACTIONS(5553), 1, + anon_sym_AMP_AMP, + ACTIONS(5555), 1, + anon_sym_PIPE, + ACTIONS(5557), 1, + anon_sym_CARET, + ACTIONS(5559), 1, + anon_sym_AMP, + ACTIONS(5565), 1, + anon_sym_GT_EQ, + ACTIONS(5571), 1, + anon_sym_QMARK, + ACTIONS(5573), 1, + anon_sym_LT_EQ_GT, + STATE(2352), 1, + sym_argument_list, + ACTIONS(5256), 2, + anon_sym_DASH_DASH, + anon_sym_PLUS_PLUS, + ACTIONS(5545), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(5547), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(5561), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(5567), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(5563), 3, + anon_sym_GT, + anon_sym_LT_EQ, + anon_sym_LT, + [133831] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5424), 1, + anon_sym_LBRACK, + STATE(4625), 1, + sym_requires_clause, + STATE(4839), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5422), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(3712), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [133891] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4309), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5458), 1, + sym_init_declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [133957] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4368), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5421), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134023] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4379), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5285), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134089] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4387), 1, + sym__declarator, + STATE(5456), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134155] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5625), 1, + anon_sym_STAR, + ACTIONS(5627), 1, + anon_sym_AMP_AMP, + ACTIONS(5629), 1, + anon_sym_AMP, + STATE(3684), 1, + sym_parameter_list, + STATE(4619), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(4273), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [134211] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6139), 1, + anon_sym_AMP_AMP, + ACTIONS(6142), 1, + anon_sym_AMP, + ACTIONS(6145), 1, + anon_sym_const, + ACTIONS(6151), 1, + anon_sym_noexcept, + ACTIONS(6154), 1, + anon_sym_throw, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6148), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6137), 11, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [134259] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5937), 1, + anon_sym_LBRACK, + STATE(4484), 1, + sym_trailing_return_type, + STATE(4486), 1, + sym_requires_clause, + STATE(3720), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5935), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [134317] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4386), 1, + sym__declarator, + STATE(5458), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134383] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5625), 1, + anon_sym_STAR, + ACTIONS(5627), 1, + anon_sym_AMP_AMP, + ACTIONS(5629), 1, + anon_sym_AMP, + STATE(3684), 1, + sym_parameter_list, + STATE(4631), 1, + sym__abstract_declarator, + STATE(3682), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(3642), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [134439] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4347), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5458), 1, + sym_init_declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134505] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4316), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5444), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134571] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4322), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5321), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134637] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4346), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5458), 1, + sym_init_declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134703] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4343), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5458), 1, + sym_init_declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134769] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4339), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5458), 1, + sym_init_declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134835] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5625), 1, + anon_sym_STAR, + ACTIONS(5627), 1, + anon_sym_AMP_AMP, + ACTIONS(5629), 1, + anon_sym_AMP, + STATE(3684), 1, + sym_parameter_list, + STATE(4616), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5899), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [134891] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4367), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5356), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [134957] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4340), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5285), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [135023] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4401), 1, + sym__declarator, + STATE(5954), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [135089] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5625), 1, + anon_sym_STAR, + ACTIONS(5627), 1, + anon_sym_AMP_AMP, + ACTIONS(5629), 1, + anon_sym_AMP, + STATE(3684), 1, + sym_parameter_list, + STATE(4627), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5903), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135145] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4327), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5458), 1, + sym_init_declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [135211] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4330), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5456), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [135277] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4415), 1, + sym_trailing_return_type, + STATE(4431), 1, + sym_requires_clause, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6093), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135335] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + STATE(4481), 1, + sym_trailing_return_type, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6075), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135393] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4900), 8, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4898), 20, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_operator, + [135429] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4415), 1, + sym_trailing_return_type, + STATE(4431), 1, + sym_requires_clause, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6093), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135487] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5452), 1, + anon_sym_STAR, + ACTIONS(5454), 1, + anon_sym_AMP_AMP, + ACTIONS(5456), 1, + anon_sym_AMP, + STATE(3717), 1, + sym_parameter_list, + STATE(4653), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5899), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135543] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3974), 8, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(3972), 20, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_operator, + [135579] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5452), 1, + anon_sym_STAR, + ACTIONS(5454), 1, + anon_sym_AMP_AMP, + ACTIONS(5456), 1, + anon_sym_AMP, + STATE(3717), 1, + sym_parameter_list, + STATE(4647), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(4273), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135635] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6157), 1, + anon_sym_AMP_AMP, + ACTIONS(6160), 1, + anon_sym_AMP, + ACTIONS(6163), 1, + anon_sym_LBRACK, + ACTIONS(6165), 1, + anon_sym_const, + ACTIONS(6171), 1, + anon_sym_noexcept, + ACTIONS(6174), 1, + anon_sym_throw, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6168), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6137), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_requires, + [135685] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5452), 1, + anon_sym_STAR, + ACTIONS(5454), 1, + anon_sym_AMP_AMP, + ACTIONS(5456), 1, + anon_sym_AMP, + STATE(3717), 1, + sym_parameter_list, + STATE(4622), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5903), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135741] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4342), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5421), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [135807] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5452), 1, + anon_sym_STAR, + ACTIONS(5454), 1, + anon_sym_AMP_AMP, + ACTIONS(5456), 1, + anon_sym_AMP, + STATE(3717), 1, + sym_parameter_list, + STATE(4609), 1, + sym__abstract_declarator, + STATE(3706), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(3642), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135863] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + ACTIONS(6059), 1, + anon_sym_LBRACK, + STATE(4449), 1, + sym_requires_clause, + STATE(4490), 1, + sym_trailing_return_type, + STATE(3700), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6057), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135921] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5428), 1, + anon_sym_LBRACK, + STATE(4598), 1, + sym_requires_clause, + STATE(4860), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5426), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [135981] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(6177), 1, + anon_sym_STAR, + ACTIONS(6179), 1, + anon_sym_AMP_AMP, + ACTIONS(6181), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3821), 1, + sym_parameter_list, + STATE(4845), 1, + sym__abstract_declarator, + STATE(3824), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5348), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [136043] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6187), 1, + anon_sym___attribute__, + STATE(3714), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(6185), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6183), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [136083] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + STATE(4538), 1, + sym_requires_clause, + STATE(4726), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5227), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [136143] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5398), 1, + anon_sym_LBRACK, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + STATE(4574), 1, + sym_requires_clause, + STATE(4722), 1, + sym_trailing_return_type, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5396), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3250), 6, + sym_type_qualifier, + sym_virtual_specifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_function_declarator_repeat2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [136203] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5244), 1, + anon_sym_DASH_GT, + ACTIONS(5937), 1, + anon_sym_LBRACK, + STATE(4484), 1, + sym_trailing_return_type, + STATE(4486), 1, + sym_requires_clause, + STATE(3701), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5935), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [136261] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4380), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5321), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136327] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4341), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5198), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136393] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + STATE(4481), 1, + sym_trailing_return_type, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6075), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [136451] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4828), 8, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(4826), 20, + anon_sym_AMP, + anon_sym_extern, + anon_sym___attribute__, + anon_sym___declspec, + anon_sym___based, + anon_sym_static, + anon_sym_register, + anon_sym_inline, + anon_sym_thread_local, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_virtual, + anon_sym_operator, + [136487] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5238), 1, + anon_sym_DASH_GT, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(6059), 1, + anon_sym_LBRACK, + STATE(4449), 1, + sym_requires_clause, + STATE(4490), 1, + sym_trailing_return_type, + STATE(3703), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6057), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [136545] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4306), 1, + sym__declarator, + STATE(4385), 1, + sym__scope_resolution, + STATE(5345), 1, + sym_init_declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136611] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(6177), 1, + anon_sym_STAR, + ACTIONS(6179), 1, + anon_sym_AMP_AMP, + ACTIONS(6181), 1, + anon_sym_AMP, + STATE(2910), 1, + sym_decltype_auto, + STATE(3821), 1, + sym_parameter_list, + STATE(4854), 1, + sym__abstract_declarator, + STATE(3822), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5364), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [136673] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4833), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136736] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4719), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136799] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4677), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136862] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4661), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [136925] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6157), 1, + anon_sym_AMP_AMP, + ACTIONS(6160), 1, + anon_sym_AMP, + ACTIONS(6163), 1, + anon_sym_LBRACK, + ACTIONS(6171), 1, + anon_sym_noexcept, + ACTIONS(6174), 1, + anon_sym_throw, + ACTIONS(6190), 1, + anon_sym_const, + STATE(3729), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(6193), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(6137), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_requires, + [136974] = 7, + ACTIONS(3), 1, + sym_comment, + STATE(3831), 1, + sym_ms_unaligned_ptr_modifier, + ACTIONS(6203), 2, + anon_sym__unaligned, + anon_sym___unaligned, + STATE(3730), 2, + sym_ms_pointer_modifier, + aux_sym_pointer_declarator_repeat1, + ACTIONS(6200), 3, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + ACTIONS(6198), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + ACTIONS(6196), 13, + anon_sym_AMP, + anon_sym___based, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [137017] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6206), 1, + anon_sym_LT, + STATE(1938), 1, + sym_template_argument_list, + ACTIONS(3735), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3326), 21, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [137058] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(4448), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [137113] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(4459), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [137168] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6206), 1, + anon_sym_LT, + STATE(1938), 1, + sym_template_argument_list, + ACTIONS(3338), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3343), 21, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [137209] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(4772), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [137264] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6210), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6208), 24, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [137299] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4657), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [137362] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4801), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [137425] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(4479), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [137480] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4385), 1, + anon_sym_STAR, + ACTIONS(4387), 1, + anon_sym_AMP_AMP, + ACTIONS(4389), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4541), 1, + sym__declarator, + STATE(6258), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [137543] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4399), 1, + anon_sym_STAR, + ACTIONS(4401), 1, + anon_sym_AMP_AMP, + ACTIONS(4403), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4470), 1, + sym__declarator, + STATE(6035), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [137606] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4783), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [137669] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4827), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [137732] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6212), 1, + anon_sym_STAR, + ACTIONS(6214), 1, + anon_sym_AMP_AMP, + ACTIONS(6216), 1, + anon_sym_AMP, + STATE(2160), 1, + sym_decltype_auto, + STATE(3832), 1, + sym_parameter_list, + STATE(4878), 1, + sym__abstract_declarator, + ACTIONS(5364), 2, + anon_sym_LBRACE, + anon_sym_requires, + STATE(3841), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [137793] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(4751), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [137848] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6218), 1, + anon_sym___attribute__, + STATE(3746), 2, + sym_attribute_specifier, + aux_sym_function_declarator_repeat1, + ACTIONS(6185), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6183), 21, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [137887] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6223), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6221), 24, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [137922] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4765), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [137985] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(4275), 1, + sym_auto, + ACTIONS(4277), 1, + anon_sym_decltype, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6212), 1, + anon_sym_STAR, + ACTIONS(6214), 1, + anon_sym_AMP_AMP, + ACTIONS(6216), 1, + anon_sym_AMP, + STATE(2160), 1, + sym_decltype_auto, + STATE(3832), 1, + sym_parameter_list, + STATE(4893), 1, + sym__abstract_declarator, + ACTIONS(5348), 2, + anon_sym_LBRACE, + anon_sym_requires, + STATE(3840), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [138046] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4656), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [138109] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(4761), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [138164] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4717), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [138227] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4728), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [138290] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6227), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6225), 24, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [138325] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4405), 1, + sym_identifier, + ACTIONS(4407), 1, + anon_sym_STAR, + ACTIONS(4409), 1, + anon_sym_AMP_AMP, + ACTIONS(4411), 1, + anon_sym_AMP, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + STATE(4382), 1, + sym__scope_resolution, + STATE(4669), 1, + sym__declarator, + STATE(6043), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [138388] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(29), 1, + anon_sym_AMP_AMP, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1515), 1, + anon_sym_STAR, + ACTIONS(1517), 1, + anon_sym_AMP, + ACTIONS(3451), 1, + sym_identifier, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + STATE(4389), 1, + sym__scope_resolution, + STATE(4813), 1, + sym__declarator, + STATE(6395), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [138451] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1511), 1, + anon_sym_LPAREN2, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3640), 1, + sym_identifier, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(4363), 1, + anon_sym_LBRACK, + ACTIONS(4369), 1, + anon_sym_STAR, + ACTIONS(4371), 1, + anon_sym_AMP_AMP, + ACTIONS(4373), 1, + anon_sym_AMP, + STATE(4385), 1, + sym__scope_resolution, + STATE(4554), 1, + sym__declarator, + STATE(6493), 1, + sym_ms_based_modifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + STATE(4500), 11, + sym_parenthesized_declarator, + sym_attributed_declarator, + sym_pointer_declarator, + sym_function_declarator, + sym_array_declarator, + sym_reference_declarator, + sym_structured_binding_declarator, + sym_template_function, + sym_destructor_name, + sym_qualified_identifier, + sym_operator_name, + [138514] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6233), 1, + anon_sym_DASH_GT, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4531), 1, + sym_requires_clause, + STATE(4714), 1, + sym_trailing_return_type, + ACTIONS(6057), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK, + STATE(3786), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [138568] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6243), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6241), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [138602] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6245), 1, + anon_sym_DASH_GT, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4531), 1, + sym_requires_clause, + STATE(4832), 1, + sym_trailing_return_type, + ACTIONS(6057), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + STATE(3802), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [138656] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5837), 1, + anon_sym_STAR, + ACTIONS(5839), 1, + anon_sym_AMP_AMP, + ACTIONS(5841), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(4753), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5903), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [138710] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3762), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6249), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3672), 7, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + ACTIONS(3670), 14, + anon_sym_AMP, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_primitive_type, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [138748] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6252), 1, + anon_sym_LT, + STATE(2150), 1, + sym_template_argument_list, + ACTIONS(3338), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3343), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [138788] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + STATE(3793), 1, + sym_parameter_list, + STATE(4798), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5899), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [138842] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5837), 1, + anon_sym_STAR, + ACTIONS(5839), 1, + anon_sym_AMP_AMP, + ACTIONS(5841), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(4799), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4273), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [138896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6256), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6254), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [138930] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5963), 1, + anon_sym_STAR, + ACTIONS(5965), 1, + anon_sym_AMP_AMP, + ACTIONS(5967), 1, + anon_sym_AMP, + STATE(3782), 1, + sym_parameter_list, + STATE(4742), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5903), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [138984] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + ACTIONS(3904), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3902), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [139024] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5963), 1, + anon_sym_STAR, + ACTIONS(5965), 1, + anon_sym_AMP_AMP, + ACTIONS(5967), 1, + anon_sym_AMP, + STATE(3782), 1, + sym_parameter_list, + STATE(4750), 1, + sym__abstract_declarator, + STATE(3795), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(3642), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139078] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6245), 1, + anon_sym_DASH_GT, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4579), 1, + sym_requires_clause, + STATE(4834), 1, + sym_trailing_return_type, + ACTIONS(5935), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + STATE(3785), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139132] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6258), 1, + anon_sym_DASH_GT, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4528), 1, + sym_requires_clause, + STATE(4817), 1, + sym_trailing_return_type, + ACTIONS(6075), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139186] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3781), 1, + sym_parameter_list, + STATE(4796), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5903), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139240] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6264), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6262), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [139274] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3781), 1, + sym_parameter_list, + STATE(4769), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5899), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139328] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6268), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6266), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [139362] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6272), 1, + anon_sym_LPAREN2, + ACTIONS(6274), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6270), 22, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [139398] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6278), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6276), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [139432] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6258), 1, + anon_sym_DASH_GT, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4531), 1, + sym_requires_clause, + STATE(4770), 1, + sym_trailing_return_type, + ACTIONS(6057), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + STATE(3792), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139486] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6282), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6280), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [139520] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3781), 1, + sym_parameter_list, + STATE(4814), 1, + sym__abstract_declarator, + STATE(3784), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(3642), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139574] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6233), 1, + anon_sym_DASH_GT, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4579), 1, + sym_requires_clause, + STATE(4703), 1, + sym_trailing_return_type, + ACTIONS(5935), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK, + STATE(3799), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139628] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5937), 1, + anon_sym_LBRACK, + STATE(4486), 1, + sym_requires_clause, + STATE(4685), 1, + sym_trailing_return_type, + ACTIONS(5935), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3801), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139684] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5963), 1, + anon_sym_STAR, + ACTIONS(5965), 1, + anon_sym_AMP_AMP, + ACTIONS(5967), 1, + anon_sym_AMP, + STATE(3782), 1, + sym_parameter_list, + STATE(4733), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5899), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139738] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3781), 1, + sym_parameter_list, + STATE(4789), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4273), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139792] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6245), 1, + anon_sym_DASH_GT, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4528), 1, + sym_requires_clause, + STATE(4831), 1, + sym_trailing_return_type, + ACTIONS(6075), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139846] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6233), 1, + anon_sym_DASH_GT, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4559), 1, + sym_requires_clause, + STATE(4702), 1, + sym_trailing_return_type, + ACTIONS(6093), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139900] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5837), 1, + anon_sym_STAR, + ACTIONS(5839), 1, + anon_sym_AMP_AMP, + ACTIONS(5841), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(4816), 1, + sym__abstract_declarator, + STATE(3765), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(3642), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [139954] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5837), 1, + anon_sym_STAR, + ACTIONS(5839), 1, + anon_sym_AMP_AMP, + ACTIONS(5841), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(4785), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5899), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140008] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6252), 1, + anon_sym_LT, + STATE(2150), 1, + sym_template_argument_list, + ACTIONS(3735), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3326), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_requires, + [140048] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6286), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6284), 23, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [140082] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + STATE(3793), 1, + sym_parameter_list, + STATE(4777), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4273), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140136] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6258), 1, + anon_sym_DASH_GT, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4559), 1, + sym_requires_clause, + STATE(4793), 1, + sym_trailing_return_type, + ACTIONS(6093), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140190] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6258), 1, + anon_sym_DASH_GT, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4579), 1, + sym_requires_clause, + STATE(4825), 1, + sym_trailing_return_type, + ACTIONS(5935), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + STATE(3771), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140244] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6288), 1, + anon_sym_LT, + STATE(3850), 1, + sym_template_argument_list, + ACTIONS(3735), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3326), 20, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [140284] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5963), 1, + anon_sym_STAR, + ACTIONS(5965), 1, + anon_sym_AMP_AMP, + ACTIONS(5967), 1, + anon_sym_AMP, + STATE(3782), 1, + sym_parameter_list, + STATE(4734), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4273), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140338] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6290), 1, + sym_identifier, + ACTIONS(6294), 1, + sym_primitive_type, + STATE(3762), 1, + aux_sym_sized_type_specifier_repeat1, + ACTIONS(6292), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + ACTIONS(3662), 7, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + ACTIONS(3664), 12, + anon_sym_AMP, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [140380] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(6059), 1, + anon_sym_LBRACK, + STATE(4449), 1, + sym_requires_clause, + STATE(4659), 1, + sym_trailing_return_type, + ACTIONS(6057), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3800), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140436] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6288), 1, + anon_sym_LT, + STATE(3850), 1, + sym_template_argument_list, + ACTIONS(3338), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3343), 20, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [140476] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6233), 1, + anon_sym_DASH_GT, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4528), 1, + sym_requires_clause, + STATE(4723), 1, + sym_trailing_return_type, + ACTIONS(6075), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140530] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4431), 1, + sym_requires_clause, + STATE(4665), 1, + sym_trailing_return_type, + ACTIONS(6093), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140586] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5330), 1, + anon_sym_DASH_GT, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + STATE(4666), 1, + sym_trailing_return_type, + ACTIONS(6075), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140642] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6245), 1, + anon_sym_DASH_GT, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4559), 1, + sym_requires_clause, + STATE(4829), 1, + sym_trailing_return_type, + ACTIONS(6093), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140696] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + STATE(3793), 1, + sym_parameter_list, + STATE(4774), 1, + sym__abstract_declarator, + STATE(3791), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(3642), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140750] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + STATE(3793), 1, + sym_parameter_list, + STATE(4804), 1, + sym__abstract_declarator, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5903), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140804] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + ACTIONS(6059), 1, + anon_sym_LBRACK, + STATE(4449), 1, + sym_requires_clause, + STATE(4659), 1, + sym_trailing_return_type, + ACTIONS(6057), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3825), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [140859] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4132), 1, + sym_field_declaration_list, + STATE(5007), 1, + sym_virtual_specifier, + STATE(5534), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3755), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [140904] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4007), 1, + anon_sym_COLON_COLON, + STATE(3807), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(6298), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(4005), 14, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + sym_primitive_type, + anon_sym_enum, + anon_sym_class, + anon_sym_struct, + anon_sym_union, + sym_identifier, + sym_auto, + anon_sym_decltype, + anon_sym_typename, + anon_sym_template, + [140941] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6301), 2, + anon_sym_COMMA, + anon_sym_SEMI, + ACTIONS(6223), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(6221), 20, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym___attribute__, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + anon_sym_DASH_GT, + anon_sym_final, + anon_sym_override, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [140976] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4081), 1, + sym_field_declaration_list, + STATE(5023), 1, + sym_virtual_specifier, + STATE(5551), 1, + sym_base_class_clause, + ACTIONS(3727), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3725), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141021] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4066), 1, + sym_field_declaration_list, + STATE(5024), 1, + sym_virtual_specifier, + STATE(5555), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3747), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141066] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4125), 1, + sym_field_declaration_list, + STATE(5003), 1, + sym_virtual_specifier, + STATE(5529), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3743), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141111] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + STATE(4666), 1, + sym_trailing_return_type, + ACTIONS(6075), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [141166] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4023), 1, + sym_field_declaration_list, + STATE(5026), 1, + sym_virtual_specifier, + STATE(5559), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3769), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141211] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6304), 1, + anon_sym_COLON, + STATE(2877), 1, + sym__enum_base_clause, + STATE(2914), 1, + sym_enumerator_list, + ACTIONS(3914), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3912), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [141252] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4124), 1, + sym_field_declaration_list, + STATE(5013), 1, + sym_virtual_specifier, + STATE(5539), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3751), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141297] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6304), 1, + anon_sym_COLON, + STATE(2872), 1, + sym__enum_base_clause, + STATE(2896), 1, + sym_enumerator_list, + ACTIONS(3928), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3926), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [141338] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4000), 1, + sym_field_declaration_list, + STATE(4953), 1, + sym_virtual_specifier, + STATE(5501), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3739), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141383] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4091), 1, + sym_field_declaration_list, + STATE(4966), 1, + sym_virtual_specifier, + STATE(5505), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3759), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141428] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(6177), 1, + anon_sym_STAR, + ACTIONS(6179), 1, + anon_sym_AMP_AMP, + ACTIONS(6181), 1, + anon_sym_AMP, + STATE(3821), 1, + sym_parameter_list, + STATE(4853), 1, + sym__abstract_declarator, + STATE(3823), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(3642), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [141481] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4094), 1, + sym_field_declaration_list, + STATE(4971), 1, + sym_virtual_specifier, + STATE(5509), 1, + sym_base_class_clause, + ACTIONS(3733), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3773), 16, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [141526] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + ACTIONS(5937), 1, + anon_sym_LBRACK, + STATE(4486), 1, + sym_requires_clause, + STATE(4685), 1, + sym_trailing_return_type, + ACTIONS(5935), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3812), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [141581] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(6177), 1, + anon_sym_STAR, + ACTIONS(6179), 1, + anon_sym_AMP_AMP, + ACTIONS(6181), 1, + anon_sym_AMP, + STATE(3821), 1, + sym_parameter_list, + STATE(4848), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5903), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [141634] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(6177), 1, + anon_sym_STAR, + ACTIONS(6179), 1, + anon_sym_AMP_AMP, + ACTIONS(6181), 1, + anon_sym_AMP, + STATE(3821), 1, + sym_parameter_list, + STATE(4844), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4273), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [141687] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(6177), 1, + anon_sym_STAR, + ACTIONS(6179), 1, + anon_sym_AMP_AMP, + ACTIONS(6181), 1, + anon_sym_AMP, + STATE(3821), 1, + sym_parameter_list, + STATE(4843), 1, + sym__abstract_declarator, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(5899), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [141740] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_const, + ACTIONS(5209), 1, + anon_sym_AMP_AMP, + ACTIONS(5211), 1, + anon_sym_AMP, + ACTIONS(5221), 1, + anon_sym_noexcept, + ACTIONS(5223), 1, + anon_sym_throw, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5613), 1, + anon_sym_DASH_GT, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4431), 1, + sym_requires_clause, + STATE(4665), 1, + sym_trailing_return_type, + ACTIONS(6093), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + STATE(3707), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5236), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [141795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3372), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [141827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3368), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [141859] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3850), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3848), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [141891] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3854), 20, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [141925] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3852), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3854), 20, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [141959] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6308), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + ACTIONS(6306), 18, + anon_sym_AMP, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [141991] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + ACTIONS(6310), 1, + anon_sym_DASH_GT, + STATE(4579), 1, + sym_requires_clause, + STATE(4703), 1, + sym_trailing_return_type, + ACTIONS(5935), 3, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_LBRACK, + STATE(3835), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142043] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + ACTIONS(6310), 1, + anon_sym_DASH_GT, + STATE(4531), 1, + sym_requires_clause, + STATE(4714), 1, + sym_trailing_return_type, + ACTIONS(6057), 3, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_LBRACK, + STATE(3839), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142095] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6304), 1, + anon_sym_COLON, + STATE(2914), 1, + sym_enumerator_list, + STATE(3884), 1, + sym__enum_base_clause, + ACTIONS(3914), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3912), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [142133] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + ACTIONS(6310), 1, + anon_sym_DASH_GT, + STATE(4528), 1, + sym_requires_clause, + STATE(4723), 1, + sym_trailing_return_type, + ACTIONS(6075), 3, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_LBRACK, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142185] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6304), 1, + anon_sym_COLON, + STATE(2896), 1, + sym_enumerator_list, + STATE(3878), 1, + sym__enum_base_clause, + ACTIONS(3928), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3926), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [142223] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3395), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [142255] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6212), 1, + anon_sym_STAR, + ACTIONS(6214), 1, + anon_sym_AMP_AMP, + ACTIONS(6216), 1, + anon_sym_AMP, + STATE(3832), 1, + sym_parameter_list, + STATE(4891), 1, + sym__abstract_declarator, + ACTIONS(4273), 2, + anon_sym_LBRACE, + anon_sym_requires, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142307] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(6229), 1, + anon_sym_AMP_AMP, + ACTIONS(6231), 1, + anon_sym_AMP, + ACTIONS(6235), 1, + anon_sym_noexcept, + ACTIONS(6237), 1, + anon_sym_throw, + ACTIONS(6239), 1, + anon_sym_requires, + ACTIONS(6310), 1, + anon_sym_DASH_GT, + STATE(4559), 1, + sym_requires_clause, + STATE(4702), 1, + sym_trailing_return_type, + ACTIONS(6093), 3, + anon_sym_LPAREN2, + anon_sym_LBRACE, + anon_sym_LBRACK, + STATE(3683), 5, + sym_type_qualifier, + sym_ref_qualifier, + sym_noexcept, + sym_throw_specifier, + aux_sym_abstract_function_declarator_repeat1, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142359] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6212), 1, + anon_sym_STAR, + ACTIONS(6214), 1, + anon_sym_AMP_AMP, + ACTIONS(6216), 1, + anon_sym_AMP, + STATE(3832), 1, + sym_parameter_list, + STATE(4899), 1, + sym__abstract_declarator, + ACTIONS(5899), 2, + anon_sym_LBRACE, + anon_sym_requires, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142411] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6212), 1, + anon_sym_STAR, + ACTIONS(6214), 1, + anon_sym_AMP_AMP, + ACTIONS(6216), 1, + anon_sym_AMP, + STATE(3832), 1, + sym_parameter_list, + STATE(4903), 1, + sym__abstract_declarator, + ACTIONS(5903), 2, + anon_sym_LBRACE, + anon_sym_requires, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142463] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3360), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [142495] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3385), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [142527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3391), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [142559] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3379), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [142591] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3862), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3860), 20, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [142625] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2539), 1, + anon_sym_const, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6212), 1, + anon_sym_STAR, + ACTIONS(6214), 1, + anon_sym_AMP_AMP, + ACTIONS(6216), 1, + anon_sym_AMP, + STATE(3832), 1, + sym_parameter_list, + STATE(4900), 1, + sym__abstract_declarator, + ACTIONS(3642), 2, + anon_sym_LBRACE, + anon_sym_requires, + STATE(3838), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5845), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [142677] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(4005), 5, + anon_sym_AMP, + anon_sym___based, + sym_identifier, + anon_sym_template, + anon_sym_operator, + ACTIONS(6312), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(4007), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + anon_sym_GT2, + [142713] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6317), 6, + anon_sym_LPAREN2, + anon_sym_TILDE, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_COLON_COLON, + anon_sym_LBRACK, + ACTIONS(6315), 18, + anon_sym_AMP, + anon_sym___based, + sym_ms_restrict_modifier, + sym_ms_unsigned_ptr_modifier, + sym_ms_signed_ptr_modifier, + anon_sym__unaligned, + anon_sym___unaligned, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [142745] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3397), 3, + anon_sym_AMP, + anon_sym_const, + anon_sym_COLON, + ACTIONS(3402), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [142777] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6282), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6280), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [142808] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6321), 1, + anon_sym_COLON, + STATE(2232), 1, + sym_enumerator_list, + STATE(3890), 1, + sym__enum_base_clause, + ACTIONS(3914), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3912), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [142847] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6227), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6225), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [142878] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + ACTIONS(6323), 1, + anon_sym_SEMI, + ACTIONS(6325), 1, + anon_sym_EQ, + ACTIONS(6327), 1, + anon_sym_COLON, + STATE(4187), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(6361), 1, + sym_initializer_list, + STATE(6365), 1, + sym_bitfield_clause, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [142937] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + ACTIONS(6331), 1, + anon_sym_LPAREN2, + ACTIONS(6333), 1, + anon_sym_LBRACE, + ACTIONS(6337), 1, + anon_sym_requires, + STATE(2209), 1, + sym_template_type, + STATE(3367), 1, + sym_requirement_seq, + STATE(4214), 1, + sym_lambda_capture_specifier, + STATE(4763), 1, + sym__scope_resolution, + STATE(5869), 1, + sym_requires_parameter_list, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6335), 2, + sym_true, + sym_false, + STATE(3553), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [142994] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6339), 1, + anon_sym_LBRACE, + ACTIONS(6341), 1, + anon_sym_COLON, + STATE(2709), 1, + sym_enumerator_list, + STATE(3897), 1, + sym__enum_base_clause, + ACTIONS(3914), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3912), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [143033] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6278), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6276), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143064] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6321), 1, + anon_sym_COLON, + STATE(2178), 1, + sym_enumerator_list, + STATE(3889), 1, + sym__enum_base_clause, + ACTIONS(3928), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3926), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [143103] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6343), 1, + anon_sym_SEMI, + ACTIONS(6345), 1, + anon_sym_EQ, + STATE(4168), 1, + sym__field_declarator, + STATE(6144), 1, + sym_bitfield_clause, + STATE(6273), 1, + sym_initializer_list, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [143162] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6206), 1, + anon_sym_LT, + STATE(1938), 1, + sym_template_argument_list, + ACTIONS(3300), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3308), 18, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [143199] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + ACTIONS(6349), 1, + anon_sym_LPAREN2, + ACTIONS(6351), 1, + anon_sym_LBRACE, + ACTIONS(6355), 1, + anon_sym_requires, + STATE(2040), 1, + sym_template_type, + STATE(2851), 1, + sym_requirement_seq, + STATE(4195), 1, + sym_lambda_capture_specifier, + STATE(4786), 1, + sym__scope_resolution, + STATE(5884), 1, + sym_requires_parameter_list, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6353), 2, + sym_true, + sym_false, + STATE(2821), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [143256] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + ACTIONS(6359), 1, + anon_sym_LPAREN2, + ACTIONS(6361), 1, + anon_sym_LBRACE, + ACTIONS(6365), 1, + anon_sym_requires, + STATE(1909), 1, + sym_template_type, + STATE(2550), 1, + sym_requirement_seq, + STATE(4218), 1, + sym_lambda_capture_specifier, + STATE(4790), 1, + sym__scope_resolution, + STATE(5831), 1, + sym_requires_parameter_list, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6363), 2, + sym_true, + sym_false, + STATE(2588), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [143313] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6210), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6208), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143344] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + ACTIONS(6369), 1, + anon_sym_LPAREN2, + ACTIONS(6371), 1, + anon_sym_LBRACE, + ACTIONS(6375), 1, + anon_sym_requires, + STATE(1943), 1, + sym_template_type, + STATE(3044), 1, + sym_requirement_seq, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(5754), 1, + sym_requires_parameter_list, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6373), 2, + sym_true, + sym_false, + STATE(3133), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [143401] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6268), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6266), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143432] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6377), 1, + anon_sym_LPAREN2, + ACTIONS(6274), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6270), 20, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143465] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6286), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6284), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143496] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + ACTIONS(6381), 1, + anon_sym_LPAREN2, + ACTIONS(6383), 1, + anon_sym_LBRACE, + ACTIONS(6387), 1, + anon_sym_requires, + STATE(1878), 1, + sym_template_type, + STATE(2366), 1, + sym_requirement_seq, + STATE(4201), 1, + sym_lambda_capture_specifier, + STATE(4748), 1, + sym__scope_resolution, + STATE(5502), 1, + sym_requires_parameter_list, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6385), 2, + sym_true, + sym_false, + STATE(2368), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [143553] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6389), 1, + anon_sym_SEMI, + ACTIONS(6391), 1, + anon_sym_EQ, + STATE(4188), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(6370), 1, + sym_initializer_list, + STATE(6495), 1, + sym_bitfield_clause, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [143612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3852), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3854), 21, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_COLON, + sym_auto, + anon_sym_decltype, + anon_sym_final, + anon_sym_override, + anon_sym_requires, + [143643] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5248), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5252), 1, + anon_sym_EQ, + ACTIONS(6393), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4169), 1, + sym_ms_declspec_modifier, + STATE(4278), 1, + sym_attribute_declaration, + STATE(4808), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(5250), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(2442), 2, + sym__class_name, + sym_qualified_type_identifier, + [143710] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6223), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6221), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6243), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6241), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143772] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4005), 1, + anon_sym_AMP, + ACTIONS(6312), 1, + anon_sym_const, + STATE(3874), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(6395), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(4007), 12, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [143809] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6339), 1, + anon_sym_LBRACE, + ACTIONS(6341), 1, + anon_sym_COLON, + STATE(2624), 1, + sym_enumerator_list, + STATE(3895), 1, + sym__enum_base_clause, + ACTIONS(3928), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3926), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [143848] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6264), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(6262), 21, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_DASH_GT, + anon_sym_GT2, + anon_sym_noexcept, + anon_sym_throw, + anon_sym_requires, + [143879] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6298), 1, + anon_sym_const, + ACTIONS(4005), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(3877), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(6398), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(4007), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [143916] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2907), 1, + sym_enumerator_list, + ACTIONS(3945), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3943), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [143948] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6252), 1, + anon_sym_LT, + STATE(2150), 1, + sym_template_argument_list, + ACTIONS(3300), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3308), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [143984] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6401), 1, + anon_sym_COLON, + STATE(3928), 1, + sym__enum_base_clause, + STATE(4105), 1, + sym_enumerator_list, + ACTIONS(3928), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3926), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144020] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6401), 1, + anon_sym_COLON, + STATE(3933), 1, + sym__enum_base_clause, + STATE(4083), 1, + sym_enumerator_list, + ACTIONS(3914), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3912), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144056] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6405), 1, + anon_sym_LPAREN2, + STATE(3964), 1, + sym_preproc_argument_list, + ACTIONS(6407), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6403), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [144090] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6288), 1, + anon_sym_LT, + STATE(3850), 1, + sym_template_argument_list, + ACTIONS(3300), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3308), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144126] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(2880), 1, + sym_enumerator_list, + ACTIONS(3952), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3950), 18, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144158] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6409), 1, + anon_sym_const, + ACTIONS(4005), 2, + anon_sym_AMP, + anon_sym_LBRACK, + STATE(3885), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + ACTIONS(6412), 7, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + ACTIONS(4007), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [144194] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 1, + anon_sym_COMMA, + ACTIONS(6417), 1, + anon_sym_RPAREN, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6425), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6427), 1, + anon_sym_AMP_AMP, + ACTIONS(6429), 1, + anon_sym_PIPE, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + STATE(5462), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [144249] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5640), 1, + anon_sym_COLON, + STATE(2896), 1, + sym_enumerator_list, + STATE(3878), 1, + sym__enum_base_clause, + ACTIONS(3928), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3926), 15, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144284] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5640), 1, + anon_sym_COLON, + STATE(2914), 1, + sym_enumerator_list, + STATE(3884), 1, + sym__enum_base_clause, + ACTIONS(3914), 3, + anon_sym_AMP, + anon_sym_LBRACK, + anon_sym_const, + ACTIONS(3912), 15, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144319] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6319), 1, + anon_sym_LBRACE, + STATE(2098), 1, + sym_enumerator_list, + ACTIONS(3945), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3943), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144352] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6319), 1, + anon_sym_LBRACE, + STATE(2175), 1, + sym_enumerator_list, + ACTIONS(3952), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3950), 17, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [144385] = 5, + ACTIONS(6403), 1, + anon_sym_LF, + ACTIONS(6443), 1, + anon_sym_LPAREN2, + ACTIONS(6445), 1, + sym_comment, + STATE(4068), 1, + sym_preproc_argument_list, + ACTIONS(6407), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [144418] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(4637), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [144461] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6449), 1, + anon_sym_RPAREN, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6459), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3899), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [144504] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(4604), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [144547] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6339), 1, + anon_sym_LBRACE, + STATE(2647), 1, + sym_enumerator_list, + ACTIONS(3945), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3943), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [144580] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(4597), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(3848), 2, + sym_type_qualifier, + aux_sym_type_definition_repeat1, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + ACTIONS(2539), 8, + anon_sym_const, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + [144623] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6339), 1, + anon_sym_LBRACE, + STATE(2701), 1, + sym_enumerator_list, + ACTIONS(3952), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3950), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + anon_sym_requires, + [144656] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3860), 1, + anon_sym_LBRACE, + ACTIONS(3934), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3932), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [144689] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 1, + anon_sym_COMMA, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6425), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6427), 1, + anon_sym_AMP_AMP, + ACTIONS(6429), 1, + anon_sym_PIPE, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6463), 1, + anon_sym_RPAREN, + STATE(5268), 1, + aux_sym_preproc_argument_list_repeat1, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [144744] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6465), 1, + anon_sym_RPAREN, + ACTIONS(6467), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3886), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [144787] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6469), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3958), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [144827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6473), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6471), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [144855] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6485), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4017), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [144895] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6489), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4012), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [144935] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6491), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4008), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [144975] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6495), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6493), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [145011] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6495), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6493), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [145051] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6495), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(6493), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [145093] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6497), 1, + sym_identifier, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + ACTIONS(6501), 1, + anon_sym_COLON_COLON, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4784), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6503), 2, + sym_true, + sym_false, + STATE(4593), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [145141] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6505), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3916), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [145181] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6337), 1, + anon_sym_requires, + ACTIONS(6507), 1, + sym_identifier, + ACTIONS(6509), 1, + anon_sym_LPAREN2, + ACTIONS(6511), 1, + anon_sym_COLON_COLON, + STATE(2209), 1, + sym_template_type, + STATE(4214), 1, + sym_lambda_capture_specifier, + STATE(4795), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6513), 2, + sym_true, + sym_false, + STATE(3399), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [145229] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6337), 1, + anon_sym_requires, + ACTIONS(6507), 1, + sym_identifier, + ACTIONS(6509), 1, + anon_sym_LPAREN2, + ACTIONS(6511), 1, + anon_sym_COLON_COLON, + STATE(2209), 1, + sym_template_type, + STATE(4214), 1, + sym_lambda_capture_specifier, + STATE(4795), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6515), 2, + sym_true, + sym_false, + STATE(4700), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [145277] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6517), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4007), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [145317] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6495), 1, + anon_sym_PIPE, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6493), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [145363] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6429), 1, + anon_sym_PIPE, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6493), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [145409] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6427), 1, + anon_sym_AMP_AMP, + ACTIONS(6429), 1, + anon_sym_PIPE, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6493), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + [145457] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6519), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4006), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [145497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6495), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6493), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [145525] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6521), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4005), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [145565] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6495), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6493), 13, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [145597] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6525), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6523), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [145625] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + STATE(2507), 1, + sym_template_type, + STATE(4213), 1, + sym_lambda_capture_specifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6531), 2, + sym_true, + sym_false, + STATE(4395), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [145673] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + STATE(2507), 1, + sym_template_type, + STATE(4213), 1, + sym_lambda_capture_specifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6535), 2, + sym_true, + sym_false, + STATE(1546), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [145721] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + STATE(2507), 1, + sym_template_type, + STATE(4213), 1, + sym_lambda_capture_specifier, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6537), 2, + sym_true, + sym_false, + STATE(4392), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [145769] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + ACTIONS(6387), 1, + anon_sym_requires, + ACTIONS(6539), 1, + anon_sym_LPAREN2, + STATE(1878), 1, + sym_template_type, + STATE(4201), 1, + sym_lambda_capture_specifier, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6541), 2, + sym_true, + sym_false, + STATE(2290), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [145817] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6543), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4003), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [145857] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6545), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4001), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [145897] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(4090), 1, + sym_enumerator_list, + ACTIONS(3945), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3943), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [145927] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6549), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6547), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [145955] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6551), 1, + sym_identifier, + ACTIONS(6553), 1, + anon_sym_LPAREN2, + ACTIONS(6557), 1, + anon_sym_requires, + STATE(3846), 1, + sym_template_type, + STATE(4196), 1, + sym_lambda_capture_specifier, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6555), 2, + sym_true, + sym_false, + STATE(4686), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146003] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6551), 1, + sym_identifier, + ACTIONS(6553), 1, + anon_sym_LPAREN2, + ACTIONS(6557), 1, + anon_sym_requires, + STATE(3846), 1, + sym_template_type, + STATE(4196), 1, + sym_lambda_capture_specifier, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6559), 2, + sym_true, + sym_false, + STATE(4681), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146051] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + ACTIONS(6561), 1, + sym_identifier, + ACTIONS(6563), 1, + anon_sym_COLON_COLON, + STATE(1902), 1, + sym_template_type, + STATE(4216), 1, + sym_lambda_capture_specifier, + STATE(4776), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6565), 2, + sym_true, + sym_false, + STATE(1890), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146099] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(4118), 1, + sym_enumerator_list, + ACTIONS(3952), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3950), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [146129] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + ACTIONS(6387), 1, + anon_sym_requires, + ACTIONS(6539), 1, + anon_sym_LPAREN2, + STATE(1878), 1, + sym_template_type, + STATE(4201), 1, + sym_lambda_capture_specifier, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6567), 2, + sym_true, + sym_false, + STATE(2291), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146177] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6569), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4009), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146217] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6571), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3920), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146257] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6573), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4018), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146297] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(4213), 1, + sym_lambda_capture_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6577), 2, + sym_true, + sym_false, + STATE(4623), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146345] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6579), 2, + sym_true, + sym_false, + STATE(3162), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146393] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6581), 2, + sym_true, + sym_false, + STATE(3056), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146441] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6583), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4020), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146481] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6585), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3969), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146521] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6587), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4038), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146561] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6589), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3915), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146601] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6591), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4026), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146641] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6595), 2, + sym_true, + sym_false, + STATE(4735), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [146689] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6597), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3914), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146729] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6599), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3918), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146769] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6601), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4095), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146809] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6603), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3952), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [146849] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6321), 1, + anon_sym_COLON, + STATE(2069), 1, + sym__enum_base_clause, + STATE(2232), 1, + sym_enumerator_list, + ACTIONS(3914), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3912), 15, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [146883] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6495), 1, + anon_sym_PIPE, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6493), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [146927] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6321), 1, + anon_sym_COLON, + STATE(2064), 1, + sym__enum_base_clause, + STATE(2178), 1, + sym_enumerator_list, + ACTIONS(3928), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3926), 15, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [146961] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + ACTIONS(6355), 1, + anon_sym_requires, + ACTIONS(6605), 1, + anon_sym_LPAREN2, + STATE(2040), 1, + sym_template_type, + STATE(4195), 1, + sym_lambda_capture_specifier, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6607), 2, + sym_true, + sym_false, + STATE(2769), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147009] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + ACTIONS(6355), 1, + anon_sym_requires, + ACTIONS(6605), 1, + anon_sym_LPAREN2, + STATE(2040), 1, + sym_template_type, + STATE(4195), 1, + sym_lambda_capture_specifier, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6609), 2, + sym_true, + sym_false, + STATE(2845), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147057] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6611), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4029), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147097] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6615), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6613), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [147125] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6495), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6493), 11, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [147159] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6619), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6617), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [147187] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5889), 1, + sym_auto, + ACTIONS(5891), 1, + anon_sym_decltype, + STATE(4055), 1, + sym_decltype_auto, + ACTIONS(3938), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3936), 15, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + anon_sym_requires, + [147221] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6581), 2, + sym_true, + sym_false, + STATE(3056), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147269] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6621), 2, + sym_true, + sym_false, + STATE(4780), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147317] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6337), 1, + anon_sym_requires, + ACTIONS(6507), 1, + sym_identifier, + ACTIONS(6509), 1, + anon_sym_LPAREN2, + ACTIONS(6511), 1, + anon_sym_COLON_COLON, + STATE(2209), 1, + sym_template_type, + STATE(4214), 1, + sym_lambda_capture_specifier, + STATE(4795), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6623), 2, + sym_true, + sym_false, + STATE(4663), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147365] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6627), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6625), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [147393] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6631), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6629), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [147421] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + ACTIONS(6365), 1, + anon_sym_requires, + ACTIONS(6633), 1, + anon_sym_LPAREN2, + STATE(1909), 1, + sym_template_type, + STATE(4218), 1, + sym_lambda_capture_specifier, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6635), 2, + sym_true, + sym_false, + STATE(2521), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147469] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + ACTIONS(6365), 1, + anon_sym_requires, + ACTIONS(6633), 1, + anon_sym_LPAREN2, + STATE(1909), 1, + sym_template_type, + STATE(4218), 1, + sym_lambda_capture_specifier, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6637), 2, + sym_true, + sym_false, + STATE(2522), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147517] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6639), 1, + anon_sym_LPAREN2, + ACTIONS(6643), 1, + anon_sym_requires, + STATE(2507), 1, + sym_template_type, + STATE(4211), 1, + sym_lambda_capture_specifier, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6641), 2, + sym_true, + sym_false, + STATE(4456), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [147565] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6425), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6427), 1, + anon_sym_AMP_AMP, + ACTIONS(6429), 1, + anon_sym_PIPE, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6645), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [147615] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6647), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4123), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147655] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6649), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3908), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147695] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6651), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4141), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147735] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6653), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3907), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147775] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3860), 1, + anon_sym_LBRACE, + ACTIONS(3934), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3932), 17, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [147805] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6655), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4077), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147845] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6657), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4109), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147885] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6659), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4075), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147925] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6475), 1, + sym_identifier, + ACTIONS(6477), 1, + anon_sym_LPAREN2, + ACTIONS(6479), 1, + anon_sym_defined, + ACTIONS(6661), 1, + sym_number_literal, + ACTIONS(6481), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6483), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6487), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4114), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [147965] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + ACTIONS(6337), 1, + anon_sym_requires, + ACTIONS(6509), 1, + anon_sym_LPAREN2, + STATE(2209), 1, + sym_template_type, + STATE(4214), 1, + sym_lambda_capture_specifier, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6663), 2, + sym_true, + sym_false, + STATE(3529), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148013] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6497), 1, + sym_identifier, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + ACTIONS(6501), 1, + anon_sym_COLON_COLON, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4784), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6581), 2, + sym_true, + sym_false, + STATE(3056), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148061] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6375), 1, + anon_sym_requires, + ACTIONS(6497), 1, + sym_identifier, + ACTIONS(6499), 1, + anon_sym_LPAREN2, + ACTIONS(6501), 1, + anon_sym_COLON_COLON, + STATE(1943), 1, + sym_template_type, + STATE(4205), 1, + sym_lambda_capture_specifier, + STATE(4784), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6665), 2, + sym_true, + sym_false, + STATE(4602), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148109] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6667), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3906), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [148149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6671), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6669), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [148177] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6673), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(3983), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [148217] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + ACTIONS(6337), 1, + anon_sym_requires, + ACTIONS(6509), 1, + anon_sym_LPAREN2, + STATE(2209), 1, + sym_template_type, + STATE(4214), 1, + sym_lambda_capture_specifier, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6513), 2, + sym_true, + sym_false, + STATE(3399), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148265] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4383), 5, + anon_sym_SLASH, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(4381), 15, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT_LT, + anon_sym_GT_GT, + [148293] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + ACTIONS(6561), 1, + sym_identifier, + ACTIONS(6563), 1, + anon_sym_COLON_COLON, + STATE(1902), 1, + sym_template_type, + STATE(4216), 1, + sym_lambda_capture_specifier, + STATE(4776), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6675), 2, + sym_true, + sym_false, + STATE(1863), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148341] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + ACTIONS(6561), 1, + sym_identifier, + ACTIONS(6563), 1, + anon_sym_COLON_COLON, + STATE(1902), 1, + sym_template_type, + STATE(4216), 1, + sym_lambda_capture_specifier, + STATE(4776), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6535), 2, + sym_true, + sym_false, + STATE(1546), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148389] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6639), 1, + anon_sym_LPAREN2, + ACTIONS(6643), 1, + anon_sym_requires, + STATE(2507), 1, + sym_template_type, + STATE(4211), 1, + sym_lambda_capture_specifier, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6677), 2, + sym_true, + sym_false, + STATE(4440), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148437] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6639), 1, + anon_sym_LPAREN2, + ACTIONS(6643), 1, + anon_sym_requires, + STATE(2507), 1, + sym_template_type, + STATE(4211), 1, + sym_lambda_capture_specifier, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6679), 2, + sym_true, + sym_false, + STATE(4435), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148485] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6551), 1, + sym_identifier, + ACTIONS(6553), 1, + anon_sym_LPAREN2, + ACTIONS(6557), 1, + anon_sym_requires, + STATE(3846), 1, + sym_template_type, + STATE(4196), 1, + sym_lambda_capture_specifier, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6681), 2, + sym_true, + sym_false, + STATE(4713), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148533] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + ACTIONS(3934), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3932), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [148563] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6447), 1, + sym_identifier, + ACTIONS(6451), 1, + anon_sym_LPAREN2, + ACTIONS(6453), 1, + anon_sym_defined, + ACTIONS(6683), 1, + sym_number_literal, + ACTIONS(6455), 2, + anon_sym_BANG, + anon_sym_TILDE, + ACTIONS(6457), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6461), 5, + anon_sym_L_SQUOTE, + anon_sym_u_SQUOTE, + anon_sym_U_SQUOTE, + anon_sym_u8_SQUOTE, + anon_sym_SQUOTE, + STATE(4043), 7, + sym__preproc_expression, + sym_preproc_parenthesized_expression, + sym_preproc_defined, + sym_preproc_unary_expression, + sym_preproc_call_expression, + sym_preproc_binary_expression, + sym_char_literal, + [148603] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(4213), 1, + sym_lambda_capture_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6535), 2, + sym_true, + sym_false, + STATE(1546), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148651] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(1852), 1, + anon_sym_LBRACK, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6529), 1, + anon_sym_LPAREN2, + ACTIONS(6533), 1, + anon_sym_requires, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(4213), 1, + sym_lambda_capture_specifier, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6685), 2, + sym_true, + sym_false, + STATE(4596), 8, + sym__class_name, + sym_constraint_conjunction, + sym_constraint_disjunction, + sym__requirement_clause_constraint, + sym_requires_expression, + sym_lambda_expression, + sym_fold_expression, + sym_qualified_type_identifier, + [148699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4022), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4020), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [148726] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3968), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3966), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [148753] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4054), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4052), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [148780] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4038), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4036), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [148807] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4206), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4204), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [148834] = 4, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6495), 15, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [148863] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4034), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4032), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [148890] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6495), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [148917] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4190), 1, + sym_ms_declspec_modifier, + STATE(4271), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2439), 2, + sym__class_name, + sym_qualified_type_identifier, + [148974] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6495), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149019] = 11, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6495), 2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149062] = 10, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6495), 3, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149103] = 9, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6495), 4, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149142] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6705), 1, + anon_sym_LF, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149187] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4191), 1, + sym_ms_declspec_modifier, + STATE(4272), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2991), 2, + sym__class_name, + sym_qualified_type_identifier, + [149244] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4183), 1, + sym_ms_declspec_modifier, + STATE(4297), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2437), 2, + sym__class_name, + sym_qualified_type_identifier, + [149301] = 8, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6495), 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + [149338] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4046), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4044), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149365] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6709), 1, + anon_sym_LPAREN2, + STATE(2819), 1, + sym_argument_list, + ACTIONS(3934), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3932), 15, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_GT2, + [149396] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4030), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4028), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4026), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4024), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149450] = 7, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + ACTIONS(6495), 7, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [149485] = 6, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6495), 11, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149518] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6523), 1, + anon_sym_LF, + ACTIONS(6525), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [149545] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6493), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6495), 13, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [149576] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4062), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4060), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149603] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6547), 1, + anon_sym_LF, + ACTIONS(6549), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [149630] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4066), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4064), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149657] = 3, + ACTIONS(4381), 1, + anon_sym_LF, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(4383), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [149684] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4070), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4068), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149711] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6712), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149756] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4074), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4072), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149783] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4018), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4016), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149810] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6714), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [149855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4238), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4236), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149882] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3932), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [149909] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4053), 1, + sym_field_declaration_list, + STATE(4145), 1, + sym_ms_declspec_modifier, + STATE(4286), 1, + sym_attribute_declaration, + STATE(4787), 1, + sym__scope_resolution, + STATE(4917), 1, + sym_virtual_specifier, + STATE(5484), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3820), 2, + sym__class_name, + sym_qualified_type_identifier, + [149966] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4048), 1, + sym_field_declaration_list, + STATE(4184), 1, + sym_ms_declspec_modifier, + STATE(4292), 1, + sym_attribute_declaration, + STATE(4787), 1, + sym__scope_resolution, + STATE(4915), 1, + sym_virtual_specifier, + STATE(5482), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3818), 2, + sym__class_name, + sym_qualified_type_identifier, + [150023] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3934), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3932), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [150050] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4047), 1, + sym_field_declaration_list, + STATE(4182), 1, + sym_ms_declspec_modifier, + STATE(4298), 1, + sym_attribute_declaration, + STATE(4787), 1, + sym__scope_resolution, + STATE(4914), 1, + sym_virtual_specifier, + STATE(5480), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3817), 2, + sym__class_name, + sym_qualified_type_identifier, + [150107] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6471), 1, + anon_sym_LF, + ACTIONS(6473), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [150134] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4258), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4256), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [150161] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6716), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [150206] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2426), 1, + sym_field_declaration_list, + STATE(4144), 1, + sym_ms_declspec_modifier, + STATE(4289), 1, + sym_attribute_declaration, + STATE(4786), 1, + sym__scope_resolution, + STATE(5041), 1, + sym_virtual_specifier, + STATE(5576), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1920), 2, + sym__class_name, + sym_qualified_type_identifier, + [150263] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2372), 1, + sym_field_declaration_list, + STATE(4167), 1, + sym_ms_declspec_modifier, + STATE(4220), 1, + sym_attribute_declaration, + STATE(4786), 1, + sym__scope_resolution, + STATE(5050), 1, + sym_virtual_specifier, + STATE(5579), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1917), 2, + sym__class_name, + sym_qualified_type_identifier, + [150320] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4193), 1, + sym_ms_declspec_modifier, + STATE(4261), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2971), 2, + sym__class_name, + sym_qualified_type_identifier, + [150377] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2398), 1, + sym_field_declaration_list, + STATE(4164), 1, + sym_ms_declspec_modifier, + STATE(4287), 1, + sym_attribute_declaration, + STATE(4786), 1, + sym__scope_resolution, + STATE(5053), 1, + sym_virtual_specifier, + STATE(5580), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1912), 2, + sym__class_name, + sym_qualified_type_identifier, + [150434] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6425), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6427), 1, + anon_sym_AMP_AMP, + ACTIONS(6429), 1, + anon_sym_PIPE, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6718), 1, + anon_sym_RPAREN, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [150483] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4190), 1, + sym_ms_declspec_modifier, + STATE(4271), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2970), 2, + sym__class_name, + sym_qualified_type_identifier, + [150540] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4183), 1, + sym_ms_declspec_modifier, + STATE(4297), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2969), 2, + sym__class_name, + sym_qualified_type_identifier, + [150597] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4014), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4012), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [150624] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4254), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4252), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [150651] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4250), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4248), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [150678] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2637), 1, + sym_field_declaration_list, + STATE(4154), 1, + sym_ms_declspec_modifier, + STATE(4266), 1, + sym_attribute_declaration, + STATE(4763), 1, + sym__scope_resolution, + STATE(5156), 1, + sym_virtual_specifier, + STATE(5740), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1965), 2, + sym__class_name, + sym_qualified_type_identifier, + [150735] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2636), 1, + sym_field_declaration_list, + STATE(4156), 1, + sym_ms_declspec_modifier, + STATE(4264), 1, + sym_attribute_declaration, + STATE(4763), 1, + sym__scope_resolution, + STATE(5154), 1, + sym_virtual_specifier, + STATE(5742), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1966), 2, + sym__class_name, + sym_qualified_type_identifier, + [150792] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2124), 1, + sym_field_declaration_list, + STATE(4186), 1, + sym_ms_declspec_modifier, + STATE(4254), 1, + sym_attribute_declaration, + STATE(4764), 1, + sym__scope_resolution, + STATE(4969), 1, + sym_virtual_specifier, + STATE(5882), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1882), 2, + sym__class_name, + sym_qualified_type_identifier, + [150849] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2632), 1, + sym_field_declaration_list, + STATE(4170), 1, + sym_ms_declspec_modifier, + STATE(4263), 1, + sym_attribute_declaration, + STATE(4763), 1, + sym__scope_resolution, + STATE(5152), 1, + sym_virtual_specifier, + STATE(5743), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1967), 2, + sym__class_name, + sym_qualified_type_identifier, + [150906] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4246), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4244), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [150933] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2637), 1, + sym_field_declaration_list, + STATE(4179), 1, + sym_ms_declspec_modifier, + STATE(4288), 1, + sym_attribute_declaration, + STATE(4754), 1, + sym__scope_resolution, + STATE(5156), 1, + sym_virtual_specifier, + STATE(5740), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1965), 2, + sym__class_name, + sym_qualified_type_identifier, + [150990] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4242), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4240), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151017] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2636), 1, + sym_field_declaration_list, + STATE(4177), 1, + sym_ms_declspec_modifier, + STATE(4221), 1, + sym_attribute_declaration, + STATE(4754), 1, + sym__scope_resolution, + STATE(5154), 1, + sym_virtual_specifier, + STATE(5742), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1966), 2, + sym__class_name, + sym_qualified_type_identifier, + [151074] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2632), 1, + sym_field_declaration_list, + STATE(4174), 1, + sym_ms_declspec_modifier, + STATE(4222), 1, + sym_attribute_declaration, + STATE(4754), 1, + sym__scope_resolution, + STATE(5152), 1, + sym_virtual_specifier, + STATE(5743), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1967), 2, + sym__class_name, + sym_qualified_type_identifier, + [151131] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4003), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4001), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151158] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4181), 1, + sym_ms_declspec_modifier, + STATE(4300), 1, + sym_attribute_declaration, + STATE(4811), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4358), 2, + sym__class_name, + sym_qualified_type_identifier, + [151215] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2125), 1, + sym_field_declaration_list, + STATE(4171), 1, + sym_ms_declspec_modifier, + STATE(4253), 1, + sym_attribute_declaration, + STATE(4764), 1, + sym__scope_resolution, + STATE(4972), 1, + sym_virtual_specifier, + STATE(5880), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1876), 2, + sym__class_name, + sym_qualified_type_identifier, + [151272] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2130), 1, + sym_field_declaration_list, + STATE(4173), 1, + sym_ms_declspec_modifier, + STATE(4252), 1, + sym_attribute_declaration, + STATE(4764), 1, + sym__scope_resolution, + STATE(4979), 1, + sym_virtual_specifier, + STATE(5876), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1888), 2, + sym__class_name, + sym_qualified_type_identifier, + [151329] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4180), 1, + sym_ms_declspec_modifier, + STATE(4303), 1, + sym_attribute_declaration, + STATE(4811), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4375), 2, + sym__class_name, + sym_qualified_type_identifier, + [151386] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3999), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3997), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151413] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4176), 1, + sym_ms_declspec_modifier, + STATE(4299), 1, + sym_attribute_declaration, + STATE(4811), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4376), 2, + sym__class_name, + sym_qualified_type_identifier, + [151470] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4078), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4076), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4082), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4080), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151524] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3096), 1, + sym_field_declaration_list, + STATE(4162), 1, + sym_ms_declspec_modifier, + STATE(4260), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4946), 1, + sym_virtual_specifier, + STATE(5911), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2956), 2, + sym__class_name, + sym_qualified_type_identifier, + [151581] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6625), 1, + anon_sym_LF, + ACTIONS(6627), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [151608] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3094), 1, + sym_field_declaration_list, + STATE(4159), 1, + sym_ms_declspec_modifier, + STATE(4262), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4945), 1, + sym_virtual_specifier, + STATE(5912), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2958), 2, + sym__class_name, + sym_qualified_type_identifier, + [151665] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3092), 1, + sym_field_declaration_list, + STATE(4155), 1, + sym_ms_declspec_modifier, + STATE(4265), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4943), 1, + sym_virtual_specifier, + STATE(5914), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2960), 2, + sym__class_name, + sym_qualified_type_identifier, + [151722] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4086), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4084), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151749] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4234), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4232), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4090), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4088), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151803] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4230), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4228), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151830] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6423), 1, + anon_sym_SLASH, + ACTIONS(6425), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6427), 1, + anon_sym_AMP_AMP, + ACTIONS(6429), 1, + anon_sym_PIPE, + ACTIONS(6431), 1, + anon_sym_CARET, + ACTIONS(6433), 1, + anon_sym_AMP, + ACTIONS(6724), 1, + anon_sym_RPAREN, + ACTIONS(6419), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6421), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(6435), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6437), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(6439), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(6441), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + [151879] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6613), 1, + anon_sym_LF, + ACTIONS(6615), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [151906] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6669), 1, + anon_sym_LF, + ACTIONS(6671), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [151933] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4094), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4092), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151960] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4050), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4048), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [151987] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4226), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4224), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152014] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4098), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4096), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152041] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4222), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4220), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152068] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4218), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4216), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152095] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4214), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4212), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152122] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4102), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4100), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4210), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4208), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152176] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4193), 1, + sym_ms_declspec_modifier, + STATE(4261), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2442), 2, + sym__class_name, + sym_qualified_type_identifier, + [152233] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4202), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4200), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152260] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4106), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4104), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152287] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4110), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4108), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152314] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4198), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4196), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152341] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4194), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4192), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152368] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4192), 1, + sym_ms_declspec_modifier, + STATE(4270), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2977), 2, + sym__class_name, + sym_qualified_type_identifier, + [152425] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4190), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4188), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152452] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6726), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [152497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4126), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4124), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152524] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2048), 1, + sym_field_declaration_list, + STATE(4165), 1, + sym_ms_declspec_modifier, + STATE(4290), 1, + sym_attribute_declaration, + STATE(4748), 1, + sym__scope_resolution, + STATE(5083), 1, + sym_virtual_specifier, + STATE(5815), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1832), 2, + sym__class_name, + sym_qualified_type_identifier, + [152581] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2049), 1, + sym_field_declaration_list, + STATE(4158), 1, + sym_ms_declspec_modifier, + STATE(4293), 1, + sym_attribute_declaration, + STATE(4748), 1, + sym__scope_resolution, + STATE(5091), 1, + sym_virtual_specifier, + STATE(5808), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1829), 2, + sym__class_name, + sym_qualified_type_identifier, + [152638] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2050), 1, + sym_field_declaration_list, + STATE(4172), 1, + sym_ms_declspec_modifier, + STATE(4295), 1, + sym_attribute_declaration, + STATE(4748), 1, + sym__scope_resolution, + STATE(5097), 1, + sym_virtual_specifier, + STATE(5799), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1824), 2, + sym__class_name, + sym_qualified_type_identifier, + [152695] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4169), 1, + sym_ms_declspec_modifier, + STATE(4278), 1, + sym_attribute_declaration, + STATE(4808), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2442), 2, + sym__class_name, + sym_qualified_type_identifier, + [152752] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6629), 1, + anon_sym_LF, + ACTIONS(6631), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [152779] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5352), 1, + anon_sym_STAR, + ACTIONS(5354), 1, + anon_sym_AMP_AMP, + ACTIONS(5356), 1, + anon_sym_AMP, + ACTIONS(5358), 1, + anon_sym_LBRACK, + STATE(3562), 1, + sym_parameter_list, + STATE(4516), 1, + sym__abstract_declarator, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5109), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [152820] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3964), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3962), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152847] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4161), 1, + sym_ms_declspec_modifier, + STATE(4242), 1, + sym_attribute_declaration, + STATE(4808), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2439), 2, + sym__class_name, + sym_qualified_type_identifier, + [152904] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4186), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4184), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [152931] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4189), 1, + sym_ms_declspec_modifier, + STATE(4273), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2995), 2, + sym__class_name, + sym_qualified_type_identifier, + [152988] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4178), 1, + sym_ms_declspec_modifier, + STATE(4243), 1, + sym_attribute_declaration, + STATE(4808), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2437), 2, + sym__class_name, + sym_qualified_type_identifier, + [153045] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6617), 1, + anon_sym_LF, + ACTIONS(6619), 18, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + anon_sym_LT_LT, + anon_sym_GT_GT, + [153072] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6728), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [153117] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4042), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4040), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153144] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2124), 1, + sym_field_declaration_list, + STATE(4151), 1, + sym_ms_declspec_modifier, + STATE(4279), 1, + sym_attribute_declaration, + STATE(4737), 1, + sym__scope_resolution, + STATE(4969), 1, + sym_virtual_specifier, + STATE(5882), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1882), 2, + sym__class_name, + sym_qualified_type_identifier, + [153201] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2125), 1, + sym_field_declaration_list, + STATE(4153), 1, + sym_ms_declspec_modifier, + STATE(4284), 1, + sym_attribute_declaration, + STATE(4737), 1, + sym__scope_resolution, + STATE(4972), 1, + sym_virtual_specifier, + STATE(5880), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1876), 2, + sym__class_name, + sym_qualified_type_identifier, + [153258] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4182), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4180), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153285] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6730), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [153330] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4193), 1, + sym_ms_declspec_modifier, + STATE(4261), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2906), 2, + sym__class_name, + sym_qualified_type_identifier, + [153387] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4130), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4128), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153414] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4190), 1, + sym_ms_declspec_modifier, + STATE(4271), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2905), 2, + sym__class_name, + sym_qualified_type_identifier, + [153471] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4178), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4176), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153498] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4138), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4136), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153525] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4183), 1, + sym_ms_declspec_modifier, + STATE(4297), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2904), 2, + sym__class_name, + sym_qualified_type_identifier, + [153582] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4142), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4140), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153609] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4174), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4172), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153636] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6732), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [153681] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4146), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4144), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153708] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4170), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4168), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153735] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4166), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4164), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153762] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4162), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4160), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [153789] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4160), 1, + sym_ms_declspec_modifier, + STATE(4230), 1, + sym_attribute_declaration, + STATE(4760), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2977), 2, + sym__class_name, + sym_qualified_type_identifier, + [153846] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4146), 1, + sym_ms_declspec_modifier, + STATE(4235), 1, + sym_attribute_declaration, + STATE(4760), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2991), 2, + sym__class_name, + sym_qualified_type_identifier, + [153903] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2165), 1, + sym_field_declaration_list, + STATE(4147), 1, + sym_ms_declspec_modifier, + STATE(4223), 1, + sym_attribute_declaration, + STATE(4790), 1, + sym__scope_resolution, + STATE(4989), 1, + sym_virtual_specifier, + STATE(5470), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1842), 2, + sym__class_name, + sym_qualified_type_identifier, + [153960] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4149), 1, + sym_ms_declspec_modifier, + STATE(4236), 1, + sym_attribute_declaration, + STATE(4760), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2995), 2, + sym__class_name, + sym_qualified_type_identifier, + [154017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4158), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4156), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [154044] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2181), 1, + sym_field_declaration_list, + STATE(4185), 1, + sym_ms_declspec_modifier, + STATE(4224), 1, + sym_attribute_declaration, + STATE(4790), 1, + sym__scope_resolution, + STATE(4991), 1, + sym_virtual_specifier, + STATE(5471), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1855), 2, + sym__class_name, + sym_qualified_type_identifier, + [154101] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2134), 1, + sym_field_declaration_list, + STATE(4175), 1, + sym_ms_declspec_modifier, + STATE(4225), 1, + sym_attribute_declaration, + STATE(4790), 1, + sym__scope_resolution, + STATE(4999), 1, + sym_virtual_specifier, + STATE(5475), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1852), 2, + sym__class_name, + sym_qualified_type_identifier, + [154158] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4154), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4152), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [154185] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4150), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(4148), 17, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + anon_sym_requires, + [154212] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2130), 1, + sym_field_declaration_list, + STATE(4157), 1, + sym_ms_declspec_modifier, + STATE(4285), 1, + sym_attribute_declaration, + STATE(4737), 1, + sym__scope_resolution, + STATE(4979), 1, + sym_virtual_specifier, + STATE(5876), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1888), 2, + sym__class_name, + sym_qualified_type_identifier, + [154269] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2930), 1, + sym_field_declaration_list, + STATE(4183), 1, + sym_ms_declspec_modifier, + STATE(4297), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4957), 1, + sym_virtual_specifier, + STATE(5677), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2903), 2, + sym__class_name, + sym_qualified_type_identifier, + [154326] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2935), 1, + sym_field_declaration_list, + STATE(4190), 1, + sym_ms_declspec_modifier, + STATE(4271), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4982), 1, + sym_virtual_specifier, + STATE(5674), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2891), 2, + sym__class_name, + sym_qualified_type_identifier, + [154383] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3461), 1, + anon_sym___declspec, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2946), 1, + sym_field_declaration_list, + STATE(4193), 1, + sym_ms_declspec_modifier, + STATE(4261), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4993), 1, + sym_virtual_specifier, + STATE(5657), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2883), 2, + sym__class_name, + sym_qualified_type_identifier, + [154440] = 12, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(6691), 1, + anon_sym_AMP_AMP, + ACTIONS(6693), 1, + anon_sym_PIPE, + ACTIONS(6695), 1, + anon_sym_CARET, + ACTIONS(6697), 1, + anon_sym_AMP, + ACTIONS(6707), 1, + anon_sym_PIPE_PIPE, + ACTIONS(6736), 1, + anon_sym_LF, + ACTIONS(6689), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(6699), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(6703), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(6687), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(6701), 4, + anon_sym_GT, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_LT, + [154485] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5452), 1, + anon_sym_STAR, + ACTIONS(5454), 1, + anon_sym_AMP_AMP, + ACTIONS(5456), 1, + anon_sym_AMP, + STATE(3717), 1, + sym_parameter_list, + STATE(4612), 1, + sym__abstract_declarator, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5109), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [154525] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5625), 1, + anon_sym_STAR, + ACTIONS(5627), 1, + anon_sym_AMP_AMP, + ACTIONS(5629), 1, + anon_sym_AMP, + STATE(3684), 1, + sym_parameter_list, + STATE(4630), 1, + sym__abstract_declarator, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + ACTIONS(5109), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [154565] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2387), 1, + sym_field_declaration_list, + STATE(4296), 1, + sym_attribute_declaration, + STATE(4786), 1, + sym__scope_resolution, + STATE(5017), 1, + sym_virtual_specifier, + STATE(5544), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1916), 2, + sym__class_name, + sym_qualified_type_identifier, + [154616] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4092), 1, + sym_field_declaration_list, + STATE(4275), 1, + sym_attribute_declaration, + STATE(4787), 1, + sym__scope_resolution, + STATE(4967), 1, + sym_virtual_specifier, + STATE(5507), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3815), 2, + sym__class_name, + sym_qualified_type_identifier, + [154667] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4256), 1, + sym_attribute_declaration, + STATE(4760), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2989), 2, + sym__class_name, + sym_qualified_type_identifier, + [154718] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2100), 1, + sym_field_declaration_list, + STATE(4233), 1, + sym_attribute_declaration, + STATE(4790), 1, + sym__scope_resolution, + STATE(5104), 1, + sym_virtual_specifier, + STATE(5520), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1839), 2, + sym__class_name, + sym_qualified_type_identifier, + [154769] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(4806), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [154810] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4259), 1, + sym_attribute_declaration, + STATE(4760), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3005), 2, + sym__class_name, + sym_qualified_type_identifier, + [154861] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(4445), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [154902] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2072), 1, + sym_field_declaration_list, + STATE(4237), 1, + sym_attribute_declaration, + STATE(4737), 1, + sym__scope_resolution, + STATE(5153), 1, + sym_virtual_specifier, + STATE(5739), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1858), 2, + sym__class_name, + sym_qualified_type_identifier, + [154953] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5187), 1, + sym_identifier, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5191), 1, + anon_sym_STAR, + ACTIONS(5193), 1, + anon_sym_AMP_AMP, + ACTIONS(5195), 1, + anon_sym_AMP, + STATE(4730), 1, + sym__field_declarator, + STATE(6147), 1, + sym_ms_based_modifier, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [154994] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2250), 1, + sym_field_declaration_list, + STATE(4234), 1, + sym_attribute_declaration, + STATE(4737), 1, + sym__scope_resolution, + STATE(5162), 1, + sym_virtual_specifier, + STATE(5729), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1875), 2, + sym__class_name, + sym_qualified_type_identifier, + [155045] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2699), 1, + sym_field_declaration_list, + STATE(4269), 1, + sym_attribute_declaration, + STATE(4763), 1, + sym__scope_resolution, + STATE(5171), 1, + sym_virtual_specifier, + STATE(5697), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1961), 2, + sym__class_name, + sym_qualified_type_identifier, + [155096] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3172), 1, + sym_field_declaration_list, + STATE(4240), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4992), 1, + sym_virtual_specifier, + STATE(5868), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2955), 2, + sym__class_name, + sym_qualified_type_identifier, + [155147] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2706), 1, + sym_field_declaration_list, + STATE(4268), 1, + sym_attribute_declaration, + STATE(4763), 1, + sym__scope_resolution, + STATE(5176), 1, + sym_virtual_specifier, + STATE(5699), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1962), 2, + sym__class_name, + sym_qualified_type_identifier, + [155198] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2253), 1, + sym_field_declaration_list, + STATE(4249), 1, + sym_attribute_declaration, + STATE(4737), 1, + sym__scope_resolution, + STATE(5164), 1, + sym_virtual_specifier, + STATE(5725), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1868), 2, + sym__class_name, + sym_qualified_type_identifier, + [155249] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2036), 1, + sym_field_declaration_list, + STATE(4281), 1, + sym_attribute_declaration, + STATE(4748), 1, + sym__scope_resolution, + STATE(5062), 1, + sym_virtual_specifier, + STATE(5887), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1828), 2, + sym__class_name, + sym_qualified_type_identifier, + [155300] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3166), 1, + sym_field_declaration_list, + STATE(4238), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4996), 1, + sym_virtual_specifier, + STATE(5866), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2953), 2, + sym__class_name, + sym_qualified_type_identifier, + [155351] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4255), 1, + sym_attribute_declaration, + STATE(4760), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2985), 2, + sym__class_name, + sym_qualified_type_identifier, + [155402] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4257), 1, + sym_attribute_declaration, + STATE(4808), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2386), 2, + sym__class_name, + sym_qualified_type_identifier, + [155453] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3158), 1, + sym_field_declaration_list, + STATE(4232), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(5000), 1, + sym_virtual_specifier, + STATE(5864), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2951), 2, + sym__class_name, + sym_qualified_type_identifier, + [155504] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(5189), 1, + anon_sym_LPAREN2, + ACTIONS(5197), 1, + sym_identifier, + ACTIONS(5199), 1, + anon_sym_STAR, + ACTIONS(5201), 1, + anon_sym_AMP_AMP, + ACTIONS(5203), 1, + anon_sym_AMP, + STATE(4446), 1, + sym__field_declarator, + STATE(6291), 1, + sym_ms_based_modifier, + STATE(4628), 8, + sym_parenthesized_field_declarator, + sym_attributed_field_declarator, + sym_pointer_field_declarator, + sym_function_field_declarator, + sym_array_field_declarator, + sym_reference_field_declarator, + sym_template_method, + sym_operator_name, + [155545] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2420), 1, + sym_field_declaration_list, + STATE(4291), 1, + sym_attribute_declaration, + STATE(4786), 1, + sym__scope_resolution, + STATE(5022), 1, + sym_virtual_specifier, + STATE(5548), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1927), 2, + sym__class_name, + sym_qualified_type_identifier, + [155596] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2034), 1, + sym_field_declaration_list, + STATE(4280), 1, + sym_attribute_declaration, + STATE(4748), 1, + sym__scope_resolution, + STATE(5070), 1, + sym_virtual_specifier, + STATE(5889), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1827), 2, + sym__class_name, + sym_qualified_type_identifier, + [155647] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5231), 1, + anon_sym_LPAREN2, + STATE(2580), 1, + sym_argument_list, + ACTIONS(3934), 2, + anon_sym_AMP, + anon_sym_const, + ACTIONS(3932), 13, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_volatile, + anon_sym_restrict, + anon_sym__Atomic, + anon_sym_mutable, + anon_sym_constexpr, + anon_sym_constinit, + anon_sym_consteval, + sym_auto, + anon_sym_decltype, + [155676] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2399), 1, + sym_field_declaration_list, + STATE(4294), 1, + sym_attribute_declaration, + STATE(4786), 1, + sym__scope_resolution, + STATE(5019), 1, + sym_virtual_specifier, + STATE(5546), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1928), 2, + sym__class_name, + sym_qualified_type_identifier, + [155727] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6738), 1, + anon_sym_COMMA, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6742), 1, + anon_sym_SEMI, + ACTIONS(6744), 1, + anon_sym_LBRACE, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(6748), 1, + anon_sym_EQ, + STATE(1726), 1, + sym_compound_statement, + STATE(1727), 1, + sym_default_method_clause, + STATE(1730), 1, + sym_delete_method_clause, + STATE(3232), 1, + sym_parameter_list, + STATE(4671), 1, + aux_sym_field_declaration_repeat1, + STATE(6196), 1, + sym_bitfield_clause, + STATE(6197), 1, + sym_initializer_list, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [155780] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4251), 1, + sym_attribute_declaration, + STATE(4808), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2389), 2, + sym__class_name, + sym_qualified_type_identifier, + [155831] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2639), 1, + sym_field_declaration_list, + STATE(4267), 1, + sym_attribute_declaration, + STATE(4763), 1, + sym__scope_resolution, + STATE(5183), 1, + sym_virtual_specifier, + STATE(5704), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1963), 2, + sym__class_name, + sym_qualified_type_identifier, + [155882] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2250), 1, + sym_field_declaration_list, + STATE(4246), 1, + sym_attribute_declaration, + STATE(4764), 1, + sym__scope_resolution, + STATE(5162), 1, + sym_virtual_specifier, + STATE(5729), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1875), 2, + sym__class_name, + sym_qualified_type_identifier, + [155933] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2038), 1, + sym_field_declaration_list, + STATE(4282), 1, + sym_attribute_declaration, + STATE(4748), 1, + sym__scope_resolution, + STATE(5038), 1, + sym_virtual_specifier, + STATE(5885), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1825), 2, + sym__class_name, + sym_qualified_type_identifier, + [155984] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2253), 1, + sym_field_declaration_list, + STATE(4245), 1, + sym_attribute_declaration, + STATE(4764), 1, + sym__scope_resolution, + STATE(5164), 1, + sym_virtual_specifier, + STATE(5725), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1868), 2, + sym__class_name, + sym_qualified_type_identifier, + [156035] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2639), 1, + sym_field_declaration_list, + STATE(4227), 1, + sym_attribute_declaration, + STATE(4754), 1, + sym__scope_resolution, + STATE(5183), 1, + sym_virtual_specifier, + STATE(5704), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1963), 2, + sym__class_name, + sym_qualified_type_identifier, + [156086] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2108), 1, + sym_field_declaration_list, + STATE(4241), 1, + sym_attribute_declaration, + STATE(4790), 1, + sym__scope_resolution, + STATE(5178), 1, + sym_virtual_specifier, + STATE(5538), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1848), 2, + sym__class_name, + sym_qualified_type_identifier, + [156137] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4248), 1, + sym_attribute_declaration, + STATE(4811), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4366), 2, + sym__class_name, + sym_qualified_type_identifier, + [156188] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2706), 1, + sym_field_declaration_list, + STATE(4228), 1, + sym_attribute_declaration, + STATE(4754), 1, + sym__scope_resolution, + STATE(5176), 1, + sym_virtual_specifier, + STATE(5699), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1962), 2, + sym__class_name, + sym_qualified_type_identifier, + [156239] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4258), 1, + sym_attribute_declaration, + STATE(4808), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2383), 2, + sym__class_name, + sym_qualified_type_identifier, + [156290] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2699), 1, + sym_field_declaration_list, + STATE(4229), 1, + sym_attribute_declaration, + STATE(4754), 1, + sym__scope_resolution, + STATE(5171), 1, + sym_virtual_specifier, + STATE(5697), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1961), 2, + sym__class_name, + sym_qualified_type_identifier, + [156341] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4244), 1, + sym_attribute_declaration, + STATE(4811), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4364), 2, + sym__class_name, + sym_qualified_type_identifier, + [156392] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4302), 1, + sym_attribute_declaration, + STATE(4811), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4362), 2, + sym__class_name, + sym_qualified_type_identifier, + [156443] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4086), 1, + sym_field_declaration_list, + STATE(4283), 1, + sym_attribute_declaration, + STATE(4787), 1, + sym__scope_resolution, + STATE(4949), 1, + sym_virtual_specifier, + STATE(5499), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3811), 2, + sym__class_name, + sym_qualified_type_identifier, + [156494] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4226), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2383), 2, + sym__class_name, + sym_qualified_type_identifier, + [156545] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4088), 1, + sym_field_declaration_list, + STATE(4277), 1, + sym_attribute_declaration, + STATE(4787), 1, + sym__scope_resolution, + STATE(4959), 1, + sym_virtual_specifier, + STATE(5503), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3806), 2, + sym__class_name, + sym_qualified_type_identifier, + [156596] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2104), 1, + sym_field_declaration_list, + STATE(4239), 1, + sym_attribute_declaration, + STATE(4790), 1, + sym__scope_resolution, + STATE(5186), 1, + sym_virtual_specifier, + STATE(5526), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1847), 2, + sym__class_name, + sym_qualified_type_identifier, + [156647] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2072), 1, + sym_field_declaration_list, + STATE(4247), 1, + sym_attribute_declaration, + STATE(4764), 1, + sym__scope_resolution, + STATE(5153), 1, + sym_virtual_specifier, + STATE(5739), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1858), 2, + sym__class_name, + sym_qualified_type_identifier, + [156698] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6738), 1, + anon_sym_COMMA, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(6750), 1, + anon_sym_SEMI, + ACTIONS(6752), 1, + anon_sym_LBRACE, + ACTIONS(6754), 1, + anon_sym_EQ, + STATE(1659), 1, + sym_delete_method_clause, + STATE(1751), 1, + sym_default_method_clause, + STATE(1756), 1, + sym_compound_statement, + STATE(3232), 1, + sym_parameter_list, + STATE(4705), 1, + aux_sym_field_declaration_repeat1, + STATE(6267), 1, + sym_initializer_list, + STATE(6277), 1, + sym_bitfield_clause, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [156751] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6738), 1, + anon_sym_COMMA, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(6756), 1, + anon_sym_SEMI, + ACTIONS(6758), 1, + anon_sym_LBRACE, + ACTIONS(6760), 1, + anon_sym_EQ, + STATE(1615), 1, + sym_delete_method_clause, + STATE(1616), 1, + sym_default_method_clause, + STATE(1619), 1, + sym_compound_statement, + STATE(3232), 1, + sym_parameter_list, + STATE(4710), 1, + aux_sym_field_declaration_repeat1, + STATE(6198), 1, + sym_initializer_list, + STATE(6223), 1, + sym_bitfield_clause, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [156804] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4301), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3005), 2, + sym__class_name, + sym_qualified_type_identifier, + [156855] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4276), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2386), 2, + sym__class_name, + sym_qualified_type_identifier, + [156906] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4219), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2989), 2, + sym__class_name, + sym_qualified_type_identifier, + [156957] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4304), 1, + sym_attribute_declaration, + STATE(4738), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2985), 2, + sym__class_name, + sym_qualified_type_identifier, + [157008] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4274), 1, + sym_attribute_declaration, + STATE(4794), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2389), 2, + sym__class_name, + sym_qualified_type_identifier, + [157059] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(6764), 1, + anon_sym_requires, + STATE(1536), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4308), 1, + sym_requires_clause, + STATE(4955), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157105] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + ACTIONS(6768), 1, + anon_sym_LBRACE, + STATE(2840), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4210), 1, + sym_template_parameter_list, + STATE(4975), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157151] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + ACTIONS(6770), 1, + anon_sym_LBRACE, + STATE(3832), 1, + sym_parameter_list, + STATE(4198), 1, + sym_template_parameter_list, + STATE(4711), 1, + sym_compound_statement, + STATE(4935), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157197] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + ACTIONS(6772), 1, + anon_sym_LBRACE, + STATE(2553), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4324), 1, + sym_requires_clause, + STATE(4909), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157243] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + ACTIONS(6770), 1, + anon_sym_LBRACE, + STATE(3832), 1, + sym_parameter_list, + STATE(4321), 1, + sym_requires_clause, + STATE(4693), 1, + sym_compound_statement, + STATE(4983), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157289] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + ACTIONS(6774), 1, + anon_sym_LBRACE, + STATE(2360), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4317), 1, + sym_requires_clause, + STATE(5102), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157335] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + STATE(3793), 1, + sym_parameter_list, + STATE(4773), 1, + sym__abstract_declarator, + ACTIONS(5109), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157373] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + ACTIONS(6774), 1, + anon_sym_LBRACE, + STATE(2294), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4199), 1, + sym_template_parameter_list, + STATE(5100), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157419] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2429), 1, + anon_sym_COLON_COLON, + ACTIONS(6776), 1, + sym_identifier, + ACTIONS(6778), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4202), 1, + sym__scope_resolution, + STATE(5339), 1, + sym_qualified_operator_cast_identifier, + STATE(5359), 1, + sym_operator_cast, + [157471] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6780), 1, + sym_identifier, + ACTIONS(6782), 1, + anon_sym_TILDE, + ACTIONS(6784), 1, + anon_sym_COLON_COLON, + ACTIONS(6786), 1, + anon_sym_template, + ACTIONS(6788), 1, + anon_sym_operator, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4203), 1, + sym__scope_resolution, + STATE(5339), 1, + sym_qualified_operator_cast_identifier, + STATE(5359), 1, + sym_operator_cast, + [157523] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + ACTIONS(6790), 1, + anon_sym_LBRACE, + STATE(1536), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4313), 1, + sym_requires_clause, + STATE(5144), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157569] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + STATE(3050), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4207), 1, + sym_template_parameter_list, + STATE(4964), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157615] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + ACTIONS(6792), 1, + anon_sym_LBRACE, + STATE(3832), 1, + sym_parameter_list, + STATE(4305), 1, + sym_requires_clause, + STATE(4457), 1, + sym_compound_statement, + STATE(4986), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157661] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + STATE(3038), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4338), 1, + sym_requires_clause, + STATE(5148), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157707] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(5963), 1, + anon_sym_STAR, + ACTIONS(5965), 1, + anon_sym_AMP_AMP, + ACTIONS(5967), 1, + anon_sym_AMP, + STATE(3782), 1, + sym_parameter_list, + STATE(4746), 1, + sym__abstract_declarator, + ACTIONS(5109), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157745] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + ACTIONS(6794), 1, + anon_sym_LBRACE, + STATE(3336), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4355), 1, + sym_requires_clause, + STATE(5082), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157791] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6764), 1, + anon_sym_requires, + ACTIONS(6768), 1, + anon_sym_LBRACE, + STATE(2809), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4332), 1, + sym_requires_clause, + STATE(5028), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157837] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + ACTIONS(6792), 1, + anon_sym_LBRACE, + STATE(3832), 1, + sym_parameter_list, + STATE(4206), 1, + sym_template_parameter_list, + STATE(4427), 1, + sym_compound_statement, + STATE(5033), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157883] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3781), 1, + sym_parameter_list, + STATE(4812), 1, + sym__abstract_declarator, + ACTIONS(5109), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157921] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(6766), 1, + anon_sym_LT, + STATE(1543), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4194), 1, + sym_template_parameter_list, + STATE(4958), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [157967] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + ACTIONS(6794), 1, + anon_sym_LBRACE, + STATE(3358), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4209), 1, + sym_template_parameter_list, + STATE(4912), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [158013] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5837), 1, + anon_sym_STAR, + ACTIONS(5839), 1, + anon_sym_AMP_AMP, + ACTIONS(5841), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3770), 1, + sym_parameter_list, + STATE(4810), 1, + sym__abstract_declarator, + ACTIONS(5109), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [158051] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + ACTIONS(6790), 1, + anon_sym_LBRACE, + STATE(1543), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4204), 1, + sym_template_parameter_list, + STATE(5182), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [158097] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(1521), 1, + anon_sym_COLON_COLON, + ACTIONS(6796), 1, + sym_identifier, + ACTIONS(6798), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(2893), 1, + sym_qualified_type_identifier, + STATE(4217), 1, + sym__scope_resolution, + STATE(5339), 1, + sym_qualified_operator_cast_identifier, + STATE(5359), 1, + sym_operator_cast, + [158149] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6766), 1, + anon_sym_LT, + ACTIONS(6772), 1, + anon_sym_LBRACE, + STATE(2575), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4197), 1, + sym_template_parameter_list, + STATE(5090), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [158195] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2933), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(5140), 1, + sym_virtual_specifier, + STATE(5745), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2990), 2, + sym__class_name, + sym_qualified_type_identifier, + [158240] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2399), 1, + sym_field_declaration_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(5019), 1, + sym_virtual_specifier, + STATE(5546), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1928), 2, + sym__class_name, + sym_qualified_type_identifier, + [158285] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2706), 1, + sym_field_declaration_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(5176), 1, + sym_virtual_specifier, + STATE(5699), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1962), 2, + sym__class_name, + sym_qualified_type_identifier, + [158330] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2639), 1, + sym_field_declaration_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(5183), 1, + sym_virtual_specifier, + STATE(5704), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1963), 2, + sym__class_name, + sym_qualified_type_identifier, + [158375] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2100), 1, + sym_field_declaration_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(5104), 1, + sym_virtual_specifier, + STATE(5520), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1839), 2, + sym__class_name, + sym_qualified_type_identifier, + [158420] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2104), 1, + sym_field_declaration_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(5186), 1, + sym_virtual_specifier, + STATE(5526), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1847), 2, + sym__class_name, + sym_qualified_type_identifier, + [158465] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2108), 1, + sym_field_declaration_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(5178), 1, + sym_virtual_specifier, + STATE(5538), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1848), 2, + sym__class_name, + sym_qualified_type_identifier, + [158510] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2944), 1, + sym_field_declaration_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(5126), 1, + sym_virtual_specifier, + STATE(5760), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2460), 2, + sym__class_name, + sym_qualified_type_identifier, + [158555] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2602), 1, + sym_field_declaration_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(5133), 1, + sym_virtual_specifier, + STATE(5670), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1968), 2, + sym__class_name, + sym_qualified_type_identifier, + [158600] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2653), 1, + sym_field_declaration_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(5124), 1, + sym_virtual_specifier, + STATE(5666), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1969), 2, + sym__class_name, + sym_qualified_type_identifier, + [158645] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2681), 1, + sym_field_declaration_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(5116), 1, + sym_virtual_specifier, + STATE(5662), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1973), 2, + sym__class_name, + sym_qualified_type_identifier, + [158690] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2985), 2, + sym__class_name, + sym_qualified_type_identifier, + [158735] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3457), 1, + anon_sym_COLON_COLON, + ACTIONS(6800), 1, + sym_identifier, + ACTIONS(6802), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(4231), 1, + sym__scope_resolution, + STATE(5339), 1, + sym_qualified_operator_cast_identifier, + STATE(5359), 1, + sym_operator_cast, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [158782] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3176), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(5052), 1, + sym_virtual_specifier, + STATE(5839), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2931), 2, + sym__class_name, + sym_qualified_type_identifier, + [158827] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2208), 1, + sym_field_declaration_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(5072), 1, + sym_virtual_specifier, + STATE(5610), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1850), 2, + sym__class_name, + sym_qualified_type_identifier, + [158872] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2152), 1, + sym_field_declaration_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(4942), 1, + sym_virtual_specifier, + STATE(5498), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1897), 2, + sym__class_name, + sym_qualified_type_identifier, + [158917] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2989), 2, + sym__class_name, + sym_qualified_type_identifier, + [158962] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3005), 2, + sym__class_name, + sym_qualified_type_identifier, + [159007] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2169), 1, + sym_field_declaration_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(4908), 1, + sym_virtual_specifier, + STATE(5721), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1896), 2, + sym__class_name, + sym_qualified_type_identifier, + [159052] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3181), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(5047), 1, + sym_virtual_specifier, + STATE(5844), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2934), 2, + sym__class_name, + sym_qualified_type_identifier, + [159097] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2212), 1, + sym_field_declaration_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(5043), 1, + sym_virtual_specifier, + STATE(5623), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1854), 2, + sym__class_name, + sym_qualified_type_identifier, + [159142] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3187), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(5042), 1, + sym_virtual_specifier, + STATE(5847), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2937), 2, + sym__class_name, + sym_qualified_type_identifier, + [159187] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3797), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + STATE(1909), 1, + sym_template_type, + STATE(2216), 1, + sym_field_declaration_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(5025), 1, + sym_virtual_specifier, + STATE(5632), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1845), 2, + sym__class_name, + sym_qualified_type_identifier, + [159232] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2386), 2, + sym__class_name, + sym_qualified_type_identifier, + [159277] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2383), 2, + sym__class_name, + sym_qualified_type_identifier, + [159322] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2933), 1, + sym_field_declaration_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(5140), 1, + sym_virtual_specifier, + STATE(5745), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4359), 2, + sym__class_name, + sym_qualified_type_identifier, + [159367] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2148), 1, + sym_field_declaration_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(5008), 1, + sym_virtual_specifier, + STATE(5536), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1901), 2, + sym__class_name, + sym_qualified_type_identifier, + [159412] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2152), 1, + sym_field_declaration_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(4942), 1, + sym_virtual_specifier, + STATE(5498), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1897), 2, + sym__class_name, + sym_qualified_type_identifier, + [159457] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2169), 1, + sym_field_declaration_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(4908), 1, + sym_virtual_specifier, + STATE(5721), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1896), 2, + sym__class_name, + sym_qualified_type_identifier, + [159502] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2884), 1, + sym_field_declaration_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(5161), 1, + sym_virtual_specifier, + STATE(5732), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4360), 2, + sym__class_name, + sym_qualified_type_identifier, + [159547] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2148), 1, + sym_field_declaration_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(5008), 1, + sym_virtual_specifier, + STATE(5536), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1901), 2, + sym__class_name, + sym_qualified_type_identifier, + [159592] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5350), 1, + anon_sym_LPAREN2, + ACTIONS(5358), 1, + anon_sym_LBRACK, + ACTIONS(6177), 1, + anon_sym_STAR, + ACTIONS(6179), 1, + anon_sym_AMP_AMP, + ACTIONS(6181), 1, + anon_sym_AMP, + STATE(3821), 1, + sym_parameter_list, + STATE(4851), 1, + sym__abstract_declarator, + ACTIONS(5109), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4417), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [159629] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2884), 1, + sym_field_declaration_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(5161), 1, + sym_virtual_specifier, + STATE(5732), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2488), 2, + sym__class_name, + sym_qualified_type_identifier, + [159674] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2253), 1, + sym_field_declaration_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(5164), 1, + sym_virtual_specifier, + STATE(5725), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1868), 2, + sym__class_name, + sym_qualified_type_identifier, + [159719] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2250), 1, + sym_field_declaration_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(5162), 1, + sym_virtual_specifier, + STATE(5729), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1875), 2, + sym__class_name, + sym_qualified_type_identifier, + [159764] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2072), 1, + sym_field_declaration_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(5153), 1, + sym_virtual_specifier, + STATE(5739), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1858), 2, + sym__class_name, + sym_qualified_type_identifier, + [159809] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2884), 1, + sym_field_declaration_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(5161), 1, + sym_virtual_specifier, + STATE(5732), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2978), 2, + sym__class_name, + sym_qualified_type_identifier, + [159854] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2933), 1, + sym_field_declaration_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(5140), 1, + sym_virtual_specifier, + STATE(5745), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2990), 2, + sym__class_name, + sym_qualified_type_identifier, + [159899] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2933), 1, + sym_field_declaration_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(5140), 1, + sym_virtual_specifier, + STATE(5745), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2462), 2, + sym__class_name, + sym_qualified_type_identifier, + [159944] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2944), 1, + sym_field_declaration_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(5126), 1, + sym_virtual_specifier, + STATE(5760), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2460), 2, + sym__class_name, + sym_qualified_type_identifier, + [159989] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2944), 1, + sym_field_declaration_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(5126), 1, + sym_virtual_specifier, + STATE(5760), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2979), 2, + sym__class_name, + sym_qualified_type_identifier, + [160034] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3158), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(5000), 1, + sym_virtual_specifier, + STATE(5864), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2951), 2, + sym__class_name, + sym_qualified_type_identifier, + [160079] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2389), 2, + sym__class_name, + sym_qualified_type_identifier, + [160124] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3166), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(4996), 1, + sym_virtual_specifier, + STATE(5866), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2953), 2, + sym__class_name, + sym_qualified_type_identifier, + [160169] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2639), 1, + sym_field_declaration_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(5183), 1, + sym_virtual_specifier, + STATE(5704), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1963), 2, + sym__class_name, + sym_qualified_type_identifier, + [160214] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2706), 1, + sym_field_declaration_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(5176), 1, + sym_virtual_specifier, + STATE(5699), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1962), 2, + sym__class_name, + sym_qualified_type_identifier, + [160259] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(3172), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(4992), 1, + sym_virtual_specifier, + STATE(5868), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2955), 2, + sym__class_name, + sym_qualified_type_identifier, + [160304] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2699), 1, + sym_field_declaration_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(5171), 1, + sym_virtual_specifier, + STATE(5697), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1961), 2, + sym__class_name, + sym_qualified_type_identifier, + [160349] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2602), 1, + sym_field_declaration_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(5133), 1, + sym_virtual_specifier, + STATE(5670), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1968), 2, + sym__class_name, + sym_qualified_type_identifier, + [160394] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2653), 1, + sym_field_declaration_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(5124), 1, + sym_virtual_specifier, + STATE(5666), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1969), 2, + sym__class_name, + sym_qualified_type_identifier, + [160439] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2681), 1, + sym_field_declaration_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(5116), 1, + sym_virtual_specifier, + STATE(5662), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1973), 2, + sym__class_name, + sym_qualified_type_identifier, + [160484] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2985), 2, + sym__class_name, + sym_qualified_type_identifier, + [160529] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2386), 2, + sym__class_name, + sym_qualified_type_identifier, + [160574] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2989), 2, + sym__class_name, + sym_qualified_type_identifier, + [160619] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3005), 2, + sym__class_name, + sym_qualified_type_identifier, + [160664] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2884), 1, + sym_field_declaration_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(5161), 1, + sym_virtual_specifier, + STATE(5732), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2488), 2, + sym__class_name, + sym_qualified_type_identifier, + [160709] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4121), 1, + sym_field_declaration_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(5014), 1, + sym_virtual_specifier, + STATE(5540), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3813), 2, + sym__class_name, + sym_qualified_type_identifier, + [160754] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2933), 1, + sym_field_declaration_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(5140), 1, + sym_virtual_specifier, + STATE(5745), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2462), 2, + sym__class_name, + sym_qualified_type_identifier, + [160799] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4135), 1, + sym_field_declaration_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(5011), 1, + sym_virtual_specifier, + STATE(5535), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3810), 2, + sym__class_name, + sym_qualified_type_identifier, + [160844] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2389), 2, + sym__class_name, + sym_qualified_type_identifier, + [160889] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2072), 1, + sym_field_declaration_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(5153), 1, + sym_virtual_specifier, + STATE(5739), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1858), 2, + sym__class_name, + sym_qualified_type_identifier, + [160934] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2019), 1, + sym_field_declaration_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(5112), 1, + sym_virtual_specifier, + STATE(5915), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1831), 2, + sym__class_name, + sym_qualified_type_identifier, + [160979] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2022), 1, + sym_field_declaration_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(5119), 1, + sym_virtual_specifier, + STATE(5907), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1826), 2, + sym__class_name, + sym_qualified_type_identifier, + [161024] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2025), 1, + sym_field_declaration_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(5123), 1, + sym_virtual_specifier, + STATE(5898), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1821), 2, + sym__class_name, + sym_qualified_type_identifier, + [161069] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4126), 1, + sym_field_declaration_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(5004), 1, + sym_virtual_specifier, + STATE(5530), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3809), 2, + sym__class_name, + sym_qualified_type_identifier, + [161114] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2250), 1, + sym_field_declaration_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(5162), 1, + sym_virtual_specifier, + STATE(5729), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1875), 2, + sym__class_name, + sym_qualified_type_identifier, + [161159] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3840), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2253), 1, + sym_field_declaration_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(5164), 1, + sym_virtual_specifier, + STATE(5725), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1868), 2, + sym__class_name, + sym_qualified_type_identifier, + [161204] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4092), 1, + sym_field_declaration_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(4967), 1, + sym_virtual_specifier, + STATE(5507), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3815), 2, + sym__class_name, + sym_qualified_type_identifier, + [161249] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2420), 1, + sym_field_declaration_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(5022), 1, + sym_virtual_specifier, + STATE(5548), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1927), 2, + sym__class_name, + sym_qualified_type_identifier, + [161294] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3970), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2699), 1, + sym_field_declaration_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(5171), 1, + sym_virtual_specifier, + STATE(5697), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1961), 2, + sym__class_name, + sym_qualified_type_identifier, + [161339] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2387), 1, + sym_field_declaration_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(5017), 1, + sym_virtual_specifier, + STATE(5544), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1916), 2, + sym__class_name, + sym_qualified_type_identifier, + [161384] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2034), 1, + sym_field_declaration_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(5070), 1, + sym_virtual_specifier, + STATE(5889), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1827), 2, + sym__class_name, + sym_qualified_type_identifier, + [161429] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2409), 1, + sym_field_declaration_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(4977), 1, + sym_virtual_specifier, + STATE(5519), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1918), 2, + sym__class_name, + sym_qualified_type_identifier, + [161474] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4088), 1, + sym_field_declaration_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(4959), 1, + sym_virtual_specifier, + STATE(5503), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3806), 2, + sym__class_name, + sym_qualified_type_identifier, + [161519] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2036), 1, + sym_field_declaration_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(5062), 1, + sym_virtual_specifier, + STATE(5887), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1828), 2, + sym__class_name, + sym_qualified_type_identifier, + [161564] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2412), 1, + sym_field_declaration_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(4973), 1, + sym_virtual_specifier, + STATE(5512), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1908), 2, + sym__class_name, + sym_qualified_type_identifier, + [161609] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + STATE(1878), 1, + sym_template_type, + STATE(2038), 1, + sym_field_declaration_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(5038), 1, + sym_virtual_specifier, + STATE(5885), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1825), 2, + sym__class_name, + sym_qualified_type_identifier, + [161654] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3910), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + STATE(2040), 1, + sym_template_type, + STATE(2419), 1, + sym_field_declaration_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(4961), 1, + sym_virtual_specifier, + STATE(5463), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(1910), 2, + sym__class_name, + sym_qualified_type_identifier, + [161699] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2383), 2, + sym__class_name, + sym_qualified_type_identifier, + [161744] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + ACTIONS(6551), 1, + sym_identifier, + STATE(3846), 1, + sym_template_type, + STATE(4086), 1, + sym_field_declaration_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(4949), 1, + sym_virtual_specifier, + STATE(5499), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(3811), 2, + sym__class_name, + sym_qualified_type_identifier, + [161789] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2918), 1, + sym_field_declaration_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(4926), 1, + sym_virtual_specifier, + STATE(5951), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4366), 2, + sym__class_name, + sym_qualified_type_identifier, + [161834] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2925), 1, + sym_field_declaration_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(4933), 1, + sym_virtual_specifier, + STATE(5938), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4362), 2, + sym__class_name, + sym_qualified_type_identifier, + [161879] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2944), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(5126), 1, + sym_virtual_specifier, + STATE(5760), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2979), 2, + sym__class_name, + sym_qualified_type_identifier, + [161924] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2944), 1, + sym_field_declaration_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(5126), 1, + sym_virtual_specifier, + STATE(5760), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4361), 2, + sym__class_name, + sym_qualified_type_identifier, + [161969] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2922), 1, + sym_field_declaration_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(4929), 1, + sym_virtual_specifier, + STATE(5943), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(4364), 2, + sym__class_name, + sym_qualified_type_identifier, + [162014] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + ACTIONS(4695), 1, + anon_sym_COLON, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2884), 1, + sym_field_declaration_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(5161), 1, + sym_virtual_specifier, + STATE(5732), 1, + sym_base_class_clause, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + STATE(2978), 2, + sym__class_name, + sym_qualified_type_identifier, + [162059] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6792), 1, + anon_sym_LBRACE, + STATE(3832), 1, + sym_parameter_list, + STATE(4488), 1, + sym_compound_statement, + STATE(4938), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [162099] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6752), 1, + anon_sym_LBRACE, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6808), 1, + anon_sym_SEMI, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + STATE(1684), 1, + sym_compound_statement, + STATE(3069), 1, + sym_parameter_list, + STATE(5332), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [162141] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6814), 1, + sym_identifier, + ACTIONS(6816), 1, + anon_sym_TILDE, + ACTIONS(6818), 1, + anon_sym_COLON_COLON, + ACTIONS(6820), 1, + anon_sym_template, + ACTIONS(6822), 1, + anon_sym_operator, + STATE(1905), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_dependent_type_identifier, + STATE(1957), 1, + sym_template_type, + STATE(2505), 1, + sym_operator_name, + STATE(2506), 1, + sym_qualified_identifier, + STATE(2508), 1, + sym_dependent_identifier, + STATE(2509), 1, + sym_destructor_name, + STATE(2510), 1, + sym_template_function, + STATE(4307), 1, + sym__scope_resolution, + [162187] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6762), 1, + anon_sym_LBRACE, + STATE(1532), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4952), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [162227] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6824), 1, + anon_sym_SEMI, + ACTIONS(6826), 1, + anon_sym_COLON, + STATE(3043), 1, + sym_parameter_list, + STATE(5241), 1, + aux_sym_declaration_repeat1, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [162269] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4608), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [162307] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4636), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [162345] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6828), 1, + sym_identifier, + ACTIONS(6830), 1, + anon_sym_TILDE, + ACTIONS(6832), 1, + anon_sym_COLON_COLON, + ACTIONS(6834), 1, + anon_sym_template, + ACTIONS(6836), 1, + anon_sym_operator, + STATE(2302), 1, + sym_template_function, + STATE(2310), 1, + sym_destructor_name, + STATE(2311), 1, + sym_dependent_identifier, + STATE(2332), 1, + sym_qualified_identifier, + STATE(2337), 1, + sym_operator_name, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4312), 1, + sym__scope_resolution, + [162391] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6790), 1, + anon_sym_LBRACE, + STATE(1532), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(5103), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [162431] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6830), 1, + anon_sym_TILDE, + ACTIONS(6836), 1, + anon_sym_operator, + ACTIONS(6838), 1, + sym_identifier, + ACTIONS(6840), 1, + anon_sym_COLON_COLON, + ACTIONS(6842), 1, + anon_sym_template, + STATE(2302), 1, + sym_template_function, + STATE(2310), 1, + sym_destructor_name, + STATE(2311), 1, + sym_dependent_identifier, + STATE(2332), 1, + sym_qualified_identifier, + STATE(2337), 1, + sym_operator_name, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4314), 1, + sym__scope_resolution, + [162477] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4648), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [162515] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6758), 1, + anon_sym_LBRACE, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6844), 1, + anon_sym_SEMI, + STATE(1643), 1, + sym_compound_statement, + STATE(3069), 1, + sym_parameter_list, + STATE(5415), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [162557] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6774), 1, + anon_sym_LBRACE, + STATE(2264), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4990), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [162597] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6846), 1, + sym_identifier, + ACTIONS(6848), 1, + anon_sym_TILDE, + ACTIONS(6850), 1, + anon_sym_COLON_COLON, + ACTIONS(6852), 1, + anon_sym_template, + ACTIONS(6854), 1, + anon_sym_operator, + STATE(2374), 1, + sym_operator_name, + STATE(2375), 1, + sym_qualified_identifier, + STATE(2376), 1, + sym_dependent_identifier, + STATE(2377), 1, + sym_destructor_name, + STATE(2378), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4318), 1, + sym__scope_resolution, + [162643] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2849), 1, + anon_sym_COLON_COLON, + ACTIONS(6856), 1, + sym_identifier, + ACTIONS(6858), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4319), 1, + sym__scope_resolution, + [162689] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4615), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [162727] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6770), 1, + anon_sym_LBRACE, + STATE(3832), 1, + sym_parameter_list, + STATE(4667), 1, + sym_compound_statement, + STATE(5020), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [162767] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6860), 1, + anon_sym_SEMI, + ACTIONS(6862), 1, + anon_sym_LBRACE, + STATE(796), 1, + sym_compound_statement, + STATE(3069), 1, + sym_parameter_list, + STATE(5203), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [162809] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6864), 1, + sym_identifier, + ACTIONS(6866), 1, + anon_sym_TILDE, + ACTIONS(6868), 1, + anon_sym_COLON_COLON, + ACTIONS(6870), 1, + anon_sym_template, + ACTIONS(6872), 1, + anon_sym_operator, + STATE(2140), 1, + sym_template_type, + STATE(2143), 1, + sym_dependent_type_identifier, + STATE(2330), 1, + sym_qualified_type_identifier, + STATE(2789), 1, + sym_template_function, + STATE(2792), 1, + sym_destructor_name, + STATE(2801), 1, + sym_dependent_identifier, + STATE(2803), 1, + sym_qualified_identifier, + STATE(2814), 1, + sym_operator_name, + STATE(4323), 1, + sym__scope_resolution, + [162855] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6772), 1, + anon_sym_LBRACE, + STATE(2511), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(5146), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [162895] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4644), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [162933] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6816), 1, + anon_sym_TILDE, + ACTIONS(6822), 1, + anon_sym_operator, + ACTIONS(6874), 1, + sym_identifier, + ACTIONS(6876), 1, + anon_sym_COLON_COLON, + ACTIONS(6878), 1, + anon_sym_template, + STATE(2505), 1, + sym_operator_name, + STATE(2506), 1, + sym_qualified_identifier, + STATE(2508), 1, + sym_dependent_identifier, + STATE(2509), 1, + sym_destructor_name, + STATE(2510), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4326), 1, + sym__scope_resolution, + [162979] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6824), 1, + anon_sym_SEMI, + ACTIONS(6880), 1, + anon_sym_COLON, + STATE(3043), 1, + sym_parameter_list, + STATE(5241), 1, + aux_sym_declaration_repeat1, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163021] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_TILDE, + ACTIONS(6872), 1, + anon_sym_operator, + ACTIONS(6882), 1, + sym_identifier, + ACTIONS(6884), 1, + anon_sym_COLON_COLON, + ACTIONS(6886), 1, + anon_sym_template, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(2789), 1, + sym_template_function, + STATE(2792), 1, + sym_destructor_name, + STATE(2801), 1, + sym_dependent_identifier, + STATE(2803), 1, + sym_qualified_identifier, + STATE(2814), 1, + sym_operator_name, + STATE(4328), 1, + sym__scope_resolution, + [163067] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4643), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [163105] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6888), 1, + anon_sym_SEMI, + ACTIONS(6890), 1, + anon_sym_LBRACE, + STATE(799), 1, + sym_compound_statement, + STATE(3069), 1, + sym_parameter_list, + STATE(5280), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163147] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4652), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [163185] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6768), 1, + anon_sym_LBRACE, + STATE(2770), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(5068), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [163225] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6830), 1, + anon_sym_TILDE, + ACTIONS(6836), 1, + anon_sym_operator, + ACTIONS(6892), 1, + sym_identifier, + ACTIONS(6894), 1, + anon_sym_COLON_COLON, + ACTIONS(6896), 1, + anon_sym_template, + STATE(2302), 1, + sym_template_function, + STATE(2310), 1, + sym_destructor_name, + STATE(2311), 1, + sym_dependent_identifier, + STATE(2332), 1, + sym_qualified_identifier, + STATE(2337), 1, + sym_operator_name, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4333), 1, + sym__scope_resolution, + [163271] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6848), 1, + anon_sym_TILDE, + ACTIONS(6854), 1, + anon_sym_operator, + ACTIONS(6898), 1, + sym_identifier, + ACTIONS(6900), 1, + anon_sym_COLON_COLON, + ACTIONS(6902), 1, + anon_sym_template, + STATE(1905), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_dependent_type_identifier, + STATE(1957), 1, + sym_template_type, + STATE(2374), 1, + sym_operator_name, + STATE(2375), 1, + sym_qualified_identifier, + STATE(2376), 1, + sym_dependent_identifier, + STATE(2377), 1, + sym_destructor_name, + STATE(2378), 1, + sym_template_function, + STATE(4334), 1, + sym__scope_resolution, + [163317] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(2637), 1, + anon_sym_COLON_COLON, + ACTIONS(6904), 1, + sym_identifier, + ACTIONS(6906), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4335), 1, + sym__scope_resolution, + [163363] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4606), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [163401] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4592), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [163439] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + STATE(3064), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(4995), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [163479] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6824), 1, + anon_sym_SEMI, + ACTIONS(6908), 1, + anon_sym_COLON, + STATE(3043), 1, + sym_parameter_list, + STATE(5241), 1, + aux_sym_declaration_repeat1, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163521] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6910), 1, + anon_sym_SEMI, + ACTIONS(6912), 1, + anon_sym_LBRACE, + STATE(443), 1, + sym_compound_statement, + STATE(3069), 1, + sym_parameter_list, + STATE(5255), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163563] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6744), 1, + anon_sym_LBRACE, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6914), 1, + anon_sym_SEMI, + STATE(1772), 1, + sym_compound_statement, + STATE(3069), 1, + sym_parameter_list, + STATE(5222), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163605] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6916), 1, + anon_sym_SEMI, + ACTIONS(6918), 1, + anon_sym_LBRACE, + STATE(859), 1, + sym_compound_statement, + STATE(3069), 1, + sym_parameter_list, + STATE(5375), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163647] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6824), 1, + anon_sym_SEMI, + ACTIONS(6920), 1, + anon_sym_COLON, + STATE(3043), 1, + sym_parameter_list, + STATE(5241), 1, + aux_sym_declaration_repeat1, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163689] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4640), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [163727] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4651), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [163765] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6824), 1, + anon_sym_SEMI, + ACTIONS(6922), 1, + anon_sym_COLON, + STATE(3043), 1, + sym_parameter_list, + STATE(5241), 1, + aux_sym_declaration_repeat1, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163807] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6824), 1, + anon_sym_SEMI, + ACTIONS(6924), 1, + anon_sym_COLON, + STATE(3043), 1, + sym_parameter_list, + STATE(5241), 1, + aux_sym_declaration_repeat1, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [163849] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6212), 1, + anon_sym_STAR, + ACTIONS(6214), 1, + anon_sym_AMP_AMP, + ACTIONS(6216), 1, + anon_sym_AMP, + STATE(3832), 1, + sym_parameter_list, + STATE(4869), 1, + sym__abstract_declarator, + ACTIONS(5109), 2, + anon_sym_LBRACE, + anon_sym_requires, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [163885] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4611), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [163923] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6816), 1, + anon_sym_TILDE, + ACTIONS(6822), 1, + anon_sym_operator, + ACTIONS(6926), 1, + sym_identifier, + ACTIONS(6928), 1, + anon_sym_COLON_COLON, + ACTIONS(6930), 1, + anon_sym_template, + STATE(2505), 1, + sym_operator_name, + STATE(2506), 1, + sym_qualified_identifier, + STATE(2508), 1, + sym_dependent_identifier, + STATE(2509), 1, + sym_destructor_name, + STATE(2510), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4350), 1, + sym__scope_resolution, + [163969] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4642), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [164007] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4632), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [164045] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6782), 1, + anon_sym_TILDE, + ACTIONS(6932), 1, + sym_identifier, + ACTIONS(6934), 1, + anon_sym_COLON_COLON, + ACTIONS(6936), 1, + anon_sym_template, + ACTIONS(6938), 1, + anon_sym_operator, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4353), 1, + sym__scope_resolution, + [164091] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4654), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [164129] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(2925), 1, + anon_sym_STAR, + ACTIONS(2927), 1, + anon_sym_AMP_AMP, + ACTIONS(2929), 1, + anon_sym_AMP, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(6794), 1, + anon_sym_LBRACE, + STATE(3421), 1, + sym_compound_statement, + STATE(3832), 1, + sym_parameter_list, + STATE(5059), 1, + sym_abstract_function_declarator, + STATE(5427), 1, + sym__abstract_declarator, + STATE(4543), 4, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [164169] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(4578), 1, + sym_auto, + ACTIONS(4580), 1, + anon_sym_decltype, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(2910), 1, + sym_decltype_auto, + STATE(4613), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [164207] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6940), 1, + sym_identifier, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4764), 1, + sym__scope_resolution, + STATE(2176), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164240] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2926), 1, + sym_field_declaration_list, + STATE(4934), 1, + sym_virtual_specifier, + STATE(5935), 1, + sym_base_class_clause, + ACTIONS(3773), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3775), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164273] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2886), 1, + sym_field_declaration_list, + STATE(4922), 1, + sym_virtual_specifier, + STATE(5712), 1, + sym_base_class_clause, + ACTIONS(3747), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3749), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164306] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2892), 1, + sym_field_declaration_list, + STATE(4920), 1, + sym_virtual_specifier, + STATE(5718), 1, + sym_base_class_clause, + ACTIONS(3725), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3727), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164339] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2900), 1, + sym_field_declaration_list, + STATE(4963), 1, + sym_virtual_specifier, + STATE(5671), 1, + sym_base_class_clause, + ACTIONS(3769), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3771), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164372] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2942), 1, + sym_field_declaration_list, + STATE(5132), 1, + sym_virtual_specifier, + STATE(5759), 1, + sym_base_class_clause, + ACTIONS(3751), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3753), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164405] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6942), 1, + sym_identifier, + STATE(1830), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4790), 1, + sym__scope_resolution, + STATE(2199), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(5308), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164438] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2932), 1, + sym_field_declaration_list, + STATE(5151), 1, + sym_virtual_specifier, + STATE(5744), 1, + sym_base_class_clause, + ACTIONS(3755), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3757), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164471] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(6944), 1, + sym_identifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4808), 1, + sym__scope_resolution, + STATE(2881), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164504] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2887), 1, + sym_field_declaration_list, + STATE(5168), 1, + sym_virtual_specifier, + STATE(5724), 1, + sym_base_class_clause, + ACTIONS(3743), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3745), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164537] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6946), 1, + anon_sym_SEMI, + STATE(3069), 1, + sym_parameter_list, + STATE(5395), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [164576] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6916), 1, + anon_sym_SEMI, + STATE(3069), 1, + sym_parameter_list, + STATE(5375), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [164615] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(6948), 1, + sym_identifier, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(6952), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(4369), 1, + sym__scope_resolution, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [164656] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6954), 1, + sym_identifier, + STATE(1836), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4737), 1, + sym__scope_resolution, + STATE(2176), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(1463), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164689] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(4464), 1, + sym_template_argument_list, + ACTIONS(3345), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(3350), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [164716] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6944), 1, + sym_identifier, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4794), 1, + sym__scope_resolution, + STATE(2881), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164749] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6956), 1, + sym_identifier, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4763), 1, + sym__scope_resolution, + STATE(2621), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164782] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(6944), 1, + sym_identifier, + STATE(2928), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4808), 1, + sym__scope_resolution, + STATE(2881), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2551), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164815] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2924), 1, + sym_field_declaration_list, + STATE(4932), 1, + sym_virtual_specifier, + STATE(5940), 1, + sym_base_class_clause, + ACTIONS(3759), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3761), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164848] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2921), 1, + sym_field_declaration_list, + STATE(4928), 1, + sym_virtual_specifier, + STATE(5945), 1, + sym_base_class_clause, + ACTIONS(3739), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(4697), 2, + anon_sym_final, + anon_sym_override, + ACTIONS(3741), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [164881] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6944), 1, + sym_identifier, + STATE(2427), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4794), 1, + sym__scope_resolution, + STATE(2881), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(59), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164914] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6954), 1, + sym_identifier, + STATE(1955), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4754), 1, + sym__scope_resolution, + STATE(2621), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(2143), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [164947] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6910), 1, + anon_sym_SEMI, + STATE(3069), 1, + sym_parameter_list, + STATE(5255), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [164986] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6860), 1, + anon_sym_SEMI, + STATE(3069), 1, + sym_parameter_list, + STATE(5203), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [165025] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(4464), 1, + sym_template_argument_list, + ACTIONS(5242), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(3531), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [165052] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(4413), 1, + anon_sym_COLON_COLON, + ACTIONS(6958), 1, + sym_identifier, + ACTIONS(6960), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(4382), 1, + sym__scope_resolution, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [165093] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6962), 1, + sym_identifier, + STATE(1893), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4786), 1, + sym__scope_resolution, + STATE(2405), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(5370), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [165126] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6964), 1, + sym_identifier, + STATE(1767), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4748), 1, + sym__scope_resolution, + STATE(2029), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(5404), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [165159] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3650), 1, + anon_sym_COLON_COLON, + ACTIONS(6966), 1, + sym_identifier, + ACTIONS(6968), 1, + anon_sym_template, + STATE(4385), 1, + sym__scope_resolution, + STATE(4506), 1, + sym_operator_name, + STATE(4509), 1, + sym_qualified_identifier, + STATE(4513), 1, + sym_destructor_name, + STATE(4520), 1, + sym_template_function, + STATE(4560), 1, + sym_dependent_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [165200] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6824), 1, + anon_sym_SEMI, + ACTIONS(6970), 1, + anon_sym_EQ, + STATE(3069), 1, + sym_parameter_list, + STATE(5241), 1, + aux_sym_declaration_repeat1, + STATE(5424), 1, + sym_initializer_list, + STATE(5801), 1, + sym_argument_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [165241] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + ACTIONS(6888), 1, + anon_sym_SEMI, + STATE(3069), 1, + sym_parameter_list, + STATE(5280), 1, + aux_sym_declaration_repeat1, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [165280] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6954), 1, + sym_identifier, + STATE(3796), 1, + aux_sym_sized_type_specifier_repeat1, + STATE(4787), 1, + sym__scope_resolution, + STATE(4113), 2, + sym_sized_type_specifier, + sym_qualified_type_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + ACTIONS(4860), 4, + anon_sym_signed, + anon_sym_unsigned, + anon_sym_long, + anon_sym_short, + [165313] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 1, + anon_sym_operator, + ACTIONS(1513), 1, + anon_sym_TILDE, + ACTIONS(3719), 1, + anon_sym_COLON_COLON, + ACTIONS(6800), 1, + sym_identifier, + ACTIONS(6802), 1, + anon_sym_template, + STATE(2267), 1, + sym_dependent_identifier, + STATE(2306), 1, + sym_operator_name, + STATE(2324), 1, + sym_qualified_identifier, + STATE(2346), 1, + sym_destructor_name, + STATE(2355), 1, + sym_template_function, + STATE(4389), 1, + sym__scope_resolution, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [165354] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6206), 1, + anon_sym_LT, + STATE(1840), 1, + sym_template_argument_list, + ACTIONS(3326), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [165378] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2123), 1, + sym_enumerator_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6972), 2, + anon_sym_class, + anon_sym_struct, + STATE(3190), 2, + sym__class_name, + sym_qualified_type_identifier, + [165414] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3842), 1, + anon_sym_LBRACK, + ACTIONS(6974), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [165436] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2957), 1, + sym_enumerator_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6976), 2, + anon_sym_class, + anon_sym_struct, + STATE(4544), 2, + sym__class_name, + sym_qualified_type_identifier, + [165472] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6978), 1, + anon_sym_LBRACE, + STATE(2507), 1, + sym_template_type, + STATE(3103), 1, + sym_enumerator_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6980), 2, + anon_sym_class, + anon_sym_struct, + STATE(3041), 2, + sym__class_name, + sym_qualified_type_identifier, + [165508] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3871), 1, + anon_sym_LBRACK, + ACTIONS(6974), 1, + anon_sym_AMP_AMP, + ACTIONS(6982), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3873), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [165532] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6339), 1, + anon_sym_LBRACE, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2626), 1, + sym_enumerator_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6984), 2, + anon_sym_class, + anon_sym_struct, + STATE(3856), 2, + sym__class_name, + sym_qualified_type_identifier, + [165568] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2957), 1, + sym_enumerator_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6986), 2, + anon_sym_class, + anon_sym_struct, + STATE(3814), 2, + sym__class_name, + sym_qualified_type_identifier, + [165604] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2957), 1, + sym_enumerator_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6988), 2, + anon_sym_class, + anon_sym_struct, + STATE(3055), 2, + sym__class_name, + sym_qualified_type_identifier, + [165640] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + ACTIONS(6990), 1, + anon_sym_LBRACE, + STATE(1878), 1, + sym_template_type, + STATE(2051), 1, + sym_enumerator_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6992), 2, + anon_sym_class, + anon_sym_struct, + STATE(1914), 2, + sym__class_name, + sym_qualified_type_identifier, + [165676] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2923), 1, + anon_sym_LPAREN2, + ACTIONS(5843), 1, + anon_sym_LBRACK, + ACTIONS(5883), 1, + anon_sym_STAR, + ACTIONS(5885), 1, + anon_sym_AMP_AMP, + ACTIONS(5887), 1, + anon_sym_AMP, + STATE(3793), 1, + sym_parameter_list, + STATE(4837), 1, + sym__abstract_declarator, + STATE(4543), 5, + sym_abstract_parenthesized_declarator, + sym_abstract_pointer_declarator, + sym_abstract_function_declarator, + sym_abstract_array_declarator, + sym_abstract_reference_declarator, + [165708] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6806), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(6812), 1, + anon_sym_EQ, + STATE(3069), 1, + sym_parameter_list, + ACTIONS(6994), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + STATE(5801), 2, + sym_argument_list, + sym_initializer_list, + [165742] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2123), 1, + sym_enumerator_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(6996), 2, + anon_sym_class, + anon_sym_struct, + STATE(2972), 2, + sym__class_name, + sym_qualified_type_identifier, + [165778] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + ACTIONS(6998), 1, + anon_sym_LBRACE, + STATE(2040), 1, + sym_template_type, + STATE(2397), 1, + sym_enumerator_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7000), 2, + anon_sym_class, + anon_sym_struct, + STATE(2067), 2, + sym__class_name, + sym_qualified_type_identifier, + [165814] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + ACTIONS(7002), 1, + anon_sym_LBRACE, + STATE(1909), 1, + sym_template_type, + STATE(2144), 1, + sym_enumerator_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7004), 2, + anon_sym_class, + anon_sym_struct, + STATE(1948), 2, + sym__class_name, + sym_qualified_type_identifier, + [165850] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6551), 1, + sym_identifier, + ACTIONS(7006), 1, + anon_sym_LBRACE, + STATE(3846), 1, + sym_template_type, + STATE(4037), 1, + sym_enumerator_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7008), 2, + anon_sym_class, + anon_sym_struct, + STATE(3881), 2, + sym__class_name, + sym_qualified_type_identifier, + [165886] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + ACTIONS(6990), 1, + anon_sym_LBRACE, + STATE(1878), 1, + sym_template_type, + STATE(2051), 1, + sym_enumerator_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7010), 2, + anon_sym_class, + anon_sym_struct, + STATE(2280), 2, + sym__class_name, + sym_qualified_type_identifier, + [165922] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2957), 1, + sym_enumerator_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7012), 2, + anon_sym_class, + anon_sym_struct, + STATE(3888), 2, + sym__class_name, + sym_qualified_type_identifier, + [165958] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2957), 1, + sym_enumerator_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7014), 2, + anon_sym_class, + anon_sym_struct, + STATE(2861), 2, + sym__class_name, + sym_qualified_type_identifier, + [165994] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2957), 1, + sym_enumerator_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7016), 2, + anon_sym_class, + anon_sym_struct, + STATE(3834), 2, + sym__class_name, + sym_qualified_type_identifier, + [166030] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6206), 1, + anon_sym_LT, + STATE(1840), 1, + sym_template_argument_list, + ACTIONS(3343), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [166054] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + ACTIONS(6339), 1, + anon_sym_LBRACE, + STATE(2209), 1, + sym_template_type, + STATE(2626), 1, + sym_enumerator_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7018), 2, + anon_sym_class, + anon_sym_struct, + STATE(3033), 2, + sym__class_name, + sym_qualified_type_identifier, + [166090] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2957), 1, + sym_enumerator_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7020), 2, + anon_sym_class, + anon_sym_struct, + STATE(3293), 2, + sym__class_name, + sym_qualified_type_identifier, + [166126] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2123), 1, + sym_enumerator_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7022), 2, + anon_sym_class, + anon_sym_struct, + STATE(3852), 2, + sym__class_name, + sym_qualified_type_identifier, + [166162] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2123), 1, + sym_enumerator_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + ACTIONS(7024), 2, + anon_sym_class, + anon_sym_struct, + STATE(3951), 2, + sym__class_name, + sym_qualified_type_identifier, + [166198] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(7028), 1, + anon_sym_LBRACK, + STATE(4426), 1, + sym_requires_clause, + ACTIONS(7026), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [166221] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3043), 1, + sym_parameter_list, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7030), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [166248] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7034), 1, + anon_sym_LBRACK, + ACTIONS(7032), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1861), 1, + anon_sym_LBRACK, + ACTIONS(1863), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166286] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7036), 1, + anon_sym_SEMI, + ACTIONS(7038), 1, + anon_sym_EQ, + ACTIONS(7040), 1, + anon_sym_COLON, + STATE(441), 1, + sym_compound_statement, + STATE(4876), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(469), 2, + sym_default_method_clause, + sym_delete_method_clause, + [166319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 1, + anon_sym_LBRACK, + ACTIONS(3501), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166338] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3491), 1, + anon_sym_LBRACK, + ACTIONS(3493), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166357] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7042), 1, + anon_sym_SEMI, + ACTIONS(7044), 1, + anon_sym_EQ, + STATE(834), 1, + sym_compound_statement, + STATE(4881), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(833), 2, + sym_default_method_clause, + sym_delete_method_clause, + [166390] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 1, + anon_sym_LBRACK, + ACTIONS(1879), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166409] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3585), 1, + anon_sym_LBRACK, + ACTIONS(7046), 1, + anon_sym_LBRACK_LBRACK, + STATE(4424), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3587), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [166432] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7051), 1, + anon_sym_LBRACK, + ACTIONS(7049), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166451] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7055), 1, + anon_sym_LBRACK, + ACTIONS(7053), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166470] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3507), 1, + anon_sym_LBRACK, + ACTIONS(3509), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166489] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7059), 1, + anon_sym_LBRACK, + ACTIONS(7057), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166508] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7063), 1, + anon_sym_LBRACK, + ACTIONS(7061), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166527] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7065), 1, + anon_sym_SEMI, + ACTIONS(7067), 1, + anon_sym_EQ, + STATE(778), 1, + sym_compound_statement, + STATE(4871), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(782), 2, + sym_default_method_clause, + sym_delete_method_clause, + [166560] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7028), 1, + anon_sym_LBRACK, + ACTIONS(7026), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166579] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7038), 1, + anon_sym_EQ, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7069), 1, + anon_sym_SEMI, + STATE(438), 1, + sym_compound_statement, + STATE(4901), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(437), 2, + sym_default_method_clause, + sym_delete_method_clause, + [166612] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(4744), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [166641] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7073), 1, + anon_sym_LBRACK, + ACTIONS(7071), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166660] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3511), 1, + anon_sym_LBRACK, + ACTIONS(3513), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166679] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7075), 1, + anon_sym_SEMI, + ACTIONS(7077), 1, + anon_sym_LBRACE, + ACTIONS(7079), 1, + anon_sym_EQ, + STATE(1680), 1, + sym_compound_statement, + STATE(4897), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1677), 2, + sym_default_method_clause, + sym_delete_method_clause, + [166712] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7083), 1, + anon_sym_LBRACK, + ACTIONS(7081), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166731] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3043), 1, + sym_parameter_list, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7085), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [166758] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(7089), 1, + anon_sym_LBRACK, + STATE(4573), 1, + sym_requires_clause, + ACTIONS(7087), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [166781] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3842), 1, + anon_sym_LBRACK, + ACTIONS(7091), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 9, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166802] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(5398), 1, + anon_sym_LBRACK, + STATE(4574), 1, + sym_requires_clause, + ACTIONS(5396), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [166825] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3503), 1, + anon_sym_LBRACK, + ACTIONS(3505), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [166844] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7095), 1, + anon_sym_LBRACK, + ACTIONS(7093), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [166863] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + STATE(3232), 1, + sym_parameter_list, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7097), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [166890] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + STATE(3232), 1, + sym_parameter_list, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7099), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [166917] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + STATE(3232), 1, + sym_parameter_list, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7101), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [166944] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7103), 1, + anon_sym_SEMI, + ACTIONS(7105), 1, + anon_sym_EQ, + STATE(1667), 1, + sym_compound_statement, + STATE(4868), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1728), 2, + sym_default_method_clause, + sym_delete_method_clause, + [166977] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + STATE(3232), 1, + sym_parameter_list, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7107), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [167004] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6095), 1, + anon_sym_LBRACK, + ACTIONS(6093), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167023] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7109), 1, + anon_sym_SEMI, + ACTIONS(7111), 1, + anon_sym_EQ, + STATE(748), 1, + sym_compound_statement, + STATE(4902), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(770), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7115), 1, + anon_sym_LBRACK, + ACTIONS(7113), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167075] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3487), 1, + anon_sym_LBRACK, + ACTIONS(3489), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167094] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7119), 1, + anon_sym_LBRACK, + ACTIONS(7117), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167113] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7067), 1, + anon_sym_EQ, + ACTIONS(7121), 1, + anon_sym_SEMI, + STATE(809), 1, + sym_compound_statement, + STATE(4877), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(806), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167146] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5457), 2, + sym__class_name, + sym_qualified_type_identifier, + ACTIONS(7123), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [167177] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3871), 1, + anon_sym_LBRACK, + ACTIONS(7091), 1, + anon_sym_AMP_AMP, + ACTIONS(7125), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3873), 8, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167200] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3495), 1, + anon_sym_LBRACK, + ACTIONS(3497), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167219] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7129), 1, + anon_sym_LBRACK, + STATE(4424), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7127), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [167242] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + STATE(3232), 1, + sym_parameter_list, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7131), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [167269] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7135), 1, + anon_sym_LBRACK, + ACTIONS(7133), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167288] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7139), 1, + anon_sym_LBRACK, + ACTIONS(7137), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167307] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym___based, + ACTIONS(5943), 1, + sym_identifier, + ACTIONS(5945), 1, + anon_sym_LPAREN2, + ACTIONS(5947), 1, + anon_sym_STAR, + STATE(4684), 1, + sym__type_declarator, + STATE(6039), 1, + sym_ms_based_modifier, + STATE(4842), 5, + sym_parenthesized_type_declarator, + sym_attributed_type_declarator, + sym_pointer_type_declarator, + sym_function_type_declarator, + sym_array_type_declarator, + [167336] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5240), 1, + anon_sym_requires, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(5227), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [167359] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 1, + anon_sym_COLON_COLON, + ACTIONS(3404), 2, + anon_sym_LBRACK, + anon_sym_COLON, + ACTIONS(3409), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [167380] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7105), 1, + anon_sym_EQ, + ACTIONS(7141), 1, + anon_sym_SEMI, + STATE(1762), 1, + sym_compound_statement, + STATE(4882), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1768), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7145), 1, + anon_sym_LBRACK, + ACTIONS(7143), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167432] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7044), 1, + anon_sym_EQ, + ACTIONS(7147), 1, + anon_sym_SEMI, + STATE(845), 1, + sym_compound_statement, + STATE(4889), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(843), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167465] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3043), 1, + sym_parameter_list, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7149), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [167492] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 1, + anon_sym_LBRACK, + ACTIONS(3501), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167511] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3043), 1, + sym_parameter_list, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7151), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [167538] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7077), 1, + anon_sym_LBRACE, + ACTIONS(7079), 1, + anon_sym_EQ, + ACTIONS(7153), 1, + anon_sym_SEMI, + STATE(1707), 1, + sym_compound_statement, + STATE(4865), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1705), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167571] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4427), 1, + anon_sym_LBRACK, + ACTIONS(7155), 1, + anon_sym_LBRACK_RBRACK, + ACTIONS(4425), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [167592] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7159), 1, + anon_sym_LBRACK, + ACTIONS(7157), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167611] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7161), 1, + anon_sym_SEMI, + ACTIONS(7163), 1, + anon_sym_LBRACE, + ACTIONS(7165), 1, + anon_sym_EQ, + STATE(1636), 1, + sym_compound_statement, + STATE(4872), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1633), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167644] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(4924), 2, + sym__class_name, + sym_qualified_type_identifier, + ACTIONS(7167), 3, + anon_sym_public, + anon_sym_private, + anon_sym_protected, + [167675] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6252), 1, + anon_sym_LT, + STATE(1946), 1, + sym_template_argument_list, + ACTIONS(3343), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_GT2, + anon_sym_requires, + [167698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3475), 1, + anon_sym_LBRACK, + ACTIONS(3477), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167717] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(6252), 1, + anon_sym_LT, + STATE(1946), 1, + sym_template_argument_list, + ACTIONS(3326), 8, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_LBRACK, + anon_sym_GT2, + anon_sym_requires, + [167740] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + STATE(3232), 1, + sym_parameter_list, + STATE(4540), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7169), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [167767] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7111), 1, + anon_sym_EQ, + ACTIONS(7171), 1, + anon_sym_SEMI, + STATE(724), 1, + sym_compound_statement, + STATE(4888), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(725), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167800] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(7095), 1, + anon_sym_LBRACK, + STATE(4429), 1, + sym_requires_clause, + ACTIONS(7093), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [167823] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3471), 1, + anon_sym_LBRACK, + ACTIONS(3473), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167842] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7163), 1, + anon_sym_LBRACE, + ACTIONS(7165), 1, + anon_sym_EQ, + ACTIONS(7173), 1, + anon_sym_SEMI, + STATE(1638), 1, + sym_compound_statement, + STATE(4883), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(1637), 2, + sym_default_method_clause, + sym_delete_method_clause, + [167875] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + ACTIONS(6075), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [167898] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3043), 1, + sym_parameter_list, + STATE(4564), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7175), 5, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [167925] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6077), 1, + anon_sym_LBRACK, + ACTIONS(6075), 10, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + anon_sym_requires, + [167944] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3483), 1, + anon_sym_LBRACK, + ACTIONS(3485), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167963] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3479), 1, + anon_sym_LBRACK, + ACTIONS(3481), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [167982] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3499), 1, + anon_sym_LBRACK, + ACTIONS(3501), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [168001] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5240), 1, + anon_sym_requires, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4431), 1, + sym_requires_clause, + ACTIONS(6093), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_GT2, + [168024] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3515), 1, + anon_sym_LBRACK, + ACTIONS(3517), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [168043] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3467), 1, + anon_sym_LBRACK, + ACTIONS(3469), 10, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [168062] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7179), 1, + anon_sym_LBRACK, + ACTIONS(7177), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168080] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3069), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7149), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [168106] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7057), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [168122] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5227), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168140] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5229), 1, + anon_sym_LBRACK, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(5227), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [168162] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4265), 1, + anon_sym_LBRACK, + ACTIONS(4263), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168180] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(6551), 1, + sym_identifier, + ACTIONS(7006), 1, + anon_sym_LBRACE, + STATE(3846), 1, + sym_template_type, + STATE(4082), 1, + sym_enumerator_list, + STATE(4787), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3880), 2, + sym__class_name, + sym_qualified_type_identifier, + [168212] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(3531), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168230] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4554), 1, + anon_sym_LBRACK, + ACTIONS(4552), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168248] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7183), 1, + anon_sym_LBRACK, + ACTIONS(7181), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168266] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7044), 1, + anon_sym_EQ, + STATE(845), 1, + sym_compound_statement, + STATE(4889), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(843), 2, + sym_default_method_clause, + sym_delete_method_clause, + [168296] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7049), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [168312] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(6339), 1, + anon_sym_LBRACE, + ACTIONS(6720), 1, + sym_identifier, + STATE(2209), 1, + sym_template_type, + STATE(2708), 1, + sym_enumerator_list, + STATE(4754), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3875), 2, + sym__class_name, + sym_qualified_type_identifier, + [168344] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(3350), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168362] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + ACTIONS(6990), 1, + anon_sym_LBRACE, + STATE(1878), 1, + sym_template_type, + STATE(2042), 1, + sym_enumerator_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(1926), 2, + sym__class_name, + sym_qualified_type_identifier, + [168394] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7071), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [168410] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(3350), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168428] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7053), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [168444] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3629), 1, + sym_parameter_list, + ACTIONS(7185), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [168466] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2913), 1, + sym_enumerator_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3836), 2, + sym__class_name, + sym_qualified_type_identifier, + [168498] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(3350), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168516] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7111), 1, + anon_sym_EQ, + STATE(724), 1, + sym_compound_statement, + STATE(4888), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(725), 2, + sym_default_method_clause, + sym_delete_method_clause, + [168546] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7067), 1, + anon_sym_EQ, + STATE(809), 1, + sym_compound_statement, + STATE(4877), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(806), 2, + sym_default_method_clause, + sym_delete_method_clause, + [168576] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3629), 1, + sym_parameter_list, + ACTIONS(7189), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [168598] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3069), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7175), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [168624] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4431), 1, + sym_requires_clause, + ACTIONS(6093), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [168646] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7193), 1, + anon_sym_LBRACK, + ACTIONS(7191), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168664] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(3350), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168682] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(7028), 1, + anon_sym_LBRACK, + STATE(4426), 1, + sym_requires_clause, + ACTIONS(7026), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [168704] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7067), 1, + anon_sym_EQ, + STATE(778), 1, + sym_compound_statement, + STATE(4871), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(782), 2, + sym_default_method_clause, + sym_delete_method_clause, + [168734] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3629), 1, + sym_parameter_list, + ACTIONS(7195), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [168756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7081), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [168772] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4477), 1, + anon_sym_LBRACK, + ACTIONS(4475), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168790] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2229), 1, + sym_enumerator_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3099), 2, + sym__class_name, + sym_qualified_type_identifier, + [168822] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7044), 1, + anon_sym_EQ, + STATE(834), 1, + sym_compound_statement, + STATE(4881), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(833), 2, + sym_default_method_clause, + sym_delete_method_clause, + [168852] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7093), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [168868] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(7199), 1, + anon_sym_LBRACK, + STATE(4600), 1, + sym_requires_clause, + ACTIONS(7197), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [168890] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(7095), 1, + anon_sym_LBRACK, + STATE(4429), 1, + sym_requires_clause, + ACTIONS(7093), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [168912] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6093), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [168928] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7203), 1, + anon_sym_LBRACK, + ACTIONS(7201), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168946] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2913), 1, + sym_enumerator_list, + STATE(4811), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(4556), 2, + sym__class_name, + sym_qualified_type_identifier, + [168978] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7207), 1, + anon_sym_LBRACK, + ACTIONS(7205), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [168996] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2913), 1, + sym_enumerator_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3887), 2, + sym__class_name, + sym_qualified_type_identifier, + [169028] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5428), 1, + anon_sym_LBRACK, + STATE(4598), 1, + sym_requires_clause, + ACTIONS(5426), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [169050] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(5398), 1, + anon_sym_LBRACK, + STATE(4574), 1, + sym_requires_clause, + ACTIONS(5396), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [169072] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5398), 1, + anon_sym_LBRACK, + ACTIONS(5396), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [169090] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(7089), 1, + anon_sym_LBRACK, + STATE(4573), 1, + sym_requires_clause, + ACTIONS(7087), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [169112] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7211), 1, + anon_sym_LBRACK, + STATE(4567), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7209), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [169134] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3069), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7151), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [169160] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7038), 1, + anon_sym_EQ, + ACTIONS(7040), 1, + anon_sym_COLON, + STATE(441), 1, + sym_compound_statement, + STATE(4876), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(469), 2, + sym_default_method_clause, + sym_delete_method_clause, + [169190] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7032), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [169206] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(7213), 1, + anon_sym_COLON, + STATE(2877), 1, + sym__enum_base_clause, + STATE(2914), 1, + sym_enumerator_list, + ACTIONS(3912), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3914), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [169232] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2913), 1, + sym_enumerator_list, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3040), 2, + sym__class_name, + sym_qualified_type_identifier, + [169264] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3069), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7085), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [169290] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3629), 1, + sym_parameter_list, + ACTIONS(7215), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [169312] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3086), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7149), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + [169338] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7219), 1, + anon_sym_LBRACK, + ACTIONS(7217), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [169356] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7040), 1, + anon_sym_COLON, + ACTIONS(7111), 1, + anon_sym_EQ, + STATE(748), 1, + sym_compound_statement, + STATE(4902), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(770), 2, + sym_default_method_clause, + sym_delete_method_clause, + [169386] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7137), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [169402] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7133), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [169418] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(6379), 1, + sym_identifier, + ACTIONS(6990), 1, + anon_sym_LBRACE, + STATE(1878), 1, + sym_template_type, + STATE(2042), 1, + sym_enumerator_list, + STATE(4748), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2350), 2, + sym__class_name, + sym_qualified_type_identifier, + [169450] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3086), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7151), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + [169476] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2229), 1, + sym_enumerator_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3858), 2, + sym__class_name, + sym_qualified_type_identifier, + [169508] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(7213), 1, + anon_sym_COLON, + STATE(2872), 1, + sym__enum_base_clause, + STATE(2896), 1, + sym_enumerator_list, + ACTIONS(3926), 2, + anon_sym_LPAREN2, + anon_sym_STAR, + ACTIONS(3928), 4, + anon_sym___based, + sym_identifier, + sym_auto, + anon_sym_decltype, + [169534] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7061), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [169550] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2913), 1, + sym_enumerator_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3816), 2, + sym__class_name, + sym_qualified_type_identifier, + [169582] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7026), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [169598] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(3350), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [169616] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3629), 1, + sym_parameter_list, + ACTIONS(7221), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [169638] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3629), 1, + sym_parameter_list, + ACTIONS(7223), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [169660] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(6329), 1, + sym_identifier, + ACTIONS(6339), 1, + anon_sym_LBRACE, + STATE(2209), 1, + sym_template_type, + STATE(2708), 1, + sym_enumerator_list, + STATE(4763), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3054), 2, + sym__class_name, + sym_qualified_type_identifier, + [169692] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5097), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7129), 1, + anon_sym_LBRACK, + STATE(4567), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7127), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [169714] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3629), 1, + sym_parameter_list, + ACTIONS(7225), 7, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_requires, + [169736] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7143), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [169752] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3585), 1, + anon_sym_LBRACK, + ACTIONS(7227), 1, + anon_sym_LBRACK_LBRACK, + STATE(4567), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(3587), 6, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [169774] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(6527), 1, + sym_identifier, + ACTIONS(6978), 1, + anon_sym_LBRACE, + STATE(2507), 1, + sym_template_type, + STATE(3183), 1, + sym_enumerator_list, + STATE(4738), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3035), 2, + sym__class_name, + sym_qualified_type_identifier, + [169806] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3086), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7175), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + [169832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4427), 1, + anon_sym_LBRACK, + ACTIONS(4425), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [169850] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7157), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [169866] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6367), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2229), 1, + sym_enumerator_list, + STATE(4764), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2959), 2, + sym__class_name, + sym_qualified_type_identifier, + [169898] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7232), 1, + anon_sym_LBRACK, + ACTIONS(7230), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [169916] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7089), 1, + anon_sym_LBRACK, + ACTIONS(7087), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [169934] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(6319), 1, + anon_sym_LBRACE, + ACTIONS(6593), 1, + sym_identifier, + STATE(1943), 1, + sym_template_type, + STATE(2229), 1, + sym_enumerator_list, + STATE(4737), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3953), 2, + sym__class_name, + sym_qualified_type_identifier, + [169966] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7236), 1, + anon_sym_LT, + ACTIONS(7238), 1, + anon_sym_LBRACK, + STATE(4650), 1, + sym_template_argument_list, + ACTIONS(7234), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [169988] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3086), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7085), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + [170014] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3086), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7030), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_EQ, + anon_sym_GT2, + [170040] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6075), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [170056] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(6347), 1, + sym_identifier, + ACTIONS(6998), 1, + anon_sym_LBRACE, + STATE(2040), 1, + sym_template_type, + STATE(2423), 1, + sym_enumerator_list, + STATE(4786), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2070), 2, + sym__class_name, + sym_qualified_type_identifier, + [170088] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(6357), 1, + sym_identifier, + ACTIONS(7002), 1, + anon_sym_LBRACE, + STATE(1909), 1, + sym_template_type, + STATE(2094), 1, + sym_enumerator_list, + STATE(4790), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(1934), 2, + sym__class_name, + sym_qualified_type_identifier, + [170120] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7117), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [170136] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(5242), 1, + anon_sym_LBRACK, + ACTIONS(7038), 1, + anon_sym_EQ, + ACTIONS(7040), 1, + anon_sym_COLON, + STATE(438), 1, + sym_compound_statement, + STATE(4901), 1, + sym_field_initializer_list, + ACTIONS(3531), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + STATE(437), 2, + sym_default_method_clause, + sym_delete_method_clause, + [170166] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7113), 10, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [170182] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5225), 1, + anon_sym_requires, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + ACTIONS(6075), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [170204] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6575), 1, + sym_identifier, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + STATE(2507), 1, + sym_template_type, + STATE(2913), 1, + sym_enumerator_list, + STATE(4760), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(3290), 2, + sym__class_name, + sym_qualified_type_identifier, + [170236] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(5086), 1, + anon_sym_LBRACE, + ACTIONS(6527), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(2913), 1, + sym_enumerator_list, + STATE(4808), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2875), 2, + sym__class_name, + sym_qualified_type_identifier, + [170268] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7242), 1, + anon_sym_LBRACK, + ACTIONS(7240), 9, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + anon_sym_GT2, + [170286] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3069), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7030), 4, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [170312] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + sym_raw_string_literal, + ACTIONS(7244), 1, + anon_sym_RPAREN, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [170333] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + sym_raw_string_literal, + ACTIONS(7246), 1, + anon_sym_RPAREN, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [170354] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7250), 1, + anon_sym_SEMI, + ACTIONS(7252), 1, + anon_sym_LBRACK, + STATE(4852), 1, + sym_parameter_list, + STATE(5230), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [170383] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7254), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7256), 1, + anon_sym_AMP_AMP, + ACTIONS(3873), 7, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [170402] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7260), 1, + anon_sym_LBRACK, + ACTIONS(7258), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [170419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7264), 1, + anon_sym_LBRACK, + ACTIONS(7262), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [170436] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3842), 1, + anon_sym_LBRACK, + ACTIONS(7266), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 7, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [170455] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7252), 1, + anon_sym_LBRACK, + STATE(4852), 1, + sym_parameter_list, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7268), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [170480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7199), 1, + anon_sym_LBRACK, + ACTIONS(7197), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [170497] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7270), 1, + sym_identifier, + ACTIONS(7274), 1, + sym_system_lib_string, + STATE(6454), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(7272), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [170518] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7278), 1, + anon_sym_LBRACK, + ACTIONS(7276), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [170535] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3711), 1, + sym_parameter_list, + ACTIONS(7215), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [170556] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7256), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [170573] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(7280), 1, + sym_identifier, + ACTIONS(7282), 1, + anon_sym_COLON_COLON, + STATE(4607), 1, + sym__scope_resolution, + STATE(5113), 1, + sym_field_initializer, + STATE(5114), 2, + sym_template_method, + sym_qualified_field_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [170600] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7252), 1, + anon_sym_LBRACK, + STATE(4852), 1, + sym_parameter_list, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7284), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [170625] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7252), 1, + anon_sym_LBRACK, + STATE(4852), 1, + sym_parameter_list, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7286), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [170650] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7288), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5358), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [170679] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7282), 1, + anon_sym_COLON_COLON, + ACTIONS(7290), 1, + sym_identifier, + ACTIONS(7292), 1, + anon_sym_template, + STATE(4607), 1, + sym__scope_resolution, + STATE(5894), 1, + sym_qualified_field_identifier, + STATE(5918), 1, + sym_dependent_field_identifier, + STATE(5919), 1, + sym_template_method, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [170708] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7294), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5234), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [170737] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3711), 1, + sym_parameter_list, + ACTIONS(7185), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [170758] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + sym_raw_string_literal, + ACTIONS(7296), 1, + anon_sym_RPAREN, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [170779] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7298), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5407), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [170808] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3711), 1, + sym_parameter_list, + ACTIONS(7189), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [170829] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7300), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5403), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [170858] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7304), 1, + anon_sym_LBRACK, + ACTIONS(7302), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [170875] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7306), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5232), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [170904] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3722), 1, + sym_parameter_list, + ACTIONS(7195), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [170925] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7310), 1, + anon_sym_LBRACK, + ACTIONS(7308), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [170942] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7314), 1, + anon_sym_EQ, + STATE(3086), 1, + sym_parameter_list, + ACTIONS(7312), 2, + anon_sym_COMMA, + anon_sym_GT2, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [170969] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3722), 1, + sym_parameter_list, + ACTIONS(7225), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [170990] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3722), 1, + sym_parameter_list, + ACTIONS(7223), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [171011] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7318), 1, + anon_sym_AMP, + ACTIONS(7320), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(7316), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [171030] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3711), 1, + sym_parameter_list, + ACTIONS(7221), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [171051] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3871), 1, + anon_sym_LBRACK, + ACTIONS(7266), 1, + anon_sym_AMP_AMP, + ACTIONS(7322), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3873), 6, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [171072] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7324), 1, + sym_identifier, + ACTIONS(7326), 1, + sym_system_lib_string, + STATE(5976), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(7272), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [171093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5428), 1, + anon_sym_LBRACK, + ACTIONS(5426), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [171110] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7330), 1, + anon_sym_LBRACK, + ACTIONS(7328), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [171127] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3722), 1, + sym_parameter_list, + ACTIONS(7221), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [171148] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7334), 1, + anon_sym_LBRACK, + ACTIONS(7332), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [171165] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(7280), 1, + sym_identifier, + ACTIONS(7282), 1, + anon_sym_COLON_COLON, + STATE(4607), 1, + sym__scope_resolution, + STATE(5412), 1, + sym_field_initializer, + STATE(5114), 2, + sym_template_method, + sym_qualified_field_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [171192] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3722), 1, + sym_parameter_list, + ACTIONS(7189), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [171213] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3722), 1, + sym_parameter_list, + ACTIONS(7185), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [171234] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7336), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5373), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171263] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + sym_raw_string_literal, + ACTIONS(7338), 1, + anon_sym_RPAREN, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [171284] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + sym_raw_string_literal, + ACTIONS(7340), 1, + anon_sym_RPAREN, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [171305] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3711), 1, + sym_parameter_list, + ACTIONS(7223), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [171326] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7342), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5281), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171355] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7252), 1, + anon_sym_LBRACK, + STATE(4852), 1, + sym_parameter_list, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7344), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + [171380] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + sym_raw_string_literal, + ACTIONS(7346), 1, + anon_sym_RPAREN, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [171401] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3722), 1, + sym_parameter_list, + ACTIONS(7215), 6, + anon_sym_COMMA, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [171422] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7348), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5313), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171451] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7350), 1, + sym_identifier, + ACTIONS(7352), 1, + sym_system_lib_string, + STATE(6175), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(7272), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [171472] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7354), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5436), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171501] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7356), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5204), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171530] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7358), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5352), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171559] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4768), 1, + sym_raw_string_literal, + ACTIONS(7360), 1, + anon_sym_RPAREN, + STATE(2572), 2, + sym_string_literal, + aux_sym_concatenated_string_repeat1, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [171580] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7362), 1, + anon_sym_EQ, + STATE(3086), 1, + sym_parameter_list, + ACTIONS(7312), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171607] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3711), 1, + sym_parameter_list, + ACTIONS(7225), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [171628] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7364), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5413), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171657] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7366), 1, + sym_identifier, + ACTIONS(7368), 1, + sym_system_lib_string, + STATE(6372), 2, + sym_preproc_call_expression, + sym_string_literal, + ACTIONS(7272), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [171678] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4631), 1, + anon_sym_LBRACK, + ACTIONS(4629), 8, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [171695] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7370), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5269), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171724] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7372), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5340), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171753] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3711), 1, + sym_parameter_list, + ACTIONS(7195), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LBRACK_LBRACK, + anon_sym_EQ, + anon_sym_GT2, + anon_sym_requires, + [171774] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7374), 1, + anon_sym_SEMI, + STATE(4852), 1, + sym_parameter_list, + STATE(5417), 1, + aux_sym_type_definition_repeat2, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171803] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7376), 1, + sym_identifier, + ACTIONS(7378), 1, + anon_sym_namespace, + STATE(4369), 1, + sym__scope_resolution, + STATE(6124), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [171829] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7163), 1, + anon_sym_LBRACE, + STATE(1606), 1, + sym_compound_statement, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171855] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(714), 1, + sym_compound_statement, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171881] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3469), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [171895] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(6095), 1, + anon_sym_LBRACK, + STATE(4431), 1, + sym_requires_clause, + ACTIONS(6093), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [171915] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3208), 1, + sym_parameter_list, + ACTIONS(7085), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171939] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7077), 1, + anon_sym_LBRACE, + STATE(1773), 1, + sym_compound_statement, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [171965] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7380), 1, + sym_identifier, + ACTIONS(7382), 1, + anon_sym_namespace, + STATE(4369), 1, + sym__scope_resolution, + STATE(6104), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [171991] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7384), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7386), 1, + anon_sym_AMP_AMP, + ACTIONS(3873), 6, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + anon_sym_requires, + [172009] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2089), 1, + sym_template_argument_list, + ACTIONS(3350), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [172031] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(7028), 1, + anon_sym_LBRACK, + STATE(4426), 1, + sym_requires_clause, + ACTIONS(7026), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [172051] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(7095), 1, + anon_sym_LBRACK, + STATE(4429), 1, + sym_requires_clause, + ACTIONS(7093), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [172071] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3481), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172085] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1879), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172099] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(409), 1, + sym_compound_statement, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [172125] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3208), 1, + sym_parameter_list, + ACTIONS(7175), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [172149] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6738), 1, + anon_sym_COMMA, + ACTIONS(7388), 1, + anon_sym_SEMI, + ACTIONS(7390), 1, + anon_sym_EQ, + STATE(4836), 1, + aux_sym_field_declaration_repeat1, + STATE(6189), 1, + sym_initializer_list, + STATE(6190), 1, + sym_bitfield_clause, + [172177] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3370), 1, + anon_sym_LBRACK, + ACTIONS(3372), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [172193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3393), 1, + anon_sym_LBRACK, + ACTIONS(3395), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [172209] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7392), 1, + sym_identifier, + ACTIONS(7394), 1, + anon_sym_namespace, + STATE(4369), 1, + sym__scope_resolution, + STATE(6385), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [172235] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5229), 1, + anon_sym_LBRACK, + ACTIONS(5332), 1, + anon_sym_requires, + STATE(4538), 1, + sym_requires_clause, + ACTIONS(5227), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [172255] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3358), 1, + anon_sym_LBRACK, + ACTIONS(3360), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [172271] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(837), 1, + sym_compound_statement, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [172297] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3473), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172311] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3383), 1, + anon_sym_LBRACK, + ACTIONS(3385), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [172327] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7396), 1, + sym_raw_string_literal, + STATE(4638), 1, + sym_string_literal, + STATE(6183), 1, + sym_concatenated_string, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [172347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7398), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 7, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172363] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1863), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172377] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5206), 2, + sym__class_name, + sym_qualified_type_identifier, + [172403] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7252), 1, + anon_sym_LBRACK, + STATE(4852), 1, + sym_parameter_list, + ACTIONS(7400), 2, + anon_sym_COMMA, + anon_sym_SEMI, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [172427] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(6077), 1, + anon_sym_LBRACK, + STATE(4443), 1, + sym_requires_clause, + ACTIONS(6075), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [172447] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3513), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172461] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3477), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172475] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3505), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172489] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3389), 1, + anon_sym_LBRACK, + ACTIONS(3391), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [172505] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3377), 1, + anon_sym_LBRACK, + ACTIONS(3379), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [172521] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3485), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172535] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3366), 1, + anon_sym_LBRACK, + ACTIONS(3368), 7, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [172551] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3497), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172565] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3489), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172579] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7402), 1, + sym_raw_string_literal, + STATE(4645), 1, + sym_string_literal, + STATE(6136), 1, + sym_concatenated_string, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [172599] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3493), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172613] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(6575), 1, + sym_identifier, + STATE(2507), 1, + sym_template_type, + STATE(4794), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(5160), 2, + sym__class_name, + sym_qualified_type_identifier, + [172639] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7404), 1, + sym_identifier, + ACTIONS(7406), 1, + anon_sym_namespace, + STATE(4369), 1, + sym__scope_resolution, + STATE(6221), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [172665] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7408), 1, + sym_raw_string_literal, + STATE(4590), 1, + sym_string_literal, + STATE(6126), 1, + sym_concatenated_string, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [172685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7386), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 7, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_LBRACK, + anon_sym_GT2, + anon_sym_requires, + [172701] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7410), 1, + sym_identifier, + ACTIONS(7412), 1, + anon_sym_namespace, + STATE(4369), 1, + sym__scope_resolution, + STATE(6250), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [172727] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4510), 1, + sym_requires_clause, + ACTIONS(7026), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [172745] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4528), 1, + sym_requires_clause, + ACTIONS(6075), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [172763] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7414), 1, + sym_identifier, + ACTIONS(7416), 1, + anon_sym_namespace, + STATE(4369), 1, + sym__scope_resolution, + STATE(6461), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [172789] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6738), 1, + anon_sym_COMMA, + ACTIONS(7418), 1, + anon_sym_SEMI, + ACTIONS(7420), 1, + anon_sym_EQ, + STATE(4836), 1, + aux_sym_field_declaration_repeat1, + STATE(6226), 1, + sym_initializer_list, + STATE(6228), 1, + sym_bitfield_clause, + [172817] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7422), 1, + sym_raw_string_literal, + STATE(4634), 1, + sym_string_literal, + STATE(6447), 1, + sym_concatenated_string, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [172837] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3501), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172851] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3501), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172865] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3501), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172879] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + ACTIONS(6327), 1, + anon_sym_COLON, + ACTIONS(6738), 1, + anon_sym_COMMA, + ACTIONS(7424), 1, + anon_sym_SEMI, + ACTIONS(7426), 1, + anon_sym_EQ, + STATE(4836), 1, + aux_sym_field_declaration_repeat1, + STATE(6024), 1, + sym_initializer_list, + STATE(6042), 1, + sym_bitfield_clause, + [172907] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3509), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172921] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7428), 1, + sym_raw_string_literal, + STATE(4610), 1, + sym_string_literal, + STATE(6162), 1, + sym_concatenated_string, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [172941] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7398), 1, + anon_sym_AMP_AMP, + ACTIONS(7430), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3873), 6, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [172959] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4559), 1, + sym_requires_clause, + ACTIONS(6093), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [172977] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3208), 1, + sym_parameter_list, + ACTIONS(7030), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173001] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3517), 8, + anon_sym_LPAREN2, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_requires, + [173015] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(1665), 1, + sym_compound_statement, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173041] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7434), 1, + anon_sym_LBRACK, + STATE(4424), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + ACTIONS(7432), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + [173061] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3208), 1, + sym_parameter_list, + ACTIONS(7151), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173085] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(5242), 1, + anon_sym_LBRACK, + STATE(2089), 1, + sym_template_argument_list, + ACTIONS(3531), 4, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [173107] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3208), 1, + sym_parameter_list, + ACTIONS(7149), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173131] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(7089), 1, + anon_sym_LBRACK, + STATE(4573), 1, + sym_requires_clause, + ACTIONS(7087), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [173151] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6239), 1, + anon_sym_requires, + STATE(4557), 1, + sym_requires_clause, + ACTIONS(7093), 6, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + [173169] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7436), 1, + sym_raw_string_literal, + STATE(4633), 1, + sym_string_literal, + STATE(6002), 1, + sym_concatenated_string, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [173189] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7438), 1, + sym_identifier, + ACTIONS(7440), 1, + anon_sym_namespace, + STATE(4369), 1, + sym__scope_resolution, + STATE(6080), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [173215] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5398), 1, + anon_sym_LBRACK, + STATE(4574), 1, + sym_requires_clause, + ACTIONS(5396), 5, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [173235] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(7442), 1, + sym_identifier, + ACTIONS(7444), 1, + anon_sym_COLON_COLON, + STATE(2830), 1, + sym_template_type, + STATE(4778), 1, + sym__scope_resolution, + STATE(6376), 1, + sym_dependent_type_identifier, + STATE(2778), 2, + sym__class_name, + sym_qualified_type_identifier, + [173261] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(797), 1, + sym_compound_statement, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173287] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7446), 1, + sym_raw_string_literal, + STATE(4591), 1, + sym_string_literal, + STATE(6072), 1, + sym_concatenated_string, + ACTIONS(101), 5, + anon_sym_L_DQUOTE, + anon_sym_u_DQUOTE, + anon_sym_U_DQUOTE, + anon_sym_u8_DQUOTE, + anon_sym_DQUOTE, + [173307] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(7448), 1, + anon_sym_RPAREN, + STATE(3677), 1, + sym_parameter_list, + STATE(4849), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173330] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7454), 1, + anon_sym_delete, + ACTIONS(7456), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [173349] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7458), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6110), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [173372] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3797), 1, + sym_parameter_list, + ACTIONS(7195), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + [173391] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3797), 1, + sym_parameter_list, + ACTIONS(7225), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + [173410] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3871), 1, + anon_sym_AMP, + ACTIONS(7460), 1, + anon_sym_PIPE_PIPE, + ACTIONS(7462), 1, + anon_sym_AMP_AMP, + ACTIONS(3873), 4, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_LBRACE, + anon_sym_LBRACK, + [173429] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(5242), 1, + anon_sym_LBRACK, + STATE(4464), 1, + sym_template_argument_list, + ACTIONS(3531), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [173450] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4762), 1, + anon_sym_COLON_COLON, + ACTIONS(7464), 1, + sym_identifier, + ACTIONS(7466), 1, + anon_sym_template, + STATE(1905), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_dependent_type_identifier, + STATE(1957), 1, + sym_template_type, + STATE(4737), 1, + sym__scope_resolution, + [173475] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3638), 1, + anon_sym_COLON_COLON, + ACTIONS(7468), 1, + sym_identifier, + ACTIONS(7470), 1, + anon_sym_template, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(2893), 1, + sym_qualified_type_identifier, + STATE(4738), 1, + sym__scope_resolution, + [173500] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3797), 1, + sym_parameter_list, + ACTIONS(7223), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + [173519] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7472), 1, + anon_sym_delete, + ACTIONS(7474), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [173538] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7223), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + [173557] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3797), 1, + sym_parameter_list, + ACTIONS(7221), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + [173576] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7480), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173599] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7252), 1, + anon_sym_LBRACK, + ACTIONS(7482), 1, + anon_sym_RPAREN, + STATE(4852), 1, + sym_parameter_list, + STATE(4718), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173622] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7030), 1, + anon_sym_LBRACE, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173645] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3797), 1, + sym_parameter_list, + ACTIONS(7189), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + [173664] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3345), 1, + anon_sym_LBRACK, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(4464), 1, + sym_template_argument_list, + ACTIONS(3350), 3, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + [173685] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5402), 1, + anon_sym_COLON_COLON, + ACTIONS(7484), 1, + sym_identifier, + ACTIONS(7486), 1, + anon_sym_template, + STATE(1870), 1, + sym_dependent_type_identifier, + STATE(1883), 1, + sym_template_type, + STATE(1924), 1, + sym_qualified_type_identifier, + STATE(4748), 1, + sym__scope_resolution, + [173710] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7085), 1, + anon_sym_LBRACE, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173733] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3797), 1, + sym_parameter_list, + ACTIONS(7185), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + [173752] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(7131), 1, + anon_sym_RPAREN, + STATE(3677), 1, + sym_parameter_list, + STATE(4849), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173775] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7223), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + [173794] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7221), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + [173813] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4918), 1, + anon_sym_COLON_COLON, + ACTIONS(7488), 1, + sym_identifier, + ACTIONS(7490), 1, + anon_sym_template, + STATE(2140), 1, + sym_template_type, + STATE(2143), 1, + sym_dependent_type_identifier, + STATE(2330), 1, + sym_qualified_type_identifier, + STATE(4754), 1, + sym__scope_resolution, + [173838] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7494), 1, + anon_sym_AMP, + ACTIONS(7492), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [173853] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7496), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173876] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7215), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + [173895] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7175), 1, + anon_sym_LBRACE, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173918] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7498), 1, + anon_sym_delete, + ACTIONS(7500), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [173937] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6734), 1, + anon_sym_COLON_COLON, + ACTIONS(7502), 1, + sym_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(2893), 1, + sym_qualified_type_identifier, + STATE(4760), 1, + sym__scope_resolution, + [173962] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(7169), 1, + anon_sym_RPAREN, + STATE(3677), 1, + sym_parameter_list, + STATE(4849), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [173985] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7504), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174008] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5440), 1, + anon_sym_COLON_COLON, + ACTIONS(7490), 1, + anon_sym_template, + ACTIONS(7506), 1, + sym_identifier, + STATE(2140), 1, + sym_template_type, + STATE(2143), 1, + sym_dependent_type_identifier, + STATE(2330), 1, + sym_qualified_type_identifier, + STATE(4763), 1, + sym__scope_resolution, + [174033] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5336), 1, + anon_sym_COLON_COLON, + ACTIONS(7466), 1, + anon_sym_template, + ACTIONS(7508), 1, + sym_identifier, + STATE(1905), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_dependent_type_identifier, + STATE(1957), 1, + sym_template_type, + STATE(4764), 1, + sym__scope_resolution, + [174058] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7151), 1, + anon_sym_LBRACE, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174081] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7149), 1, + anon_sym_LBRACE, + STATE(3281), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174104] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7510), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6302), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [174127] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7512), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6138), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [174150] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7195), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + [174169] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4559), 1, + sym_requires_clause, + ACTIONS(6093), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + [174186] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7516), 1, + anon_sym_AMP, + ACTIONS(7514), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [174201] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(7107), 1, + anon_sym_RPAREN, + STATE(3677), 1, + sym_parameter_list, + STATE(4849), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174224] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7189), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [174243] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7185), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [174262] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7518), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6274), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [174285] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6563), 1, + anon_sym_COLON_COLON, + ACTIONS(7520), 1, + sym_identifier, + ACTIONS(7522), 1, + anon_sym_template, + STATE(1865), 1, + sym_dependent_type_identifier, + STATE(1866), 1, + sym_qualified_type_identifier, + STATE(1869), 1, + sym_template_type, + STATE(4776), 1, + sym__scope_resolution, + [174310] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7225), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [174329] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7444), 1, + anon_sym_COLON_COLON, + ACTIONS(7524), 1, + sym_identifier, + ACTIONS(7526), 1, + anon_sym_template, + STATE(2743), 1, + sym_qualified_type_identifier, + STATE(2785), 1, + sym_template_type, + STATE(2802), 1, + sym_dependent_type_identifier, + STATE(4778), 1, + sym__scope_resolution, + [174354] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7528), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174377] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3842), 1, + anon_sym_AMP, + ACTIONS(7462), 1, + anon_sym_AMP_AMP, + ACTIONS(3844), 5, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_PIPE_PIPE, + anon_sym_LBRACE, + anon_sym_LBRACK, + [174394] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7318), 1, + anon_sym_AMP, + ACTIONS(7316), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [174409] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3797), 1, + sym_parameter_list, + ACTIONS(7215), 4, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + anon_sym_requires, + [174428] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7530), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174451] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6501), 1, + anon_sym_COLON_COLON, + ACTIONS(7532), 1, + sym_identifier, + ACTIONS(7534), 1, + anon_sym_template, + STATE(1905), 1, + sym_qualified_type_identifier, + STATE(1931), 1, + sym_dependent_type_identifier, + STATE(1957), 1, + sym_template_type, + STATE(4784), 1, + sym__scope_resolution, + [174476] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7195), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + [174495] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5368), 1, + anon_sym_COLON_COLON, + ACTIONS(7536), 1, + sym_identifier, + ACTIONS(7538), 1, + anon_sym_template, + STATE(1947), 1, + sym_dependent_type_identifier, + STATE(1949), 1, + sym_template_type, + STATE(2031), 1, + sym_qualified_type_identifier, + STATE(4786), 1, + sym__scope_resolution, + [174520] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4858), 1, + anon_sym_COLON_COLON, + ACTIONS(7540), 1, + sym_identifier, + ACTIONS(7542), 1, + anon_sym_template, + STATE(3829), 1, + sym_dependent_type_identifier, + STATE(3830), 1, + sym_template_type, + STATE(3870), 1, + sym_qualified_type_identifier, + STATE(4787), 1, + sym__scope_resolution, + [174545] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2917), 1, + anon_sym_AMP, + ACTIONS(2915), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [174560] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7225), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + [174579] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5306), 1, + anon_sym_COLON_COLON, + ACTIONS(7544), 1, + sym_identifier, + ACTIONS(7546), 1, + anon_sym_template, + STATE(1923), 1, + sym_template_type, + STATE(1925), 1, + sym_dependent_type_identifier, + STATE(1942), 1, + sym_qualified_type_identifier, + STATE(4790), 1, + sym__scope_resolution, + [174604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3890), 1, + anon_sym_AMP, + ACTIONS(3892), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [174619] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7548), 1, + anon_sym_delete, + ACTIONS(7550), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [174638] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4510), 1, + sym_requires_clause, + ACTIONS(7026), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + [174655] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(2549), 1, + anon_sym_COLON_COLON, + ACTIONS(7502), 1, + sym_identifier, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4794), 1, + sym__scope_resolution, + [174680] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6511), 1, + anon_sym_COLON_COLON, + ACTIONS(7552), 1, + sym_identifier, + ACTIONS(7554), 1, + anon_sym_template, + STATE(1947), 1, + sym_dependent_type_identifier, + STATE(1949), 1, + sym_template_type, + STATE(2031), 1, + sym_qualified_type_identifier, + STATE(4795), 1, + sym__scope_resolution, + [174705] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7221), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + [174724] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7556), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6427), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [174747] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7195), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [174766] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7225), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + [174785] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7223), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [174804] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7558), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174827] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7560), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6031), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [174850] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7562), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6400), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [174873] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7221), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [174892] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(7097), 1, + anon_sym_RPAREN, + STATE(3677), 1, + sym_parameter_list, + STATE(4849), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174915] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6746), 1, + anon_sym_LBRACK, + ACTIONS(7099), 1, + anon_sym_RPAREN, + STATE(3677), 1, + sym_parameter_list, + STATE(4849), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [174938] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7564), 1, + anon_sym_delete, + ACTIONS(7566), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [174957] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2931), 1, + anon_sym_COLON_COLON, + ACTIONS(7468), 1, + sym_identifier, + ACTIONS(7470), 1, + anon_sym_template, + STATE(2566), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4808), 1, + sym__scope_resolution, + [174982] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7568), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6259), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [175005] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7189), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + [175024] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6722), 1, + anon_sym_COLON_COLON, + ACTIONS(7502), 1, + sym_identifier, + STATE(1905), 1, + sym_qualified_type_identifier, + STATE(2574), 1, + sym_dependent_type_identifier, + STATE(2578), 1, + sym_template_type, + STATE(4811), 1, + sym__scope_resolution, + [175049] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7189), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + [175068] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7570), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [175091] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7185), 4, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_requires, + [175110] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3886), 1, + anon_sym_AMP, + ACTIONS(3888), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [175125] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7185), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + [175144] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4557), 1, + sym_requires_clause, + ACTIONS(7093), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + [175161] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7215), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_requires, + [175180] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7572), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6420), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [175203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7576), 1, + anon_sym_AMP, + ACTIONS(7574), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LBRACK, + [175218] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7578), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6065), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [175241] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7580), 1, + anon_sym_delete, + ACTIONS(7582), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [175260] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3864), 1, + anon_sym_AMP, + ACTIONS(3866), 6, + anon_sym_LPAREN2, + anon_sym_STAR, + anon_sym_AMP_AMP, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_requires, + [175275] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7584), 1, + anon_sym_LPAREN2, + ACTIONS(7586), 1, + anon_sym_LBRACE, + STATE(5383), 1, + sym_template_argument_list, + STATE(5005), 2, + sym_argument_list, + sym_initializer_list, + [175298] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6260), 1, + anon_sym_requires, + STATE(4528), 1, + sym_requires_clause, + ACTIONS(6075), 5, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_EQ, + [175315] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7588), 1, + anon_sym_delete, + ACTIONS(7590), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [175334] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7592), 1, + anon_sym_SEMI, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [175357] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7215), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_GT2, + anon_sym_requires, + [175376] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4510), 1, + sym_requires_clause, + ACTIONS(7026), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [175393] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7594), 1, + anon_sym_delete, + ACTIONS(7596), 1, + anon_sym_new, + ACTIONS(7452), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7450), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [175412] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4557), 1, + sym_requires_clause, + ACTIONS(7093), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [175429] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4559), 1, + sym_requires_clause, + ACTIONS(6093), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [175446] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + ACTIONS(7598), 1, + anon_sym_RPAREN, + STATE(3208), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [175469] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6247), 1, + anon_sym_requires, + STATE(4528), 1, + sym_requires_clause, + ACTIONS(6075), 5, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LPAREN2, + anon_sym_LBRACK, + anon_sym_GT2, + [175486] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(972), 1, + anon_sym_template, + ACTIONS(6950), 1, + anon_sym_COLON_COLON, + ACTIONS(7600), 1, + sym_identifier, + STATE(4369), 1, + sym__scope_resolution, + STATE(6077), 1, + sym_qualified_identifier, + STATE(6376), 2, + sym_template_type, + sym_dependent_type_identifier, + [175509] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7602), 1, + anon_sym_COMMA, + STATE(4836), 1, + aux_sym_field_declaration_repeat1, + ACTIONS(7605), 4, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + anon_sym_COLON, + [175525] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3778), 1, + sym_parameter_list, + ACTIONS(7607), 3, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [175543] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7238), 1, + anon_sym_LBRACK, + STATE(4650), 1, + sym_template_argument_list, + ACTIONS(7234), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [175561] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(5428), 1, + anon_sym_LBRACK, + STATE(4598), 1, + sym_requires_clause, + ACTIONS(5426), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [175579] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6816), 1, + anon_sym_TILDE, + ACTIONS(7609), 1, + sym_identifier, + ACTIONS(7611), 1, + anon_sym_template, + STATE(2558), 3, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + [175597] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7613), 1, + anon_sym_LBRACK, + ACTIONS(7616), 1, + anon_sym_EQ, + ACTIONS(7618), 1, + anon_sym_DOT, + STATE(4841), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [175615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7623), 1, + anon_sym_LBRACK, + ACTIONS(7621), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175629] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_parameter_list, + ACTIONS(7195), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [175647] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_parameter_list, + ACTIONS(7225), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [175665] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_parameter_list, + ACTIONS(7223), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [175683] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7625), 1, + anon_sym_LBRACK, + ACTIONS(7627), 1, + anon_sym_EQ, + ACTIONS(7629), 1, + anon_sym_DOT, + STATE(4841), 3, + sym_subscript_designator, + sym_field_designator, + aux_sym_initializer_pair_repeat1, + [175701] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7633), 1, + anon_sym_LBRACK, + ACTIONS(7631), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175715] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_parameter_list, + ACTIONS(7221), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [175733] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(7211), 1, + anon_sym_LBRACK, + ACTIONS(7209), 2, + anon_sym_RPAREN, + anon_sym_LPAREN2, + STATE(4424), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [175751] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6830), 1, + anon_sym_TILDE, + ACTIONS(7635), 1, + sym_identifier, + ACTIONS(7637), 1, + anon_sym_template, + STATE(2301), 3, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + [175769] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_parameter_list, + ACTIONS(7189), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [175787] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7641), 1, + anon_sym_LBRACK, + ACTIONS(7639), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175801] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_parameter_list, + ACTIONS(7185), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [175819] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(7187), 1, + anon_sym_LBRACK, + STATE(3805), 1, + sym_parameter_list, + ACTIONS(7215), 3, + anon_sym_LBRACK_LBRACK, + anon_sym_LBRACE, + anon_sym_requires, + [175837] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7645), 1, + anon_sym_LBRACK, + ACTIONS(7643), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175851] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6830), 1, + anon_sym_TILDE, + ACTIONS(7647), 1, + sym_identifier, + ACTIONS(7649), 1, + anon_sym_template, + STATE(2301), 3, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + [175869] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7653), 1, + anon_sym_LBRACK, + ACTIONS(7651), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175883] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6866), 1, + anon_sym_TILDE, + ACTIONS(7655), 1, + sym_identifier, + ACTIONS(7657), 1, + anon_sym_template, + STATE(2732), 3, + sym_template_method, + sym_destructor_name, + sym_dependent_field_identifier, + [175901] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7661), 1, + anon_sym_LBRACK, + ACTIONS(7659), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175915] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5332), 1, + anon_sym_requires, + ACTIONS(7199), 1, + anon_sym_LBRACK, + STATE(4600), 1, + sym_requires_clause, + ACTIONS(7197), 3, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_LBRACK_LBRACK, + [175933] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3459), 1, + anon_sym_LBRACK_LBRACK, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + ACTIONS(6810), 1, + anon_sym_LBRACK, + STATE(3043), 1, + sym_parameter_list, + STATE(4458), 2, + sym_attribute_declaration, + aux_sym_attributed_declarator_repeat1, + [175953] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7665), 1, + anon_sym_LBRACK, + ACTIONS(7663), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175967] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7669), 1, + anon_sym_LBRACK, + ACTIONS(7667), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_LPAREN2, + anon_sym_SEMI, + anon_sym_LBRACK_LBRACK, + [175981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7673), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7671), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [175994] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7077), 1, + anon_sym_LBRACE, + ACTIONS(7079), 1, + anon_sym_EQ, + STATE(1682), 1, + sym_compound_statement, + STATE(1755), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176011] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + ACTIONS(7677), 1, + anon_sym_COLON_COLON, + STATE(5926), 1, + sym_argument_list, + ACTIONS(7675), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [176028] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7679), 2, + anon_sym_class, + anon_sym_typename, + STATE(5564), 3, + sym_type_parameter_declaration, + sym_variadic_type_parameter_declaration, + sym_optional_type_parameter_declaration, + [176041] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(7105), 1, + anon_sym_EQ, + STATE(1761), 1, + sym_compound_statement, + STATE(1760), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176058] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + ACTIONS(7189), 2, + anon_sym_LBRACE, + anon_sym_requires, + [176075] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3758), 1, + sym_parameter_list, + ACTIONS(7312), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [176092] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(7067), 1, + anon_sym_EQ, + STATE(827), 1, + sym_compound_statement, + STATE(813), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176109] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7163), 1, + anon_sym_LBRACE, + ACTIONS(7165), 1, + anon_sym_EQ, + STATE(1642), 1, + sym_compound_statement, + STATE(1641), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176126] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7681), 1, + anon_sym_SEMI, + ACTIONS(7683), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + [176145] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7685), 1, + anon_sym_SEMI, + ACTIONS(7687), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + [176164] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3760), 1, + sym_parameter_list, + ACTIONS(7312), 2, + anon_sym_COMMA, + anon_sym_GT2, + [176181] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(7038), 1, + anon_sym_EQ, + STATE(395), 1, + sym_compound_statement, + STATE(440), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176198] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(7067), 1, + anon_sym_EQ, + STATE(765), 1, + sym_compound_statement, + STATE(775), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176215] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + ACTIONS(7215), 2, + anon_sym_LBRACE, + anon_sym_requires, + [176232] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(5383), 1, + sym_template_argument_list, + ACTIONS(7689), 2, + anon_sym_LPAREN2, + anon_sym_LBRACE, + [176249] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7691), 1, + anon_sym_SEMI, + ACTIONS(7693), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + [176268] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7044), 1, + anon_sym_EQ, + STATE(744), 1, + sym_compound_statement, + STATE(742), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176285] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(7105), 1, + anon_sym_EQ, + STATE(1689), 1, + sym_compound_statement, + STATE(1679), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176302] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7163), 1, + anon_sym_LBRACE, + ACTIONS(7165), 1, + anon_sym_EQ, + STATE(1598), 1, + sym_compound_statement, + STATE(1597), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176319] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(7695), 2, + anon_sym_COMMA, + anon_sym_GT2, + [176336] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7697), 1, + anon_sym_catch, + ACTIONS(1829), 2, + anon_sym_else, + anon_sym_while, + STATE(4885), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [176351] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7700), 1, + anon_sym_catch, + ACTIONS(1836), 2, + anon_sym_else, + anon_sym_while, + STATE(4885), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [176366] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7702), 1, + anon_sym_SEMI, + ACTIONS(7704), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + [176385] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(7111), 1, + anon_sym_EQ, + STATE(835), 1, + sym_compound_statement, + STATE(829), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176402] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7044), 1, + anon_sym_EQ, + STATE(847), 1, + sym_compound_statement, + STATE(849), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176419] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7706), 1, + anon_sym_SEMI, + ACTIONS(7708), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + [176438] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + ACTIONS(7225), 2, + anon_sym_LBRACE, + anon_sym_requires, + [176455] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5248), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(5252), 1, + anon_sym_EQ, + ACTIONS(7710), 1, + sym_identifier, + ACTIONS(5250), 2, + anon_sym_COMMA, + anon_sym_GT2, + [176472] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + ACTIONS(7223), 2, + anon_sym_LBRACE, + anon_sym_requires, + [176489] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7712), 1, + anon_sym_SEMI, + ACTIONS(7714), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + [176508] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5266), 1, + sym_auto, + ACTIONS(5268), 1, + anon_sym_decltype, + STATE(2910), 1, + sym_decltype_auto, + ACTIONS(7716), 2, + anon_sym_COMMA, + anon_sym_GT2, + [176525] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7718), 1, + anon_sym_SEMI, + ACTIONS(7720), 1, + anon_sym_EQ, + STATE(2554), 1, + sym_template_argument_list, + [176544] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7077), 1, + anon_sym_LBRACE, + ACTIONS(7079), 1, + anon_sym_EQ, + STATE(1732), 1, + sym_compound_statement, + STATE(1788), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7724), 2, + anon_sym_TILDE, + anon_sym_COLON_COLON, + ACTIONS(7722), 3, + sym_identifier, + anon_sym_template, + anon_sym_operator, + [176574] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + ACTIONS(7195), 2, + anon_sym_LBRACE, + anon_sym_requires, + [176591] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + ACTIONS(7185), 2, + anon_sym_LBRACE, + anon_sym_requires, + [176608] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(7038), 1, + anon_sym_EQ, + STATE(433), 1, + sym_compound_statement, + STATE(449), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176625] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(7111), 1, + anon_sym_EQ, + STATE(810), 1, + sym_compound_statement, + STATE(731), 2, + sym_default_method_clause, + sym_delete_method_clause, + [176642] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + ACTIONS(7221), 2, + anon_sym_LBRACE, + anon_sym_requires, + [176659] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7728), 1, + anon_sym_GT2, + STATE(5277), 1, + aux_sym_template_argument_list_repeat1, + [176675] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7730), 1, + anon_sym_GT2, + STATE(5319), 1, + aux_sym_template_argument_list_repeat1, + [176691] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6333), 1, + anon_sym_LBRACE, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + STATE(3367), 1, + sym_requirement_seq, + STATE(5869), 1, + sym_requires_parameter_list, + [176707] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2194), 1, + sym_field_declaration_list, + STATE(5774), 1, + sym_base_class_clause, + [176723] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2145), 1, + sym_field_declaration_list, + STATE(5779), 1, + sym_base_class_clause, + [176739] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6772), 1, + anon_sym_LBRACE, + STATE(2512), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [176753] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2116), 1, + sym_field_declaration_list, + STATE(5781), 1, + sym_base_class_clause, + [176769] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(7734), 1, + anon_sym_SEMI, + ACTIONS(7736), 1, + anon_sym_EQ, + STATE(825), 1, + sym_compound_statement, + [176785] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6794), 1, + anon_sym_LBRACE, + STATE(3397), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [176799] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(7740), 1, + anon_sym_COMMA, + ACTIONS(7742), 1, + anon_sym_RBRACE, + STATE(5435), 1, + sym_enumerator, + [176815] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4086), 1, + sym_field_declaration_list, + STATE(5499), 1, + sym_base_class_clause, + [176831] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4088), 1, + sym_field_declaration_list, + STATE(5503), 1, + sym_base_class_clause, + [176847] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7744), 1, + anon_sym_LF, + ACTIONS(7746), 1, + anon_sym_LPAREN, + ACTIONS(7748), 1, + sym_preproc_arg, + STATE(5798), 1, + sym_preproc_params, + [176863] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4092), 1, + sym_field_declaration_list, + STATE(5507), 1, + sym_base_class_clause, + [176879] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(529), 1, + sym_template_parameter_list, + STATE(2562), 1, + sym_template_type, + [176895] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2494), 1, + sym_field_declaration_list, + STATE(5478), 1, + sym_base_class_clause, + [176911] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2939), 1, + sym_field_declaration_list, + STATE(5792), 1, + sym_base_class_clause, + [176927] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7752), 1, + anon_sym_DQUOTE, + ACTIONS(7754), 1, + aux_sym_string_literal_token1, + ACTIONS(7756), 1, + sym_escape_sequence, + STATE(4956), 1, + aux_sym_string_literal_repeat1, + [176943] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2943), 1, + sym_field_declaration_list, + STATE(5794), 1, + sym_base_class_clause, + [176959] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + ACTIONS(7758), 1, + anon_sym_LBRACE, + STATE(4716), 1, + sym_requirement_seq, + STATE(5488), 1, + sym_requires_parameter_list, + [176975] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7760), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7762), 1, + anon_sym_COMMA, + ACTIONS(7764), 1, + anon_sym_LBRACE, + STATE(5200), 1, + aux_sym_base_class_clause_repeat1, + [176991] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(700), 1, + sym_template_parameter_list, + STATE(2562), 1, + sym_template_type, + [177007] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2884), 1, + sym_field_declaration_list, + STATE(5732), 1, + sym_base_class_clause, + [177023] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2497), 1, + sym_field_declaration_list, + STATE(5479), 1, + sym_base_class_clause, + [177039] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2973), 1, + sym_field_declaration_list, + STATE(5733), 1, + sym_base_class_clause, + [177055] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2933), 1, + sym_field_declaration_list, + STATE(5745), 1, + sym_base_class_clause, + [177071] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(7766), 1, + anon_sym_SEMI, + ACTIONS(7768), 1, + anon_sym_EQ, + STATE(798), 1, + sym_compound_statement, + [177087] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7746), 1, + anon_sym_LPAREN, + ACTIONS(7770), 1, + anon_sym_LF, + ACTIONS(7772), 1, + sym_preproc_arg, + STATE(5877), 1, + sym_preproc_params, + [177103] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2936), 1, + sym_field_declaration_list, + STATE(5758), 1, + sym_base_class_clause, + [177119] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2944), 1, + sym_field_declaration_list, + STATE(5760), 1, + sym_base_class_clause, + [177135] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2947), 1, + sym_field_declaration_list, + STATE(5775), 1, + sym_base_class_clause, + [177151] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6770), 1, + anon_sym_LBRACE, + STATE(4691), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177165] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7774), 1, + anon_sym_COMMA, + STATE(4936), 1, + aux_sym_field_initializer_list_repeat1, + ACTIONS(7777), 2, + anon_sym_LBRACE, + anon_sym_EQ, + [177179] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2490), 1, + sym_field_declaration_list, + STATE(5481), 1, + sym_base_class_clause, + [177195] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6792), 1, + anon_sym_LBRACE, + STATE(4492), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177209] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2192), 1, + sym_field_declaration_list, + STATE(5753), 1, + sym_base_class_clause, + [177225] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(7779), 1, + anon_sym_COMMA, + ACTIONS(7781), 1, + anon_sym_RBRACE, + STATE(5400), 1, + sym_enumerator, + [177241] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3415), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + ACTIONS(7785), 1, + anon_sym_EQ, + STATE(786), 1, + sym_declaration_list, + [177257] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2114), 1, + sym_field_declaration_list, + STATE(5785), 1, + sym_base_class_clause, + [177273] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3172), 1, + sym_field_declaration_list, + STATE(5868), 1, + sym_base_class_clause, + [177289] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2198), 1, + sym_field_declaration_list, + STATE(5751), 1, + sym_base_class_clause, + [177305] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3166), 1, + sym_field_declaration_list, + STATE(5866), 1, + sym_base_class_clause, + [177321] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3158), 1, + sym_field_declaration_list, + STATE(5864), 1, + sym_base_class_clause, + [177337] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7787), 1, + anon_sym_DQUOTE, + ACTIONS(7789), 1, + aux_sym_string_literal_token1, + ACTIONS(7792), 1, + sym_escape_sequence, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [177353] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7795), 1, + anon_sym_GT2, + STATE(5337), 1, + aux_sym_template_argument_list_repeat1, + [177369] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4126), 1, + sym_field_declaration_list, + STATE(5530), 1, + sym_base_class_clause, + [177385] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7746), 1, + anon_sym_LPAREN, + ACTIONS(7797), 1, + anon_sym_LF, + ACTIONS(7799), 1, + sym_preproc_arg, + STATE(5791), 1, + sym_preproc_params, + [177401] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7801), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7803), 3, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [177413] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6762), 1, + anon_sym_LBRACE, + STATE(1524), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177427] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4127), 1, + sym_field_declaration_list, + STATE(5532), 1, + sym_base_class_clause, + [177443] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7805), 1, + anon_sym_DQUOTE, + ACTIONS(7807), 1, + aux_sym_string_literal_token1, + ACTIONS(7809), 1, + sym_escape_sequence, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [177459] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6762), 1, + anon_sym_LBRACE, + STATE(1528), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177473] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7807), 1, + aux_sym_string_literal_token1, + ACTIONS(7809), 1, + sym_escape_sequence, + ACTIONS(7811), 1, + anon_sym_DQUOTE, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [177489] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2925), 1, + sym_field_declaration_list, + STATE(5938), 1, + sym_base_class_clause, + [177505] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6762), 1, + anon_sym_LBRACE, + STATE(1533), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177519] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4135), 1, + sym_field_declaration_list, + STATE(5535), 1, + sym_base_class_clause, + [177535] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7813), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [177551] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2473), 1, + sym_field_declaration_list, + STATE(5483), 1, + sym_base_class_clause, + [177567] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3417), 1, + anon_sym_LBRACE, + ACTIONS(7815), 1, + sym_identifier, + STATE(769), 1, + sym_declaration_list, + STATE(5363), 1, + sym_namespace_definition_name, + [177583] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2950), 1, + sym_field_declaration_list, + STATE(5796), 1, + sym_base_class_clause, + [177599] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(3042), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177613] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(7817), 1, + anon_sym_COMMA, + ACTIONS(7819), 1, + anon_sym_RBRACE, + STATE(5325), 1, + sym_enumerator, + [177629] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4136), 1, + sym_field_declaration_list, + STATE(5537), 1, + sym_base_class_clause, + [177645] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4121), 1, + sym_field_declaration_list, + STATE(5540), 1, + sym_base_class_clause, + [177661] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2472), 1, + sym_field_declaration_list, + STATE(5487), 1, + sym_base_class_clause, + [177677] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2072), 1, + sym_field_declaration_list, + STATE(5739), 1, + sym_base_class_clause, + [177693] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + ACTIONS(7821), 1, + anon_sym_LBRACE, + STATE(1550), 1, + sym_requirement_seq, + STATE(5713), 1, + sym_requires_parameter_list, + [177709] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4119), 1, + sym_field_declaration_list, + STATE(5542), 1, + sym_base_class_clause, + [177725] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2250), 1, + sym_field_declaration_list, + STATE(5729), 1, + sym_base_class_clause, + [177741] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2466), 1, + sym_field_declaration_list, + STATE(5489), 1, + sym_base_class_clause, + [177757] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7823), 1, + anon_sym_GT2, + STATE(5379), 1, + aux_sym_template_argument_list_repeat1, + [177773] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6768), 1, + anon_sym_LBRACE, + STATE(2811), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177787] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2463), 1, + sym_field_declaration_list, + STATE(5491), 1, + sym_base_class_clause, + [177803] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2453), 1, + sym_field_declaration_list, + STATE(5492), 1, + sym_base_class_clause, + [177819] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + ACTIONS(7825), 1, + anon_sym_SEMI, + ACTIONS(7827), 1, + anon_sym_EQ, + STATE(787), 1, + sym_compound_statement, + [177835] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2253), 1, + sym_field_declaration_list, + STATE(5725), 1, + sym_base_class_clause, + [177851] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2452), 1, + sym_field_declaration_list, + STATE(5496), 1, + sym_base_class_clause, + [177867] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7807), 1, + aux_sym_string_literal_token1, + ACTIONS(7809), 1, + sym_escape_sequence, + ACTIONS(7829), 1, + anon_sym_DQUOTE, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [177883] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2922), 1, + sym_field_declaration_list, + STATE(5943), 1, + sym_base_class_clause, + [177899] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6770), 1, + anon_sym_LBRACE, + STATE(4678), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177913] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(7831), 1, + anon_sym_SEMI, + ACTIONS(7833), 1, + anon_sym_EQ, + STATE(1734), 1, + sym_compound_statement, + [177929] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(7835), 1, + anon_sym_COMMA, + ACTIONS(7837), 1, + anon_sym_RBRACE, + STATE(5214), 1, + sym_enumerator, + [177945] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6792), 1, + anon_sym_LBRACE, + STATE(4482), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [177959] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2074), 1, + sym_field_declaration_list, + STATE(5787), 1, + sym_base_class_clause, + [177975] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2203), 1, + sym_field_declaration_list, + STATE(5750), 1, + sym_base_class_clause, + [177991] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2100), 1, + sym_field_declaration_list, + STATE(5520), 1, + sym_base_class_clause, + [178007] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6774), 1, + anon_sym_LBRACE, + STATE(2317), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [178021] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2104), 1, + sym_field_declaration_list, + STATE(5526), 1, + sym_base_class_clause, + [178037] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3187), 1, + sym_field_declaration_list, + STATE(5847), 1, + sym_base_class_clause, + [178053] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2918), 1, + sym_field_declaration_list, + STATE(5951), 1, + sym_base_class_clause, + [178069] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3186), 1, + sym_field_declaration_list, + STATE(5846), 1, + sym_base_class_clause, + [178085] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(3052), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [178099] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3181), 1, + sym_field_declaration_list, + STATE(5844), 1, + sym_base_class_clause, + [178115] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(7839), 1, + anon_sym_COMMA, + ACTIONS(7841), 1, + anon_sym_RBRACE, + STATE(5460), 1, + sym_enumerator, + [178131] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3178), 1, + sym_field_declaration_list, + STATE(5842), 1, + sym_base_class_clause, + [178147] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2108), 1, + sym_field_declaration_list, + STATE(5538), 1, + sym_base_class_clause, + [178163] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3176), 1, + sym_field_declaration_list, + STATE(5839), 1, + sym_base_class_clause, + [178179] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7843), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [178195] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3173), 1, + sym_field_declaration_list, + STATE(5838), 1, + sym_base_class_clause, + [178211] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4089), 1, + sym_field_declaration_list, + STATE(5549), 1, + sym_base_class_clause, + [178227] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4085), 1, + sym_field_declaration_list, + STATE(5552), 1, + sym_base_class_clause, + [178243] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7845), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7847), 3, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [178255] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7849), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [178271] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4073), 1, + sym_field_declaration_list, + STATE(5553), 1, + sym_base_class_clause, + [178287] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2078), 1, + sym_field_declaration_list, + STATE(5803), 1, + sym_base_class_clause, + [178303] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7851), 1, + sym_identifier, + ACTIONS(7853), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [178315] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7855), 1, + anon_sym_GT2, + STATE(5189), 1, + aux_sym_template_argument_list_repeat1, + [178331] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4071), 1, + sym_field_declaration_list, + STATE(5556), 1, + sym_base_class_clause, + [178347] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7857), 1, + anon_sym_GT2, + STATE(5429), 1, + aux_sym_template_argument_list_repeat1, + [178363] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4027), 1, + sym_field_declaration_list, + STATE(5557), 1, + sym_base_class_clause, + [178379] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4025), 1, + sym_field_declaration_list, + STATE(5560), 1, + sym_base_class_clause, + [178395] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7859), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [178411] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2424), 1, + sym_field_declaration_list, + STATE(5504), 1, + sym_base_class_clause, + [178427] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2419), 1, + sym_field_declaration_list, + STATE(5463), 1, + sym_base_class_clause, + [178443] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2417), 1, + sym_field_declaration_list, + STATE(5511), 1, + sym_base_class_clause, + [178459] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2412), 1, + sym_field_declaration_list, + STATE(5512), 1, + sym_base_class_clause, + [178475] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6770), 1, + anon_sym_LBRACE, + STATE(4658), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [178489] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2410), 1, + sym_field_declaration_list, + STATE(5518), 1, + sym_base_class_clause, + [178505] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2409), 1, + sym_field_declaration_list, + STATE(5519), 1, + sym_base_class_clause, + [178521] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4013), 1, + sym_field_declaration_list, + STATE(5561), 1, + sym_base_class_clause, + [178537] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4002), 1, + sym_field_declaration_list, + STATE(5562), 1, + sym_base_class_clause, + [178553] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2239), 1, + sym_field_declaration_list, + STATE(5705), 1, + sym_base_class_clause, + [178569] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(3996), 1, + sym_field_declaration_list, + STATE(5563), 1, + sym_base_class_clause, + [178585] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7861), 1, + anon_sym_COMMA, + STATE(4936), 1, + aux_sym_field_initializer_list_repeat1, + ACTIONS(7863), 2, + anon_sym_LBRACE, + anon_sym_EQ, + [178599] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6768), 1, + anon_sym_LBRACE, + STATE(2771), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [178613] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7865), 1, + anon_sym_DQUOTE, + ACTIONS(7867), 1, + aux_sym_string_literal_token1, + ACTIONS(7869), 1, + sym_escape_sequence, + STATE(4981), 1, + aux_sym_string_literal_repeat1, + [178629] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7077), 1, + anon_sym_LBRACE, + ACTIONS(7871), 1, + anon_sym_SEMI, + ACTIONS(7873), 1, + anon_sym_EQ, + STATE(1670), 1, + sym_compound_statement, + [178645] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7807), 1, + aux_sym_string_literal_token1, + ACTIONS(7809), 1, + sym_escape_sequence, + ACTIONS(7875), 1, + anon_sym_DQUOTE, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [178661] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(1988), 1, + sym_field_declaration_list, + STATE(5955), 1, + sym_base_class_clause, + [178677] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6792), 1, + anon_sym_LBRACE, + STATE(4487), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [178691] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2240), 1, + sym_field_declaration_list, + STATE(5701), 1, + sym_base_class_clause, + [178707] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3413), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + ACTIONS(7877), 1, + anon_sym_EQ, + STATE(790), 1, + sym_declaration_list, + [178723] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6351), 1, + anon_sym_LBRACE, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + STATE(2851), 1, + sym_requirement_seq, + STATE(5884), 1, + sym_requires_parameter_list, + [178739] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(620), 1, + sym_template_parameter_list, + STATE(2562), 1, + sym_template_type, + [178755] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2025), 1, + sym_field_declaration_list, + STATE(5898), 1, + sym_base_class_clause, + [178771] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3147), 1, + sym_field_declaration_list, + STATE(5827), 1, + sym_base_class_clause, + [178787] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7807), 1, + aux_sym_string_literal_token1, + ACTIONS(7809), 1, + sym_escape_sequence, + ACTIONS(7879), 1, + anon_sym_DQUOTE, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [178803] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2387), 1, + sym_field_declaration_list, + STATE(5544), 1, + sym_base_class_clause, + [178819] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3143), 1, + sym_field_declaration_list, + STATE(5825), 1, + sym_base_class_clause, + [178835] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2243), 1, + sym_field_declaration_list, + STATE(5695), 1, + sym_base_class_clause, + [178851] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3137), 1, + sym_field_declaration_list, + STATE(5823), 1, + sym_base_class_clause, + [178867] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(1991), 1, + sym_field_declaration_list, + STATE(5953), 1, + sym_base_class_clause, + [178883] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2244), 1, + sym_field_declaration_list, + STATE(5690), 1, + sym_base_class_clause, + [178899] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3136), 1, + sym_field_declaration_list, + STATE(5821), 1, + sym_base_class_clause, + [178915] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(1994), 1, + sym_field_declaration_list, + STATE(5957), 1, + sym_base_class_clause, + [178931] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3131), 1, + sym_field_declaration_list, + STATE(5820), 1, + sym_base_class_clause, + [178947] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2399), 1, + sym_field_declaration_list, + STATE(5546), 1, + sym_base_class_clause, + [178963] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7881), 1, + anon_sym_GT2, + STATE(5329), 1, + aux_sym_template_argument_list_repeat1, + [178979] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3129), 1, + sym_field_declaration_list, + STATE(5817), 1, + sym_base_class_clause, + [178995] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2420), 1, + sym_field_declaration_list, + STATE(5548), 1, + sym_base_class_clause, + [179011] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(5788), 1, + sym_argument_list, + ACTIONS(7883), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [179025] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(7885), 1, + anon_sym_COMMA, + ACTIONS(7887), 1, + anon_sym_RBRACE, + STATE(5369), 1, + sym_enumerator, + [179041] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6361), 1, + anon_sym_LBRACE, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + STATE(2550), 1, + sym_requirement_seq, + STATE(5831), 1, + sym_requires_parameter_list, + [179057] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2024), 1, + sym_field_declaration_list, + STATE(5899), 1, + sym_base_class_clause, + [179073] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7746), 1, + anon_sym_LPAREN, + ACTIONS(7889), 1, + anon_sym_LF, + ACTIONS(7891), 1, + sym_preproc_arg, + STATE(5558), 1, + sym_preproc_params, + [179089] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6794), 1, + anon_sym_LBRACE, + STATE(3454), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [179103] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3411), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + ACTIONS(7893), 1, + anon_sym_EQ, + STATE(446), 1, + sym_declaration_list, + [179119] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7077), 1, + anon_sym_LBRACE, + ACTIONS(7895), 1, + anon_sym_SEMI, + ACTIONS(7897), 1, + anon_sym_EQ, + STATE(1695), 1, + sym_compound_statement, + [179135] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2022), 1, + sym_field_declaration_list, + STATE(5907), 1, + sym_base_class_clause, + [179151] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7899), 1, + anon_sym_SEMI, + ACTIONS(7901), 1, + anon_sym_EQ, + STATE(821), 1, + sym_compound_statement, + [179167] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7807), 1, + aux_sym_string_literal_token1, + ACTIONS(7809), 1, + sym_escape_sequence, + ACTIONS(7903), 1, + anon_sym_DQUOTE, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [179183] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7905), 1, + anon_sym_DQUOTE, + ACTIONS(7907), 1, + aux_sym_string_literal_token1, + ACTIONS(7909), 1, + sym_escape_sequence, + STATE(5040), 1, + aux_sym_string_literal_repeat1, + [179199] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7911), 1, + anon_sym_DQUOTE, + ACTIONS(7913), 1, + aux_sym_string_literal_token1, + ACTIONS(7915), 1, + sym_escape_sequence, + STATE(5064), 1, + aux_sym_string_literal_repeat1, + [179215] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6371), 1, + anon_sym_LBRACE, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + STATE(3044), 1, + sym_requirement_seq, + STATE(5754), 1, + sym_requires_parameter_list, + [179231] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6768), 1, + anon_sym_LBRACE, + STATE(2748), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [179245] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2021), 1, + sym_field_declaration_list, + STATE(5909), 1, + sym_base_class_clause, + [179261] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2019), 1, + sym_field_declaration_list, + STATE(5915), 1, + sym_base_class_clause, + [179277] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2018), 1, + sym_field_declaration_list, + STATE(5917), 1, + sym_base_class_clause, + [179293] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2247), 1, + sym_field_declaration_list, + STATE(5689), 1, + sym_base_class_clause, + [179309] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3114), 1, + sym_field_declaration_list, + STATE(5806), 1, + sym_base_class_clause, + [179325] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7917), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [179341] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7919), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [179357] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7921), 1, + anon_sym_GT2, + STATE(5306), 1, + aux_sym_template_argument_list_repeat1, + [179373] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3110), 1, + sym_field_declaration_list, + STATE(5805), 1, + sym_base_class_clause, + [179389] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7923), 1, + anon_sym_SEMI, + ACTIONS(7925), 1, + anon_sym_DASH_GT, + ACTIONS(7927), 1, + anon_sym_noexcept, + STATE(6070), 1, + sym_trailing_return_type, + [179405] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7929), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [179421] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(7931), 1, + anon_sym_SEMI, + ACTIONS(7933), 1, + anon_sym_EQ, + STATE(819), 1, + sym_compound_statement, + [179437] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3107), 1, + sym_field_declaration_list, + STATE(5804), 1, + sym_base_class_clause, + [179453] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6794), 1, + anon_sym_LBRACE, + STATE(3417), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [179467] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2034), 1, + sym_field_declaration_list, + STATE(5889), 1, + sym_base_class_clause, + [179483] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + ACTIONS(7935), 1, + anon_sym_RPAREN, + STATE(3758), 1, + sym_parameter_list, + [179499] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2248), 1, + sym_field_declaration_list, + STATE(5686), 1, + sym_base_class_clause, + [179515] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6383), 1, + anon_sym_LBRACE, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + STATE(2366), 1, + sym_requirement_seq, + STATE(5502), 1, + sym_requires_parameter_list, + [179531] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3980), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [179541] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7937), 1, + anon_sym_GT2, + STATE(5288), 1, + aux_sym_template_argument_list_repeat1, + [179557] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7746), 1, + anon_sym_LPAREN, + ACTIONS(7939), 1, + anon_sym_LF, + ACTIONS(7941), 1, + sym_preproc_arg, + STATE(5506), 1, + sym_preproc_params, + [179573] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6772), 1, + anon_sym_LBRACE, + STATE(2557), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [179587] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2036), 1, + sym_field_declaration_list, + STATE(5887), 1, + sym_base_class_clause, + [179603] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7943), 1, + anon_sym_GT2, + STATE(5309), 1, + aux_sym_template_argument_list_repeat1, + [179619] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(704), 1, + sym_template_parameter_list, + STATE(2562), 1, + sym_template_type, + [179635] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + ACTIONS(7945), 1, + anon_sym_SEMI, + ACTIONS(7947), 1, + anon_sym_EQ, + STATE(732), 1, + sym_compound_statement, + [179651] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2607), 1, + sym_field_declaration_list, + STATE(5618), 1, + sym_base_class_clause, + [179667] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2600), 1, + sym_field_declaration_list, + STATE(5620), 1, + sym_base_class_clause, + [179683] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2038), 1, + sym_field_declaration_list, + STATE(5885), 1, + sym_base_class_clause, + [179699] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(7949), 1, + anon_sym_COMMA, + ACTIONS(7951), 1, + anon_sym_RBRACE, + STATE(5351), 1, + sym_enumerator, + [179715] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2597), 1, + sym_field_declaration_list, + STATE(5621), 1, + sym_base_class_clause, + [179731] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6774), 1, + anon_sym_LBRACE, + STATE(2361), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [179745] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3413), 1, + anon_sym_LBRACE, + ACTIONS(7953), 1, + sym_identifier, + STATE(857), 1, + sym_declaration_list, + STATE(5366), 1, + sym_namespace_definition_name, + [179761] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6774), 1, + anon_sym_LBRACE, + STATE(2265), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [179775] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6790), 1, + anon_sym_LBRACE, + STATE(1524), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [179789] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2208), 1, + sym_field_declaration_list, + STATE(5610), 1, + sym_base_class_clause, + [179805] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(3350), 1, + anon_sym_SEMI, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(1602), 1, + sym_template_argument_list, + [179821] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7955), 1, + anon_sym_GT2, + STATE(5263), 1, + aux_sym_template_argument_list_repeat1, + [179837] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2227), 1, + sym_field_declaration_list, + STATE(5956), 1, + sym_base_class_clause, + [179853] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7957), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [179869] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4058), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [179879] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7959), 1, + anon_sym_DQUOTE, + ACTIONS(7961), 1, + aux_sym_string_literal_token1, + ACTIONS(7963), 1, + sym_escape_sequence, + STATE(5031), 1, + aux_sym_string_literal_repeat1, + [179895] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2258), 1, + sym_field_declaration_list, + STATE(5944), 1, + sym_base_class_clause, + [179911] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2000), 1, + sym_field_declaration_list, + STATE(5952), 1, + sym_base_class_clause, + [179927] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7861), 1, + anon_sym_COMMA, + STATE(5027), 1, + aux_sym_field_initializer_list_repeat1, + ACTIONS(7965), 2, + anon_sym_LBRACE, + anon_sym_EQ, + [179941] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7584), 1, + anon_sym_LPAREN2, + ACTIONS(7586), 1, + anon_sym_LBRACE, + STATE(4951), 2, + sym_argument_list, + sym_initializer_list, + [179955] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2168), 1, + sym_field_declaration_list, + STATE(5928), 1, + sym_base_class_clause, + [179971] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2650), 1, + sym_field_declaration_list, + STATE(5635), 1, + sym_base_class_clause, + [179987] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2001), 1, + sym_field_declaration_list, + STATE(5949), 1, + sym_base_class_clause, + [180003] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(7967), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [180019] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2004), 1, + sym_field_declaration_list, + STATE(5948), 1, + sym_base_class_clause, + [180035] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2005), 1, + sym_field_declaration_list, + STATE(5939), 1, + sym_base_class_clause, + [180051] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7969), 1, + anon_sym_GT2, + STATE(5246), 1, + aux_sym_template_argument_list_repeat1, + [180067] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2631), 1, + sym_field_declaration_list, + STATE(5638), 1, + sym_base_class_clause, + [180083] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2008), 1, + sym_field_declaration_list, + STATE(5937), 1, + sym_base_class_clause, + [180099] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2613), 1, + sym_field_declaration_list, + STATE(5639), 1, + sym_base_class_clause, + [180115] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2603), 1, + sym_field_declaration_list, + STATE(5642), 1, + sym_base_class_clause, + [180131] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2902), 1, + sym_field_declaration_list, + STATE(5668), 1, + sym_base_class_clause, + [180147] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(696), 1, + sym_template_parameter_list, + STATE(2562), 1, + sym_template_type, + [180163] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1963), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [180173] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7971), 1, + anon_sym_DQUOTE, + ACTIONS(7973), 1, + aux_sym_string_literal_token1, + ACTIONS(7975), 1, + sym_escape_sequence, + STATE(5166), 1, + aux_sym_string_literal_repeat1, + [180189] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(2562), 1, + sym_template_type, + STATE(4867), 1, + sym_template_parameter_list, + [180205] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + ACTIONS(7977), 1, + anon_sym_RPAREN, + STATE(3758), 1, + sym_parameter_list, + [180221] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2927), 1, + sym_field_declaration_list, + STATE(5550), 1, + sym_base_class_clause, + [180237] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2669), 1, + sym_field_declaration_list, + STATE(5644), 1, + sym_base_class_clause, + [180253] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(7979), 1, + anon_sym_SEMI, + ACTIONS(7981), 1, + anon_sym_EQ, + STATE(435), 1, + sym_compound_statement, + [180269] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7163), 1, + anon_sym_LBRACE, + ACTIONS(7983), 1, + anon_sym_SEMI, + ACTIONS(7985), 1, + anon_sym_EQ, + STATE(1608), 1, + sym_compound_statement, + [180285] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2703), 1, + sym_field_declaration_list, + STATE(5649), 1, + sym_base_class_clause, + [180301] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7746), 1, + anon_sym_LPAREN, + ACTIONS(7987), 1, + anon_sym_LF, + ACTIONS(7989), 1, + sym_preproc_arg, + STATE(5709), 1, + sym_preproc_params, + [180317] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + ACTIONS(3731), 1, + anon_sym_COLON, + STATE(2009), 1, + sym_field_declaration_list, + STATE(5934), 1, + sym_base_class_clause, + [180333] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6762), 1, + anon_sym_LBRACE, + ACTIONS(7991), 1, + anon_sym_SEMI, + ACTIONS(7993), 1, + anon_sym_EQ, + STATE(1808), 1, + sym_compound_statement, + [180349] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2888), 1, + sym_field_declaration_list, + STATE(5711), 1, + sym_base_class_clause, + [180365] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + ACTIONS(7995), 1, + anon_sym_SEMI, + ACTIONS(7997), 1, + anon_sym_EQ, + STATE(463), 1, + sym_compound_statement, + [180381] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(615), 1, + sym_template_parameter_list, + STATE(2562), 1, + sym_template_type, + [180397] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4566), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [180407] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6790), 1, + anon_sym_LBRACE, + STATE(1528), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [180421] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(7999), 1, + anon_sym_GT2, + STATE(5388), 1, + aux_sym_template_argument_list_repeat1, + [180437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6772), 1, + anon_sym_LBRACE, + STATE(2582), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [180451] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(8001), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [180467] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(3068), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [180481] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8003), 1, + anon_sym_COMMA, + ACTIONS(8005), 1, + anon_sym_RBRACE, + STATE(5193), 1, + sym_enumerator, + [180497] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3415), 1, + anon_sym_LBRACE, + ACTIONS(8007), 1, + sym_identifier, + STATE(860), 1, + sym_declaration_list, + STATE(5441), 1, + sym_namespace_definition_name, + [180513] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2889), 1, + sym_field_declaration_list, + STATE(5715), 1, + sym_base_class_clause, + [180529] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2639), 1, + sym_field_declaration_list, + STATE(5704), 1, + sym_base_class_clause, + [180545] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2169), 1, + sym_field_declaration_list, + STATE(5721), 1, + sym_base_class_clause, + [180561] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2706), 1, + sym_field_declaration_list, + STATE(5699), 1, + sym_base_class_clause, + [180577] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3995), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [180587] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2699), 1, + sym_field_declaration_list, + STATE(5697), 1, + sym_base_class_clause, + [180603] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2167), 1, + sym_field_declaration_list, + STATE(5474), 1, + sym_base_class_clause, + [180619] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4582), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [180629] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8009), 1, + anon_sym_GT2, + STATE(5261), 1, + aux_sym_template_argument_list_repeat1, + [180645] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7762), 1, + anon_sym_COMMA, + ACTIONS(8011), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8013), 1, + anon_sym_LBRACE, + STATE(5461), 1, + aux_sym_base_class_clause_repeat1, + [180661] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2894), 1, + sym_field_declaration_list, + STATE(5717), 1, + sym_base_class_clause, + [180677] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2152), 1, + sym_field_declaration_list, + STATE(5498), 1, + sym_base_class_clause, + [180693] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3417), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + ACTIONS(8015), 1, + anon_sym_EQ, + STATE(716), 1, + sym_declaration_list, + [180709] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2148), 1, + sym_field_declaration_list, + STATE(5536), 1, + sym_base_class_clause, + [180725] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2147), 1, + sym_field_declaration_list, + STATE(5541), 1, + sym_base_class_clause, + [180741] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7807), 1, + aux_sym_string_literal_token1, + ACTIONS(7809), 1, + sym_escape_sequence, + ACTIONS(8017), 1, + anon_sym_DQUOTE, + STATE(4947), 1, + aux_sym_string_literal_repeat1, + [180757] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2151), 1, + sym_field_declaration_list, + STATE(5525), 1, + sym_base_class_clause, + [180773] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2898), 1, + sym_field_declaration_list, + STATE(5723), 1, + sym_base_class_clause, + [180789] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3411), 1, + anon_sym_LBRACE, + ACTIONS(8019), 1, + sym_identifier, + STATE(439), 1, + sym_declaration_list, + STATE(5317), 1, + sym_namespace_definition_name, + [180805] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2641), 1, + sym_field_declaration_list, + STATE(5659), 1, + sym_base_class_clause, + [180821] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2681), 1, + sym_field_declaration_list, + STATE(5662), 1, + sym_base_class_clause, + [180837] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2696), 1, + sym_field_declaration_list, + STATE(5665), 1, + sym_base_class_clause, + [180853] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2847), 1, + anon_sym_LT, + ACTIONS(7750), 1, + sym_identifier, + STATE(679), 1, + sym_template_parameter_list, + STATE(2562), 1, + sym_template_type, + [180869] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2218), 1, + sym_field_declaration_list, + STATE(5634), 1, + sym_base_class_clause, + [180885] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4645), 4, + anon_sym_DOT_DOT_DOT, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [180895] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2653), 1, + sym_field_declaration_list, + STATE(5666), 1, + sym_base_class_clause, + [180911] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7732), 1, + anon_sym_LPAREN2, + ACTIONS(8021), 1, + anon_sym_LBRACE, + STATE(4491), 1, + sym_requirement_seq, + STATE(5571), 1, + sym_requires_parameter_list, + [180927] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2216), 1, + sym_field_declaration_list, + STATE(5632), 1, + sym_base_class_clause, + [180943] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(7746), 1, + anon_sym_LPAREN, + ACTIONS(8023), 1, + anon_sym_LF, + ACTIONS(8025), 1, + sym_preproc_arg, + STATE(5870), 1, + sym_preproc_params, + [180959] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2616), 1, + sym_field_declaration_list, + STATE(5669), 1, + sym_base_class_clause, + [180975] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3321), 1, + anon_sym_COLON_COLON, + ACTIONS(4756), 1, + anon_sym_LT, + ACTIONS(8027), 1, + anon_sym_SEMI, + STATE(2554), 1, + sym_template_argument_list, + [180991] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6790), 1, + anon_sym_LBRACE, + STATE(1533), 1, + sym_compound_statement, + ACTIONS(7032), 2, + anon_sym_LPAREN2, + anon_sym_LBRACK, + [181005] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2602), 1, + sym_field_declaration_list, + STATE(5670), 1, + sym_base_class_clause, + [181021] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2210), 1, + sym_field_declaration_list, + STATE(5614), 1, + sym_base_class_clause, + [181037] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7163), 1, + anon_sym_LBRACE, + ACTIONS(8029), 1, + anon_sym_SEMI, + ACTIONS(8031), 1, + anon_sym_EQ, + STATE(1634), 1, + sym_compound_statement, + [181053] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2212), 1, + sym_field_declaration_list, + STATE(5623), 1, + sym_base_class_clause, + [181069] = 5, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8033), 1, + anon_sym_DQUOTE, + ACTIONS(8035), 1, + aux_sym_string_literal_token1, + ACTIONS(8037), 1, + sym_escape_sequence, + STATE(4954), 1, + aux_sym_string_literal_repeat1, + [181085] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3731), 1, + anon_sym_COLON, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2214), 1, + sym_field_declaration_list, + STATE(5628), 1, + sym_base_class_clause, + [181101] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8039), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [181114] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7762), 1, + anon_sym_COMMA, + ACTIONS(8013), 1, + anon_sym_LBRACE, + STATE(5461), 1, + aux_sym_base_class_clause_repeat1, + [181127] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5470), 1, + anon_sym_RPAREN, + STATE(5236), 1, + aux_sym_argument_list_repeat1, + [181140] = 4, + ACTIONS(6443), 1, + anon_sym_LPAREN2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8041), 1, + anon_sym_LF, + STATE(4068), 1, + sym_preproc_argument_list, + [181153] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8043), 1, + anon_sym_COMMA, + ACTIONS(8045), 1, + anon_sym_RBRACE, + STATE(5238), 1, + aux_sym_enumerator_list_repeat1, + [181166] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8047), 1, + sym_identifier, + STATE(2401), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [181179] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8049), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [181192] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7762), 1, + anon_sym_COMMA, + ACTIONS(8051), 1, + anon_sym_LBRACE, + STATE(5364), 1, + aux_sym_base_class_clause_repeat1, + [181205] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4611), 1, + anon_sym_COMMA, + ACTIONS(8053), 1, + anon_sym_RBRACK, + STATE(5372), 1, + aux_sym_structured_binding_declarator_repeat1, + [181218] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8055), 1, + anon_sym_SEMI, + STATE(5223), 1, + aux_sym_declaration_repeat1, + [181231] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8057), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [181244] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7762), 1, + anon_sym_COMMA, + ACTIONS(8013), 1, + anon_sym_LBRACE, + STATE(5449), 1, + aux_sym_base_class_clause_repeat1, + [181257] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8059), 1, + anon_sym_catch, + STATE(894), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [181268] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5593), 1, + anon_sym_COMMA, + ACTIONS(5595), 1, + anon_sym_RBRACE, + STATE(5333), 1, + aux_sym_initializer_list_repeat1, + [181281] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8061), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181294] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8063), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [181307] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8065), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181320] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8067), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8069), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [181331] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8071), 1, + anon_sym_COMMA, + ACTIONS(8074), 1, + anon_sym_RPAREN, + STATE(5207), 1, + aux_sym_parameter_list_repeat1, + [181344] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8076), 1, + anon_sym_COMMA, + ACTIONS(8078), 1, + anon_sym_RPAREN, + STATE(5289), 1, + aux_sym_parameter_list_repeat1, + [181357] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(8080), 1, + anon_sym_RPAREN, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [181370] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5462), 1, + anon_sym_COMMA, + ACTIONS(5464), 1, + anon_sym_RBRACE, + STATE(5259), 1, + aux_sym_initializer_list_repeat1, + [181383] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8082), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [181392] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8084), 1, + anon_sym_COMMA, + ACTIONS(8086), 1, + anon_sym_RPAREN, + STATE(5346), 1, + aux_sym_preproc_params_repeat1, + [181405] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8088), 1, + anon_sym_GT2, + STATE(5262), 1, + aux_sym_template_argument_list_repeat1, + [181418] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8090), 1, + anon_sym_COMMA, + ACTIONS(8092), 1, + anon_sym_RBRACE, + STATE(5293), 1, + aux_sym_enumerator_list_repeat1, + [181431] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8094), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [181444] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5468), 1, + anon_sym_RPAREN, + STATE(5286), 1, + aux_sym_argument_list_repeat1, + [181457] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5605), 1, + anon_sym_COMMA, + ACTIONS(5607), 1, + anon_sym_RBRACE, + STATE(5382), 1, + aux_sym_initializer_list_repeat1, + [181470] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8096), 1, + anon_sym_COMMA, + ACTIONS(8099), 1, + anon_sym_GT2, + STATE(5218), 1, + aux_sym_template_parameter_list_repeat1, + [181483] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8101), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [181496] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + ACTIONS(8105), 1, + anon_sym_constexpr, + STATE(206), 1, + sym_condition_clause, + [181509] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8094), 1, + anon_sym_RBRACE, + ACTIONS(8107), 1, + anon_sym_COMMA, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [181522] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8109), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181535] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8111), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181548] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8115), 1, + anon_sym_RBRACK_RBRACK, + STATE(5335), 1, + aux_sym_attribute_declaration_repeat1, + [181561] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7925), 1, + anon_sym_DASH_GT, + ACTIONS(8117), 1, + anon_sym_SEMI, + STATE(6114), 1, + sym_trailing_return_type, + [181574] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8119), 1, + anon_sym_COMMA, + ACTIONS(8121), 1, + anon_sym_RPAREN, + STATE(5316), 1, + aux_sym_throw_specifier_repeat1, + [181587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8125), 1, + anon_sym_RPAREN, + ACTIONS(8123), 2, + anon_sym_DOT_DOT_DOT, + sym_identifier, + [181598] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8127), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [181611] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8129), 1, + anon_sym_GT2, + STATE(5390), 1, + aux_sym_template_argument_list_repeat1, + [181624] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8131), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [181637] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6645), 1, + anon_sym_RPAREN, + ACTIONS(8133), 1, + anon_sym_COMMA, + STATE(5231), 1, + aux_sym_preproc_argument_list_repeat1, + [181650] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8136), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [181663] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8138), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [181672] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8140), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [181685] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8142), 1, + anon_sym_COMMA, + ACTIONS(8145), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [181698] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(8147), 1, + anon_sym_RPAREN, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [181711] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8149), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [181724] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8149), 1, + anon_sym_RBRACE, + ACTIONS(8151), 1, + anon_sym_COMMA, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [181737] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8153), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181750] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8155), 1, + anon_sym_COMMA, + ACTIONS(8157), 1, + anon_sym_GT2, + STATE(5311), 1, + aux_sym_template_parameter_list_repeat1, + [181763] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8159), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181776] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8161), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [181789] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8163), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [181802] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8165), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [181815] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5585), 1, + anon_sym_RPAREN, + STATE(5446), 1, + aux_sym_argument_list_repeat1, + [181828] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8167), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [181841] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8169), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [181854] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + ACTIONS(8171), 1, + anon_sym_constexpr, + STATE(386), 1, + sym_condition_clause, + [181867] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8173), 1, + anon_sym_GT2, + STATE(5244), 1, + aux_sym_template_argument_list_repeat1, + [181880] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5795), 1, + anon_sym_RPAREN, + ACTIONS(8175), 1, + anon_sym_COMMA, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [181893] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8178), 1, + anon_sym_RBRACK_RBRACK, + STATE(5335), 1, + aux_sym_attribute_declaration_repeat1, + [181906] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8180), 1, + sym_identifier, + STATE(2359), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [181919] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8182), 1, + anon_sym_COMMA, + ACTIONS(8185), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [181932] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8187), 1, + anon_sym_RBRACK_RBRACK, + STATE(5365), 1, + aux_sym_attribute_declaration_repeat1, + [181945] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8189), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181958] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8191), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [181971] = 4, + ACTIONS(6443), 1, + anon_sym_LPAREN2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8193), 1, + anon_sym_LF, + STATE(4068), 1, + sym_preproc_argument_list, + [181984] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8195), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [181997] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2877), 1, + anon_sym_RBRACE, + ACTIONS(8197), 1, + anon_sym_COMMA, + STATE(5378), 1, + aux_sym_initializer_list_repeat1, + [182010] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8199), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182023] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8201), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182036] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8203), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182049] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8205), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182062] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8207), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182075] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8209), 1, + anon_sym_GT2, + STATE(5256), 1, + aux_sym_template_argument_list_repeat1, + [182088] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7726), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8211), 2, + anon_sym_COMMA, + anon_sym_GT2, + [182099] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8213), 1, + anon_sym_COMMA, + ACTIONS(8216), 1, + anon_sym_RPAREN, + STATE(5267), 1, + aux_sym_preproc_params_repeat1, + [182112] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 1, + anon_sym_COMMA, + ACTIONS(8218), 1, + anon_sym_RPAREN, + STATE(5231), 1, + aux_sym_preproc_argument_list_repeat1, + [182125] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8220), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [182138] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8222), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [182151] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8224), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [182164] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8076), 1, + anon_sym_COMMA, + ACTIONS(8226), 1, + anon_sym_RPAREN, + STATE(5447), 1, + aux_sym_parameter_list_repeat1, + [182177] = 4, + ACTIONS(6443), 1, + anon_sym_LPAREN2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8228), 1, + anon_sym_LF, + STATE(4068), 1, + sym_preproc_argument_list, + [182190] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8230), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [182203] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8232), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182216] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + ACTIONS(8234), 1, + anon_sym_constexpr, + STATE(350), 1, + sym_condition_clause, + [182229] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8236), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182242] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8238), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182255] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8240), 1, + anon_sym_GT2, + STATE(5275), 1, + aux_sym_template_argument_list_repeat1, + [182268] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8242), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [182281] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8244), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [182294] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2889), 1, + anon_sym_RBRACE, + ACTIONS(8246), 1, + anon_sym_COMMA, + STATE(5378), 1, + aux_sym_initializer_list_repeat1, + [182307] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8248), 1, + anon_sym_COMMA, + ACTIONS(8251), 1, + anon_sym_RPAREN, + STATE(5283), 1, + aux_sym_requires_parameter_list_repeat1, + [182320] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8253), 1, + sym_identifier, + STATE(1956), 1, + sym_template_type, + STATE(2401), 1, + sym_template_function, + [182333] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8255), 1, + anon_sym_SEMI, + STATE(5258), 1, + aux_sym_declaration_repeat1, + [182346] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(8257), 1, + anon_sym_RPAREN, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [182359] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8259), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182372] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8261), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182385] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8076), 1, + anon_sym_COMMA, + ACTIONS(8263), 1, + anon_sym_RPAREN, + STATE(5207), 1, + aux_sym_parameter_list_repeat1, + [182398] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8265), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [182411] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8267), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182424] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8269), 1, + anon_sym_GT2, + STATE(5287), 1, + aux_sym_template_argument_list_repeat1, + [182437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8265), 1, + anon_sym_RBRACE, + ACTIONS(8271), 1, + anon_sym_COMMA, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [182450] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8101), 1, + anon_sym_RBRACE, + ACTIONS(8273), 1, + anon_sym_COMMA, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [182463] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2865), 1, + anon_sym_RBRACE, + ACTIONS(8275), 1, + anon_sym_COMMA, + STATE(5378), 1, + aux_sym_initializer_list_repeat1, + [182476] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8277), 1, + sym_identifier, + STATE(2132), 1, + sym_template_method, + STATE(2562), 1, + sym_template_type, + [182489] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8279), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [182502] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8281), 1, + anon_sym_COMMA, + ACTIONS(8283), 1, + anon_sym_RPAREN, + STATE(5434), 1, + aux_sym_requires_parameter_list_repeat1, + [182515] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5458), 1, + anon_sym_COMMA, + ACTIONS(5460), 1, + anon_sym_RBRACE, + STATE(5302), 1, + aux_sym_initializer_list_repeat1, + [182528] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5809), 1, + anon_sym_RBRACK, + ACTIONS(8285), 1, + anon_sym_COMMA, + STATE(5300), 1, + aux_sym_lambda_capture_specifier_repeat1, + [182541] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7320), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [182550] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2883), 1, + anon_sym_RBRACE, + ACTIONS(8288), 1, + anon_sym_COMMA, + STATE(5378), 1, + aux_sym_initializer_list_repeat1, + [182563] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8290), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182576] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8292), 1, + anon_sym_COMMA, + ACTIONS(8295), 1, + anon_sym_RBRACK, + STATE(5304), 1, + aux_sym_structured_binding_declarator_repeat1, + [182589] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8297), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182602] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8299), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182615] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8301), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182628] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8303), 1, + anon_sym_GT2, + STATE(5305), 1, + aux_sym_template_argument_list_repeat1, + [182641] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8305), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182654] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8307), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182667] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8155), 1, + anon_sym_COMMA, + ACTIONS(8309), 1, + anon_sym_GT2, + STATE(5218), 1, + aux_sym_template_parameter_list_repeat1, + [182680] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8311), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [182693] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8313), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [182706] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7700), 1, + anon_sym_catch, + STATE(4886), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [182717] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + ACTIONS(8315), 1, + anon_sym_constexpr, + STATE(319), 1, + sym_condition_clause, + [182730] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8317), 1, + anon_sym_COMMA, + ACTIONS(8320), 1, + anon_sym_RPAREN, + STATE(5316), 1, + aux_sym_throw_specifier_repeat1, + [182743] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3411), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + STATE(446), 1, + sym_declaration_list, + [182756] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8322), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182769] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8324), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182782] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8326), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182795] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8328), 1, + anon_sym_SEMI, + STATE(5205), 1, + aux_sym_declaration_repeat1, + [182808] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8330), 1, + sym_identifier, + STATE(2359), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [182821] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(8332), 1, + anon_sym_RPAREN, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [182834] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8334), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182847] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8336), 1, + anon_sym_COMMA, + ACTIONS(8338), 1, + anon_sym_RBRACE, + STATE(5459), 1, + aux_sym_enumerator_list_repeat1, + [182860] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8340), 1, + anon_sym_GT2, + STATE(5318), 1, + aux_sym_template_argument_list_repeat1, + [182873] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8342), 1, + anon_sym_GT2, + STATE(5310), 1, + aux_sym_template_argument_list_repeat1, + [182886] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8344), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182899] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8346), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182912] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8348), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182925] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8350), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [182938] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8352), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [182951] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2871), 1, + anon_sym_RBRACE, + ACTIONS(8354), 1, + anon_sym_COMMA, + STATE(5378), 1, + aux_sym_initializer_list_repeat1, + [182964] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8356), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [182977] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8358), 1, + anon_sym_COMMA, + ACTIONS(8361), 1, + anon_sym_RBRACK_RBRACK, + STATE(5335), 1, + aux_sym_attribute_declaration_repeat1, + [182990] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8363), 1, + anon_sym_GT2, + STATE(5328), 1, + aux_sym_template_argument_list_repeat1, + [183003] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8365), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183016] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8367), 1, + anon_sym_catch, + STATE(153), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [183027] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8369), 3, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [183036] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8371), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [183049] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8373), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [183062] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8375), 1, + anon_sym_catch, + STATE(175), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [183073] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8377), 1, + sym_identifier, + STATE(2562), 1, + sym_template_type, + STATE(2776), 1, + sym_template_function, + [183086] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8379), 1, + anon_sym_RBRACK_RBRACK, + STATE(5335), 1, + aux_sym_attribute_declaration_repeat1, + [183099] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8381), 1, + anon_sym_SEMI, + STATE(5331), 1, + aux_sym_declaration_repeat1, + [183112] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8084), 1, + anon_sym_COMMA, + ACTIONS(8383), 1, + anon_sym_RPAREN, + STATE(5267), 1, + aux_sym_preproc_params_repeat1, + [183125] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5617), 1, + anon_sym_RPAREN, + STATE(5323), 1, + aux_sym_argument_list_repeat1, + [183138] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8385), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [183151] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + ACTIONS(8387), 1, + anon_sym_constexpr, + STATE(279), 1, + sym_condition_clause, + [183164] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8389), 1, + anon_sym_COMMA, + ACTIONS(8391), 1, + anon_sym_RBRACE, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [183177] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8393), 1, + anon_sym_COMMA, + ACTIONS(8395), 1, + anon_sym_RBRACE, + STATE(5221), 1, + aux_sym_enumerator_list_repeat1, + [183190] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8397), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [183203] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8391), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [183216] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8399), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [183229] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5646), 1, + anon_sym_RPAREN, + STATE(5209), 1, + aux_sym_argument_list_repeat1, + [183242] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8401), 1, + anon_sym_SEMI, + STATE(5396), 1, + aux_sym_declaration_repeat1, + [183255] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(8403), 1, + anon_sym_RPAREN, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [183268] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8405), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [183281] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8369), 3, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_EQ, + [183290] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8407), 1, + sym_identifier, + STATE(1956), 1, + sym_template_type, + STATE(2519), 1, + sym_template_function, + [183303] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8409), 1, + anon_sym_COMMA, + ACTIONS(8412), 1, + anon_sym_RBRACE, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [183316] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8155), 1, + anon_sym_COMMA, + ACTIONS(8414), 1, + anon_sym_GT2, + STATE(5406), 1, + aux_sym_template_parameter_list_repeat1, + [183329] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3417), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + STATE(716), 1, + sym_declaration_list, + [183342] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7762), 1, + anon_sym_COMMA, + ACTIONS(8416), 1, + anon_sym_LBRACE, + STATE(5449), 1, + aux_sym_base_class_clause_repeat1, + [183355] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8418), 1, + anon_sym_RBRACK_RBRACK, + STATE(5335), 1, + aux_sym_attribute_declaration_repeat1, + [183368] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3413), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + STATE(790), 1, + sym_declaration_list, + [183381] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5533), 1, + anon_sym_RPAREN, + STATE(5409), 1, + aux_sym_argument_list_repeat1, + [183394] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8420), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [183407] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8422), 1, + anon_sym_COMMA, + ACTIONS(8424), 1, + anon_sym_RBRACE, + STATE(5411), 1, + aux_sym_enumerator_list_repeat1, + [183420] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5543), 1, + anon_sym_COMMA, + ACTIONS(8426), 1, + anon_sym_RBRACK, + STATE(5300), 1, + aux_sym_lambda_capture_specifier_repeat1, + [183433] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8119), 1, + anon_sym_COMMA, + ACTIONS(8428), 1, + anon_sym_RPAREN, + STATE(5226), 1, + aux_sym_throw_specifier_repeat1, + [183446] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4611), 1, + anon_sym_COMMA, + ACTIONS(8430), 1, + anon_sym_RBRACK, + STATE(5304), 1, + aux_sym_structured_binding_declarator_repeat1, + [183459] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8432), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [183472] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8434), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [183485] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8436), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [183498] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8438), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183511] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8440), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183524] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5638), 1, + anon_sym_RBRACE, + ACTIONS(8442), 1, + anon_sym_COMMA, + STATE(5378), 1, + aux_sym_initializer_list_repeat1, + [183537] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8445), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183550] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8447), 1, + sym_identifier, + ACTIONS(8449), 2, + anon_sym_COMMA, + anon_sym_GT2, + [183561] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8451), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183574] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2879), 1, + anon_sym_RBRACE, + ACTIONS(8453), 1, + anon_sym_COMMA, + STATE(5378), 1, + aux_sym_initializer_list_repeat1, + [183587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3402), 1, + anon_sym_COLON_COLON, + ACTIONS(4629), 2, + anon_sym_LPAREN2, + anon_sym_LBRACE, + [183598] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8455), 1, + anon_sym_RBRACK_RBRACK, + STATE(5344), 1, + aux_sym_attribute_declaration_repeat1, + [183611] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8457), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183624] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8459), 1, + anon_sym_GT2, + STATE(5430), 1, + aux_sym_template_argument_list_repeat1, + [183637] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8461), 1, + anon_sym_GT2, + STATE(5324), 1, + aux_sym_template_argument_list_repeat1, + [183650] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8463), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183663] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5601), 1, + anon_sym_COMMA, + ACTIONS(5603), 1, + anon_sym_RBRACE, + STATE(5282), 1, + aux_sym_initializer_list_repeat1, + [183676] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8465), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [183689] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8119), 1, + anon_sym_COMMA, + ACTIONS(8467), 1, + anon_sym_RPAREN, + STATE(5455), 1, + aux_sym_throw_specifier_repeat1, + [183702] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8469), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [183715] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8471), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [183728] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5543), 1, + anon_sym_COMMA, + ACTIONS(8473), 1, + anon_sym_RBRACK, + STATE(5300), 1, + aux_sym_lambda_capture_specifier_repeat1, + [183741] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8475), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [183754] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8477), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [183767] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8479), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [183780] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8481), 1, + anon_sym_COMMA, + ACTIONS(8483), 1, + anon_sym_RBRACE, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [183793] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8483), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [183806] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8485), 1, + anon_sym_COMMA, + ACTIONS(8487), 1, + anon_sym_RBRACE, + STATE(5350), 1, + aux_sym_enumerator_list_repeat1, + [183819] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(5609), 1, + anon_sym_RPAREN, + STATE(5357), 1, + aux_sym_argument_list_repeat1, + [183832] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8489), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [183841] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8491), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [183854] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8493), 1, + anon_sym_RBRACK_RBRACK, + STATE(5335), 1, + aux_sym_attribute_declaration_repeat1, + [183867] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8489), 3, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_GT2, + [183876] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8155), 1, + anon_sym_COMMA, + ACTIONS(8495), 1, + anon_sym_GT2, + STATE(5218), 1, + aux_sym_template_parameter_list_repeat1, + [183889] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8497), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [183902] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8499), 3, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [183911] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(8501), 1, + anon_sym_RPAREN, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [183924] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8503), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [183937] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8503), 1, + anon_sym_RBRACE, + ACTIONS(8505), 1, + anon_sym_COMMA, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [183950] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7777), 3, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [183959] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8507), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [183972] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8509), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [183985] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8511), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [183998] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8513), 1, + sym_identifier, + STATE(2519), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [184011] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8515), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [184024] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8517), 1, + sym_identifier, + STATE(2359), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [184037] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8519), 1, + anon_sym_GT2, + STATE(5377), 1, + aux_sym_template_argument_list_repeat1, + [184050] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1875), 3, + anon_sym_else, + anon_sym_while, + anon_sym_catch, + [184059] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8521), 1, + anon_sym_SEMI, + STATE(5374), 1, + aux_sym_declaration_repeat1, + [184072] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8523), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [184085] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8525), 3, + anon_sym_LBRACK, + anon_sym_EQ, + anon_sym_DOT, + [184094] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8529), 1, + anon_sym_RPAREN, + ACTIONS(8527), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [184105] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8531), 1, + anon_sym_catch, + STATE(178), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [184116] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8533), 1, + sym_identifier, + STATE(2519), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [184129] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7476), 1, + anon_sym_LPAREN2, + ACTIONS(7478), 1, + anon_sym_LBRACK, + STATE(3833), 1, + sym_parameter_list, + [184142] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8535), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [184155] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8537), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [184168] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8539), 1, + anon_sym_GT2, + STATE(5253), 1, + aux_sym_template_argument_list_repeat1, + [184181] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8541), 1, + anon_sym_RBRACK_RBRACK, + STATE(5251), 1, + aux_sym_attribute_declaration_repeat1, + [184194] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5499), 1, + anon_sym_COMMA, + ACTIONS(8543), 1, + anon_sym_GT2, + STATE(5376), 1, + aux_sym_template_argument_list_repeat1, + [184207] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5392), 1, + anon_sym_RBRACE, + ACTIONS(5642), 1, + anon_sym_COMMA, + STATE(5295), 1, + aux_sym_initializer_list_repeat1, + [184220] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8281), 1, + anon_sym_COMMA, + ACTIONS(8545), 1, + anon_sym_RPAREN, + STATE(5283), 1, + aux_sym_requires_parameter_list_repeat1, + [184233] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8547), 1, + anon_sym_COMMA, + ACTIONS(8549), 1, + anon_sym_RBRACE, + STATE(5398), 1, + aux_sym_enumerator_list_repeat1, + [184246] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7248), 1, + anon_sym_COMMA, + ACTIONS(8551), 1, + anon_sym_SEMI, + STATE(5235), 1, + aux_sym_type_definition_repeat2, + [184259] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + ACTIONS(8553), 1, + anon_sym_RBRACE, + STATE(5773), 1, + sym_enumerator, + [184272] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8555), 1, + anon_sym_RBRACK_RBRACK, + STATE(5224), 1, + aux_sym_attribute_declaration_repeat1, + [184285] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8113), 1, + anon_sym_COMMA, + ACTIONS(8557), 1, + anon_sym_RBRACK_RBRACK, + STATE(5404), 1, + aux_sym_attribute_declaration_repeat1, + [184298] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8559), 1, + sym_identifier, + STATE(2146), 1, + sym_template_type, + STATE(2776), 1, + sym_template_function, + [184311] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3415), 1, + anon_sym_LBRACE, + ACTIONS(7783), 1, + anon_sym_COLON_COLON, + STATE(786), 1, + sym_declaration_list, + [184324] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8563), 1, + anon_sym_EQ, + ACTIONS(8561), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [184335] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8565), 1, + sym_identifier, + STATE(2298), 1, + sym_template_function, + STATE(2562), 1, + sym_template_type, + [184348] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8567), 1, + anon_sym_SEMI, + STATE(5414), 1, + aux_sym_declaration_repeat1, + [184361] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8569), 1, + anon_sym_COMMA, + ACTIONS(8572), 1, + anon_sym_SEMI, + STATE(5445), 1, + aux_sym_declaration_repeat1, + [184374] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5466), 1, + anon_sym_COMMA, + ACTIONS(8574), 1, + anon_sym_RPAREN, + STATE(5250), 1, + aux_sym_argument_list_repeat1, + [184387] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8076), 1, + anon_sym_COMMA, + ACTIONS(8576), 1, + anon_sym_RPAREN, + STATE(5207), 1, + aux_sym_parameter_list_repeat1, + [184400] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + ACTIONS(8578), 1, + anon_sym_constexpr, + STATE(298), 1, + sym_condition_clause, + [184413] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8580), 1, + anon_sym_COMMA, + ACTIONS(8583), 1, + anon_sym_LBRACE, + STATE(5449), 1, + aux_sym_base_class_clause_repeat1, + [184426] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4939), 1, + anon_sym_EQ, + ACTIONS(4937), 2, + anon_sym_COMMA, + anon_sym_GT2, + [184437] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8585), 1, + sym_identifier, + STATE(2562), 1, + sym_template_type, + STATE(4501), 1, + sym_template_function, + [184450] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8587), 3, + anon_sym_COMMA, + anon_sym_LBRACE, + anon_sym_EQ, + [184459] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8589), 1, + anon_sym_catch, + STATE(174), 2, + sym_catch_clause, + aux_sym_try_statement_repeat1, + [184470] = 4, + ACTIONS(6443), 1, + anon_sym_LPAREN2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8591), 1, + anon_sym_LF, + STATE(4068), 1, + sym_preproc_argument_list, + [184483] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8119), 1, + anon_sym_COMMA, + ACTIONS(8593), 1, + anon_sym_RPAREN, + STATE(5316), 1, + aux_sym_throw_specifier_repeat1, + [184496] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8595), 1, + anon_sym_SEMI, + STATE(5274), 1, + aux_sym_declaration_repeat1, + [184509] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8597), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(8583), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [184520] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6804), 1, + anon_sym_COMMA, + ACTIONS(8599), 1, + anon_sym_SEMI, + STATE(5239), 1, + aux_sym_declaration_repeat1, + [184533] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8385), 1, + anon_sym_RBRACE, + ACTIONS(8601), 1, + anon_sym_COMMA, + STATE(5361), 1, + aux_sym_enumerator_list_repeat1, + [184546] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8603), 1, + anon_sym_COMMA, + ACTIONS(8605), 1, + anon_sym_RBRACE, + STATE(5294), 1, + aux_sym_enumerator_list_repeat1, + [184559] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7762), 1, + anon_sym_COMMA, + ACTIONS(8051), 1, + anon_sym_LBRACE, + STATE(5449), 1, + aux_sym_base_class_clause_repeat1, + [184572] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6415), 1, + anon_sym_COMMA, + ACTIONS(8607), 1, + anon_sym_RPAREN, + STATE(5231), 1, + aux_sym_preproc_argument_list_repeat1, + [184585] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2473), 1, + sym_field_declaration_list, + [184595] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8609), 1, + anon_sym_LF, + ACTIONS(8611), 1, + sym_preproc_arg, + [184605] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2194), 1, + sym_field_declaration_list, + [184615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(5383), 1, + sym_template_argument_list, + [184625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3985), 1, + anon_sym_LPAREN2, + STATE(2819), 1, + sym_argument_list, + [184635] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8613), 1, + anon_sym_LF, + ACTIONS(8615), 1, + sym_preproc_arg, + [184645] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8617), 1, + sym_identifier, + STATE(1939), 1, + sym_template_type, + [184655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2100), 1, + sym_field_declaration_list, + [184665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2104), 1, + sym_field_declaration_list, + [184675] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8619), 1, + sym_identifier, + STATE(5384), 1, + sym_attribute, + [184685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2424), 1, + sym_field_declaration_list, + [184695] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2118), 1, + sym_field_declaration_list, + [184705] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2108), 1, + sym_field_declaration_list, + [184715] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2116), 1, + sym_field_declaration_list, + [184725] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(249), 1, + sym_condition_clause, + [184735] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2486), 1, + sym_field_declaration_list, + [184745] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2487), 1, + sym_field_declaration_list, + [184755] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4086), 1, + sym_field_declaration_list, + [184765] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2489), 1, + sym_field_declaration_list, + [184775] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4088), 1, + sym_field_declaration_list, + [184785] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2493), 1, + sym_field_declaration_list, + [184795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4092), 1, + sym_field_declaration_list, + [184805] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2494), 1, + sym_field_declaration_list, + [184815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5832), 1, + sym_compound_statement, + [184825] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2495), 1, + sym_field_declaration_list, + [184835] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7758), 1, + anon_sym_LBRACE, + STATE(4694), 1, + sym_requirement_seq, + [184845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2496), 1, + sym_field_declaration_list, + [184855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2497), 1, + sym_field_declaration_list, + [184865] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2498), 1, + sym_field_declaration_list, + [184875] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2476), 1, + sym_field_declaration_list, + [184885] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4770), 1, + anon_sym_LT, + STATE(2775), 1, + sym_template_argument_list, + [184895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2490), 1, + sym_field_declaration_list, + [184905] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(6299), 1, + sym_argument_list, + [184915] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2485), 1, + sym_field_declaration_list, + [184925] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8621), 1, + sym_identifier, + STATE(1921), 1, + sym_template_type, + [184935] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2114), 1, + sym_field_declaration_list, + [184945] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4126), 1, + sym_field_declaration_list, + [184955] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8074), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [184963] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4127), 1, + sym_field_declaration_list, + [184973] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6383), 1, + anon_sym_LBRACE, + STATE(2342), 1, + sym_requirement_seq, + [184983] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4135), 1, + sym_field_declaration_list, + [184993] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2475), 1, + sym_field_declaration_list, + [185003] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4136), 1, + sym_field_declaration_list, + [185013] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8623), 1, + anon_sym_LF, + ACTIONS(8625), 1, + sym_preproc_arg, + [185023] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4121), 1, + sym_field_declaration_list, + [185033] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2472), 1, + sym_field_declaration_list, + [185043] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4119), 1, + sym_field_declaration_list, + [185053] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8627), 1, + anon_sym_LT, + STATE(1840), 1, + sym_template_argument_list, + [185063] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2469), 1, + sym_field_declaration_list, + [185073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2466), 1, + sym_field_declaration_list, + [185083] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, + anon_sym_LBRACE, + STATE(2269), 1, + sym_initializer_list, + [185093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2463), 1, + sym_field_declaration_list, + [185103] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8629), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + [185111] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8631), 1, + anon_sym_LPAREN2, + STATE(5680), 1, + sym_condition_clause, + [185121] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8099), 2, + anon_sym_COMMA, + anon_sym_GT2, + [185129] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2461), 1, + sym_field_declaration_list, + [185139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2453), 1, + sym_field_declaration_list, + [185149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2208), 1, + sym_field_declaration_list, + [185159] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2452), 1, + sym_field_declaration_list, + [185169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2210), 1, + sym_field_declaration_list, + [185179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(4464), 1, + sym_template_argument_list, + [185189] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(1602), 1, + sym_template_argument_list, + [185199] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2079), 1, + sym_field_declaration_list, + [185209] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2212), 1, + sym_field_declaration_list, + [185219] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(209), 1, + sym_condition_clause, + [185229] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2214), 1, + sym_field_declaration_list, + [185239] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4089), 1, + sym_field_declaration_list, + [185249] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4085), 1, + sym_field_declaration_list, + [185259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2074), 1, + sym_field_declaration_list, + [185269] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4078), 1, + sym_field_declaration_list, + [185279] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8633), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [185287] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4073), 1, + sym_field_declaration_list, + [185297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4071), 1, + sym_field_declaration_list, + [185307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2078), 1, + sym_field_declaration_list, + [185317] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4065), 1, + sym_field_declaration_list, + [185327] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2216), 1, + sym_field_declaration_list, + [185337] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4027), 1, + sym_field_declaration_list, + [185347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4025), 1, + sym_field_declaration_list, + [185357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2081), 1, + sym_field_declaration_list, + [185367] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4021), 1, + sym_field_declaration_list, + [185377] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2218), 1, + sym_field_declaration_list, + [185387] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2419), 1, + sym_field_declaration_list, + [185397] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2417), 1, + sym_field_declaration_list, + [185407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2412), 1, + sym_field_declaration_list, + [185417] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2410), 1, + sym_field_declaration_list, + [185427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2409), 1, + sym_field_declaration_list, + [185437] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4079), 1, + sym_field_declaration_list, + [185447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2949), 1, + sym_field_declaration_list, + [185457] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4013), 1, + sym_field_declaration_list, + [185467] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4110), 1, + sym_field_declaration_list, + [185477] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(3999), 1, + sym_field_declaration_list, + [185487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3737), 1, + anon_sym_LT, + STATE(1874), 1, + sym_template_argument_list, + [185497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4002), 1, + sym_field_declaration_list, + [185507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4015), 1, + sym_field_declaration_list, + [185517] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4016), 1, + sym_field_declaration_list, + [185527] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8635), 1, + anon_sym_LF, + ACTIONS(8637), 1, + sym_preproc_arg, + [185537] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(3996), 1, + sym_field_declaration_list, + [185547] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4028), 1, + sym_field_declaration_list, + [185557] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4046), 1, + sym_field_declaration_list, + [185567] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4058), 1, + sym_field_declaration_list, + [185577] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6296), 1, + anon_sym_LBRACE, + STATE(4063), 1, + sym_field_declaration_list, + [185587] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8639), 2, + anon_sym_COMMA, + anon_sym_GT2, + [185595] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8216), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [185603] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5453), 1, + sym_compound_statement, + [185613] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8641), 2, + anon_sym_COMMA, + anon_sym_GT2, + [185621] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8251), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [185629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8643), 1, + sym_identifier, + STATE(3828), 1, + sym_template_type, + [185639] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8645), 2, + anon_sym_COMMA, + anon_sym_GT2, + [185647] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8021), 1, + anon_sym_LBRACE, + STATE(4452), 1, + sym_requirement_seq, + [185657] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8647), 1, + sym_identifier, + STATE(2741), 1, + sym_template_method, + [185667] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 1, + anon_sym_LBRACE, + STATE(3150), 1, + sym_initializer_list, + [185677] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(304), 1, + sym_condition_clause, + [185687] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8649), 1, + anon_sym_LT, + STATE(2068), 1, + sym_template_argument_list, + [185697] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2387), 1, + sym_field_declaration_list, + [185707] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6206), 1, + anon_sym_LT, + STATE(1840), 1, + sym_template_argument_list, + [185717] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5704), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [185725] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2399), 1, + sym_field_declaration_list, + [185735] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3910), 1, + anon_sym_LBRACE, + STATE(2420), 1, + sym_field_declaration_list, + [185745] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8361), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [185753] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2021), 2, + anon_sym_else, + anon_sym_while, + [185761] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8627), 1, + anon_sym_LT, + STATE(2336), 1, + sym_template_argument_list, + [185771] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2015), 2, + anon_sym_else, + anon_sym_while, + [185779] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2011), 2, + anon_sym_else, + anon_sym_while, + [185787] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8651), 1, + sym_identifier, + STATE(2833), 1, + sym_template_type, + [185797] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185805] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185813] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185821] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185829] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185837] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LT, + STATE(1602), 1, + sym_template_argument_list, + [185847] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8655), 1, + sym_identifier, + ACTIONS(8657), 1, + anon_sym_LPAREN2, + [185857] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185865] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8295), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [185873] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2248), 1, + sym_field_declaration_list, + [185883] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8659), 1, + anon_sym_LT, + STATE(1946), 1, + sym_template_argument_list, + [185893] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185901] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8661), 1, + anon_sym_LF, + ACTIONS(8663), 1, + sym_preproc_arg, + [185911] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185919] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LT, + STATE(2237), 1, + sym_template_argument_list, + [185929] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185937] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185945] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + STATE(430), 1, + sym_compound_statement, + [185955] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185963] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185971] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2147), 1, + sym_field_declaration_list, + [185981] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7750), 1, + sym_identifier, + STATE(2562), 1, + sym_template_type, + [185991] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [185999] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2247), 1, + sym_field_declaration_list, + [186009] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186017] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186025] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3801), 1, + anon_sym_LPAREN2, + STATE(2276), 1, + sym_argument_list, + [186035] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2245), 1, + sym_field_declaration_list, + [186045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6288), 1, + anon_sym_LT, + STATE(3850), 1, + sym_template_argument_list, + [186055] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2244), 1, + sym_field_declaration_list, + [186065] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186073] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2615), 1, + sym_field_declaration_list, + [186083] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8627), 1, + anon_sym_LT, + STATE(1716), 1, + sym_template_argument_list, + [186093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2614), 1, + sym_field_declaration_list, + [186103] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2612), 1, + sym_field_declaration_list, + [186113] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8627), 1, + anon_sym_LT, + STATE(2518), 1, + sym_template_argument_list, + [186123] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2243), 1, + sym_field_declaration_list, + [186133] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186141] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8665), 1, + sym_identifier, + STATE(2516), 1, + sym_template_method, + [186151] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186159] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2241), 1, + sym_field_declaration_list, + [186177] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2240), 1, + sym_field_declaration_list, + [186187] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186195] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2239), 1, + sym_field_declaration_list, + [186213] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LT, + STATE(1946), 1, + sym_template_argument_list, + [186223] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2236), 1, + sym_field_declaration_list, + [186233] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2610), 1, + sym_field_declaration_list, + [186243] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2607), 1, + sym_field_declaration_list, + [186253] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(3203), 1, + sym_template_argument_list, + [186263] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2606), 1, + sym_field_declaration_list, + [186273] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2601), 1, + sym_field_declaration_list, + [186283] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2600), 1, + sym_field_declaration_list, + [186293] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186301] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2599), 1, + sym_field_declaration_list, + [186311] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(6030), 1, + sym_argument_list, + [186321] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2598), 1, + sym_field_declaration_list, + [186331] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5638), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [186339] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2597), 1, + sym_field_declaration_list, + [186349] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3017), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [186357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5633), 1, + anon_sym_RBRACK, + ACTIONS(8667), 1, + anon_sym_COMMA, + [186367] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2596), 1, + sym_field_declaration_list, + [186377] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1308), 1, + anon_sym_LBRACE, + STATE(898), 1, + sym_compound_statement, + [186387] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8669), 1, + anon_sym_LT, + STATE(1498), 1, + sym_template_argument_list, + [186397] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8671), 1, + anon_sym_LF, + ACTIONS(8673), 1, + sym_preproc_arg, + [186407] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5420), 1, + sym_compound_statement, + [186417] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8659), 1, + anon_sym_LT, + STATE(2813), 1, + sym_template_argument_list, + [186427] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186435] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186443] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2918), 1, + sym_field_declaration_list, + [186453] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186461] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2682), 1, + sym_field_declaration_list, + [186471] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186479] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2650), 1, + sym_field_declaration_list, + [186497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2631), 1, + sym_field_declaration_list, + [186507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8659), 1, + anon_sym_LT, + STATE(1834), 1, + sym_template_argument_list, + [186517] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2619), 1, + sym_field_declaration_list, + [186527] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2613), 1, + sym_field_declaration_list, + [186537] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2603), 1, + sym_field_declaration_list, + [186547] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2952), 1, + sym_field_declaration_list, + [186557] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2608), 1, + sym_field_declaration_list, + [186567] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2669), 1, + sym_field_declaration_list, + [186577] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2950), 1, + sym_field_declaration_list, + [186587] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2703), 1, + sym_field_declaration_list, + [186597] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(3254), 1, + sym_template_argument_list, + [186607] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2922), 1, + sym_field_declaration_list, + [186617] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(3058), 1, + sym_template_argument_list, + [186635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2925), 1, + sym_field_declaration_list, + [186645] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(192), 1, + sym_condition_clause, + [186655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8653), 1, + anon_sym_LT, + STATE(1484), 1, + sym_template_argument_list, + [186665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(511), 1, + sym_compound_statement, + [186675] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186683] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(4464), 1, + sym_template_argument_list, + [186693] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8659), 1, + anon_sym_LT, + STATE(2533), 1, + sym_template_argument_list, + [186703] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8669), 1, + anon_sym_LT, + STATE(1500), 1, + sym_template_argument_list, + [186713] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(3058), 1, + sym_template_argument_list, + [186723] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2206), 1, + sym_field_declaration_list, + [186733] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2203), 1, + sym_field_declaration_list, + [186751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2202), 1, + sym_field_declaration_list, + [186761] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2201), 1, + sym_field_declaration_list, + [186771] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2198), 1, + sym_field_declaration_list, + [186781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8619), 1, + sym_identifier, + STATE(5431), 1, + sym_attribute, + [186791] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8631), 1, + anon_sym_LPAREN2, + STATE(5874), 1, + sym_condition_clause, + [186801] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2641), 1, + sym_field_declaration_list, + [186811] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2197), 1, + sym_field_declaration_list, + [186821] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8675), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [186829] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2681), 1, + sym_field_declaration_list, + [186839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2696), 1, + sym_field_declaration_list, + [186849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2653), 1, + sym_field_declaration_list, + [186859] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5342), 1, + sym_compound_statement, + [186869] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2193), 1, + sym_field_declaration_list, + [186879] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2616), 1, + sym_field_declaration_list, + [186889] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2192), 1, + sym_field_declaration_list, + [186899] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2602), 1, + sym_field_declaration_list, + [186909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2071), 1, + sym_field_declaration_list, + [186919] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6252), 1, + anon_sym_LT, + STATE(2150), 1, + sym_template_argument_list, + [186929] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8677), 1, + sym_identifier, + STATE(2562), 1, + sym_template_type, + [186939] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5795), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [186947] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8679), 1, + anon_sym_LF, + ACTIONS(8681), 1, + sym_preproc_arg, + [186957] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [186965] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2948), 1, + sym_field_declaration_list, + [186975] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2943), 1, + sym_field_declaration_list, + [186985] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7821), 1, + anon_sym_LBRACE, + STATE(1534), 1, + sym_requirement_seq, + [186995] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [187003] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2941), 1, + sym_field_declaration_list, + [187013] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(6188), 1, + sym_argument_list, + [187023] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2940), 1, + sym_field_declaration_list, + [187033] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2939), 1, + sym_field_declaration_list, + [187043] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [187051] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [187059] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2145), 1, + sym_field_declaration_list, + [187069] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5589), 1, + anon_sym_RPAREN, + ACTIONS(5591), 1, + anon_sym_SEMI, + [187079] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2938), 1, + sym_field_declaration_list, + [187089] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2898), 1, + sym_field_declaration_list, + [187099] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2148), 1, + sym_field_declaration_list, + [187109] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [187117] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2151), 1, + sym_field_declaration_list, + [187127] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1935), 2, + anon_sym_else, + anon_sym_while, + [187135] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2152), 1, + sym_field_declaration_list, + [187145] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8683), 2, + anon_sym_LF, + sym_preproc_arg, + [187153] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8685), 1, + sym_identifier, + STATE(2132), 1, + sym_template_method, + [187163] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2894), 1, + sym_field_declaration_list, + [187173] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2890), 1, + sym_field_declaration_list, + [187183] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1308), 1, + anon_sym_LBRACE, + STATE(940), 1, + sym_compound_statement, + [187193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2167), 1, + sym_field_declaration_list, + [187203] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8687), 1, + anon_sym_default, + ACTIONS(8689), 1, + anon_sym_delete, + [187213] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1931), 2, + anon_sym_else, + anon_sym_while, + [187221] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(375), 1, + sym_condition_clause, + [187231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2169), 1, + sym_field_declaration_list, + [187241] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2699), 1, + sym_field_declaration_list, + [187251] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8669), 1, + anon_sym_LT, + STATE(1496), 1, + sym_template_argument_list, + [187261] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2706), 1, + sym_field_declaration_list, + [187271] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3970), 1, + anon_sym_LBRACE, + STATE(2639), 1, + sym_field_declaration_list, + [187281] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2889), 1, + sym_field_declaration_list, + [187291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2888), 1, + sym_field_declaration_list, + [187301] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1927), 2, + anon_sym_else, + anon_sym_while, + [187309] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2053), 2, + anon_sym_else, + anon_sym_while, + [187317] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2097), 2, + anon_sym_else, + anon_sym_while, + [187325] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2101), 2, + anon_sym_else, + anon_sym_while, + [187333] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2180), 1, + sym_field_declaration_list, + [187343] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2172), 1, + sym_field_declaration_list, + [187353] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8691), 1, + sym_identifier, + STATE(1872), 1, + sym_template_type, + [187363] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3797), 1, + anon_sym_LBRACE, + STATE(2171), 1, + sym_field_declaration_list, + [187373] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6371), 1, + anon_sym_LBRACE, + STATE(3063), 1, + sym_requirement_seq, + [187383] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2105), 2, + anon_sym_else, + anon_sym_while, + [187391] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2113), 2, + anon_sym_else, + anon_sym_while, + [187399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8693), 1, + anon_sym_default, + ACTIONS(8695), 1, + anon_sym_delete, + [187409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2882), 1, + sym_field_declaration_list, + [187419] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2927), 1, + sym_field_declaration_list, + [187429] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2902), 1, + sym_field_declaration_list, + [187439] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2057), 2, + anon_sym_else, + anon_sym_while, + [187447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7738), 1, + sym_identifier, + STATE(5773), 1, + sym_enumerator, + [187457] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8697), 1, + sym_identifier, + STATE(2132), 1, + sym_template_method, + [187467] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1951), 2, + anon_sym_else, + anon_sym_while, + [187475] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(379), 1, + sym_condition_clause, + [187485] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2093), 2, + anon_sym_else, + anon_sym_while, + [187493] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1939), 2, + anon_sym_else, + anon_sym_while, + [187501] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8699), 1, + anon_sym_LPAREN2, + STATE(6402), 1, + sym_parenthesized_expression, + [187511] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1943), 2, + anon_sym_else, + anon_sym_while, + [187519] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8701), 1, + anon_sym_LF, + ACTIONS(8703), 1, + sym_preproc_arg, + [187529] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(271), 1, + sym_condition_clause, + [187539] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5615), 2, + anon_sym_RPAREN, + anon_sym_SEMI, + [187547] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8412), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [187555] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2163), 1, + sym_field_declaration_list, + [187565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2899), 1, + sym_field_declaration_list, + [187575] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8705), 1, + anon_sym_LF, + ACTIONS(8707), 1, + sym_preproc_arg, + [187585] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2168), 1, + sym_field_declaration_list, + [187595] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + STATE(5604), 1, + sym_parameter_list, + [187605] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2183), 1, + sym_field_declaration_list, + [187615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2599), 1, + anon_sym_LBRACE, + STATE(3544), 1, + sym_initializer_list, + [187625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2184), 1, + sym_field_declaration_list, + [187635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8709), 1, + sym_identifier, + STATE(1864), 1, + sym_template_type, + [187645] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8711), 1, + anon_sym_default, + ACTIONS(8713), 1, + anon_sym_delete, + [187655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2258), 1, + sym_field_declaration_list, + [187665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2257), 1, + sym_field_declaration_list, + [187675] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1921), 1, + anon_sym_while, + ACTIONS(8715), 1, + anon_sym_else, + [187685] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2251), 1, + sym_field_declaration_list, + [187695] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8717), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [187703] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8719), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [187711] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8069), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [187719] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8721), 1, + anon_sym_LF, + ACTIONS(8723), 1, + sym_preproc_arg, + [187729] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2962), 1, + sym_field_declaration_list, + [187739] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2227), 1, + sym_field_declaration_list, + [187749] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2963), 1, + sym_field_declaration_list, + [187759] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6206), 1, + anon_sym_LT, + STATE(1938), 1, + sym_template_argument_list, + [187769] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2966), 1, + sym_field_declaration_list, + [187779] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + STATE(5650), 1, + sym_parameter_list, + [187789] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8725), 1, + anon_sym_LF, + ACTIONS(8727), 1, + sym_preproc_arg, + [187799] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2038), 1, + sym_field_declaration_list, + [187809] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2125), 2, + anon_sym_else, + anon_sym_while, + [187817] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8527), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [187825] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8699), 1, + anon_sym_LPAREN2, + STATE(6352), 1, + sym_parenthesized_expression, + [187835] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2226), 1, + sym_field_declaration_list, + [187845] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3093), 1, + sym_field_declaration_list, + [187855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3097), 1, + sym_field_declaration_list, + [187865] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3095), 1, + sym_field_declaration_list, + [187875] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2129), 2, + anon_sym_else, + anon_sym_while, + [187883] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2036), 1, + sym_field_declaration_list, + [187893] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2117), 2, + anon_sym_else, + anon_sym_while, + [187901] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2109), 2, + anon_sym_else, + anon_sym_while, + [187909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8729), 1, + anon_sym_default, + ACTIONS(8731), 1, + anon_sym_delete, + [187919] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8733), 1, + anon_sym_LT, + STATE(2331), 1, + sym_template_argument_list, + [187929] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2085), 2, + anon_sym_else, + anon_sym_while, + [187937] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + STATE(5900), 1, + sym_parameter_list, + [187947] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2034), 1, + sym_field_declaration_list, + [187957] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(212), 1, + sym_condition_clause, + [187967] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3106), 1, + sym_field_declaration_list, + [187977] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2073), 2, + anon_sym_else, + anon_sym_while, + [187985] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3107), 1, + sym_field_declaration_list, + [187995] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3108), 1, + sym_field_declaration_list, + [188005] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3109), 1, + sym_field_declaration_list, + [188015] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3110), 1, + sym_field_declaration_list, + [188025] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3111), 1, + sym_field_declaration_list, + [188035] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8735), 1, + sym_identifier, + ACTIONS(8737), 1, + anon_sym_inline, + [188045] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3112), 1, + sym_field_declaration_list, + [188055] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3114), 1, + sym_field_declaration_list, + [188065] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3116), 1, + sym_field_declaration_list, + [188075] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2069), 2, + anon_sym_else, + anon_sym_while, + [188083] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + STATE(429), 1, + sym_compound_statement, + [188093] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5201), 1, + sym_compound_statement, + [188103] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6361), 1, + anon_sym_LBRACE, + STATE(2559), 1, + sym_requirement_seq, + [188113] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2065), 2, + anon_sym_else, + anon_sym_while, + [188121] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + STATE(312), 1, + sym_compound_statement, + [188131] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8739), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [188139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8631), 1, + anon_sym_LPAREN2, + STATE(5734), 1, + sym_condition_clause, + [188149] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8741), 2, + anon_sym_COMMA, + anon_sym_GT2, + [188157] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1959), 1, + anon_sym_while, + ACTIONS(8743), 1, + anon_sym_else, + [188167] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3126), 1, + sym_field_declaration_list, + [188177] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3129), 1, + sym_field_declaration_list, + [188187] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2061), 2, + anon_sym_else, + anon_sym_while, + [188195] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3131), 1, + sym_field_declaration_list, + [188205] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3132), 1, + sym_field_declaration_list, + [188215] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8745), 1, + sym_identifier, + STATE(1956), 1, + sym_template_type, + [188225] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3136), 1, + sym_field_declaration_list, + [188235] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3137), 1, + sym_field_declaration_list, + [188245] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3138), 1, + sym_field_declaration_list, + [188255] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3143), 1, + sym_field_declaration_list, + [188265] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3147), 1, + sym_field_declaration_list, + [188275] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1971), 2, + anon_sym_else, + anon_sym_while, + [188283] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2089), 1, + sym_template_argument_list, + [188293] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8320), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [188301] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2121), 2, + anon_sym_else, + anon_sym_while, + [188309] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + STATE(5829), 1, + sym_parameter_list, + [188319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4756), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + [188329] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2025), 2, + anon_sym_else, + anon_sym_while, + [188337] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3178), 1, + sym_field_declaration_list, + [188347] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8747), 2, + anon_sym_COMMA, + anon_sym_LBRACE, + [188355] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8749), 2, + anon_sym_LF, + sym_preproc_arg, + [188363] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8699), 1, + anon_sym_LPAREN2, + STATE(6128), 1, + sym_parenthesized_expression, + [188373] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8751), 2, + anon_sym_DOT_DOT_DOT, + sym_identifier, + [188381] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2029), 2, + anon_sym_else, + anon_sym_while, + [188389] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8753), 1, + anon_sym_default, + ACTIONS(8755), 1, + anon_sym_delete, + [188399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3173), 1, + sym_field_declaration_list, + [188409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3176), 1, + sym_field_declaration_list, + [188419] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2033), 2, + anon_sym_else, + anon_sym_while, + [188427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3181), 1, + sym_field_declaration_list, + [188437] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3186), 1, + sym_field_declaration_list, + [188447] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3187), 1, + sym_field_declaration_list, + [188457] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6333), 1, + anon_sym_LBRACE, + STATE(3313), 1, + sym_requirement_seq, + [188467] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8757), 1, + anon_sym_LF, + ACTIONS(8759), 1, + sym_preproc_arg, + [188477] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4540), 1, + anon_sym_LT, + STATE(2554), 1, + sym_template_argument_list, + [188487] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5425), 1, + sym_compound_statement, + [188497] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8761), 2, + anon_sym_LF, + sym_preproc_arg, + [188505] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 1, + anon_sym_LBRACE, + STATE(523), 1, + sym_compound_statement, + [188515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(226), 1, + sym_condition_clause, + [188525] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2253), 1, + sym_field_declaration_list, + [188535] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8763), 1, + anon_sym_LF, + ACTIONS(8765), 1, + sym_preproc_arg, + [188545] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8767), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [188553] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8631), 1, + anon_sym_LPAREN2, + STATE(5904), 1, + sym_condition_clause, + [188563] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2250), 1, + sym_field_declaration_list, + [188573] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8619), 1, + sym_identifier, + STATE(5439), 1, + sym_attribute, + [188583] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2072), 1, + sym_field_declaration_list, + [188593] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8649), 1, + anon_sym_LT, + STATE(1871), 1, + sym_template_argument_list, + [188603] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6351), 1, + anon_sym_LBRACE, + STATE(2829), 1, + sym_requirement_seq, + [188613] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2025), 1, + sym_field_declaration_list, + [188623] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2024), 1, + sym_field_declaration_list, + [188633] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2022), 1, + sym_field_declaration_list, + [188643] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2021), 1, + sym_field_declaration_list, + [188653] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2019), 1, + sym_field_declaration_list, + [188663] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2018), 1, + sym_field_declaration_list, + [188673] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8649), 1, + anon_sym_LT, + STATE(2331), 1, + sym_template_argument_list, + [188683] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + STATE(5927), 1, + sym_parameter_list, + [188693] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8669), 1, + anon_sym_LT, + STATE(2089), 1, + sym_template_argument_list, + [188703] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8769), 2, + anon_sym_LPAREN2, + anon_sym_LBRACE, + [188711] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8771), 1, + sym_identifier, + STATE(1939), 1, + sym_template_type, + [188721] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8699), 1, + anon_sym_LPAREN2, + STATE(6037), 1, + sym_parenthesized_expression, + [188731] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2009), 1, + sym_field_declaration_list, + [188741] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2008), 1, + sym_field_declaration_list, + [188751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2006), 1, + sym_field_declaration_list, + [188761] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + STATE(411), 1, + sym_compound_statement, + [188771] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2005), 1, + sym_field_declaration_list, + [188781] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8619), 1, + sym_identifier, + STATE(5438), 1, + sym_attribute, + [188791] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8631), 1, + anon_sym_LPAREN2, + STATE(5486), 1, + sym_condition_clause, + [188801] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_LBRACE, + STATE(694), 1, + sym_compound_statement, + [188811] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8773), 1, + anon_sym_default, + ACTIONS(8775), 1, + anon_sym_delete, + [188821] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8777), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [188829] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2004), 1, + sym_field_declaration_list, + [188839] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(329), 1, + sym_condition_clause, + [188849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2002), 1, + sym_field_declaration_list, + [188859] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5314), 1, + sym_compound_statement, + [188869] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3158), 1, + sym_field_declaration_list, + [188879] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3166), 1, + sym_field_declaration_list, + [188889] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2001), 1, + sym_field_declaration_list, + [188899] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5121), 1, + anon_sym_LBRACE, + STATE(3172), 1, + sym_field_declaration_list, + [188909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(2000), 1, + sym_field_declaration_list, + [188919] = 3, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8779), 1, + anon_sym_LF, + ACTIONS(8781), 1, + sym_preproc_arg, + [188929] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1998), 1, + sym_field_declaration_list, + [188939] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8769), 2, + anon_sym_LPAREN2, + anon_sym_LBRACE, + [188947] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8769), 2, + anon_sym_LPAREN2, + anon_sym_LBRACE, + [188955] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1977), 1, + anon_sym_LBRACE, + STATE(5338), 1, + sym_compound_statement, + [188965] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5115), 1, + anon_sym_LPAREN2, + STATE(6446), 1, + sym_argument_list, + [188975] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8783), 2, + aux_sym_char_literal_token1, + sym_escape_sequence, + [188983] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8699), 1, + anon_sym_LPAREN2, + STATE(6154), 1, + sym_parenthesized_expression, + [188993] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8631), 1, + anon_sym_LPAREN2, + STATE(5833), 1, + sym_condition_clause, + [189003] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8619), 1, + sym_identifier, + STATE(5254), 1, + sym_attribute, + [189013] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8785), 2, + anon_sym_COMMA, + anon_sym_RBRACK_RBRACK, + [189021] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(251), 1, + anon_sym_LBRACE, + STATE(181), 1, + sym_compound_statement, + [189031] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2073), 1, + sym_field_declaration_list, + [189041] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5591), 1, + anon_sym_SEMI, + ACTIONS(5611), 1, + anon_sym_RPAREN, + [189051] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8619), 1, + sym_identifier, + STATE(5581), 1, + sym_attribute, + [189061] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3894), 1, + anon_sym_LPAREN2, + STATE(2580), 1, + sym_argument_list, + [189071] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8787), 1, + anon_sym_default, + ACTIONS(8789), 1, + anon_sym_delete, + [189081] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8791), 2, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + [189089] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1995), 1, + sym_field_declaration_list, + [189099] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2947), 1, + sym_field_declaration_list, + [189109] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1994), 1, + sym_field_declaration_list, + [189119] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1993), 1, + sym_field_declaration_list, + [189129] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2944), 1, + sym_field_declaration_list, + [189139] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1992), 1, + sym_field_declaration_list, + [189149] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2936), 1, + sym_field_declaration_list, + [189159] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8793), 1, + sym_identifier, + STATE(2146), 1, + sym_template_type, + [189169] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(323), 1, + sym_condition_clause, + [189179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2933), 1, + sym_field_declaration_list, + [189189] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2076), 1, + sym_field_declaration_list, + [189199] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2973), 1, + sym_field_declaration_list, + [189209] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2459), 1, + anon_sym_LBRACE, + STATE(2855), 1, + sym_initializer_list, + [189219] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1991), 1, + sym_field_declaration_list, + [189229] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1990), 1, + sym_field_declaration_list, + [189239] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1989), 1, + sym_field_declaration_list, + [189249] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1988), 1, + sym_field_declaration_list, + [189259] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4693), 1, + anon_sym_LBRACE, + STATE(2884), 1, + sym_field_declaration_list, + [189269] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1987), 1, + sym_field_declaration_list, + [189279] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1984), 1, + sym_field_declaration_list, + [189289] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6994), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [189297] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1983), 1, + sym_field_declaration_list, + [189307] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3840), 1, + anon_sym_LBRACE, + STATE(2115), 1, + sym_field_declaration_list, + [189317] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3729), 1, + anon_sym_LBRACE, + STATE(1986), 1, + sym_field_declaration_list, + [189327] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8699), 1, + anon_sym_LPAREN2, + STATE(6306), 1, + sym_parenthesized_expression, + [189337] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5619), 2, + anon_sym_COMMA, + anon_sym_SEMI, + [189345] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1947), 2, + anon_sym_else, + anon_sym_while, + [189353] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8795), 1, + sym_identifier, + ACTIONS(8797), 1, + anon_sym_LPAREN2, + [189363] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(6740), 1, + anon_sym_LPAREN2, + STATE(5653), 1, + sym_parameter_list, + [189373] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8799), 1, + sym_identifier, + STATE(1956), 1, + sym_template_type, + [189383] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2039), 1, + anon_sym_LBRACE, + STATE(2576), 1, + sym_initializer_list, + [189393] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8103), 1, + anon_sym_LPAREN2, + STATE(300), 1, + sym_condition_clause, + [189403] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8801), 1, + anon_sym_RPAREN, + [189410] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8803), 1, + anon_sym_RPAREN, + [189417] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8805), 1, + anon_sym_SEMI, + [189424] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8807), 1, + anon_sym_SEMI, + [189431] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8809), 1, + anon_sym_COLON, + [189438] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8811), 1, + sym_identifier, + [189445] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8813), 1, + anon_sym_LF, + [189452] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8815), 1, + anon_sym_COLON, + [189459] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5688), 1, + anon_sym_RPAREN, + [189466] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8817), 1, + anon_sym_RPAREN, + [189473] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8591), 1, + anon_sym_LF, + [189480] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5684), 1, + anon_sym_RPAREN, + [189487] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5390), 1, + anon_sym_SEMI, + [189494] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8819), 1, + anon_sym_SEMI, + [189501] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8821), 1, + aux_sym_preproc_if_token2, + [189508] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8823), 1, + anon_sym_SEMI, + [189515] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5682), 1, + anon_sym_RPAREN, + [189522] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8825), 1, + aux_sym_preproc_if_token2, + [189529] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8827), 1, + anon_sym_SEMI, + [189536] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8829), 1, + anon_sym_SEMI, + [189543] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8831), 1, + anon_sym_SEMI, + [189550] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8833), 1, + anon_sym_DOT_DOT_DOT, + [189557] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5686), 1, + anon_sym_RPAREN, + [189564] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8836), 1, + anon_sym_RPAREN, + [189571] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8605), 1, + anon_sym_RBRACE, + [189578] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5680), 1, + anon_sym_RPAREN, + [189585] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7704), 1, + anon_sym_EQ, + [189592] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5678), 1, + anon_sym_RPAREN, + [189599] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5690), 1, + anon_sym_RPAREN, + [189606] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8838), 1, + sym_identifier, + [189613] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8840), 1, + aux_sym_preproc_if_token2, + [189620] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5668), 1, + anon_sym_RPAREN, + [189627] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5666), 1, + anon_sym_RPAREN, + [189634] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8842), 1, + sym_identifier, + [189641] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8844), 1, + anon_sym_SEMI, + [189648] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4421), 1, + anon_sym_RPAREN, + [189655] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7338), 1, + anon_sym_RPAREN, + [189662] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8846), 1, + anon_sym_RPAREN, + [189669] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8848), 1, + anon_sym_SEMI, + [189676] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5591), 1, + anon_sym_SEMI, + [189683] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8850), 1, + anon_sym_RPAREN, + [189690] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8852), 1, + anon_sym_RPAREN, + [189697] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8854), 1, + anon_sym_RPAREN, + [189704] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8856), 1, + anon_sym_RPAREN, + [189711] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8858), 1, + anon_sym_COLON, + [189718] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8860), 1, + anon_sym_LF, + [189725] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8862), 1, + anon_sym_RPAREN, + [189732] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8864), 1, + anon_sym_RPAREN, + [189739] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8866), 1, + anon_sym_RPAREN, + [189746] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8868), 1, + aux_sym_preproc_if_token2, + [189753] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3679), 1, + anon_sym_LBRACE, + [189760] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8870), 1, + aux_sym_preproc_if_token2, + [189767] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8872), 1, + anon_sym_LPAREN2, + [189774] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8874), 1, + anon_sym_RPAREN, + [189781] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8876), 1, + anon_sym_SEMI, + [189788] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8878), 1, + sym_identifier, + [189795] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8880), 1, + sym_identifier, + [189802] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8882), 1, + anon_sym_SEMI, + [189809] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8884), 1, + anon_sym_SEMI, + [189816] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5611), 1, + anon_sym_RPAREN, + [189823] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8886), 1, + sym_identifier, + [189830] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8888), 1, + sym_identifier, + [189837] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8890), 1, + sym_identifier, + [189844] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8892), 1, + sym_identifier, + [189851] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8894), 1, + anon_sym_RPAREN, + [189858] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7917), 1, + anon_sym_SEMI, + [189865] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8896), 1, + anon_sym_RPAREN, + [189872] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8898), 1, + sym_identifier, + [189879] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3065), 1, + anon_sym_DOT_DOT_DOT, + [189886] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8900), 1, + anon_sym_STAR, + [189893] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8902), 1, + anon_sym_LBRACE, + [189900] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8904), 1, + anon_sym_SEMI, + [189907] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5712), 1, + anon_sym_SEMI, + [189914] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8906), 1, + anon_sym_STAR, + [189921] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5392), 1, + anon_sym_RBRACE, + [189928] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8908), 1, + sym_identifier, + [189935] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8910), 1, + anon_sym_SEMI, + [189942] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8912), 1, + anon_sym_STAR, + [189949] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8914), 1, + sym_identifier, + [189956] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8916), 1, + anon_sym_RPAREN, + [189963] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8918), 1, + anon_sym_LPAREN2, + [189970] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8920), 1, + sym_identifier, + [189977] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8922), 1, + anon_sym_SEMI, + [189984] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8924), 1, + anon_sym_SEMI, + [189991] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3707), 1, + anon_sym_LBRACE, + [189998] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8926), 1, + sym_identifier, + [190005] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8928), 1, + aux_sym_preproc_if_token2, + [190012] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8930), 1, + sym_identifier, + [190019] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5718), 1, + anon_sym_SEMI, + [190026] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8932), 1, + aux_sym_preproc_if_token2, + [190033] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8934), 1, + sym_identifier, + [190040] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8936), 1, + anon_sym_LF, + [190047] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8938), 1, + anon_sym_SEMI, + [190054] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8940), 1, + sym_auto, + [190061] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3197), 1, + anon_sym_SEMI, + [190068] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8942), 1, + anon_sym_SQUOTE, + [190075] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8944), 1, + anon_sym_SEMI, + [190082] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8946), 1, + anon_sym_DOT_DOT_DOT, + [190089] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8948), 1, + anon_sym_SEMI, + [190096] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7957), 1, + anon_sym_SEMI, + [190103] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8950), 1, + anon_sym_DOT_DOT_DOT, + [190110] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7687), 1, + anon_sym_EQ, + [190117] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8953), 1, + anon_sym_DOT_DOT_DOT, + [190124] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8956), 1, + anon_sym_DOT_DOT_DOT, + [190131] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8117), 1, + anon_sym_SEMI, + [190138] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8959), 1, + anon_sym_RPAREN, + [190145] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7246), 1, + anon_sym_RPAREN, + [190152] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8961), 1, + anon_sym_DOT_DOT_DOT, + [190159] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8964), 1, + anon_sym_DOT_DOT_DOT, + [190166] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8967), 1, + anon_sym_RPAREN, + [190173] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5460), 1, + anon_sym_RBRACE, + [190180] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7813), 1, + anon_sym_SEMI, + [190187] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4709), 1, + sym_identifier, + [190194] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5648), 1, + anon_sym_RPAREN, + [190201] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7691), 1, + anon_sym_SEMI, + [190208] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8969), 1, + aux_sym_preproc_if_token2, + [190215] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8971), 1, + sym_identifier, + [190222] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8395), 1, + anon_sym_RBRACE, + [190229] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7714), 1, + anon_sym_EQ, + [190236] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8973), 1, + anon_sym_DOT_DOT_DOT, + [190243] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8976), 1, + sym_identifier, + [190250] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8978), 1, + aux_sym_preproc_if_token2, + [190257] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8980), 1, + anon_sym_SEMI, + [190264] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8982), 1, + anon_sym_DOT_DOT_DOT, + [190271] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8985), 1, + sym_identifier, + [190278] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8987), 1, + anon_sym_RPAREN, + [190285] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8989), 1, + anon_sym_LF, + [190292] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8991), 1, + anon_sym_DOT_DOT_DOT, + [190299] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5797), 1, + anon_sym_SEMI, + [190306] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8994), 1, + anon_sym_SEMI, + [190313] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8996), 1, + anon_sym_LF, + [190320] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8998), 1, + anon_sym_DOT_DOT_DOT, + [190327] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9001), 1, + anon_sym_SQUOTE, + [190334] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8487), 1, + anon_sym_RBRACE, + [190341] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5791), 1, + anon_sym_RPAREN, + [190348] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9003), 1, + anon_sym_LPAREN2, + [190355] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9005), 1, + anon_sym_DOT_DOT_DOT, + [190362] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9008), 1, + anon_sym_DOT_DOT_DOT, + [190369] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7685), 1, + anon_sym_SEMI, + [190376] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4752), 1, + sym_identifier, + [190383] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5603), 1, + anon_sym_RBRACE, + [190390] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9011), 1, + anon_sym_DOT_DOT_DOT, + [190397] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9014), 1, + anon_sym_RPAREN, + [190404] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9016), 1, + anon_sym_RPAREN, + [190411] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7859), 1, + anon_sym_SEMI, + [190418] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9018), 1, + sym_identifier, + [190425] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9020), 1, + aux_sym_preproc_if_token2, + [190432] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4429), 1, + sym_identifier, + [190439] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9022), 1, + anon_sym_SEMI, + [190446] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9024), 1, + sym_auto, + [190453] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9026), 1, + aux_sym_preproc_if_token2, + [190460] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9028), 1, + anon_sym_SQUOTE, + [190467] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5694), 1, + anon_sym_RPAREN, + [190474] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9030), 1, + anon_sym_SEMI, + [190481] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9032), 1, + anon_sym_LF, + [190488] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7693), 1, + anon_sym_EQ, + [190495] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9034), 1, + aux_sym_preproc_if_token2, + [190502] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9036), 1, + anon_sym_SEMI, + [190509] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7718), 1, + anon_sym_SEMI, + [190516] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5656), 1, + anon_sym_SEMI, + [190523] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7244), 1, + anon_sym_RPAREN, + [190530] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9038), 1, + sym_identifier, + [190537] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9040), 1, + anon_sym_SEMI, + [190544] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9042), 1, + sym_identifier, + [190551] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9044), 1, + sym_identifier, + [190558] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9046), 1, + anon_sym_RPAREN, + [190565] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9048), 1, + anon_sym_SEMI, + [190572] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9050), 1, + anon_sym_SEMI, + [190579] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5696), 1, + anon_sym_RPAREN, + [190586] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9052), 1, + aux_sym_preproc_if_token2, + [190593] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7360), 1, + anon_sym_RPAREN, + [190600] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9054), 1, + anon_sym_RPAREN, + [190607] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7929), 1, + anon_sym_SEMI, + [190614] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9056), 1, + anon_sym_LBRACE, + [190621] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9058), 1, + anon_sym_LPAREN2, + [190628] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5742), 1, + anon_sym_RPAREN, + [190635] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5708), 1, + anon_sym_RPAREN, + [190642] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5744), 1, + anon_sym_RPAREN, + [190649] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9060), 1, + anon_sym_SEMI, + [190656] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9062), 1, + aux_sym_preproc_if_token2, + [190663] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7720), 1, + anon_sym_EQ, + [190670] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9064), 1, + anon_sym_STAR, + [190677] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9066), 1, + anon_sym_RPAREN, + [190684] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5664), 1, + anon_sym_RPAREN, + [190691] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9068), 1, + anon_sym_LF, + [190698] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5662), 1, + anon_sym_RPAREN, + [190705] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5775), 1, + anon_sym_RPAREN, + [190712] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9070), 1, + sym_identifier, + [190719] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9072), 1, + anon_sym_SEMI, + [190726] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9074), 1, + aux_sym_preproc_if_token2, + [190733] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5777), 1, + anon_sym_RPAREN, + [190740] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7683), 1, + anon_sym_EQ, + [190747] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9076), 1, + anon_sym_RPAREN, + [190754] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9078), 1, + anon_sym_LF, + [190761] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9080), 1, + sym_identifier, + [190768] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5781), 1, + anon_sym_RPAREN, + [190775] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7296), 1, + anon_sym_RPAREN, + [190782] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9082), 1, + sym_identifier, + [190789] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9084), 1, + anon_sym_SEMI, + [190796] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9086), 1, + anon_sym_RPAREN, + [190803] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9088), 1, + anon_sym_RPAREN, + [190810] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9090), 1, + anon_sym_RPAREN, + [190817] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9092), 1, + anon_sym_RPAREN, + [190824] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5785), 1, + anon_sym_RPAREN, + [190831] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5787), 1, + anon_sym_RPAREN, + [190838] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9094), 1, + anon_sym_LPAREN2, + [190845] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9096), 1, + anon_sym_LPAREN2, + [190852] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9098), 1, + anon_sym_SEMI, + [190859] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9100), 1, + anon_sym_LF, + [190866] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8041), 1, + anon_sym_LF, + [190873] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9102), 1, + anon_sym_SEMI, + [190880] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5769), 1, + anon_sym_SEMI, + [190887] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9104), 1, + anon_sym_LPAREN2, + [190894] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9106), 1, + anon_sym_SEMI, + [190901] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7708), 1, + anon_sym_EQ, + [190908] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9108), 1, + anon_sym_SEMI, + [190915] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9110), 1, + sym_auto, + [190922] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7346), 1, + anon_sym_RPAREN, + [190929] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9112), 1, + anon_sym_COLON, + [190936] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9114), 1, + aux_sym_preproc_if_token2, + [190943] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9116), 1, + anon_sym_LPAREN2, + [190950] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9118), 1, + sym_identifier, + [190957] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9120), 1, + anon_sym_RPAREN, + [190964] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9122), 1, + anon_sym_SEMI, + [190971] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9124), 1, + anon_sym_SEMI, + [190978] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9126), 1, + anon_sym_SEMI, + [190985] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5983), 1, + anon_sym_RBRACK, + [190992] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9128), 1, + anon_sym_LPAREN2, + [190999] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9130), 1, + anon_sym_SEMI, + [191006] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9132), 1, + anon_sym_LPAREN2, + [191013] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9134), 1, + anon_sym_SEMI, + [191020] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9136), 1, + anon_sym_SEMI, + [191027] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9138), 1, + anon_sym_SEMI, + [191034] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9140), 1, + anon_sym_RPAREN, + [191041] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9142), 1, + aux_sym_preproc_if_token2, + [191048] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9144), 1, + aux_sym_preproc_if_token2, + [191055] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9146), 1, + anon_sym_LPAREN2, + [191062] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5734), 1, + anon_sym_RPAREN, + [191069] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9148), 1, + anon_sym_SEMI, + [191076] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9150), 1, + anon_sym_SEMI, + [191083] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9152), 1, + anon_sym_SEMI, + [191090] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9154), 1, + aux_sym_preproc_if_token2, + [191097] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9156), 1, + anon_sym_SEMI, + [191104] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9158), 1, + anon_sym_RPAREN, + [191111] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9160), 1, + anon_sym_LPAREN2, + [191118] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5692), 1, + anon_sym_RPAREN, + [191125] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9162), 1, + anon_sym_RPAREN, + [191132] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9164), 1, + sym_identifier, + [191139] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5821), 1, + anon_sym_RPAREN, + [191146] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9166), 1, + anon_sym_while, + [191153] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8338), 1, + anon_sym_RBRACE, + [191160] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9168), 1, + anon_sym_LPAREN2, + [191167] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5799), 1, + anon_sym_RPAREN, + [191174] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5793), 1, + anon_sym_SEMI, + [191181] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9170), 1, + sym_identifier, + [191188] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7712), 1, + anon_sym_SEMI, + [191195] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9172), 1, + anon_sym_EQ, + [191202] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9174), 1, + anon_sym_SEMI, + [191209] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9176), 1, + anon_sym_LF, + [191216] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9178), 1, + anon_sym_COLON, + [191223] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9180), 1, + anon_sym_SEMI, + [191230] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9182), 1, + anon_sym_RPAREN, + [191237] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9184), 1, + anon_sym_SEMI, + [191244] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9186), 1, + anon_sym_SEMI, + [191251] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9188), 1, + anon_sym_RPAREN, + [191258] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9190), 1, + sym_identifier, + [191265] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9192), 1, + anon_sym_EQ, + [191272] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5736), 1, + anon_sym_SEMI, + [191279] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9194), 1, + anon_sym_RPAREN, + [191286] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9196), 1, + sym_identifier, + [191293] = 2, + ACTIONS(3832), 1, + anon_sym_LF, + ACTIONS(6445), 1, + sym_comment, + [191300] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9198), 1, + sym_identifier, + [191307] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9200), 1, + anon_sym_LPAREN2, + [191314] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5706), 1, + anon_sym_SEMI, + [191321] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4935), 1, + sym_identifier, + [191328] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9202), 1, + aux_sym_preproc_if_token2, + [191335] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9204), 1, + anon_sym_SQUOTE, + [191342] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_SLASH_EQ, + [191349] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9208), 1, + aux_sym_preproc_if_token2, + [191356] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9210), 1, + anon_sym_SEMI, + [191363] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9212), 1, + sym_identifier, + [191370] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9214), 1, + aux_sym_preproc_if_token2, + [191377] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5589), 1, + anon_sym_RPAREN, + [191384] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5761), 1, + anon_sym_RPAREN, + [191391] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7681), 1, + anon_sym_SEMI, + [191398] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5595), 1, + anon_sym_RBRACE, + [191405] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9216), 1, + aux_sym_preproc_if_token2, + [191412] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9218), 1, + anon_sym_RPAREN, + [191419] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5732), 1, + anon_sym_RPAREN, + [191426] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9220), 1, + anon_sym_LF, + [191433] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9222), 1, + anon_sym_RPAREN, + [191440] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8045), 1, + anon_sym_RBRACE, + [191447] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9224), 1, + anon_sym_STAR, + [191454] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8027), 1, + anon_sym_SEMI, + [191461] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7155), 1, + sym_identifier, + [191468] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9226), 1, + sym_identifier, + [191475] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9228), 1, + aux_sym_preproc_if_token2, + [191482] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5464), 1, + anon_sym_RBRACE, + [191489] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9230), 1, + anon_sym_RPAREN, + [191496] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9232), 1, + sym_identifier, + [191503] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9234), 1, + sym_identifier, + [191510] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9236), 1, + anon_sym_SEMI, + [191517] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9238), 1, + anon_sym_SQUOTE, + [191524] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9240), 1, + anon_sym_LPAREN2, + [191531] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9242), 1, + anon_sym_SEMI, + [191538] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5652), 1, + anon_sym_SEMI, + [191545] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9244), 1, + anon_sym_while, + [191552] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9246), 1, + anon_sym_SEMI, + [191559] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8001), 1, + anon_sym_SEMI, + [191566] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9248), 1, + anon_sym_SEMI, + [191573] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3208), 1, + anon_sym_SEMI, + [191580] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9250), 1, + anon_sym_SEMI, + [191587] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9252), 1, + anon_sym_SEMI, + [191594] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9254), 1, + sym_auto, + [191601] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9256), 1, + anon_sym_LF, + [191608] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_COMMA, + [191615] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_DASH, + [191622] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9258), 1, + aux_sym_preproc_if_token2, + [191629] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_PLUS, + [191636] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5650), 1, + anon_sym_RPAREN, + [191643] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_STAR, + [191650] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9260), 1, + anon_sym_SLASH, + [191657] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_PERCENT, + [191664] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9262), 1, + aux_sym_preproc_if_token2, + [191671] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9264), 1, + anon_sym_SEMI, + [191678] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9266), 1, + anon_sym_STAR, + [191685] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_PIPE_PIPE, + [191692] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5714), 1, + anon_sym_RPAREN, + [191699] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9268), 1, + anon_sym_SEMI, + [191706] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9270), 1, + anon_sym_SEMI, + [191713] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9272), 1, + aux_sym_preproc_if_token2, + [191720] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_AMP_AMP, + [191727] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9274), 1, + anon_sym_SEMI, + [191734] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9276), 1, + anon_sym_STAR, + [191741] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9278), 1, + sym_identifier, + [191748] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9280), 1, + anon_sym_SEMI, + [191755] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7843), 1, + anon_sym_SEMI, + [191762] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9282), 1, + anon_sym_RPAREN, + [191769] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_PIPE, + [191776] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_CARET, + [191783] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9284), 1, + anon_sym_SEMI, + [191790] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9286), 1, + anon_sym_SEMI, + [191797] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_AMP, + [191804] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_EQ_EQ, + [191811] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_BANG_EQ, + [191818] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5801), 1, + anon_sym_RPAREN, + [191825] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_GT, + [191832] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9288), 1, + anon_sym_RPAREN, + [191839] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9290), 1, + anon_sym_SEMI, + [191846] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9292), 1, + sym_identifier, + [191853] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9294), 1, + sym_identifier, + [191860] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9296), 1, + anon_sym_RPAREN, + [191867] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9298), 1, + anon_sym_SEMI, + [191874] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9300), 1, + sym_auto, + [191881] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5961), 1, + anon_sym_RBRACK, + [191888] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5779), 1, + anon_sym_RPAREN, + [191895] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_GT_EQ, + [191902] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9302), 1, + anon_sym_LPAREN2, + [191909] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5819), 1, + anon_sym_RPAREN, + [191916] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9304), 1, + anon_sym_LPAREN2, + [191923] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_LT_EQ, + [191930] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_LT, + [191937] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9306), 1, + anon_sym_LPAREN2, + [191944] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5817), 1, + anon_sym_RPAREN, + [191951] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9308), 1, + anon_sym_RPAREN, + [191958] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9310), 1, + anon_sym_RPAREN, + [191965] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9312), 1, + anon_sym_RPAREN, + [191972] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9314), 1, + anon_sym_RPAREN, + [191979] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9316), 1, + anon_sym_RPAREN, + [191986] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4393), 1, + anon_sym_RPAREN, + [191993] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_LT_LT, + [192000] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9318), 1, + anon_sym_while, + [192007] = 2, + ACTIONS(3789), 1, + anon_sym_LF, + ACTIONS(6445), 1, + sym_comment, + [192014] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9320), 1, + anon_sym_LPAREN2, + [192021] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9322), 1, + anon_sym_RPAREN, + [192028] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5811), 1, + anon_sym_RPAREN, + [192035] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9324), 1, + anon_sym_SEMI, + [192042] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9326), 1, + anon_sym_LF, + [192049] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9328), 1, + anon_sym_EQ, + [192056] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5807), 1, + anon_sym_RPAREN, + [192063] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9330), 1, + anon_sym_LF, + [192070] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9332), 1, + anon_sym_SEMI, + [192077] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5710), 1, + anon_sym_SEMI, + [192084] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9334), 1, + anon_sym_RPAREN, + [192091] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9336), 1, + sym_identifier, + [192098] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9338), 1, + anon_sym_SEMI, + [192105] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9340), 1, + anon_sym_SEMI, + [192112] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_EQ, + [192119] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_STAR_EQ, + [192126] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9342), 1, + anon_sym_RPAREN, + [192133] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5805), 1, + anon_sym_SEMI, + [192140] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9344), 1, + anon_sym_RPAREN, + [192147] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9346), 1, + anon_sym_LF, + [192154] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9348), 1, + anon_sym_RPAREN, + [192161] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9350), 1, + anon_sym_LF, + [192168] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9352), 1, + anon_sym_SEMI, + [192175] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_PERCENT_EQ, + [192182] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9354), 1, + anon_sym_RPAREN, + [192189] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9356), 1, + anon_sym_RPAREN, + [192196] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9358), 1, + anon_sym_SEMI, + [192203] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9360), 1, + aux_sym_preproc_if_token2, + [192210] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9362), 1, + anon_sym_SEMI, + [192217] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9364), 1, + anon_sym_LPAREN2, + [192224] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9366), 1, + anon_sym_SEMI, + [192231] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9368), 1, + anon_sym_SEMI, + [192238] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9370), 1, + anon_sym_while, + [192245] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8228), 1, + anon_sym_LF, + [192252] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9372), 1, + anon_sym_LPAREN2, + [192259] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9374), 1, + aux_sym_preproc_if_token2, + [192266] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9376), 1, + anon_sym_EQ, + [192273] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3856), 1, + anon_sym_COLON_COLON, + [192280] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5716), 1, + anon_sym_SEMI, + [192287] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9378), 1, + sym_identifier, + [192294] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9380), 1, + anon_sym_LF, + [192301] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_PLUS_EQ, + [192308] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9382), 1, + anon_sym_COLON, + [192315] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9384), 1, + anon_sym_SQUOTE, + [192322] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_DASH_EQ, + [192329] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5726), 1, + anon_sym_SEMI, + [192336] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7706), 1, + anon_sym_SEMI, + [192343] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9386), 1, + anon_sym_SEMI, + [192350] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5995), 1, + anon_sym_RBRACK, + [192357] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9388), 1, + anon_sym_SEMI, + [192364] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9390), 1, + sym_auto, + [192371] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9392), 1, + anon_sym_SEMI, + [192378] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9394), 1, + anon_sym_RPAREN, + [192385] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_LT_LT_EQ, + [192392] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9396), 1, + aux_sym_preproc_if_token2, + [192399] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9398), 1, + anon_sym_LPAREN2, + [192406] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9400), 1, + anon_sym_STAR, + [192413] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9402), 1, + aux_sym_preproc_if_token2, + [192420] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9404), 1, + anon_sym_while, + [192427] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9406), 1, + ts_builtin_sym_end, + [192434] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9408), 1, + anon_sym_LPAREN2, + [192441] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7967), 1, + anon_sym_SEMI, + [192448] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9410), 1, + anon_sym_EQ, + [192455] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9412), 1, + anon_sym_SEMI, + [192462] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5767), 1, + anon_sym_SEMI, + [192469] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9414), 1, + sym_identifier, + [192476] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5740), 1, + anon_sym_RPAREN, + [192483] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9416), 1, + anon_sym_RPAREN, + [192490] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9418), 1, + sym_identifier, + [192497] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9420), 1, + anon_sym_LPAREN2, + [192504] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9422), 1, + anon_sym_LPAREN2, + [192511] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9424), 1, + anon_sym_LF, + [192518] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9426), 1, + anon_sym_while, + [192525] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9428), 1, + anon_sym_RPAREN, + [192532] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_GT_GT_EQ, + [192539] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9430), 1, + anon_sym_EQ, + [192546] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9432), 1, + anon_sym_LPAREN2, + [192553] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5783), 1, + anon_sym_SEMI, + [192560] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9434), 1, + sym_identifier, + [192567] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5607), 1, + anon_sym_RBRACE, + [192574] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8424), 1, + anon_sym_RBRACE, + [192581] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7919), 1, + anon_sym_SEMI, + [192588] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9436), 1, + anon_sym_LPAREN2, + [192595] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9438), 1, + anon_sym_RPAREN, + [192602] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9440), 1, + sym_identifier, + [192609] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9442), 1, + anon_sym_SEMI, + [192616] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9444), 1, + anon_sym_EQ, + [192623] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9446), 1, + sym_identifier, + [192630] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7849), 1, + anon_sym_SEMI, + [192637] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9448), 1, + anon_sym_SEMI, + [192644] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9450), 1, + anon_sym_LPAREN2, + [192651] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9452), 1, + anon_sym_LPAREN2, + [192658] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9454), 1, + anon_sym_SEMI, + [192665] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9456), 1, + anon_sym_LPAREN2, + [192672] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9458), 1, + anon_sym_LPAREN2, + [192679] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9460), 1, + sym_identifier, + [192686] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3210), 1, + anon_sym_SEMI, + [192693] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9462), 1, + sym_auto, + [192700] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9464), 1, + anon_sym_LF, + [192707] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9466), 1, + anon_sym_COLON, + [192714] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5738), 1, + anon_sym_SEMI, + [192721] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9468), 1, + sym_auto, + [192728] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_AMP_EQ, + [192735] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9470), 1, + anon_sym_COLON, + [192742] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8092), 1, + anon_sym_RBRACE, + [192749] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9472), 1, + anon_sym_RPAREN, + [192756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_CARET_EQ, + [192763] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9474), 1, + anon_sym_RPAREN, + [192770] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7340), 1, + anon_sym_RPAREN, + [192777] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_PIPE_EQ, + [192784] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9476), 1, + anon_sym_RPAREN, + [192791] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9478), 1, + aux_sym_preproc_if_token2, + [192798] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9480), 1, + anon_sym_LBRACE, + [192805] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_DOT_STAR, + [192812] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9482), 1, + anon_sym_LF, + [192819] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(8193), 1, + anon_sym_LF, + [192826] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9484), 1, + anon_sym_LPAREN2, + [192833] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9486), 1, + anon_sym_LPAREN2, + [192840] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9488), 1, + sym_identifier, + [192847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9490), 1, + anon_sym_RPAREN, + [192854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9492), 1, + anon_sym_SEMI, + [192861] = 2, + ACTIONS(6445), 1, + sym_comment, + ACTIONS(9494), 1, + anon_sym_LF, + [192868] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7702), 1, + anon_sym_SEMI, + [192875] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9496), 1, + anon_sym_SEMI, + [192882] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4511), 1, + sym_identifier, + [192889] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(4397), 1, + anon_sym_RPAREN, + [192896] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9498), 1, + anon_sym_SQUOTE, + [192903] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_DASH_GT_STAR, + [192910] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9500), 1, + anon_sym_LPAREN2, + [192917] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9502), 1, + anon_sym_LPAREN2, + [192924] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9504), 1, + sym_identifier, + [192931] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9506), 1, + anon_sym_RPAREN, + [192938] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9508), 1, + anon_sym_SEMI, + [192945] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5789), 1, + anon_sym_SEMI, + [192952] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9510), 1, + anon_sym_RPAREN, + [192959] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(8549), 1, + anon_sym_RBRACE, + [192966] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9512), 1, + anon_sym_RPAREN, + [192973] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9514), 1, + anon_sym_LPAREN2, + [192980] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9516), 1, + anon_sym_LPAREN2, + [192987] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9518), 1, + anon_sym_LPAREN2, + [192994] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9520), 1, + sym_identifier, + [193001] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9522), 1, + anon_sym_SEMI, + [193008] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9206), 1, + anon_sym_GT_GT, + [193015] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9524), 1, + anon_sym_LPAREN2, + [193022] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9526), 1, + anon_sym_LPAREN2, + [193029] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9528), 1, + sym_identifier, + [193036] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9530), 1, + anon_sym_RPAREN, + [193043] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9532), 1, + anon_sym_LPAREN2, + [193050] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9534), 1, + sym_identifier, + [193057] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9536), 1, + anon_sym_RPAREN, + [193064] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9538), 1, + anon_sym_LPAREN2, + [193071] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9540), 1, + sym_identifier, + [193078] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9542), 1, + anon_sym_RPAREN, + [193085] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9544), 1, + anon_sym_SEMI, + [193092] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9546), 1, + anon_sym_STAR, + [193099] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9548), 1, + sym_identifier, + [193106] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9550), 1, + anon_sym_SEMI, + [193113] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(9552), 1, + sym_identifier, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(1505)] = 0, + [SMALL_STATE(1506)] = 125, + [SMALL_STATE(1507)] = 195, + [SMALL_STATE(1508)] = 265, + [SMALL_STATE(1509)] = 335, + [SMALL_STATE(1510)] = 405, + [SMALL_STATE(1511)] = 475, + [SMALL_STATE(1512)] = 545, + [SMALL_STATE(1513)] = 615, + [SMALL_STATE(1514)] = 685, + [SMALL_STATE(1515)] = 755, + [SMALL_STATE(1516)] = 882, + [SMALL_STATE(1517)] = 1009, + [SMALL_STATE(1518)] = 1133, + [SMALL_STATE(1519)] = 1257, + [SMALL_STATE(1520)] = 1378, + [SMALL_STATE(1521)] = 1446, + [SMALL_STATE(1522)] = 1511, + [SMALL_STATE(1523)] = 1624, + [SMALL_STATE(1524)] = 1737, + [SMALL_STATE(1525)] = 1802, + [SMALL_STATE(1526)] = 1867, + [SMALL_STATE(1527)] = 1932, + [SMALL_STATE(1528)] = 1997, + [SMALL_STATE(1529)] = 2062, + [SMALL_STATE(1530)] = 2127, + [SMALL_STATE(1531)] = 2192, + [SMALL_STATE(1532)] = 2257, + [SMALL_STATE(1533)] = 2322, + [SMALL_STATE(1534)] = 2387, + [SMALL_STATE(1535)] = 2452, + [SMALL_STATE(1536)] = 2517, + [SMALL_STATE(1537)] = 2582, + [SMALL_STATE(1538)] = 2647, + [SMALL_STATE(1539)] = 2712, + [SMALL_STATE(1540)] = 2777, + [SMALL_STATE(1541)] = 2890, + [SMALL_STATE(1542)] = 2955, + [SMALL_STATE(1543)] = 3020, + [SMALL_STATE(1544)] = 3085, + [SMALL_STATE(1545)] = 3198, + [SMALL_STATE(1546)] = 3311, + [SMALL_STATE(1547)] = 3376, + [SMALL_STATE(1548)] = 3489, + [SMALL_STATE(1549)] = 3602, + [SMALL_STATE(1550)] = 3715, + [SMALL_STATE(1551)] = 3780, + [SMALL_STATE(1552)] = 3893, + [SMALL_STATE(1553)] = 4006, + [SMALL_STATE(1554)] = 4119, + [SMALL_STATE(1555)] = 4183, + [SMALL_STATE(1556)] = 4247, + [SMALL_STATE(1557)] = 4311, + [SMALL_STATE(1558)] = 4377, + [SMALL_STATE(1559)] = 4441, + [SMALL_STATE(1560)] = 4557, + [SMALL_STATE(1561)] = 4673, + [SMALL_STATE(1562)] = 4789, + [SMALL_STATE(1563)] = 4853, + [SMALL_STATE(1564)] = 4917, + [SMALL_STATE(1565)] = 4983, + [SMALL_STATE(1566)] = 5047, + [SMALL_STATE(1567)] = 5125, + [SMALL_STATE(1568)] = 5189, + [SMALL_STATE(1569)] = 5305, + [SMALL_STATE(1570)] = 5421, + [SMALL_STATE(1571)] = 5507, + [SMALL_STATE(1572)] = 5623, + [SMALL_STATE(1573)] = 5695, + [SMALL_STATE(1574)] = 5759, + [SMALL_STATE(1575)] = 5823, + [SMALL_STATE(1576)] = 5887, + [SMALL_STATE(1577)] = 5951, + [SMALL_STATE(1578)] = 6015, + [SMALL_STATE(1579)] = 6079, + [SMALL_STATE(1580)] = 6143, + [SMALL_STATE(1581)] = 6207, + [SMALL_STATE(1582)] = 6271, + [SMALL_STATE(1583)] = 6335, + [SMALL_STATE(1584)] = 6399, + [SMALL_STATE(1585)] = 6463, + [SMALL_STATE(1586)] = 6527, + [SMALL_STATE(1587)] = 6591, + [SMALL_STATE(1588)] = 6655, + [SMALL_STATE(1589)] = 6719, + [SMALL_STATE(1590)] = 6783, + [SMALL_STATE(1591)] = 6847, + [SMALL_STATE(1592)] = 6911, + [SMALL_STATE(1593)] = 6975, + [SMALL_STATE(1594)] = 7039, + [SMALL_STATE(1595)] = 7103, + [SMALL_STATE(1596)] = 7167, + [SMALL_STATE(1597)] = 7231, + [SMALL_STATE(1598)] = 7295, + [SMALL_STATE(1599)] = 7359, + [SMALL_STATE(1600)] = 7423, + [SMALL_STATE(1601)] = 7487, + [SMALL_STATE(1602)] = 7551, + [SMALL_STATE(1603)] = 7623, + [SMALL_STATE(1604)] = 7687, + [SMALL_STATE(1605)] = 7751, + [SMALL_STATE(1606)] = 7819, + [SMALL_STATE(1607)] = 7883, + [SMALL_STATE(1608)] = 7947, + [SMALL_STATE(1609)] = 8011, + [SMALL_STATE(1610)] = 8075, + [SMALL_STATE(1611)] = 8191, + [SMALL_STATE(1612)] = 8255, + [SMALL_STATE(1613)] = 8319, + [SMALL_STATE(1614)] = 8383, + [SMALL_STATE(1615)] = 8447, + [SMALL_STATE(1616)] = 8511, + [SMALL_STATE(1617)] = 8575, + [SMALL_STATE(1618)] = 8639, + [SMALL_STATE(1619)] = 8711, + [SMALL_STATE(1620)] = 8775, + [SMALL_STATE(1621)] = 8839, + [SMALL_STATE(1622)] = 8903, + [SMALL_STATE(1623)] = 8967, + [SMALL_STATE(1624)] = 9031, + [SMALL_STATE(1625)] = 9095, + [SMALL_STATE(1626)] = 9159, + [SMALL_STATE(1627)] = 9223, + [SMALL_STATE(1628)] = 9295, + [SMALL_STATE(1629)] = 9359, + [SMALL_STATE(1630)] = 9423, + [SMALL_STATE(1631)] = 9487, + [SMALL_STATE(1632)] = 9551, + [SMALL_STATE(1633)] = 9615, + [SMALL_STATE(1634)] = 9679, + [SMALL_STATE(1635)] = 9743, + [SMALL_STATE(1636)] = 9807, + [SMALL_STATE(1637)] = 9871, + [SMALL_STATE(1638)] = 9935, + [SMALL_STATE(1639)] = 9999, + [SMALL_STATE(1640)] = 10063, + [SMALL_STATE(1641)] = 10127, + [SMALL_STATE(1642)] = 10191, + [SMALL_STATE(1643)] = 10255, + [SMALL_STATE(1644)] = 10319, + [SMALL_STATE(1645)] = 10383, + [SMALL_STATE(1646)] = 10496, + [SMALL_STATE(1647)] = 10609, + [SMALL_STATE(1648)] = 10688, + [SMALL_STATE(1649)] = 10751, + [SMALL_STATE(1650)] = 10828, + [SMALL_STATE(1651)] = 10891, + [SMALL_STATE(1652)] = 10954, + [SMALL_STATE(1653)] = 11017, + [SMALL_STATE(1654)] = 11080, + [SMALL_STATE(1655)] = 11143, + [SMALL_STATE(1656)] = 11256, + [SMALL_STATE(1657)] = 11319, + [SMALL_STATE(1658)] = 11432, + [SMALL_STATE(1659)] = 11494, + [SMALL_STATE(1660)] = 11556, + [SMALL_STATE(1661)] = 11618, + [SMALL_STATE(1662)] = 11680, + [SMALL_STATE(1663)] = 11742, + [SMALL_STATE(1664)] = 11804, + [SMALL_STATE(1665)] = 11866, + [SMALL_STATE(1666)] = 11928, + [SMALL_STATE(1667)] = 11990, + [SMALL_STATE(1668)] = 12052, + [SMALL_STATE(1669)] = 12114, + [SMALL_STATE(1670)] = 12176, + [SMALL_STATE(1671)] = 12238, + [SMALL_STATE(1672)] = 12300, + [SMALL_STATE(1673)] = 12362, + [SMALL_STATE(1674)] = 12424, + [SMALL_STATE(1675)] = 12486, + [SMALL_STATE(1676)] = 12548, + [SMALL_STATE(1677)] = 12610, + [SMALL_STATE(1678)] = 12672, + [SMALL_STATE(1679)] = 12734, + [SMALL_STATE(1680)] = 12796, + [SMALL_STATE(1681)] = 12858, + [SMALL_STATE(1682)] = 12920, + [SMALL_STATE(1683)] = 12982, + [SMALL_STATE(1684)] = 13044, + [SMALL_STATE(1685)] = 13106, + [SMALL_STATE(1686)] = 13168, + [SMALL_STATE(1687)] = 13230, + [SMALL_STATE(1688)] = 13292, + [SMALL_STATE(1689)] = 13354, + [SMALL_STATE(1690)] = 13416, + [SMALL_STATE(1691)] = 13478, + [SMALL_STATE(1692)] = 13540, + [SMALL_STATE(1693)] = 13602, + [SMALL_STATE(1694)] = 13664, + [SMALL_STATE(1695)] = 13726, + [SMALL_STATE(1696)] = 13788, + [SMALL_STATE(1697)] = 13850, + [SMALL_STATE(1698)] = 13912, + [SMALL_STATE(1699)] = 13974, + [SMALL_STATE(1700)] = 14036, + [SMALL_STATE(1701)] = 14098, + [SMALL_STATE(1702)] = 14160, + [SMALL_STATE(1703)] = 14222, + [SMALL_STATE(1704)] = 14284, + [SMALL_STATE(1705)] = 14346, + [SMALL_STATE(1706)] = 14408, + [SMALL_STATE(1707)] = 14470, + [SMALL_STATE(1708)] = 14532, + [SMALL_STATE(1709)] = 14594, + [SMALL_STATE(1710)] = 14656, + [SMALL_STATE(1711)] = 14718, + [SMALL_STATE(1712)] = 14780, + [SMALL_STATE(1713)] = 14890, + [SMALL_STATE(1714)] = 14952, + [SMALL_STATE(1715)] = 15014, + [SMALL_STATE(1716)] = 15076, + [SMALL_STATE(1717)] = 15146, + [SMALL_STATE(1718)] = 15208, + [SMALL_STATE(1719)] = 15270, + [SMALL_STATE(1720)] = 15332, + [SMALL_STATE(1721)] = 15394, + [SMALL_STATE(1722)] = 15456, + [SMALL_STATE(1723)] = 15518, + [SMALL_STATE(1724)] = 15580, + [SMALL_STATE(1725)] = 15642, + [SMALL_STATE(1726)] = 15752, + [SMALL_STATE(1727)] = 15814, + [SMALL_STATE(1728)] = 15876, + [SMALL_STATE(1729)] = 15938, + [SMALL_STATE(1730)] = 16000, + [SMALL_STATE(1731)] = 16062, + [SMALL_STATE(1732)] = 16124, + [SMALL_STATE(1733)] = 16186, + [SMALL_STATE(1734)] = 16248, + [SMALL_STATE(1735)] = 16310, + [SMALL_STATE(1736)] = 16372, + [SMALL_STATE(1737)] = 16434, + [SMALL_STATE(1738)] = 16496, + [SMALL_STATE(1739)] = 16558, + [SMALL_STATE(1740)] = 16620, + [SMALL_STATE(1741)] = 16682, + [SMALL_STATE(1742)] = 16744, + [SMALL_STATE(1743)] = 16806, + [SMALL_STATE(1744)] = 16868, + [SMALL_STATE(1745)] = 16930, + [SMALL_STATE(1746)] = 16992, + [SMALL_STATE(1747)] = 17054, + [SMALL_STATE(1748)] = 17116, + [SMALL_STATE(1749)] = 17178, + [SMALL_STATE(1750)] = 17240, + [SMALL_STATE(1751)] = 17302, + [SMALL_STATE(1752)] = 17364, + [SMALL_STATE(1753)] = 17426, + [SMALL_STATE(1754)] = 17488, + [SMALL_STATE(1755)] = 17550, + [SMALL_STATE(1756)] = 17612, + [SMALL_STATE(1757)] = 17674, + [SMALL_STATE(1758)] = 17736, + [SMALL_STATE(1759)] = 17798, + [SMALL_STATE(1760)] = 17860, + [SMALL_STATE(1761)] = 17922, + [SMALL_STATE(1762)] = 17984, + [SMALL_STATE(1763)] = 18046, + [SMALL_STATE(1764)] = 18108, + [SMALL_STATE(1765)] = 18170, + [SMALL_STATE(1766)] = 18232, + [SMALL_STATE(1767)] = 18294, + [SMALL_STATE(1768)] = 18364, + [SMALL_STATE(1769)] = 18426, + [SMALL_STATE(1770)] = 18488, + [SMALL_STATE(1771)] = 18550, + [SMALL_STATE(1772)] = 18612, + [SMALL_STATE(1773)] = 18674, + [SMALL_STATE(1774)] = 18736, + [SMALL_STATE(1775)] = 18798, + [SMALL_STATE(1776)] = 18860, + [SMALL_STATE(1777)] = 18922, + [SMALL_STATE(1778)] = 18984, + [SMALL_STATE(1779)] = 19046, + [SMALL_STATE(1780)] = 19108, + [SMALL_STATE(1781)] = 19170, + [SMALL_STATE(1782)] = 19232, + [SMALL_STATE(1783)] = 19294, + [SMALL_STATE(1784)] = 19356, + [SMALL_STATE(1785)] = 19418, + [SMALL_STATE(1786)] = 19480, + [SMALL_STATE(1787)] = 19542, + [SMALL_STATE(1788)] = 19604, + [SMALL_STATE(1789)] = 19666, + [SMALL_STATE(1790)] = 19728, + [SMALL_STATE(1791)] = 19790, + [SMALL_STATE(1792)] = 19852, + [SMALL_STATE(1793)] = 19914, + [SMALL_STATE(1794)] = 19976, + [SMALL_STATE(1795)] = 20042, + [SMALL_STATE(1796)] = 20104, + [SMALL_STATE(1797)] = 20166, + [SMALL_STATE(1798)] = 20228, + [SMALL_STATE(1799)] = 20290, + [SMALL_STATE(1800)] = 20352, + [SMALL_STATE(1801)] = 20414, + [SMALL_STATE(1802)] = 20476, + [SMALL_STATE(1803)] = 20538, + [SMALL_STATE(1804)] = 20600, + [SMALL_STATE(1805)] = 20662, + [SMALL_STATE(1806)] = 20724, + [SMALL_STATE(1807)] = 20786, + [SMALL_STATE(1808)] = 20848, + [SMALL_STATE(1809)] = 20910, + [SMALL_STATE(1810)] = 20972, + [SMALL_STATE(1811)] = 21034, + [SMALL_STATE(1812)] = 21095, + [SMALL_STATE(1813)] = 21176, + [SMALL_STATE(1814)] = 21237, + [SMALL_STATE(1815)] = 21312, + [SMALL_STATE(1816)] = 21379, + [SMALL_STATE(1817)] = 21448, + [SMALL_STATE(1818)] = 21509, + [SMALL_STATE(1819)] = 21576, + [SMALL_STATE(1820)] = 21685, + [SMALL_STATE(1821)] = 21746, + [SMALL_STATE(1822)] = 21818, + [SMALL_STATE(1823)] = 21884, + [SMALL_STATE(1824)] = 21950, + [SMALL_STATE(1825)] = 22022, + [SMALL_STATE(1826)] = 22094, + [SMALL_STATE(1827)] = 22166, + [SMALL_STATE(1828)] = 22238, + [SMALL_STATE(1829)] = 22310, + [SMALL_STATE(1830)] = 22382, + [SMALL_STATE(1831)] = 22450, + [SMALL_STATE(1832)] = 22522, + [SMALL_STATE(1833)] = 22594, + [SMALL_STATE(1834)] = 22658, + [SMALL_STATE(1835)] = 22726, + [SMALL_STATE(1836)] = 22790, + [SMALL_STATE(1837)] = 22858, + [SMALL_STATE(1838)] = 22917, + [SMALL_STATE(1839)] = 22984, + [SMALL_STATE(1840)] = 23055, + [SMALL_STATE(1841)] = 23114, + [SMALL_STATE(1842)] = 23189, + [SMALL_STATE(1843)] = 23260, + [SMALL_STATE(1844)] = 23335, + [SMALL_STATE(1845)] = 23400, + [SMALL_STATE(1846)] = 23471, + [SMALL_STATE(1847)] = 23546, + [SMALL_STATE(1848)] = 23617, + [SMALL_STATE(1849)] = 23688, + [SMALL_STATE(1850)] = 23753, + [SMALL_STATE(1851)] = 23824, + [SMALL_STATE(1852)] = 23889, + [SMALL_STATE(1853)] = 23960, + [SMALL_STATE(1854)] = 24025, + [SMALL_STATE(1855)] = 24096, + [SMALL_STATE(1856)] = 24167, + [SMALL_STATE(1857)] = 24226, + [SMALL_STATE(1858)] = 24301, + [SMALL_STATE(1859)] = 24371, + [SMALL_STATE(1860)] = 24429, + [SMALL_STATE(1861)] = 24487, + [SMALL_STATE(1862)] = 24545, + [SMALL_STATE(1863)] = 24603, + [SMALL_STATE(1864)] = 24663, + [SMALL_STATE(1865)] = 24721, + [SMALL_STATE(1866)] = 24781, + [SMALL_STATE(1867)] = 24839, + [SMALL_STATE(1868)] = 24897, + [SMALL_STATE(1869)] = 24967, + [SMALL_STATE(1870)] = 25027, + [SMALL_STATE(1871)] = 25087, + [SMALL_STATE(1872)] = 25145, + [SMALL_STATE(1873)] = 25203, + [SMALL_STATE(1874)] = 25267, + [SMALL_STATE(1875)] = 25325, + [SMALL_STATE(1876)] = 25395, + [SMALL_STATE(1877)] = 25465, + [SMALL_STATE(1878)] = 25523, + [SMALL_STATE(1879)] = 25583, + [SMALL_STATE(1880)] = 25641, + [SMALL_STATE(1881)] = 25699, + [SMALL_STATE(1882)] = 25757, + [SMALL_STATE(1883)] = 25827, + [SMALL_STATE(1884)] = 25887, + [SMALL_STATE(1885)] = 25945, + [SMALL_STATE(1886)] = 26003, + [SMALL_STATE(1887)] = 26061, + [SMALL_STATE(1888)] = 26125, + [SMALL_STATE(1889)] = 26195, + [SMALL_STATE(1890)] = 26253, + [SMALL_STATE(1891)] = 26315, + [SMALL_STATE(1892)] = 26377, + [SMALL_STATE(1893)] = 26435, + [SMALL_STATE(1894)] = 26501, + [SMALL_STATE(1895)] = 26559, + [SMALL_STATE(1896)] = 26617, + [SMALL_STATE(1897)] = 26687, + [SMALL_STATE(1898)] = 26757, + [SMALL_STATE(1899)] = 26815, + [SMALL_STATE(1900)] = 26873, + [SMALL_STATE(1901)] = 26931, + [SMALL_STATE(1902)] = 27001, + [SMALL_STATE(1903)] = 27061, + [SMALL_STATE(1904)] = 27134, + [SMALL_STATE(1905)] = 27195, + [SMALL_STATE(1906)] = 27252, + [SMALL_STATE(1907)] = 27317, + [SMALL_STATE(1908)] = 27390, + [SMALL_STATE(1909)] = 27459, + [SMALL_STATE(1910)] = 27518, + [SMALL_STATE(1911)] = 27587, + [SMALL_STATE(1912)] = 27650, + [SMALL_STATE(1913)] = 27719, + [SMALL_STATE(1914)] = 27776, + [SMALL_STATE(1915)] = 27839, + [SMALL_STATE(1916)] = 27912, + [SMALL_STATE(1917)] = 27981, + [SMALL_STATE(1918)] = 28050, + [SMALL_STATE(1919)] = 28119, + [SMALL_STATE(1920)] = 28182, + [SMALL_STATE(1921)] = 28251, + [SMALL_STATE(1922)] = 28308, + [SMALL_STATE(1923)] = 28371, + [SMALL_STATE(1924)] = 28430, + [SMALL_STATE(1925)] = 28487, + [SMALL_STATE(1926)] = 28546, + [SMALL_STATE(1927)] = 28609, + [SMALL_STATE(1928)] = 28678, + [SMALL_STATE(1929)] = 28747, + [SMALL_STATE(1930)] = 28820, + [SMALL_STATE(1931)] = 28877, + [SMALL_STATE(1932)] = 28935, + [SMALL_STATE(1933)] = 28991, + [SMALL_STATE(1934)] = 29047, + [SMALL_STATE(1935)] = 29109, + [SMALL_STATE(1936)] = 29167, + [SMALL_STATE(1937)] = 29229, + [SMALL_STATE(1938)] = 29291, + [SMALL_STATE(1939)] = 29347, + [SMALL_STATE(1940)] = 29403, + [SMALL_STATE(1941)] = 29461, + [SMALL_STATE(1942)] = 29517, + [SMALL_STATE(1943)] = 29573, + [SMALL_STATE(1944)] = 29631, + [SMALL_STATE(1945)] = 29687, + [SMALL_STATE(1946)] = 29743, + [SMALL_STATE(1947)] = 29799, + [SMALL_STATE(1948)] = 29857, + [SMALL_STATE(1949)] = 29919, + [SMALL_STATE(1950)] = 29977, + [SMALL_STATE(1951)] = 30033, + [SMALL_STATE(1952)] = 30093, + [SMALL_STATE(1953)] = 30149, + [SMALL_STATE(1954)] = 30207, + [SMALL_STATE(1955)] = 30269, + [SMALL_STATE(1956)] = 30333, + [SMALL_STATE(1957)] = 30389, + [SMALL_STATE(1958)] = 30447, + [SMALL_STATE(1959)] = 30502, + [SMALL_STATE(1960)] = 30557, + [SMALL_STATE(1961)] = 30612, + [SMALL_STATE(1962)] = 30679, + [SMALL_STATE(1963)] = 30746, + [SMALL_STATE(1964)] = 30813, + [SMALL_STATE(1965)] = 30868, + [SMALL_STATE(1966)] = 30935, + [SMALL_STATE(1967)] = 31002, + [SMALL_STATE(1968)] = 31069, + [SMALL_STATE(1969)] = 31136, + [SMALL_STATE(1970)] = 31203, + [SMALL_STATE(1971)] = 31262, + [SMALL_STATE(1972)] = 31317, + [SMALL_STATE(1973)] = 31376, + [SMALL_STATE(1974)] = 31443, + [SMALL_STATE(1975)] = 31506, + [SMALL_STATE(1976)] = 31577, + [SMALL_STATE(1977)] = 31636, + [SMALL_STATE(1978)] = 31707, + [SMALL_STATE(1979)] = 31762, + [SMALL_STATE(1980)] = 31823, + [SMALL_STATE(1981)] = 31894, + [SMALL_STATE(1982)] = 31949, + [SMALL_STATE(1983)] = 32020, + [SMALL_STATE(1984)] = 32075, + [SMALL_STATE(1985)] = 32130, + [SMALL_STATE(1986)] = 32189, + [SMALL_STATE(1987)] = 32244, + [SMALL_STATE(1988)] = 32299, + [SMALL_STATE(1989)] = 32354, + [SMALL_STATE(1990)] = 32409, + [SMALL_STATE(1991)] = 32464, + [SMALL_STATE(1992)] = 32519, + [SMALL_STATE(1993)] = 32574, + [SMALL_STATE(1994)] = 32629, + [SMALL_STATE(1995)] = 32684, + [SMALL_STATE(1996)] = 32739, + [SMALL_STATE(1997)] = 32794, + [SMALL_STATE(1998)] = 32849, + [SMALL_STATE(1999)] = 32904, + [SMALL_STATE(2000)] = 32959, + [SMALL_STATE(2001)] = 33014, + [SMALL_STATE(2002)] = 33069, + [SMALL_STATE(2003)] = 33124, + [SMALL_STATE(2004)] = 33179, + [SMALL_STATE(2005)] = 33234, + [SMALL_STATE(2006)] = 33289, + [SMALL_STATE(2007)] = 33344, + [SMALL_STATE(2008)] = 33399, + [SMALL_STATE(2009)] = 33454, + [SMALL_STATE(2010)] = 33509, + [SMALL_STATE(2011)] = 33564, + [SMALL_STATE(2012)] = 33625, + [SMALL_STATE(2013)] = 33686, + [SMALL_STATE(2014)] = 33747, + [SMALL_STATE(2015)] = 33802, + [SMALL_STATE(2016)] = 33861, + [SMALL_STATE(2017)] = 33916, + [SMALL_STATE(2018)] = 33977, + [SMALL_STATE(2019)] = 34032, + [SMALL_STATE(2020)] = 34087, + [SMALL_STATE(2021)] = 34142, + [SMALL_STATE(2022)] = 34197, + [SMALL_STATE(2023)] = 34252, + [SMALL_STATE(2024)] = 34307, + [SMALL_STATE(2025)] = 34362, + [SMALL_STATE(2026)] = 34417, + [SMALL_STATE(2027)] = 34472, + [SMALL_STATE(2028)] = 34527, + [SMALL_STATE(2029)] = 34582, + [SMALL_STATE(2030)] = 34637, + [SMALL_STATE(2031)] = 34696, + [SMALL_STATE(2032)] = 34751, + [SMALL_STATE(2033)] = 34806, + [SMALL_STATE(2034)] = 34861, + [SMALL_STATE(2035)] = 34916, + [SMALL_STATE(2036)] = 34971, + [SMALL_STATE(2037)] = 35026, + [SMALL_STATE(2038)] = 35081, + [SMALL_STATE(2039)] = 35136, + [SMALL_STATE(2040)] = 35191, + [SMALL_STATE(2041)] = 35248, + [SMALL_STATE(2042)] = 35303, + [SMALL_STATE(2043)] = 35358, + [SMALL_STATE(2044)] = 35413, + [SMALL_STATE(2045)] = 35468, + [SMALL_STATE(2046)] = 35523, + [SMALL_STATE(2047)] = 35578, + [SMALL_STATE(2048)] = 35633, + [SMALL_STATE(2049)] = 35688, + [SMALL_STATE(2050)] = 35743, + [SMALL_STATE(2051)] = 35798, + [SMALL_STATE(2052)] = 35853, + [SMALL_STATE(2053)] = 35908, + [SMALL_STATE(2054)] = 35971, + [SMALL_STATE(2055)] = 36037, + [SMALL_STATE(2056)] = 36105, + [SMALL_STATE(2057)] = 36199, + [SMALL_STATE(2058)] = 36255, + [SMALL_STATE(2059)] = 36311, + [SMALL_STATE(2060)] = 36367, + [SMALL_STATE(2061)] = 36427, + [SMALL_STATE(2062)] = 36485, + [SMALL_STATE(2063)] = 36579, + [SMALL_STATE(2064)] = 36639, + [SMALL_STATE(2065)] = 36695, + [SMALL_STATE(2066)] = 36751, + [SMALL_STATE(2067)] = 36813, + [SMALL_STATE(2068)] = 36873, + [SMALL_STATE(2069)] = 36929, + [SMALL_STATE(2070)] = 36985, + [SMALL_STATE(2071)] = 37045, + [SMALL_STATE(2072)] = 37098, + [SMALL_STATE(2073)] = 37151, + [SMALL_STATE(2074)] = 37204, + [SMALL_STATE(2075)] = 37257, + [SMALL_STATE(2076)] = 37392, + [SMALL_STATE(2077)] = 37445, + [SMALL_STATE(2078)] = 37506, + [SMALL_STATE(2079)] = 37559, + [SMALL_STATE(2080)] = 37612, + [SMALL_STATE(2081)] = 37665, + [SMALL_STATE(2082)] = 37718, + [SMALL_STATE(2083)] = 37811, + [SMALL_STATE(2084)] = 37946, + [SMALL_STATE(2085)] = 38081, + [SMALL_STATE(2086)] = 38174, + [SMALL_STATE(2087)] = 38267, + [SMALL_STATE(2088)] = 38360, + [SMALL_STATE(2089)] = 38427, + [SMALL_STATE(2090)] = 38482, + [SMALL_STATE(2091)] = 38551, + [SMALL_STATE(2092)] = 38616, + [SMALL_STATE(2093)] = 38709, + [SMALL_STATE(2094)] = 38762, + [SMALL_STATE(2095)] = 38815, + [SMALL_STATE(2096)] = 38880, + [SMALL_STATE(2097)] = 38933, + [SMALL_STATE(2098)] = 38986, + [SMALL_STATE(2099)] = 39039, + [SMALL_STATE(2100)] = 39092, + [SMALL_STATE(2101)] = 39145, + [SMALL_STATE(2102)] = 39198, + [SMALL_STATE(2103)] = 39251, + [SMALL_STATE(2104)] = 39304, + [SMALL_STATE(2105)] = 39357, + [SMALL_STATE(2106)] = 39450, + [SMALL_STATE(2107)] = 39503, + [SMALL_STATE(2108)] = 39556, + [SMALL_STATE(2109)] = 39609, + [SMALL_STATE(2110)] = 39702, + [SMALL_STATE(2111)] = 39795, + [SMALL_STATE(2112)] = 39848, + [SMALL_STATE(2113)] = 39983, + [SMALL_STATE(2114)] = 40118, + [SMALL_STATE(2115)] = 40171, + [SMALL_STATE(2116)] = 40224, + [SMALL_STATE(2117)] = 40277, + [SMALL_STATE(2118)] = 40338, + [SMALL_STATE(2119)] = 40391, + [SMALL_STATE(2120)] = 40450, + [SMALL_STATE(2121)] = 40503, + [SMALL_STATE(2122)] = 40556, + [SMALL_STATE(2123)] = 40609, + [SMALL_STATE(2124)] = 40662, + [SMALL_STATE(2125)] = 40715, + [SMALL_STATE(2126)] = 40768, + [SMALL_STATE(2127)] = 40903, + [SMALL_STATE(2128)] = 40996, + [SMALL_STATE(2129)] = 41055, + [SMALL_STATE(2130)] = 41148, + [SMALL_STATE(2131)] = 41201, + [SMALL_STATE(2132)] = 41294, + [SMALL_STATE(2133)] = 41347, + [SMALL_STATE(2134)] = 41482, + [SMALL_STATE(2135)] = 41535, + [SMALL_STATE(2136)] = 41670, + [SMALL_STATE(2137)] = 41723, + [SMALL_STATE(2138)] = 41816, + [SMALL_STATE(2139)] = 41869, + [SMALL_STATE(2140)] = 41962, + [SMALL_STATE(2141)] = 42017, + [SMALL_STATE(2142)] = 42070, + [SMALL_STATE(2143)] = 42205, + [SMALL_STATE(2144)] = 42260, + [SMALL_STATE(2145)] = 42313, + [SMALL_STATE(2146)] = 42366, + [SMALL_STATE(2147)] = 42419, + [SMALL_STATE(2148)] = 42472, + [SMALL_STATE(2149)] = 42525, + [SMALL_STATE(2150)] = 42578, + [SMALL_STATE(2151)] = 42631, + [SMALL_STATE(2152)] = 42684, + [SMALL_STATE(2153)] = 42737, + [SMALL_STATE(2154)] = 42794, + [SMALL_STATE(2155)] = 42847, + [SMALL_STATE(2156)] = 42900, + [SMALL_STATE(2157)] = 42955, + [SMALL_STATE(2158)] = 43008, + [SMALL_STATE(2159)] = 43061, + [SMALL_STATE(2160)] = 43114, + [SMALL_STATE(2161)] = 43167, + [SMALL_STATE(2162)] = 43220, + [SMALL_STATE(2163)] = 43273, + [SMALL_STATE(2164)] = 43326, + [SMALL_STATE(2165)] = 43419, + [SMALL_STATE(2166)] = 43472, + [SMALL_STATE(2167)] = 43525, + [SMALL_STATE(2168)] = 43578, + [SMALL_STATE(2169)] = 43631, + [SMALL_STATE(2170)] = 43684, + [SMALL_STATE(2171)] = 43737, + [SMALL_STATE(2172)] = 43790, + [SMALL_STATE(2173)] = 43843, + [SMALL_STATE(2174)] = 43898, + [SMALL_STATE(2175)] = 43951, + [SMALL_STATE(2176)] = 44004, + [SMALL_STATE(2177)] = 44057, + [SMALL_STATE(2178)] = 44150, + [SMALL_STATE(2179)] = 44203, + [SMALL_STATE(2180)] = 44256, + [SMALL_STATE(2181)] = 44309, + [SMALL_STATE(2182)] = 44362, + [SMALL_STATE(2183)] = 44455, + [SMALL_STATE(2184)] = 44508, + [SMALL_STATE(2185)] = 44561, + [SMALL_STATE(2186)] = 44614, + [SMALL_STATE(2187)] = 44673, + [SMALL_STATE(2188)] = 44726, + [SMALL_STATE(2189)] = 44779, + [SMALL_STATE(2190)] = 44832, + [SMALL_STATE(2191)] = 44885, + [SMALL_STATE(2192)] = 44938, + [SMALL_STATE(2193)] = 44991, + [SMALL_STATE(2194)] = 45044, + [SMALL_STATE(2195)] = 45097, + [SMALL_STATE(2196)] = 45150, + [SMALL_STATE(2197)] = 45203, + [SMALL_STATE(2198)] = 45256, + [SMALL_STATE(2199)] = 45309, + [SMALL_STATE(2200)] = 45362, + [SMALL_STATE(2201)] = 45415, + [SMALL_STATE(2202)] = 45468, + [SMALL_STATE(2203)] = 45521, + [SMALL_STATE(2204)] = 45574, + [SMALL_STATE(2205)] = 45709, + [SMALL_STATE(2206)] = 45762, + [SMALL_STATE(2207)] = 45815, + [SMALL_STATE(2208)] = 45868, + [SMALL_STATE(2209)] = 45921, + [SMALL_STATE(2210)] = 45976, + [SMALL_STATE(2211)] = 46029, + [SMALL_STATE(2212)] = 46082, + [SMALL_STATE(2213)] = 46135, + [SMALL_STATE(2214)] = 46194, + [SMALL_STATE(2215)] = 46247, + [SMALL_STATE(2216)] = 46300, + [SMALL_STATE(2217)] = 46353, + [SMALL_STATE(2218)] = 46488, + [SMALL_STATE(2219)] = 46541, + [SMALL_STATE(2220)] = 46634, + [SMALL_STATE(2221)] = 46687, + [SMALL_STATE(2222)] = 46780, + [SMALL_STATE(2223)] = 46873, + [SMALL_STATE(2224)] = 46926, + [SMALL_STATE(2225)] = 46979, + [SMALL_STATE(2226)] = 47032, + [SMALL_STATE(2227)] = 47085, + [SMALL_STATE(2228)] = 47138, + [SMALL_STATE(2229)] = 47231, + [SMALL_STATE(2230)] = 47284, + [SMALL_STATE(2231)] = 47337, + [SMALL_STATE(2232)] = 47390, + [SMALL_STATE(2233)] = 47443, + [SMALL_STATE(2234)] = 47496, + [SMALL_STATE(2235)] = 47549, + [SMALL_STATE(2236)] = 47602, + [SMALL_STATE(2237)] = 47655, + [SMALL_STATE(2238)] = 47710, + [SMALL_STATE(2239)] = 47763, + [SMALL_STATE(2240)] = 47816, + [SMALL_STATE(2241)] = 47869, + [SMALL_STATE(2242)] = 47922, + [SMALL_STATE(2243)] = 47975, + [SMALL_STATE(2244)] = 48028, + [SMALL_STATE(2245)] = 48081, + [SMALL_STATE(2246)] = 48134, + [SMALL_STATE(2247)] = 48187, + [SMALL_STATE(2248)] = 48240, + [SMALL_STATE(2249)] = 48293, + [SMALL_STATE(2250)] = 48346, + [SMALL_STATE(2251)] = 48399, + [SMALL_STATE(2252)] = 48452, + [SMALL_STATE(2253)] = 48505, + [SMALL_STATE(2254)] = 48558, + [SMALL_STATE(2255)] = 48611, + [SMALL_STATE(2256)] = 48664, + [SMALL_STATE(2257)] = 48717, + [SMALL_STATE(2258)] = 48770, + [SMALL_STATE(2259)] = 48823, + [SMALL_STATE(2260)] = 48884, + [SMALL_STATE(2261)] = 48977, + [SMALL_STATE(2262)] = 49036, + [SMALL_STATE(2263)] = 49090, + [SMALL_STATE(2264)] = 49176, + [SMALL_STATE(2265)] = 49228, + [SMALL_STATE(2266)] = 49280, + [SMALL_STATE(2267)] = 49332, + [SMALL_STATE(2268)] = 49384, + [SMALL_STATE(2269)] = 49436, + [SMALL_STATE(2270)] = 49488, + [SMALL_STATE(2271)] = 49576, + [SMALL_STATE(2272)] = 49628, + [SMALL_STATE(2273)] = 49680, + [SMALL_STATE(2274)] = 49750, + [SMALL_STATE(2275)] = 49804, + [SMALL_STATE(2276)] = 49876, + [SMALL_STATE(2277)] = 49928, + [SMALL_STATE(2278)] = 49980, + [SMALL_STATE(2279)] = 50046, + [SMALL_STATE(2280)] = 50110, + [SMALL_STATE(2281)] = 50166, + [SMALL_STATE(2282)] = 50218, + [SMALL_STATE(2283)] = 50270, + [SMALL_STATE(2284)] = 50326, + [SMALL_STATE(2285)] = 50382, + [SMALL_STATE(2286)] = 50434, + [SMALL_STATE(2287)] = 50498, + [SMALL_STATE(2288)] = 50586, + [SMALL_STATE(2289)] = 50638, + [SMALL_STATE(2290)] = 50696, + [SMALL_STATE(2291)] = 50748, + [SMALL_STATE(2292)] = 50802, + [SMALL_STATE(2293)] = 50854, + [SMALL_STATE(2294)] = 50906, + [SMALL_STATE(2295)] = 50958, + [SMALL_STATE(2296)] = 51010, + [SMALL_STATE(2297)] = 51062, + [SMALL_STATE(2298)] = 51120, + [SMALL_STATE(2299)] = 51172, + [SMALL_STATE(2300)] = 51260, + [SMALL_STATE(2301)] = 51326, + [SMALL_STATE(2302)] = 51378, + [SMALL_STATE(2303)] = 51430, + [SMALL_STATE(2304)] = 51482, + [SMALL_STATE(2305)] = 51534, + [SMALL_STATE(2306)] = 51606, + [SMALL_STATE(2307)] = 51658, + [SMALL_STATE(2308)] = 51716, + [SMALL_STATE(2309)] = 51768, + [SMALL_STATE(2310)] = 51820, + [SMALL_STATE(2311)] = 51872, + [SMALL_STATE(2312)] = 51924, + [SMALL_STATE(2313)] = 51980, + [SMALL_STATE(2314)] = 52032, + [SMALL_STATE(2315)] = 52084, + [SMALL_STATE(2316)] = 52176, + [SMALL_STATE(2317)] = 52238, + [SMALL_STATE(2318)] = 52290, + [SMALL_STATE(2319)] = 52342, + [SMALL_STATE(2320)] = 52408, + [SMALL_STATE(2321)] = 52478, + [SMALL_STATE(2322)] = 52530, + [SMALL_STATE(2323)] = 52582, + [SMALL_STATE(2324)] = 52648, + [SMALL_STATE(2325)] = 52700, + [SMALL_STATE(2326)] = 52754, + [SMALL_STATE(2327)] = 52844, + [SMALL_STATE(2328)] = 52910, + [SMALL_STATE(2329)] = 52962, + [SMALL_STATE(2330)] = 53014, + [SMALL_STATE(2331)] = 53066, + [SMALL_STATE(2332)] = 53118, + [SMALL_STATE(2333)] = 53170, + [SMALL_STATE(2334)] = 53236, + [SMALL_STATE(2335)] = 53288, + [SMALL_STATE(2336)] = 53340, + [SMALL_STATE(2337)] = 53394, + [SMALL_STATE(2338)] = 53446, + [SMALL_STATE(2339)] = 53510, + [SMALL_STATE(2340)] = 53562, + [SMALL_STATE(2341)] = 53614, + [SMALL_STATE(2342)] = 53680, + [SMALL_STATE(2343)] = 53732, + [SMALL_STATE(2344)] = 53784, + [SMALL_STATE(2345)] = 53856, + [SMALL_STATE(2346)] = 53908, + [SMALL_STATE(2347)] = 53960, + [SMALL_STATE(2348)] = 54044, + [SMALL_STATE(2349)] = 54096, + [SMALL_STATE(2350)] = 54148, + [SMALL_STATE(2351)] = 54204, + [SMALL_STATE(2352)] = 54258, + [SMALL_STATE(2353)] = 54310, + [SMALL_STATE(2354)] = 54362, + [SMALL_STATE(2355)] = 54450, + [SMALL_STATE(2356)] = 54502, + [SMALL_STATE(2357)] = 54554, + [SMALL_STATE(2358)] = 54618, + [SMALL_STATE(2359)] = 54670, + [SMALL_STATE(2360)] = 54722, + [SMALL_STATE(2361)] = 54774, + [SMALL_STATE(2362)] = 54826, + [SMALL_STATE(2363)] = 54888, + [SMALL_STATE(2364)] = 54958, + [SMALL_STATE(2365)] = 55026, + [SMALL_STATE(2366)] = 55098, + [SMALL_STATE(2367)] = 55150, + [SMALL_STATE(2368)] = 55226, + [SMALL_STATE(2369)] = 55282, + [SMALL_STATE(2370)] = 55360, + [SMALL_STATE(2371)] = 55440, + [SMALL_STATE(2372)] = 55522, + [SMALL_STATE(2373)] = 55573, + [SMALL_STATE(2374)] = 55632, + [SMALL_STATE(2375)] = 55683, + [SMALL_STATE(2376)] = 55734, + [SMALL_STATE(2377)] = 55785, + [SMALL_STATE(2378)] = 55836, + [SMALL_STATE(2379)] = 55887, + [SMALL_STATE(2380)] = 55946, + [SMALL_STATE(2381)] = 56031, + [SMALL_STATE(2382)] = 56082, + [SMALL_STATE(2383)] = 56169, + [SMALL_STATE(2384)] = 56232, + [SMALL_STATE(2385)] = 56301, + [SMALL_STATE(2386)] = 56356, + [SMALL_STATE(2387)] = 56419, + [SMALL_STATE(2388)] = 56470, + [SMALL_STATE(2389)] = 56521, + [SMALL_STATE(2390)] = 56584, + [SMALL_STATE(2391)] = 56645, + [SMALL_STATE(2392)] = 56704, + [SMALL_STATE(2393)] = 56755, + [SMALL_STATE(2394)] = 56840, + [SMALL_STATE(2395)] = 56891, + [SMALL_STATE(2396)] = 56952, + [SMALL_STATE(2397)] = 57003, + [SMALL_STATE(2398)] = 57054, + [SMALL_STATE(2399)] = 57105, + [SMALL_STATE(2400)] = 57156, + [SMALL_STATE(2401)] = 57213, + [SMALL_STATE(2402)] = 57264, + [SMALL_STATE(2403)] = 57319, + [SMALL_STATE(2404)] = 57370, + [SMALL_STATE(2405)] = 57421, + [SMALL_STATE(2406)] = 57472, + [SMALL_STATE(2407)] = 57523, + [SMALL_STATE(2408)] = 57574, + [SMALL_STATE(2409)] = 57625, + [SMALL_STATE(2410)] = 57676, + [SMALL_STATE(2411)] = 57727, + [SMALL_STATE(2412)] = 57778, + [SMALL_STATE(2413)] = 57829, + [SMALL_STATE(2414)] = 57886, + [SMALL_STATE(2415)] = 57939, + [SMALL_STATE(2416)] = 57994, + [SMALL_STATE(2417)] = 58045, + [SMALL_STATE(2418)] = 58096, + [SMALL_STATE(2419)] = 58147, + [SMALL_STATE(2420)] = 58198, + [SMALL_STATE(2421)] = 58249, + [SMALL_STATE(2422)] = 58300, + [SMALL_STATE(2423)] = 58351, + [SMALL_STATE(2424)] = 58402, + [SMALL_STATE(2425)] = 58453, + [SMALL_STATE(2426)] = 58538, + [SMALL_STATE(2427)] = 58589, + [SMALL_STATE(2428)] = 58648, + [SMALL_STATE(2429)] = 58709, + [SMALL_STATE(2430)] = 58794, + [SMALL_STATE(2431)] = 58845, + [SMALL_STATE(2432)] = 58896, + [SMALL_STATE(2433)] = 58951, + [SMALL_STATE(2434)] = 59002, + [SMALL_STATE(2435)] = 59053, + [SMALL_STATE(2436)] = 59104, + [SMALL_STATE(2437)] = 59167, + [SMALL_STATE(2438)] = 59230, + [SMALL_STATE(2439)] = 59297, + [SMALL_STATE(2440)] = 59360, + [SMALL_STATE(2441)] = 59425, + [SMALL_STATE(2442)] = 59476, + [SMALL_STATE(2443)] = 59539, + [SMALL_STATE(2444)] = 59594, + [SMALL_STATE(2445)] = 59645, + [SMALL_STATE(2446)] = 59700, + [SMALL_STATE(2447)] = 59751, + [SMALL_STATE(2448)] = 59820, + [SMALL_STATE(2449)] = 59877, + [SMALL_STATE(2450)] = 59934, + [SMALL_STATE(2451)] = 59991, + [SMALL_STATE(2452)] = 60080, + [SMALL_STATE(2453)] = 60131, + [SMALL_STATE(2454)] = 60182, + [SMALL_STATE(2455)] = 60245, + [SMALL_STATE(2456)] = 60296, + [SMALL_STATE(2457)] = 60369, + [SMALL_STATE(2458)] = 60420, + [SMALL_STATE(2459)] = 60473, + [SMALL_STATE(2460)] = 60532, + [SMALL_STATE(2461)] = 60595, + [SMALL_STATE(2462)] = 60646, + [SMALL_STATE(2463)] = 60709, + [SMALL_STATE(2464)] = 60760, + [SMALL_STATE(2465)] = 60815, + [SMALL_STATE(2466)] = 60890, + [SMALL_STATE(2467)] = 60941, + [SMALL_STATE(2468)] = 60992, + [SMALL_STATE(2469)] = 61069, + [SMALL_STATE(2470)] = 61120, + [SMALL_STATE(2471)] = 61177, + [SMALL_STATE(2472)] = 61256, + [SMALL_STATE(2473)] = 61307, + [SMALL_STATE(2474)] = 61358, + [SMALL_STATE(2475)] = 61409, + [SMALL_STATE(2476)] = 61460, + [SMALL_STATE(2477)] = 61511, + [SMALL_STATE(2478)] = 61592, + [SMALL_STATE(2479)] = 61675, + [SMALL_STATE(2480)] = 61728, + [SMALL_STATE(2481)] = 61789, + [SMALL_STATE(2482)] = 61840, + [SMALL_STATE(2483)] = 61891, + [SMALL_STATE(2484)] = 61954, + [SMALL_STATE(2485)] = 62005, + [SMALL_STATE(2486)] = 62056, + [SMALL_STATE(2487)] = 62107, + [SMALL_STATE(2488)] = 62158, + [SMALL_STATE(2489)] = 62221, + [SMALL_STATE(2490)] = 62272, + [SMALL_STATE(2491)] = 62323, + [SMALL_STATE(2492)] = 62374, + [SMALL_STATE(2493)] = 62425, + [SMALL_STATE(2494)] = 62476, + [SMALL_STATE(2495)] = 62527, + [SMALL_STATE(2496)] = 62578, + [SMALL_STATE(2497)] = 62629, + [SMALL_STATE(2498)] = 62680, + [SMALL_STATE(2499)] = 62731, + [SMALL_STATE(2500)] = 62781, + [SMALL_STATE(2501)] = 62831, + [SMALL_STATE(2502)] = 62881, + [SMALL_STATE(2503)] = 62931, + [SMALL_STATE(2504)] = 62981, + [SMALL_STATE(2505)] = 63031, + [SMALL_STATE(2506)] = 63081, + [SMALL_STATE(2507)] = 63131, + [SMALL_STATE(2508)] = 63183, + [SMALL_STATE(2509)] = 63233, + [SMALL_STATE(2510)] = 63283, + [SMALL_STATE(2511)] = 63333, + [SMALL_STATE(2512)] = 63383, + [SMALL_STATE(2513)] = 63433, + [SMALL_STATE(2514)] = 63483, + [SMALL_STATE(2515)] = 63533, + [SMALL_STATE(2516)] = 63583, + [SMALL_STATE(2517)] = 63633, + [SMALL_STATE(2518)] = 63683, + [SMALL_STATE(2519)] = 63733, + [SMALL_STATE(2520)] = 63783, + [SMALL_STATE(2521)] = 63833, + [SMALL_STATE(2522)] = 63883, + [SMALL_STATE(2523)] = 63935, + [SMALL_STATE(2524)] = 63985, + [SMALL_STATE(2525)] = 64035, + [SMALL_STATE(2526)] = 64091, + [SMALL_STATE(2527)] = 64141, + [SMALL_STATE(2528)] = 64191, + [SMALL_STATE(2529)] = 64241, + [SMALL_STATE(2530)] = 64291, + [SMALL_STATE(2531)] = 64341, + [SMALL_STATE(2532)] = 64435, + [SMALL_STATE(2533)] = 64485, + [SMALL_STATE(2534)] = 64537, + [SMALL_STATE(2535)] = 64587, + [SMALL_STATE(2536)] = 64637, + [SMALL_STATE(2537)] = 64687, + [SMALL_STATE(2538)] = 64737, + [SMALL_STATE(2539)] = 64787, + [SMALL_STATE(2540)] = 64837, + [SMALL_STATE(2541)] = 64887, + [SMALL_STATE(2542)] = 64941, + [SMALL_STATE(2543)] = 64991, + [SMALL_STATE(2544)] = 65041, + [SMALL_STATE(2545)] = 65091, + [SMALL_STATE(2546)] = 65143, + [SMALL_STATE(2547)] = 65199, + [SMALL_STATE(2548)] = 65249, + [SMALL_STATE(2549)] = 65307, + [SMALL_STATE(2550)] = 65363, + [SMALL_STATE(2551)] = 65413, + [SMALL_STATE(2552)] = 65463, + [SMALL_STATE(2553)] = 65513, + [SMALL_STATE(2554)] = 65563, + [SMALL_STATE(2555)] = 65613, + [SMALL_STATE(2556)] = 65663, + [SMALL_STATE(2557)] = 65713, + [SMALL_STATE(2558)] = 65763, + [SMALL_STATE(2559)] = 65813, + [SMALL_STATE(2560)] = 65863, + [SMALL_STATE(2561)] = 65913, + [SMALL_STATE(2562)] = 65963, + [SMALL_STATE(2563)] = 66013, + [SMALL_STATE(2564)] = 66063, + [SMALL_STATE(2565)] = 66119, + [SMALL_STATE(2566)] = 66175, + [SMALL_STATE(2567)] = 66225, + [SMALL_STATE(2568)] = 66275, + [SMALL_STATE(2569)] = 66325, + [SMALL_STATE(2570)] = 66375, + [SMALL_STATE(2571)] = 66425, + [SMALL_STATE(2572)] = 66475, + [SMALL_STATE(2573)] = 66531, + [SMALL_STATE(2574)] = 66587, + [SMALL_STATE(2575)] = 66639, + [SMALL_STATE(2576)] = 66689, + [SMALL_STATE(2577)] = 66739, + [SMALL_STATE(2578)] = 66789, + [SMALL_STATE(2579)] = 66841, + [SMALL_STATE(2580)] = 66901, + [SMALL_STATE(2581)] = 66951, + [SMALL_STATE(2582)] = 67005, + [SMALL_STATE(2583)] = 67055, + [SMALL_STATE(2584)] = 67149, + [SMALL_STATE(2585)] = 67199, + [SMALL_STATE(2586)] = 67255, + [SMALL_STATE(2587)] = 67311, + [SMALL_STATE(2588)] = 67361, + [SMALL_STATE(2589)] = 67415, + [SMALL_STATE(2590)] = 67465, + [SMALL_STATE(2591)] = 67527, + [SMALL_STATE(2592)] = 67610, + [SMALL_STATE(2593)] = 67701, + [SMALL_STATE(2594)] = 67750, + [SMALL_STATE(2595)] = 67799, + [SMALL_STATE(2596)] = 67848, + [SMALL_STATE(2597)] = 67897, + [SMALL_STATE(2598)] = 67946, + [SMALL_STATE(2599)] = 67995, + [SMALL_STATE(2600)] = 68044, + [SMALL_STATE(2601)] = 68093, + [SMALL_STATE(2602)] = 68142, + [SMALL_STATE(2603)] = 68191, + [SMALL_STATE(2604)] = 68240, + [SMALL_STATE(2605)] = 68289, + [SMALL_STATE(2606)] = 68372, + [SMALL_STATE(2607)] = 68421, + [SMALL_STATE(2608)] = 68470, + [SMALL_STATE(2609)] = 68519, + [SMALL_STATE(2610)] = 68574, + [SMALL_STATE(2611)] = 68623, + [SMALL_STATE(2612)] = 68714, + [SMALL_STATE(2613)] = 68763, + [SMALL_STATE(2614)] = 68812, + [SMALL_STATE(2615)] = 68861, + [SMALL_STATE(2616)] = 68910, + [SMALL_STATE(2617)] = 68959, + [SMALL_STATE(2618)] = 69022, + [SMALL_STATE(2619)] = 69071, + [SMALL_STATE(2620)] = 69120, + [SMALL_STATE(2621)] = 69169, + [SMALL_STATE(2622)] = 69218, + [SMALL_STATE(2623)] = 69267, + [SMALL_STATE(2624)] = 69326, + [SMALL_STATE(2625)] = 69375, + [SMALL_STATE(2626)] = 69458, + [SMALL_STATE(2627)] = 69507, + [SMALL_STATE(2628)] = 69556, + [SMALL_STATE(2629)] = 69647, + [SMALL_STATE(2630)] = 69716, + [SMALL_STATE(2631)] = 69777, + [SMALL_STATE(2632)] = 69826, + [SMALL_STATE(2633)] = 69875, + [SMALL_STATE(2634)] = 69924, + [SMALL_STATE(2635)] = 69981, + [SMALL_STATE(2636)] = 70044, + [SMALL_STATE(2637)] = 70093, + [SMALL_STATE(2638)] = 70142, + [SMALL_STATE(2639)] = 70203, + [SMALL_STATE(2640)] = 70252, + [SMALL_STATE(2641)] = 70343, + [SMALL_STATE(2642)] = 70392, + [SMALL_STATE(2643)] = 70447, + [SMALL_STATE(2644)] = 70510, + [SMALL_STATE(2645)] = 70559, + [SMALL_STATE(2646)] = 70608, + [SMALL_STATE(2647)] = 70657, + [SMALL_STATE(2648)] = 70706, + [SMALL_STATE(2649)] = 70755, + [SMALL_STATE(2650)] = 70816, + [SMALL_STATE(2651)] = 70865, + [SMALL_STATE(2652)] = 70946, + [SMALL_STATE(2653)] = 71025, + [SMALL_STATE(2654)] = 71074, + [SMALL_STATE(2655)] = 71151, + [SMALL_STATE(2656)] = 71226, + [SMALL_STATE(2657)] = 71297, + [SMALL_STATE(2658)] = 71366, + [SMALL_STATE(2659)] = 71457, + [SMALL_STATE(2660)] = 71516, + [SMALL_STATE(2661)] = 71565, + [SMALL_STATE(2662)] = 71614, + [SMALL_STATE(2663)] = 71679, + [SMALL_STATE(2664)] = 71746, + [SMALL_STATE(2665)] = 71797, + [SMALL_STATE(2666)] = 71852, + [SMALL_STATE(2667)] = 71913, + [SMALL_STATE(2668)] = 71976, + [SMALL_STATE(2669)] = 72067, + [SMALL_STATE(2670)] = 72116, + [SMALL_STATE(2671)] = 72165, + [SMALL_STATE(2672)] = 72214, + [SMALL_STATE(2673)] = 72305, + [SMALL_STATE(2674)] = 72378, + [SMALL_STATE(2675)] = 72469, + [SMALL_STATE(2676)] = 72554, + [SMALL_STATE(2677)] = 72645, + [SMALL_STATE(2678)] = 72728, + [SMALL_STATE(2679)] = 72777, + [SMALL_STATE(2680)] = 72868, + [SMALL_STATE(2681)] = 72959, + [SMALL_STATE(2682)] = 73008, + [SMALL_STATE(2683)] = 73057, + [SMALL_STATE(2684)] = 73148, + [SMALL_STATE(2685)] = 73235, + [SMALL_STATE(2686)] = 73284, + [SMALL_STATE(2687)] = 73375, + [SMALL_STATE(2688)] = 73424, + [SMALL_STATE(2689)] = 73515, + [SMALL_STATE(2690)] = 73564, + [SMALL_STATE(2691)] = 73613, + [SMALL_STATE(2692)] = 73662, + [SMALL_STATE(2693)] = 73711, + [SMALL_STATE(2694)] = 73802, + [SMALL_STATE(2695)] = 73851, + [SMALL_STATE(2696)] = 73904, + [SMALL_STATE(2697)] = 73953, + [SMALL_STATE(2698)] = 74044, + [SMALL_STATE(2699)] = 74135, + [SMALL_STATE(2700)] = 74184, + [SMALL_STATE(2701)] = 74233, + [SMALL_STATE(2702)] = 74282, + [SMALL_STATE(2703)] = 74331, + [SMALL_STATE(2704)] = 74380, + [SMALL_STATE(2705)] = 74431, + [SMALL_STATE(2706)] = 74522, + [SMALL_STATE(2707)] = 74571, + [SMALL_STATE(2708)] = 74620, + [SMALL_STATE(2709)] = 74669, + [SMALL_STATE(2710)] = 74718, + [SMALL_STATE(2711)] = 74767, + [SMALL_STATE(2712)] = 74816, + [SMALL_STATE(2713)] = 74904, + [SMALL_STATE(2714)] = 74962, + [SMALL_STATE(2715)] = 75050, + [SMALL_STATE(2716)] = 75138, + [SMALL_STATE(2717)] = 75226, + [SMALL_STATE(2718)] = 75274, + [SMALL_STATE(2719)] = 75362, + [SMALL_STATE(2720)] = 75450, + [SMALL_STATE(2721)] = 75498, + [SMALL_STATE(2722)] = 75546, + [SMALL_STATE(2723)] = 75630, + [SMALL_STATE(2724)] = 75700, + [SMALL_STATE(2725)] = 75748, + [SMALL_STATE(2726)] = 75796, + [SMALL_STATE(2727)] = 75844, + [SMALL_STATE(2728)] = 75932, + [SMALL_STATE(2729)] = 75980, + [SMALL_STATE(2730)] = 76028, + [SMALL_STATE(2731)] = 76120, + [SMALL_STATE(2732)] = 76168, + [SMALL_STATE(2733)] = 76216, + [SMALL_STATE(2734)] = 76270, + [SMALL_STATE(2735)] = 76358, + [SMALL_STATE(2736)] = 76446, + [SMALL_STATE(2737)] = 76532, + [SMALL_STATE(2738)] = 76616, + [SMALL_STATE(2739)] = 76704, + [SMALL_STATE(2740)] = 76752, + [SMALL_STATE(2741)] = 76800, + [SMALL_STATE(2742)] = 76848, + [SMALL_STATE(2743)] = 76896, + [SMALL_STATE(2744)] = 76944, + [SMALL_STATE(2745)] = 77002, + [SMALL_STATE(2746)] = 77050, + [SMALL_STATE(2747)] = 77098, + [SMALL_STATE(2748)] = 77146, + [SMALL_STATE(2749)] = 77194, + [SMALL_STATE(2750)] = 77264, + [SMALL_STATE(2751)] = 77312, + [SMALL_STATE(2752)] = 77386, + [SMALL_STATE(2753)] = 77470, + [SMALL_STATE(2754)] = 77522, + [SMALL_STATE(2755)] = 77610, + [SMALL_STATE(2756)] = 77698, + [SMALL_STATE(2757)] = 77782, + [SMALL_STATE(2758)] = 77870, + [SMALL_STATE(2759)] = 77940, + [SMALL_STATE(2760)] = 78002, + [SMALL_STATE(2761)] = 78090, + [SMALL_STATE(2762)] = 78150, + [SMALL_STATE(2763)] = 78198, + [SMALL_STATE(2764)] = 78266, + [SMALL_STATE(2765)] = 78314, + [SMALL_STATE(2766)] = 78362, + [SMALL_STATE(2767)] = 78450, + [SMALL_STATE(2768)] = 78498, + [SMALL_STATE(2769)] = 78546, + [SMALL_STATE(2770)] = 78594, + [SMALL_STATE(2771)] = 78642, + [SMALL_STATE(2772)] = 78690, + [SMALL_STATE(2773)] = 78778, + [SMALL_STATE(2774)] = 78848, + [SMALL_STATE(2775)] = 78896, + [SMALL_STATE(2776)] = 78944, + [SMALL_STATE(2777)] = 78992, + [SMALL_STATE(2778)] = 79060, + [SMALL_STATE(2779)] = 79108, + [SMALL_STATE(2780)] = 79190, + [SMALL_STATE(2781)] = 79238, + [SMALL_STATE(2782)] = 79286, + [SMALL_STATE(2783)] = 79334, + [SMALL_STATE(2784)] = 79394, + [SMALL_STATE(2785)] = 79482, + [SMALL_STATE(2786)] = 79532, + [SMALL_STATE(2787)] = 79580, + [SMALL_STATE(2788)] = 79628, + [SMALL_STATE(2789)] = 79676, + [SMALL_STATE(2790)] = 79724, + [SMALL_STATE(2791)] = 79772, + [SMALL_STATE(2792)] = 79838, + [SMALL_STATE(2793)] = 79886, + [SMALL_STATE(2794)] = 79966, + [SMALL_STATE(2795)] = 80026, + [SMALL_STATE(2796)] = 80074, + [SMALL_STATE(2797)] = 80122, + [SMALL_STATE(2798)] = 80210, + [SMALL_STATE(2799)] = 80258, + [SMALL_STATE(2800)] = 80306, + [SMALL_STATE(2801)] = 80354, + [SMALL_STATE(2802)] = 80402, + [SMALL_STATE(2803)] = 80452, + [SMALL_STATE(2804)] = 80500, + [SMALL_STATE(2805)] = 80548, + [SMALL_STATE(2806)] = 80596, + [SMALL_STATE(2807)] = 80644, + [SMALL_STATE(2808)] = 80732, + [SMALL_STATE(2809)] = 80810, + [SMALL_STATE(2810)] = 80858, + [SMALL_STATE(2811)] = 80906, + [SMALL_STATE(2812)] = 80954, + [SMALL_STATE(2813)] = 81002, + [SMALL_STATE(2814)] = 81050, + [SMALL_STATE(2815)] = 81098, + [SMALL_STATE(2816)] = 81186, + [SMALL_STATE(2817)] = 81246, + [SMALL_STATE(2818)] = 81318, + [SMALL_STATE(2819)] = 81406, + [SMALL_STATE(2820)] = 81454, + [SMALL_STATE(2821)] = 81542, + [SMALL_STATE(2822)] = 81594, + [SMALL_STATE(2823)] = 81656, + [SMALL_STATE(2824)] = 81748, + [SMALL_STATE(2825)] = 81796, + [SMALL_STATE(2826)] = 81850, + [SMALL_STATE(2827)] = 81908, + [SMALL_STATE(2828)] = 81996, + [SMALL_STATE(2829)] = 82044, + [SMALL_STATE(2830)] = 82092, + [SMALL_STATE(2831)] = 82142, + [SMALL_STATE(2832)] = 82212, + [SMALL_STATE(2833)] = 82260, + [SMALL_STATE(2834)] = 82308, + [SMALL_STATE(2835)] = 82384, + [SMALL_STATE(2836)] = 82432, + [SMALL_STATE(2837)] = 82480, + [SMALL_STATE(2838)] = 82528, + [SMALL_STATE(2839)] = 82580, + [SMALL_STATE(2840)] = 82632, + [SMALL_STATE(2841)] = 82680, + [SMALL_STATE(2842)] = 82750, + [SMALL_STATE(2843)] = 82814, + [SMALL_STATE(2844)] = 82902, + [SMALL_STATE(2845)] = 82950, + [SMALL_STATE(2846)] = 83000, + [SMALL_STATE(2847)] = 83048, + [SMALL_STATE(2848)] = 83136, + [SMALL_STATE(2849)] = 83184, + [SMALL_STATE(2850)] = 83272, + [SMALL_STATE(2851)] = 83342, + [SMALL_STATE(2852)] = 83390, + [SMALL_STATE(2853)] = 83438, + [SMALL_STATE(2854)] = 83486, + [SMALL_STATE(2855)] = 83534, + [SMALL_STATE(2856)] = 83582, + [SMALL_STATE(2857)] = 83629, + [SMALL_STATE(2858)] = 83676, + [SMALL_STATE(2859)] = 83723, + [SMALL_STATE(2860)] = 83770, + [SMALL_STATE(2861)] = 83833, + [SMALL_STATE(2862)] = 83888, + [SMALL_STATE(2863)] = 83935, + [SMALL_STATE(2864)] = 83986, + [SMALL_STATE(2865)] = 84033, + [SMALL_STATE(2866)] = 84080, + [SMALL_STATE(2867)] = 84131, + [SMALL_STATE(2868)] = 84184, + [SMALL_STATE(2869)] = 84231, + [SMALL_STATE(2870)] = 84278, + [SMALL_STATE(2871)] = 84325, + [SMALL_STATE(2872)] = 84392, + [SMALL_STATE(2873)] = 84443, + [SMALL_STATE(2874)] = 84492, + [SMALL_STATE(2875)] = 84539, + [SMALL_STATE(2876)] = 84594, + [SMALL_STATE(2877)] = 84661, + [SMALL_STATE(2878)] = 84712, + [SMALL_STATE(2879)] = 84764, + [SMALL_STATE(2880)] = 84850, + [SMALL_STATE(2881)] = 84896, + [SMALL_STATE(2882)] = 84942, + [SMALL_STATE(2883)] = 84988, + [SMALL_STATE(2884)] = 85048, + [SMALL_STATE(2885)] = 85094, + [SMALL_STATE(2886)] = 85140, + [SMALL_STATE(2887)] = 85186, + [SMALL_STATE(2888)] = 85232, + [SMALL_STATE(2889)] = 85278, + [SMALL_STATE(2890)] = 85324, + [SMALL_STATE(2891)] = 85370, + [SMALL_STATE(2892)] = 85430, + [SMALL_STATE(2893)] = 85476, + [SMALL_STATE(2894)] = 85522, + [SMALL_STATE(2895)] = 85568, + [SMALL_STATE(2896)] = 85614, + [SMALL_STATE(2897)] = 85660, + [SMALL_STATE(2898)] = 85706, + [SMALL_STATE(2899)] = 85752, + [SMALL_STATE(2900)] = 85798, + [SMALL_STATE(2901)] = 85844, + [SMALL_STATE(2902)] = 85890, + [SMALL_STATE(2903)] = 85936, + [SMALL_STATE(2904)] = 85996, + [SMALL_STATE(2905)] = 86056, + [SMALL_STATE(2906)] = 86116, + [SMALL_STATE(2907)] = 86176, + [SMALL_STATE(2908)] = 86222, + [SMALL_STATE(2909)] = 86268, + [SMALL_STATE(2910)] = 86330, + [SMALL_STATE(2911)] = 86376, + [SMALL_STATE(2912)] = 86422, + [SMALL_STATE(2913)] = 86468, + [SMALL_STATE(2914)] = 86514, + [SMALL_STATE(2915)] = 86560, + [SMALL_STATE(2916)] = 86606, + [SMALL_STATE(2917)] = 86668, + [SMALL_STATE(2918)] = 86714, + [SMALL_STATE(2919)] = 86760, + [SMALL_STATE(2920)] = 86806, + [SMALL_STATE(2921)] = 86868, + [SMALL_STATE(2922)] = 86914, + [SMALL_STATE(2923)] = 86960, + [SMALL_STATE(2924)] = 87010, + [SMALL_STATE(2925)] = 87056, + [SMALL_STATE(2926)] = 87102, + [SMALL_STATE(2927)] = 87148, + [SMALL_STATE(2928)] = 87194, + [SMALL_STATE(2929)] = 87248, + [SMALL_STATE(2930)] = 87294, + [SMALL_STATE(2931)] = 87340, + [SMALL_STATE(2932)] = 87398, + [SMALL_STATE(2933)] = 87444, + [SMALL_STATE(2934)] = 87490, + [SMALL_STATE(2935)] = 87548, + [SMALL_STATE(2936)] = 87594, + [SMALL_STATE(2937)] = 87640, + [SMALL_STATE(2938)] = 87698, + [SMALL_STATE(2939)] = 87744, + [SMALL_STATE(2940)] = 87790, + [SMALL_STATE(2941)] = 87836, + [SMALL_STATE(2942)] = 87882, + [SMALL_STATE(2943)] = 87928, + [SMALL_STATE(2944)] = 87974, + [SMALL_STATE(2945)] = 88020, + [SMALL_STATE(2946)] = 88082, + [SMALL_STATE(2947)] = 88128, + [SMALL_STATE(2948)] = 88174, + [SMALL_STATE(2949)] = 88220, + [SMALL_STATE(2950)] = 88266, + [SMALL_STATE(2951)] = 88312, + [SMALL_STATE(2952)] = 88370, + [SMALL_STATE(2953)] = 88416, + [SMALL_STATE(2954)] = 88474, + [SMALL_STATE(2955)] = 88520, + [SMALL_STATE(2956)] = 88578, + [SMALL_STATE(2957)] = 88636, + [SMALL_STATE(2958)] = 88682, + [SMALL_STATE(2959)] = 88740, + [SMALL_STATE(2960)] = 88792, + [SMALL_STATE(2961)] = 88850, + [SMALL_STATE(2962)] = 88902, + [SMALL_STATE(2963)] = 88948, + [SMALL_STATE(2964)] = 88994, + [SMALL_STATE(2965)] = 89040, + [SMALL_STATE(2966)] = 89126, + [SMALL_STATE(2967)] = 89172, + [SMALL_STATE(2968)] = 89218, + [SMALL_STATE(2969)] = 89264, + [SMALL_STATE(2970)] = 89324, + [SMALL_STATE(2971)] = 89384, + [SMALL_STATE(2972)] = 89444, + [SMALL_STATE(2973)] = 89496, + [SMALL_STATE(2974)] = 89542, + [SMALL_STATE(2975)] = 89596, + [SMALL_STATE(2976)] = 89642, + [SMALL_STATE(2977)] = 89694, + [SMALL_STATE(2978)] = 89751, + [SMALL_STATE(2979)] = 89808, + [SMALL_STATE(2980)] = 89865, + [SMALL_STATE(2981)] = 89942, + [SMALL_STATE(2982)] = 90019, + [SMALL_STATE(2983)] = 90070, + [SMALL_STATE(2984)] = 90131, + [SMALL_STATE(2985)] = 90208, + [SMALL_STATE(2986)] = 90265, + [SMALL_STATE(2987)] = 90342, + [SMALL_STATE(2988)] = 90419, + [SMALL_STATE(2989)] = 90496, + [SMALL_STATE(2990)] = 90553, + [SMALL_STATE(2991)] = 90610, + [SMALL_STATE(2992)] = 90667, + [SMALL_STATE(2993)] = 90744, + [SMALL_STATE(2994)] = 90789, + [SMALL_STATE(2995)] = 90834, + [SMALL_STATE(2996)] = 90891, + [SMALL_STATE(2997)] = 90952, + [SMALL_STATE(2998)] = 91029, + [SMALL_STATE(2999)] = 91106, + [SMALL_STATE(3000)] = 91151, + [SMALL_STATE(3001)] = 91202, + [SMALL_STATE(3002)] = 91263, + [SMALL_STATE(3003)] = 91340, + [SMALL_STATE(3004)] = 91385, + [SMALL_STATE(3005)] = 91462, + [SMALL_STATE(3006)] = 91519, + [SMALL_STATE(3007)] = 91596, + [SMALL_STATE(3008)] = 91673, + [SMALL_STATE(3009)] = 91734, + [SMALL_STATE(3010)] = 91811, + [SMALL_STATE(3011)] = 91888, + [SMALL_STATE(3012)] = 91968, + [SMALL_STATE(3013)] = 92014, + [SMALL_STATE(3014)] = 92062, + [SMALL_STATE(3015)] = 92110, + [SMALL_STATE(3016)] = 92164, + [SMALL_STATE(3017)] = 92208, + [SMALL_STATE(3018)] = 92266, + [SMALL_STATE(3019)] = 92326, + [SMALL_STATE(3020)] = 92406, + [SMALL_STATE(3021)] = 92460, + [SMALL_STATE(3022)] = 92520, + [SMALL_STATE(3023)] = 92570, + [SMALL_STATE(3024)] = 92614, + [SMALL_STATE(3025)] = 92668, + [SMALL_STATE(3026)] = 92726, + [SMALL_STATE(3027)] = 92786, + [SMALL_STATE(3028)] = 92830, + [SMALL_STATE(3029)] = 92882, + [SMALL_STATE(3030)] = 92942, + [SMALL_STATE(3031)] = 93000, + [SMALL_STATE(3032)] = 93044, + [SMALL_STATE(3033)] = 93088, + [SMALL_STATE(3034)] = 93137, + [SMALL_STATE(3035)] = 93208, + [SMALL_STATE(3036)] = 93255, + [SMALL_STATE(3037)] = 93326, + [SMALL_STATE(3038)] = 93397, + [SMALL_STATE(3039)] = 93440, + [SMALL_STATE(3040)] = 93485, + [SMALL_STATE(3041)] = 93536, + [SMALL_STATE(3042)] = 93583, + [SMALL_STATE(3043)] = 93626, + [SMALL_STATE(3044)] = 93697, + [SMALL_STATE(3045)] = 93740, + [SMALL_STATE(3046)] = 93811, + [SMALL_STATE(3047)] = 93854, + [SMALL_STATE(3048)] = 93925, + [SMALL_STATE(3049)] = 93968, + [SMALL_STATE(3050)] = 94039, + [SMALL_STATE(3051)] = 94082, + [SMALL_STATE(3052)] = 94125, + [SMALL_STATE(3053)] = 94168, + [SMALL_STATE(3054)] = 94239, + [SMALL_STATE(3055)] = 94288, + [SMALL_STATE(3056)] = 94339, + [SMALL_STATE(3057)] = 94382, + [SMALL_STATE(3058)] = 94425, + [SMALL_STATE(3059)] = 94474, + [SMALL_STATE(3060)] = 94521, + [SMALL_STATE(3061)] = 94564, + [SMALL_STATE(3062)] = 94635, + [SMALL_STATE(3063)] = 94714, + [SMALL_STATE(3064)] = 94757, + [SMALL_STATE(3065)] = 94800, + [SMALL_STATE(3066)] = 94843, + [SMALL_STATE(3067)] = 94890, + [SMALL_STATE(3068)] = 94961, + [SMALL_STATE(3069)] = 95004, + [SMALL_STATE(3070)] = 95074, + [SMALL_STATE(3071)] = 95122, + [SMALL_STATE(3072)] = 95164, + [SMALL_STATE(3073)] = 95206, + [SMALL_STATE(3074)] = 95248, + [SMALL_STATE(3075)] = 95296, + [SMALL_STATE(3076)] = 95342, + [SMALL_STATE(3077)] = 95412, + [SMALL_STATE(3078)] = 95456, + [SMALL_STATE(3079)] = 95508, + [SMALL_STATE(3080)] = 95552, + [SMALL_STATE(3081)] = 95622, + [SMALL_STATE(3082)] = 95670, + [SMALL_STATE(3083)] = 95718, + [SMALL_STATE(3084)] = 95802, + [SMALL_STATE(3085)] = 95850, + [SMALL_STATE(3086)] = 95892, + [SMALL_STATE(3087)] = 95962, + [SMALL_STATE(3088)] = 96006, + [SMALL_STATE(3089)] = 96048, + [SMALL_STATE(3090)] = 96090, + [SMALL_STATE(3091)] = 96142, + [SMALL_STATE(3092)] = 96190, + [SMALL_STATE(3093)] = 96231, + [SMALL_STATE(3094)] = 96272, + [SMALL_STATE(3095)] = 96313, + [SMALL_STATE(3096)] = 96354, + [SMALL_STATE(3097)] = 96395, + [SMALL_STATE(3098)] = 96436, + [SMALL_STATE(3099)] = 96477, + [SMALL_STATE(3100)] = 96522, + [SMALL_STATE(3101)] = 96565, + [SMALL_STATE(3102)] = 96606, + [SMALL_STATE(3103)] = 96647, + [SMALL_STATE(3104)] = 96688, + [SMALL_STATE(3105)] = 96729, + [SMALL_STATE(3106)] = 96782, + [SMALL_STATE(3107)] = 96823, + [SMALL_STATE(3108)] = 96864, + [SMALL_STATE(3109)] = 96905, + [SMALL_STATE(3110)] = 96946, + [SMALL_STATE(3111)] = 96987, + [SMALL_STATE(3112)] = 97028, + [SMALL_STATE(3113)] = 97069, + [SMALL_STATE(3114)] = 97122, + [SMALL_STATE(3115)] = 97163, + [SMALL_STATE(3116)] = 97204, + [SMALL_STATE(3117)] = 97245, + [SMALL_STATE(3118)] = 97286, + [SMALL_STATE(3119)] = 97327, + [SMALL_STATE(3120)] = 97368, + [SMALL_STATE(3121)] = 97409, + [SMALL_STATE(3122)] = 97456, + [SMALL_STATE(3123)] = 97503, + [SMALL_STATE(3124)] = 97556, + [SMALL_STATE(3125)] = 97597, + [SMALL_STATE(3126)] = 97638, + [SMALL_STATE(3127)] = 97679, + [SMALL_STATE(3128)] = 97730, + [SMALL_STATE(3129)] = 97771, + [SMALL_STATE(3130)] = 97812, + [SMALL_STATE(3131)] = 97861, + [SMALL_STATE(3132)] = 97902, + [SMALL_STATE(3133)] = 97943, + [SMALL_STATE(3134)] = 97988, + [SMALL_STATE(3135)] = 98029, + [SMALL_STATE(3136)] = 98070, + [SMALL_STATE(3137)] = 98111, + [SMALL_STATE(3138)] = 98152, + [SMALL_STATE(3139)] = 98193, + [SMALL_STATE(3140)] = 98234, + [SMALL_STATE(3141)] = 98275, + [SMALL_STATE(3142)] = 98316, + [SMALL_STATE(3143)] = 98357, + [SMALL_STATE(3144)] = 98398, + [SMALL_STATE(3145)] = 98441, + [SMALL_STATE(3146)] = 98482, + [SMALL_STATE(3147)] = 98523, + [SMALL_STATE(3148)] = 98564, + [SMALL_STATE(3149)] = 98605, + [SMALL_STATE(3150)] = 98646, + [SMALL_STATE(3151)] = 98687, + [SMALL_STATE(3152)] = 98728, + [SMALL_STATE(3153)] = 98769, + [SMALL_STATE(3154)] = 98832, + [SMALL_STATE(3155)] = 98895, + [SMALL_STATE(3156)] = 98936, + [SMALL_STATE(3157)] = 98989, + [SMALL_STATE(3158)] = 99030, + [SMALL_STATE(3159)] = 99071, + [SMALL_STATE(3160)] = 99122, + [SMALL_STATE(3161)] = 99163, + [SMALL_STATE(3162)] = 99204, + [SMALL_STATE(3163)] = 99247, + [SMALL_STATE(3164)] = 99290, + [SMALL_STATE(3165)] = 99337, + [SMALL_STATE(3166)] = 99378, + [SMALL_STATE(3167)] = 99419, + [SMALL_STATE(3168)] = 99460, + [SMALL_STATE(3169)] = 99501, + [SMALL_STATE(3170)] = 99542, + [SMALL_STATE(3171)] = 99583, + [SMALL_STATE(3172)] = 99624, + [SMALL_STATE(3173)] = 99665, + [SMALL_STATE(3174)] = 99706, + [SMALL_STATE(3175)] = 99757, + [SMALL_STATE(3176)] = 99804, + [SMALL_STATE(3177)] = 99845, + [SMALL_STATE(3178)] = 99886, + [SMALL_STATE(3179)] = 99927, + [SMALL_STATE(3180)] = 99968, + [SMALL_STATE(3181)] = 100019, + [SMALL_STATE(3182)] = 100060, + [SMALL_STATE(3183)] = 100101, + [SMALL_STATE(3184)] = 100142, + [SMALL_STATE(3185)] = 100183, + [SMALL_STATE(3186)] = 100224, + [SMALL_STATE(3187)] = 100265, + [SMALL_STATE(3188)] = 100306, + [SMALL_STATE(3189)] = 100347, + [SMALL_STATE(3190)] = 100388, + [SMALL_STATE(3191)] = 100433, + [SMALL_STATE(3192)] = 100474, + [SMALL_STATE(3193)] = 100515, + [SMALL_STATE(3194)] = 100556, + [SMALL_STATE(3195)] = 100597, + [SMALL_STATE(3196)] = 100638, + [SMALL_STATE(3197)] = 100691, + [SMALL_STATE(3198)] = 100737, + [SMALL_STATE(3199)] = 100815, + [SMALL_STATE(3200)] = 100895, + [SMALL_STATE(3201)] = 100935, + [SMALL_STATE(3202)] = 101015, + [SMALL_STATE(3203)] = 101083, + [SMALL_STATE(3204)] = 101127, + [SMALL_STATE(3205)] = 101207, + [SMALL_STATE(3206)] = 101287, + [SMALL_STATE(3207)] = 101353, + [SMALL_STATE(3208)] = 101433, + [SMALL_STATE(3209)] = 101501, + [SMALL_STATE(3210)] = 101561, + [SMALL_STATE(3211)] = 101619, + [SMALL_STATE(3212)] = 101695, + [SMALL_STATE(3213)] = 101757, + [SMALL_STATE(3214)] = 101823, + [SMALL_STATE(3215)] = 101891, + [SMALL_STATE(3216)] = 101961, + [SMALL_STATE(3217)] = 102007, + [SMALL_STATE(3218)] = 102073, + [SMALL_STATE(3219)] = 102153, + [SMALL_STATE(3220)] = 102225, + [SMALL_STATE(3221)] = 102299, + [SMALL_STATE(3222)] = 102355, + [SMALL_STATE(3223)] = 102419, + [SMALL_STATE(3224)] = 102499, + [SMALL_STATE(3225)] = 102585, + [SMALL_STATE(3226)] = 102665, + [SMALL_STATE(3227)] = 102737, + [SMALL_STATE(3228)] = 102801, + [SMALL_STATE(3229)] = 102847, + [SMALL_STATE(3230)] = 102923, + [SMALL_STATE(3231)] = 102985, + [SMALL_STATE(3232)] = 103065, + [SMALL_STATE(3233)] = 103129, + [SMALL_STATE(3234)] = 103193, + [SMALL_STATE(3235)] = 103269, + [SMALL_STATE(3236)] = 103349, + [SMALL_STATE(3237)] = 103429, + [SMALL_STATE(3238)] = 103509, + [SMALL_STATE(3239)] = 103589, + [SMALL_STATE(3240)] = 103669, + [SMALL_STATE(3241)] = 103749, + [SMALL_STATE(3242)] = 103829, + [SMALL_STATE(3243)] = 103909, + [SMALL_STATE(3244)] = 103985, + [SMALL_STATE(3245)] = 104031, + [SMALL_STATE(3246)] = 104096, + [SMALL_STATE(3247)] = 104179, + [SMALL_STATE(3248)] = 104262, + [SMALL_STATE(3249)] = 104345, + [SMALL_STATE(3250)] = 104428, + [SMALL_STATE(3251)] = 104483, + [SMALL_STATE(3252)] = 104566, + [SMALL_STATE(3253)] = 104649, + [SMALL_STATE(3254)] = 104732, + [SMALL_STATE(3255)] = 104775, + [SMALL_STATE(3256)] = 104858, + [SMALL_STATE(3257)] = 104901, + [SMALL_STATE(3258)] = 104984, + [SMALL_STATE(3259)] = 105067, + [SMALL_STATE(3260)] = 105150, + [SMALL_STATE(3261)] = 105233, + [SMALL_STATE(3262)] = 105316, + [SMALL_STATE(3263)] = 105399, + [SMALL_STATE(3264)] = 105482, + [SMALL_STATE(3265)] = 105565, + [SMALL_STATE(3266)] = 105608, + [SMALL_STATE(3267)] = 105691, + [SMALL_STATE(3268)] = 105774, + [SMALL_STATE(3269)] = 105857, + [SMALL_STATE(3270)] = 105940, + [SMALL_STATE(3271)] = 106023, + [SMALL_STATE(3272)] = 106064, + [SMALL_STATE(3273)] = 106147, + [SMALL_STATE(3274)] = 106212, + [SMALL_STATE(3275)] = 106295, + [SMALL_STATE(3276)] = 106358, + [SMALL_STATE(3277)] = 106441, + [SMALL_STATE(3278)] = 106524, + [SMALL_STATE(3279)] = 106587, + [SMALL_STATE(3280)] = 106632, + [SMALL_STATE(3281)] = 106699, + [SMALL_STATE(3282)] = 106766, + [SMALL_STATE(3283)] = 106847, + [SMALL_STATE(3284)] = 106930, + [SMALL_STATE(3285)] = 107011, + [SMALL_STATE(3286)] = 107094, + [SMALL_STATE(3287)] = 107159, + [SMALL_STATE(3288)] = 107242, + [SMALL_STATE(3289)] = 107325, + [SMALL_STATE(3290)] = 107408, + [SMALL_STATE(3291)] = 107455, + [SMALL_STATE(3292)] = 107538, + [SMALL_STATE(3293)] = 107579, + [SMALL_STATE(3294)] = 107626, + [SMALL_STATE(3295)] = 107691, + [SMALL_STATE(3296)] = 107754, + [SMALL_STATE(3297)] = 107837, + [SMALL_STATE(3298)] = 107920, + [SMALL_STATE(3299)] = 107983, + [SMALL_STATE(3300)] = 108063, + [SMALL_STATE(3301)] = 108143, + [SMALL_STATE(3302)] = 108205, + [SMALL_STATE(3303)] = 108269, + [SMALL_STATE(3304)] = 108335, + [SMALL_STATE(3305)] = 108403, + [SMALL_STATE(3306)] = 108473, + [SMALL_STATE(3307)] = 108543, + [SMALL_STATE(3308)] = 108615, + [SMALL_STATE(3309)] = 108665, + [SMALL_STATE(3310)] = 108719, + [SMALL_STATE(3311)] = 108793, + [SMALL_STATE(3312)] = 108867, + [SMALL_STATE(3313)] = 108947, + [SMALL_STATE(3314)] = 108985, + [SMALL_STATE(3315)] = 109023, + [SMALL_STATE(3316)] = 109097, + [SMALL_STATE(3317)] = 109171, + [SMALL_STATE(3318)] = 109245, + [SMALL_STATE(3319)] = 109323, + [SMALL_STATE(3320)] = 109397, + [SMALL_STATE(3321)] = 109471, + [SMALL_STATE(3322)] = 109549, + [SMALL_STATE(3323)] = 109587, + [SMALL_STATE(3324)] = 109667, + [SMALL_STATE(3325)] = 109747, + [SMALL_STATE(3326)] = 109821, + [SMALL_STATE(3327)] = 109895, + [SMALL_STATE(3328)] = 109971, + [SMALL_STATE(3329)] = 110045, + [SMALL_STATE(3330)] = 110119, + [SMALL_STATE(3331)] = 110199, + [SMALL_STATE(3332)] = 110279, + [SMALL_STATE(3333)] = 110359, + [SMALL_STATE(3334)] = 110439, + [SMALL_STATE(3335)] = 110493, + [SMALL_STATE(3336)] = 110571, + [SMALL_STATE(3337)] = 110609, + [SMALL_STATE(3338)] = 110689, + [SMALL_STATE(3339)] = 110747, + [SMALL_STATE(3340)] = 110803, + [SMALL_STATE(3341)] = 110863, + [SMALL_STATE(3342)] = 110927, + [SMALL_STATE(3343)] = 110993, + [SMALL_STATE(3344)] = 111067, + [SMALL_STATE(3345)] = 111147, + [SMALL_STATE(3346)] = 111185, + [SMALL_STATE(3347)] = 111223, + [SMALL_STATE(3348)] = 111261, + [SMALL_STATE(3349)] = 111299, + [SMALL_STATE(3350)] = 111373, + [SMALL_STATE(3351)] = 111453, + [SMALL_STATE(3352)] = 111533, + [SMALL_STATE(3353)] = 111613, + [SMALL_STATE(3354)] = 111693, + [SMALL_STATE(3355)] = 111773, + [SMALL_STATE(3356)] = 111853, + [SMALL_STATE(3357)] = 111931, + [SMALL_STATE(3358)] = 111999, + [SMALL_STATE(3359)] = 112037, + [SMALL_STATE(3360)] = 112107, + [SMALL_STATE(3361)] = 112177, + [SMALL_STATE(3362)] = 112257, + [SMALL_STATE(3363)] = 112337, + [SMALL_STATE(3364)] = 112409, + [SMALL_STATE(3365)] = 112487, + [SMALL_STATE(3366)] = 112561, + [SMALL_STATE(3367)] = 112635, + [SMALL_STATE(3368)] = 112673, + [SMALL_STATE(3369)] = 112751, + [SMALL_STATE(3370)] = 112799, + [SMALL_STATE(3371)] = 112853, + [SMALL_STATE(3372)] = 112933, + [SMALL_STATE(3373)] = 113013, + [SMALL_STATE(3374)] = 113087, + [SMALL_STATE(3375)] = 113163, + [SMALL_STATE(3376)] = 113203, + [SMALL_STATE(3377)] = 113241, + [SMALL_STATE(3378)] = 113319, + [SMALL_STATE(3379)] = 113397, + [SMALL_STATE(3380)] = 113459, + [SMALL_STATE(3381)] = 113509, + [SMALL_STATE(3382)] = 113587, + [SMALL_STATE(3383)] = 113667, + [SMALL_STATE(3384)] = 113741, + [SMALL_STATE(3385)] = 113821, + [SMALL_STATE(3386)] = 113895, + [SMALL_STATE(3387)] = 113975, + [SMALL_STATE(3388)] = 114035, + [SMALL_STATE(3389)] = 114115, + [SMALL_STATE(3390)] = 114195, + [SMALL_STATE(3391)] = 114251, + [SMALL_STATE(3392)] = 114299, + [SMALL_STATE(3393)] = 114379, + [SMALL_STATE(3394)] = 114417, + [SMALL_STATE(3395)] = 114455, + [SMALL_STATE(3396)] = 114529, + [SMALL_STATE(3397)] = 114609, + [SMALL_STATE(3398)] = 114647, + [SMALL_STATE(3399)] = 114727, + [SMALL_STATE(3400)] = 114765, + [SMALL_STATE(3401)] = 114845, + [SMALL_STATE(3402)] = 114885, + [SMALL_STATE(3403)] = 114959, + [SMALL_STATE(3404)] = 115039, + [SMALL_STATE(3405)] = 115119, + [SMALL_STATE(3406)] = 115199, + [SMALL_STATE(3407)] = 115273, + [SMALL_STATE(3408)] = 115347, + [SMALL_STATE(3409)] = 115421, + [SMALL_STATE(3410)] = 115495, + [SMALL_STATE(3411)] = 115569, + [SMALL_STATE(3412)] = 115649, + [SMALL_STATE(3413)] = 115723, + [SMALL_STATE(3414)] = 115797, + [SMALL_STATE(3415)] = 115877, + [SMALL_STATE(3416)] = 115951, + [SMALL_STATE(3417)] = 115989, + [SMALL_STATE(3418)] = 116027, + [SMALL_STATE(3419)] = 116065, + [SMALL_STATE(3420)] = 116119, + [SMALL_STATE(3421)] = 116193, + [SMALL_STATE(3422)] = 116231, + [SMALL_STATE(3423)] = 116311, + [SMALL_STATE(3424)] = 116391, + [SMALL_STATE(3425)] = 116471, + [SMALL_STATE(3426)] = 116545, + [SMALL_STATE(3427)] = 116625, + [SMALL_STATE(3428)] = 116679, + [SMALL_STATE(3429)] = 116759, + [SMALL_STATE(3430)] = 116833, + [SMALL_STATE(3431)] = 116913, + [SMALL_STATE(3432)] = 116993, + [SMALL_STATE(3433)] = 117067, + [SMALL_STATE(3434)] = 117141, + [SMALL_STATE(3435)] = 117221, + [SMALL_STATE(3436)] = 117295, + [SMALL_STATE(3437)] = 117375, + [SMALL_STATE(3438)] = 117449, + [SMALL_STATE(3439)] = 117523, + [SMALL_STATE(3440)] = 117603, + [SMALL_STATE(3441)] = 117683, + [SMALL_STATE(3442)] = 117763, + [SMALL_STATE(3443)] = 117843, + [SMALL_STATE(3444)] = 117923, + [SMALL_STATE(3445)] = 118003, + [SMALL_STATE(3446)] = 118083, + [SMALL_STATE(3447)] = 118157, + [SMALL_STATE(3448)] = 118217, + [SMALL_STATE(3449)] = 118267, + [SMALL_STATE(3450)] = 118321, + [SMALL_STATE(3451)] = 118401, + [SMALL_STATE(3452)] = 118481, + [SMALL_STATE(3453)] = 118555, + [SMALL_STATE(3454)] = 118635, + [SMALL_STATE(3455)] = 118673, + [SMALL_STATE(3456)] = 118751, + [SMALL_STATE(3457)] = 118829, + [SMALL_STATE(3458)] = 118909, + [SMALL_STATE(3459)] = 118983, + [SMALL_STATE(3460)] = 119063, + [SMALL_STATE(3461)] = 119137, + [SMALL_STATE(3462)] = 119211, + [SMALL_STATE(3463)] = 119291, + [SMALL_STATE(3464)] = 119369, + [SMALL_STATE(3465)] = 119407, + [SMALL_STATE(3466)] = 119487, + [SMALL_STATE(3467)] = 119567, + [SMALL_STATE(3468)] = 119605, + [SMALL_STATE(3469)] = 119683, + [SMALL_STATE(3470)] = 119763, + [SMALL_STATE(3471)] = 119837, + [SMALL_STATE(3472)] = 119917, + [SMALL_STATE(3473)] = 119997, + [SMALL_STATE(3474)] = 120071, + [SMALL_STATE(3475)] = 120145, + [SMALL_STATE(3476)] = 120225, + [SMALL_STATE(3477)] = 120263, + [SMALL_STATE(3478)] = 120301, + [SMALL_STATE(3479)] = 120339, + [SMALL_STATE(3480)] = 120413, + [SMALL_STATE(3481)] = 120493, + [SMALL_STATE(3482)] = 120573, + [SMALL_STATE(3483)] = 120647, + [SMALL_STATE(3484)] = 120708, + [SMALL_STATE(3485)] = 120785, + [SMALL_STATE(3486)] = 120862, + [SMALL_STATE(3487)] = 120939, + [SMALL_STATE(3488)] = 120976, + [SMALL_STATE(3489)] = 121053, + [SMALL_STATE(3490)] = 121130, + [SMALL_STATE(3491)] = 121207, + [SMALL_STATE(3492)] = 121284, + [SMALL_STATE(3493)] = 121361, + [SMALL_STATE(3494)] = 121438, + [SMALL_STATE(3495)] = 121475, + [SMALL_STATE(3496)] = 121538, + [SMALL_STATE(3497)] = 121615, + [SMALL_STATE(3498)] = 121688, + [SMALL_STATE(3499)] = 121763, + [SMALL_STATE(3500)] = 121824, + [SMALL_STATE(3501)] = 121901, + [SMALL_STATE(3502)] = 121978, + [SMALL_STATE(3503)] = 122031, + [SMALL_STATE(3504)] = 122102, + [SMALL_STATE(3505)] = 122149, + [SMALL_STATE(3506)] = 122198, + [SMALL_STATE(3507)] = 122267, + [SMALL_STATE(3508)] = 122344, + [SMALL_STATE(3509)] = 122391, + [SMALL_STATE(3510)] = 122460, + [SMALL_STATE(3511)] = 122523, + [SMALL_STATE(3512)] = 122562, + [SMALL_STATE(3513)] = 122639, + [SMALL_STATE(3514)] = 122696, + [SMALL_STATE(3515)] = 122773, + [SMALL_STATE(3516)] = 122840, + [SMALL_STATE(3517)] = 122905, + [SMALL_STATE(3518)] = 122962, + [SMALL_STATE(3519)] = 122999, + [SMALL_STATE(3520)] = 123036, + [SMALL_STATE(3521)] = 123073, + [SMALL_STATE(3522)] = 123110, + [SMALL_STATE(3523)] = 123147, + [SMALL_STATE(3524)] = 123210, + [SMALL_STATE(3525)] = 123269, + [SMALL_STATE(3526)] = 123306, + [SMALL_STATE(3527)] = 123343, + [SMALL_STATE(3528)] = 123380, + [SMALL_STATE(3529)] = 123435, + [SMALL_STATE(3530)] = 123474, + [SMALL_STATE(3531)] = 123511, + [SMALL_STATE(3532)] = 123548, + [SMALL_STATE(3533)] = 123585, + [SMALL_STATE(3534)] = 123642, + [SMALL_STATE(3535)] = 123719, + [SMALL_STATE(3536)] = 123796, + [SMALL_STATE(3537)] = 123833, + [SMALL_STATE(3538)] = 123870, + [SMALL_STATE(3539)] = 123947, + [SMALL_STATE(3540)] = 124024, + [SMALL_STATE(3541)] = 124061, + [SMALL_STATE(3542)] = 124138, + [SMALL_STATE(3543)] = 124215, + [SMALL_STATE(3544)] = 124288, + [SMALL_STATE(3545)] = 124325, + [SMALL_STATE(3546)] = 124362, + [SMALL_STATE(3547)] = 124435, + [SMALL_STATE(3548)] = 124512, + [SMALL_STATE(3549)] = 124589, + [SMALL_STATE(3550)] = 124666, + [SMALL_STATE(3551)] = 124743, + [SMALL_STATE(3552)] = 124820, + [SMALL_STATE(3553)] = 124897, + [SMALL_STATE(3554)] = 124938, + [SMALL_STATE(3555)] = 124975, + [SMALL_STATE(3556)] = 125012, + [SMALL_STATE(3557)] = 125089, + [SMALL_STATE(3558)] = 125126, + [SMALL_STATE(3559)] = 125163, + [SMALL_STATE(3560)] = 125240, + [SMALL_STATE(3561)] = 125297, + [SMALL_STATE(3562)] = 125374, + [SMALL_STATE(3563)] = 125433, + [SMALL_STATE(3564)] = 125510, + [SMALL_STATE(3565)] = 125587, + [SMALL_STATE(3566)] = 125646, + [SMALL_STATE(3567)] = 125723, + [SMALL_STATE(3568)] = 125786, + [SMALL_STATE(3569)] = 125863, + [SMALL_STATE(3570)] = 125940, + [SMALL_STATE(3571)] = 125999, + [SMALL_STATE(3572)] = 126076, + [SMALL_STATE(3573)] = 126139, + [SMALL_STATE(3574)] = 126212, + [SMALL_STATE(3575)] = 126271, + [SMALL_STATE(3576)] = 126334, + [SMALL_STATE(3577)] = 126411, + [SMALL_STATE(3578)] = 126488, + [SMALL_STATE(3579)] = 126565, + [SMALL_STATE(3580)] = 126628, + [SMALL_STATE(3581)] = 126705, + [SMALL_STATE(3582)] = 126782, + [SMALL_STATE(3583)] = 126827, + [SMALL_STATE(3584)] = 126904, + [SMALL_STATE(3585)] = 126981, + [SMALL_STATE(3586)] = 127018, + [SMALL_STATE(3587)] = 127095, + [SMALL_STATE(3588)] = 127172, + [SMALL_STATE(3589)] = 127249, + [SMALL_STATE(3590)] = 127326, + [SMALL_STATE(3591)] = 127403, + [SMALL_STATE(3592)] = 127462, + [SMALL_STATE(3593)] = 127539, + [SMALL_STATE(3594)] = 127616, + [SMALL_STATE(3595)] = 127693, + [SMALL_STATE(3596)] = 127770, + [SMALL_STATE(3597)] = 127847, + [SMALL_STATE(3598)] = 127910, + [SMALL_STATE(3599)] = 127987, + [SMALL_STATE(3600)] = 128064, + [SMALL_STATE(3601)] = 128141, + [SMALL_STATE(3602)] = 128218, + [SMALL_STATE(3603)] = 128295, + [SMALL_STATE(3604)] = 128372, + [SMALL_STATE(3605)] = 128449, + [SMALL_STATE(3606)] = 128526, + [SMALL_STATE(3607)] = 128603, + [SMALL_STATE(3608)] = 128680, + [SMALL_STATE(3609)] = 128757, + [SMALL_STATE(3610)] = 128820, + [SMALL_STATE(3611)] = 128897, + [SMALL_STATE(3612)] = 128974, + [SMALL_STATE(3613)] = 129051, + [SMALL_STATE(3614)] = 129128, + [SMALL_STATE(3615)] = 129205, + [SMALL_STATE(3616)] = 129282, + [SMALL_STATE(3617)] = 129359, + [SMALL_STATE(3618)] = 129436, + [SMALL_STATE(3619)] = 129513, + [SMALL_STATE(3620)] = 129590, + [SMALL_STATE(3621)] = 129667, + [SMALL_STATE(3622)] = 129744, + [SMALL_STATE(3623)] = 129821, + [SMALL_STATE(3624)] = 129898, + [SMALL_STATE(3625)] = 129975, + [SMALL_STATE(3626)] = 130052, + [SMALL_STATE(3627)] = 130129, + [SMALL_STATE(3628)] = 130206, + [SMALL_STATE(3629)] = 130283, + [SMALL_STATE(3630)] = 130342, + [SMALL_STATE(3631)] = 130419, + [SMALL_STATE(3632)] = 130496, + [SMALL_STATE(3633)] = 130573, + [SMALL_STATE(3634)] = 130650, + [SMALL_STATE(3635)] = 130727, + [SMALL_STATE(3636)] = 130804, + [SMALL_STATE(3637)] = 130853, + [SMALL_STATE(3638)] = 130930, + [SMALL_STATE(3639)] = 131007, + [SMALL_STATE(3640)] = 131066, + [SMALL_STATE(3641)] = 131143, + [SMALL_STATE(3642)] = 131220, + [SMALL_STATE(3643)] = 131297, + [SMALL_STATE(3644)] = 131346, + [SMALL_STATE(3645)] = 131423, + [SMALL_STATE(3646)] = 131500, + [SMALL_STATE(3647)] = 131577, + [SMALL_STATE(3648)] = 131654, + [SMALL_STATE(3649)] = 131731, + [SMALL_STATE(3650)] = 131790, + [SMALL_STATE(3651)] = 131867, + [SMALL_STATE(3652)] = 131944, + [SMALL_STATE(3653)] = 132021, + [SMALL_STATE(3654)] = 132098, + [SMALL_STATE(3655)] = 132175, + [SMALL_STATE(3656)] = 132234, + [SMALL_STATE(3657)] = 132311, + [SMALL_STATE(3658)] = 132388, + [SMALL_STATE(3659)] = 132465, + [SMALL_STATE(3660)] = 132542, + [SMALL_STATE(3661)] = 132619, + [SMALL_STATE(3662)] = 132696, + [SMALL_STATE(3663)] = 132773, + [SMALL_STATE(3664)] = 132850, + [SMALL_STATE(3665)] = 132927, + [SMALL_STATE(3666)] = 133004, + [SMALL_STATE(3667)] = 133081, + [SMALL_STATE(3668)] = 133158, + [SMALL_STATE(3669)] = 133235, + [SMALL_STATE(3670)] = 133312, + [SMALL_STATE(3671)] = 133389, + [SMALL_STATE(3672)] = 133466, + [SMALL_STATE(3673)] = 133543, + [SMALL_STATE(3674)] = 133600, + [SMALL_STATE(3675)] = 133677, + [SMALL_STATE(3676)] = 133754, + [SMALL_STATE(3677)] = 133831, + [SMALL_STATE(3678)] = 133891, + [SMALL_STATE(3679)] = 133957, + [SMALL_STATE(3680)] = 134023, + [SMALL_STATE(3681)] = 134089, + [SMALL_STATE(3682)] = 134155, + [SMALL_STATE(3683)] = 134211, + [SMALL_STATE(3684)] = 134259, + [SMALL_STATE(3685)] = 134317, + [SMALL_STATE(3686)] = 134383, + [SMALL_STATE(3687)] = 134439, + [SMALL_STATE(3688)] = 134505, + [SMALL_STATE(3689)] = 134571, + [SMALL_STATE(3690)] = 134637, + [SMALL_STATE(3691)] = 134703, + [SMALL_STATE(3692)] = 134769, + [SMALL_STATE(3693)] = 134835, + [SMALL_STATE(3694)] = 134891, + [SMALL_STATE(3695)] = 134957, + [SMALL_STATE(3696)] = 135023, + [SMALL_STATE(3697)] = 135089, + [SMALL_STATE(3698)] = 135145, + [SMALL_STATE(3699)] = 135211, + [SMALL_STATE(3700)] = 135277, + [SMALL_STATE(3701)] = 135335, + [SMALL_STATE(3702)] = 135393, + [SMALL_STATE(3703)] = 135429, + [SMALL_STATE(3704)] = 135487, + [SMALL_STATE(3705)] = 135543, + [SMALL_STATE(3706)] = 135579, + [SMALL_STATE(3707)] = 135635, + [SMALL_STATE(3708)] = 135685, + [SMALL_STATE(3709)] = 135741, + [SMALL_STATE(3710)] = 135807, + [SMALL_STATE(3711)] = 135863, + [SMALL_STATE(3712)] = 135921, + [SMALL_STATE(3713)] = 135981, + [SMALL_STATE(3714)] = 136043, + [SMALL_STATE(3715)] = 136083, + [SMALL_STATE(3716)] = 136143, + [SMALL_STATE(3717)] = 136203, + [SMALL_STATE(3718)] = 136261, + [SMALL_STATE(3719)] = 136327, + [SMALL_STATE(3720)] = 136393, + [SMALL_STATE(3721)] = 136451, + [SMALL_STATE(3722)] = 136487, + [SMALL_STATE(3723)] = 136545, + [SMALL_STATE(3724)] = 136611, + [SMALL_STATE(3725)] = 136673, + [SMALL_STATE(3726)] = 136736, + [SMALL_STATE(3727)] = 136799, + [SMALL_STATE(3728)] = 136862, + [SMALL_STATE(3729)] = 136925, + [SMALL_STATE(3730)] = 136974, + [SMALL_STATE(3731)] = 137017, + [SMALL_STATE(3732)] = 137058, + [SMALL_STATE(3733)] = 137113, + [SMALL_STATE(3734)] = 137168, + [SMALL_STATE(3735)] = 137209, + [SMALL_STATE(3736)] = 137264, + [SMALL_STATE(3737)] = 137299, + [SMALL_STATE(3738)] = 137362, + [SMALL_STATE(3739)] = 137425, + [SMALL_STATE(3740)] = 137480, + [SMALL_STATE(3741)] = 137543, + [SMALL_STATE(3742)] = 137606, + [SMALL_STATE(3743)] = 137669, + [SMALL_STATE(3744)] = 137732, + [SMALL_STATE(3745)] = 137793, + [SMALL_STATE(3746)] = 137848, + [SMALL_STATE(3747)] = 137887, + [SMALL_STATE(3748)] = 137922, + [SMALL_STATE(3749)] = 137985, + [SMALL_STATE(3750)] = 138046, + [SMALL_STATE(3751)] = 138109, + [SMALL_STATE(3752)] = 138164, + [SMALL_STATE(3753)] = 138227, + [SMALL_STATE(3754)] = 138290, + [SMALL_STATE(3755)] = 138325, + [SMALL_STATE(3756)] = 138388, + [SMALL_STATE(3757)] = 138451, + [SMALL_STATE(3758)] = 138514, + [SMALL_STATE(3759)] = 138568, + [SMALL_STATE(3760)] = 138602, + [SMALL_STATE(3761)] = 138656, + [SMALL_STATE(3762)] = 138710, + [SMALL_STATE(3763)] = 138748, + [SMALL_STATE(3764)] = 138788, + [SMALL_STATE(3765)] = 138842, + [SMALL_STATE(3766)] = 138896, + [SMALL_STATE(3767)] = 138930, + [SMALL_STATE(3768)] = 138984, + [SMALL_STATE(3769)] = 139024, + [SMALL_STATE(3770)] = 139078, + [SMALL_STATE(3771)] = 139132, + [SMALL_STATE(3772)] = 139186, + [SMALL_STATE(3773)] = 139240, + [SMALL_STATE(3774)] = 139274, + [SMALL_STATE(3775)] = 139328, + [SMALL_STATE(3776)] = 139362, + [SMALL_STATE(3777)] = 139398, + [SMALL_STATE(3778)] = 139432, + [SMALL_STATE(3779)] = 139486, + [SMALL_STATE(3780)] = 139520, + [SMALL_STATE(3781)] = 139574, + [SMALL_STATE(3782)] = 139628, + [SMALL_STATE(3783)] = 139684, + [SMALL_STATE(3784)] = 139738, + [SMALL_STATE(3785)] = 139792, + [SMALL_STATE(3786)] = 139846, + [SMALL_STATE(3787)] = 139900, + [SMALL_STATE(3788)] = 139954, + [SMALL_STATE(3789)] = 140008, + [SMALL_STATE(3790)] = 140048, + [SMALL_STATE(3791)] = 140082, + [SMALL_STATE(3792)] = 140136, + [SMALL_STATE(3793)] = 140190, + [SMALL_STATE(3794)] = 140244, + [SMALL_STATE(3795)] = 140284, + [SMALL_STATE(3796)] = 140338, + [SMALL_STATE(3797)] = 140380, + [SMALL_STATE(3798)] = 140436, + [SMALL_STATE(3799)] = 140476, + [SMALL_STATE(3800)] = 140530, + [SMALL_STATE(3801)] = 140586, + [SMALL_STATE(3802)] = 140642, + [SMALL_STATE(3803)] = 140696, + [SMALL_STATE(3804)] = 140750, + [SMALL_STATE(3805)] = 140804, + [SMALL_STATE(3806)] = 140859, + [SMALL_STATE(3807)] = 140904, + [SMALL_STATE(3808)] = 140941, + [SMALL_STATE(3809)] = 140976, + [SMALL_STATE(3810)] = 141021, + [SMALL_STATE(3811)] = 141066, + [SMALL_STATE(3812)] = 141111, + [SMALL_STATE(3813)] = 141166, + [SMALL_STATE(3814)] = 141211, + [SMALL_STATE(3815)] = 141252, + [SMALL_STATE(3816)] = 141297, + [SMALL_STATE(3817)] = 141338, + [SMALL_STATE(3818)] = 141383, + [SMALL_STATE(3819)] = 141428, + [SMALL_STATE(3820)] = 141481, + [SMALL_STATE(3821)] = 141526, + [SMALL_STATE(3822)] = 141581, + [SMALL_STATE(3823)] = 141634, + [SMALL_STATE(3824)] = 141687, + [SMALL_STATE(3825)] = 141740, + [SMALL_STATE(3826)] = 141795, + [SMALL_STATE(3827)] = 141827, + [SMALL_STATE(3828)] = 141859, + [SMALL_STATE(3829)] = 141891, + [SMALL_STATE(3830)] = 141925, + [SMALL_STATE(3831)] = 141959, + [SMALL_STATE(3832)] = 141991, + [SMALL_STATE(3833)] = 142043, + [SMALL_STATE(3834)] = 142095, + [SMALL_STATE(3835)] = 142133, + [SMALL_STATE(3836)] = 142185, + [SMALL_STATE(3837)] = 142223, + [SMALL_STATE(3838)] = 142255, + [SMALL_STATE(3839)] = 142307, + [SMALL_STATE(3840)] = 142359, + [SMALL_STATE(3841)] = 142411, + [SMALL_STATE(3842)] = 142463, + [SMALL_STATE(3843)] = 142495, + [SMALL_STATE(3844)] = 142527, + [SMALL_STATE(3845)] = 142559, + [SMALL_STATE(3846)] = 142591, + [SMALL_STATE(3847)] = 142625, + [SMALL_STATE(3848)] = 142677, + [SMALL_STATE(3849)] = 142713, + [SMALL_STATE(3850)] = 142745, + [SMALL_STATE(3851)] = 142777, + [SMALL_STATE(3852)] = 142808, + [SMALL_STATE(3853)] = 142847, + [SMALL_STATE(3854)] = 142878, + [SMALL_STATE(3855)] = 142937, + [SMALL_STATE(3856)] = 142994, + [SMALL_STATE(3857)] = 143033, + [SMALL_STATE(3858)] = 143064, + [SMALL_STATE(3859)] = 143103, + [SMALL_STATE(3860)] = 143162, + [SMALL_STATE(3861)] = 143199, + [SMALL_STATE(3862)] = 143256, + [SMALL_STATE(3863)] = 143313, + [SMALL_STATE(3864)] = 143344, + [SMALL_STATE(3865)] = 143401, + [SMALL_STATE(3866)] = 143432, + [SMALL_STATE(3867)] = 143465, + [SMALL_STATE(3868)] = 143496, + [SMALL_STATE(3869)] = 143553, + [SMALL_STATE(3870)] = 143612, + [SMALL_STATE(3871)] = 143643, + [SMALL_STATE(3872)] = 143710, + [SMALL_STATE(3873)] = 143741, + [SMALL_STATE(3874)] = 143772, + [SMALL_STATE(3875)] = 143809, + [SMALL_STATE(3876)] = 143848, + [SMALL_STATE(3877)] = 143879, + [SMALL_STATE(3878)] = 143916, + [SMALL_STATE(3879)] = 143948, + [SMALL_STATE(3880)] = 143984, + [SMALL_STATE(3881)] = 144020, + [SMALL_STATE(3882)] = 144056, + [SMALL_STATE(3883)] = 144090, + [SMALL_STATE(3884)] = 144126, + [SMALL_STATE(3885)] = 144158, + [SMALL_STATE(3886)] = 144194, + [SMALL_STATE(3887)] = 144249, + [SMALL_STATE(3888)] = 144284, + [SMALL_STATE(3889)] = 144319, + [SMALL_STATE(3890)] = 144352, + [SMALL_STATE(3891)] = 144385, + [SMALL_STATE(3892)] = 144418, + [SMALL_STATE(3893)] = 144461, + [SMALL_STATE(3894)] = 144504, + [SMALL_STATE(3895)] = 144547, + [SMALL_STATE(3896)] = 144580, + [SMALL_STATE(3897)] = 144623, + [SMALL_STATE(3898)] = 144656, + [SMALL_STATE(3899)] = 144689, + [SMALL_STATE(3900)] = 144744, + [SMALL_STATE(3901)] = 144787, + [SMALL_STATE(3902)] = 144827, + [SMALL_STATE(3903)] = 144855, + [SMALL_STATE(3904)] = 144895, + [SMALL_STATE(3905)] = 144935, + [SMALL_STATE(3906)] = 144975, + [SMALL_STATE(3907)] = 145011, + [SMALL_STATE(3908)] = 145051, + [SMALL_STATE(3909)] = 145093, + [SMALL_STATE(3910)] = 145141, + [SMALL_STATE(3911)] = 145181, + [SMALL_STATE(3912)] = 145229, + [SMALL_STATE(3913)] = 145277, + [SMALL_STATE(3914)] = 145317, + [SMALL_STATE(3915)] = 145363, + [SMALL_STATE(3916)] = 145409, + [SMALL_STATE(3917)] = 145457, + [SMALL_STATE(3918)] = 145497, + [SMALL_STATE(3919)] = 145525, + [SMALL_STATE(3920)] = 145565, + [SMALL_STATE(3921)] = 145597, + [SMALL_STATE(3922)] = 145625, + [SMALL_STATE(3923)] = 145673, + [SMALL_STATE(3924)] = 145721, + [SMALL_STATE(3925)] = 145769, + [SMALL_STATE(3926)] = 145817, + [SMALL_STATE(3927)] = 145857, + [SMALL_STATE(3928)] = 145897, + [SMALL_STATE(3929)] = 145927, + [SMALL_STATE(3930)] = 145955, + [SMALL_STATE(3931)] = 146003, + [SMALL_STATE(3932)] = 146051, + [SMALL_STATE(3933)] = 146099, + [SMALL_STATE(3934)] = 146129, + [SMALL_STATE(3935)] = 146177, + [SMALL_STATE(3936)] = 146217, + [SMALL_STATE(3937)] = 146257, + [SMALL_STATE(3938)] = 146297, + [SMALL_STATE(3939)] = 146345, + [SMALL_STATE(3940)] = 146393, + [SMALL_STATE(3941)] = 146441, + [SMALL_STATE(3942)] = 146481, + [SMALL_STATE(3943)] = 146521, + [SMALL_STATE(3944)] = 146561, + [SMALL_STATE(3945)] = 146601, + [SMALL_STATE(3946)] = 146641, + [SMALL_STATE(3947)] = 146689, + [SMALL_STATE(3948)] = 146729, + [SMALL_STATE(3949)] = 146769, + [SMALL_STATE(3950)] = 146809, + [SMALL_STATE(3951)] = 146849, + [SMALL_STATE(3952)] = 146883, + [SMALL_STATE(3953)] = 146927, + [SMALL_STATE(3954)] = 146961, + [SMALL_STATE(3955)] = 147009, + [SMALL_STATE(3956)] = 147057, + [SMALL_STATE(3957)] = 147097, + [SMALL_STATE(3958)] = 147125, + [SMALL_STATE(3959)] = 147159, + [SMALL_STATE(3960)] = 147187, + [SMALL_STATE(3961)] = 147221, + [SMALL_STATE(3962)] = 147269, + [SMALL_STATE(3963)] = 147317, + [SMALL_STATE(3964)] = 147365, + [SMALL_STATE(3965)] = 147393, + [SMALL_STATE(3966)] = 147421, + [SMALL_STATE(3967)] = 147469, + [SMALL_STATE(3968)] = 147517, + [SMALL_STATE(3969)] = 147565, + [SMALL_STATE(3970)] = 147615, + [SMALL_STATE(3971)] = 147655, + [SMALL_STATE(3972)] = 147695, + [SMALL_STATE(3973)] = 147735, + [SMALL_STATE(3974)] = 147775, + [SMALL_STATE(3975)] = 147805, + [SMALL_STATE(3976)] = 147845, + [SMALL_STATE(3977)] = 147885, + [SMALL_STATE(3978)] = 147925, + [SMALL_STATE(3979)] = 147965, + [SMALL_STATE(3980)] = 148013, + [SMALL_STATE(3981)] = 148061, + [SMALL_STATE(3982)] = 148109, + [SMALL_STATE(3983)] = 148149, + [SMALL_STATE(3984)] = 148177, + [SMALL_STATE(3985)] = 148217, + [SMALL_STATE(3986)] = 148265, + [SMALL_STATE(3987)] = 148293, + [SMALL_STATE(3988)] = 148341, + [SMALL_STATE(3989)] = 148389, + [SMALL_STATE(3990)] = 148437, + [SMALL_STATE(3991)] = 148485, + [SMALL_STATE(3992)] = 148533, + [SMALL_STATE(3993)] = 148563, + [SMALL_STATE(3994)] = 148603, + [SMALL_STATE(3995)] = 148651, + [SMALL_STATE(3996)] = 148699, + [SMALL_STATE(3997)] = 148726, + [SMALL_STATE(3998)] = 148753, + [SMALL_STATE(3999)] = 148780, + [SMALL_STATE(4000)] = 148807, + [SMALL_STATE(4001)] = 148834, + [SMALL_STATE(4002)] = 148863, + [SMALL_STATE(4003)] = 148890, + [SMALL_STATE(4004)] = 148917, + [SMALL_STATE(4005)] = 148974, + [SMALL_STATE(4006)] = 149019, + [SMALL_STATE(4007)] = 149062, + [SMALL_STATE(4008)] = 149103, + [SMALL_STATE(4009)] = 149142, + [SMALL_STATE(4010)] = 149187, + [SMALL_STATE(4011)] = 149244, + [SMALL_STATE(4012)] = 149301, + [SMALL_STATE(4013)] = 149338, + [SMALL_STATE(4014)] = 149365, + [SMALL_STATE(4015)] = 149396, + [SMALL_STATE(4016)] = 149423, + [SMALL_STATE(4017)] = 149450, + [SMALL_STATE(4018)] = 149485, + [SMALL_STATE(4019)] = 149518, + [SMALL_STATE(4020)] = 149545, + [SMALL_STATE(4021)] = 149576, + [SMALL_STATE(4022)] = 149603, + [SMALL_STATE(4023)] = 149630, + [SMALL_STATE(4024)] = 149657, + [SMALL_STATE(4025)] = 149684, + [SMALL_STATE(4026)] = 149711, + [SMALL_STATE(4027)] = 149756, + [SMALL_STATE(4028)] = 149783, + [SMALL_STATE(4029)] = 149810, + [SMALL_STATE(4030)] = 149855, + [SMALL_STATE(4031)] = 149882, + [SMALL_STATE(4032)] = 149909, + [SMALL_STATE(4033)] = 149966, + [SMALL_STATE(4034)] = 150023, + [SMALL_STATE(4035)] = 150050, + [SMALL_STATE(4036)] = 150107, + [SMALL_STATE(4037)] = 150134, + [SMALL_STATE(4038)] = 150161, + [SMALL_STATE(4039)] = 150206, + [SMALL_STATE(4040)] = 150263, + [SMALL_STATE(4041)] = 150320, + [SMALL_STATE(4042)] = 150377, + [SMALL_STATE(4043)] = 150434, + [SMALL_STATE(4044)] = 150483, + [SMALL_STATE(4045)] = 150540, + [SMALL_STATE(4046)] = 150597, + [SMALL_STATE(4047)] = 150624, + [SMALL_STATE(4048)] = 150651, + [SMALL_STATE(4049)] = 150678, + [SMALL_STATE(4050)] = 150735, + [SMALL_STATE(4051)] = 150792, + [SMALL_STATE(4052)] = 150849, + [SMALL_STATE(4053)] = 150906, + [SMALL_STATE(4054)] = 150933, + [SMALL_STATE(4055)] = 150990, + [SMALL_STATE(4056)] = 151017, + [SMALL_STATE(4057)] = 151074, + [SMALL_STATE(4058)] = 151131, + [SMALL_STATE(4059)] = 151158, + [SMALL_STATE(4060)] = 151215, + [SMALL_STATE(4061)] = 151272, + [SMALL_STATE(4062)] = 151329, + [SMALL_STATE(4063)] = 151386, + [SMALL_STATE(4064)] = 151413, + [SMALL_STATE(4065)] = 151470, + [SMALL_STATE(4066)] = 151497, + [SMALL_STATE(4067)] = 151524, + [SMALL_STATE(4068)] = 151581, + [SMALL_STATE(4069)] = 151608, + [SMALL_STATE(4070)] = 151665, + [SMALL_STATE(4071)] = 151722, + [SMALL_STATE(4072)] = 151749, + [SMALL_STATE(4073)] = 151776, + [SMALL_STATE(4074)] = 151803, + [SMALL_STATE(4075)] = 151830, + [SMALL_STATE(4076)] = 151879, + [SMALL_STATE(4077)] = 151906, + [SMALL_STATE(4078)] = 151933, + [SMALL_STATE(4079)] = 151960, + [SMALL_STATE(4080)] = 151987, + [SMALL_STATE(4081)] = 152014, + [SMALL_STATE(4082)] = 152041, + [SMALL_STATE(4083)] = 152068, + [SMALL_STATE(4084)] = 152095, + [SMALL_STATE(4085)] = 152122, + [SMALL_STATE(4086)] = 152149, + [SMALL_STATE(4087)] = 152176, + [SMALL_STATE(4088)] = 152233, + [SMALL_STATE(4089)] = 152260, + [SMALL_STATE(4090)] = 152287, + [SMALL_STATE(4091)] = 152314, + [SMALL_STATE(4092)] = 152341, + [SMALL_STATE(4093)] = 152368, + [SMALL_STATE(4094)] = 152425, + [SMALL_STATE(4095)] = 152452, + [SMALL_STATE(4096)] = 152497, + [SMALL_STATE(4097)] = 152524, + [SMALL_STATE(4098)] = 152581, + [SMALL_STATE(4099)] = 152638, + [SMALL_STATE(4100)] = 152695, + [SMALL_STATE(4101)] = 152752, + [SMALL_STATE(4102)] = 152779, + [SMALL_STATE(4103)] = 152820, + [SMALL_STATE(4104)] = 152847, + [SMALL_STATE(4105)] = 152904, + [SMALL_STATE(4106)] = 152931, + [SMALL_STATE(4107)] = 152988, + [SMALL_STATE(4108)] = 153045, + [SMALL_STATE(4109)] = 153072, + [SMALL_STATE(4110)] = 153117, + [SMALL_STATE(4111)] = 153144, + [SMALL_STATE(4112)] = 153201, + [SMALL_STATE(4113)] = 153258, + [SMALL_STATE(4114)] = 153285, + [SMALL_STATE(4115)] = 153330, + [SMALL_STATE(4116)] = 153387, + [SMALL_STATE(4117)] = 153414, + [SMALL_STATE(4118)] = 153471, + [SMALL_STATE(4119)] = 153498, + [SMALL_STATE(4120)] = 153525, + [SMALL_STATE(4121)] = 153582, + [SMALL_STATE(4122)] = 153609, + [SMALL_STATE(4123)] = 153636, + [SMALL_STATE(4124)] = 153681, + [SMALL_STATE(4125)] = 153708, + [SMALL_STATE(4126)] = 153735, + [SMALL_STATE(4127)] = 153762, + [SMALL_STATE(4128)] = 153789, + [SMALL_STATE(4129)] = 153846, + [SMALL_STATE(4130)] = 153903, + [SMALL_STATE(4131)] = 153960, + [SMALL_STATE(4132)] = 154017, + [SMALL_STATE(4133)] = 154044, + [SMALL_STATE(4134)] = 154101, + [SMALL_STATE(4135)] = 154158, + [SMALL_STATE(4136)] = 154185, + [SMALL_STATE(4137)] = 154212, + [SMALL_STATE(4138)] = 154269, + [SMALL_STATE(4139)] = 154326, + [SMALL_STATE(4140)] = 154383, + [SMALL_STATE(4141)] = 154440, + [SMALL_STATE(4142)] = 154485, + [SMALL_STATE(4143)] = 154525, + [SMALL_STATE(4144)] = 154565, + [SMALL_STATE(4145)] = 154616, + [SMALL_STATE(4146)] = 154667, + [SMALL_STATE(4147)] = 154718, + [SMALL_STATE(4148)] = 154769, + [SMALL_STATE(4149)] = 154810, + [SMALL_STATE(4150)] = 154861, + [SMALL_STATE(4151)] = 154902, + [SMALL_STATE(4152)] = 154953, + [SMALL_STATE(4153)] = 154994, + [SMALL_STATE(4154)] = 155045, + [SMALL_STATE(4155)] = 155096, + [SMALL_STATE(4156)] = 155147, + [SMALL_STATE(4157)] = 155198, + [SMALL_STATE(4158)] = 155249, + [SMALL_STATE(4159)] = 155300, + [SMALL_STATE(4160)] = 155351, + [SMALL_STATE(4161)] = 155402, + [SMALL_STATE(4162)] = 155453, + [SMALL_STATE(4163)] = 155504, + [SMALL_STATE(4164)] = 155545, + [SMALL_STATE(4165)] = 155596, + [SMALL_STATE(4166)] = 155647, + [SMALL_STATE(4167)] = 155676, + [SMALL_STATE(4168)] = 155727, + [SMALL_STATE(4169)] = 155780, + [SMALL_STATE(4170)] = 155831, + [SMALL_STATE(4171)] = 155882, + [SMALL_STATE(4172)] = 155933, + [SMALL_STATE(4173)] = 155984, + [SMALL_STATE(4174)] = 156035, + [SMALL_STATE(4175)] = 156086, + [SMALL_STATE(4176)] = 156137, + [SMALL_STATE(4177)] = 156188, + [SMALL_STATE(4178)] = 156239, + [SMALL_STATE(4179)] = 156290, + [SMALL_STATE(4180)] = 156341, + [SMALL_STATE(4181)] = 156392, + [SMALL_STATE(4182)] = 156443, + [SMALL_STATE(4183)] = 156494, + [SMALL_STATE(4184)] = 156545, + [SMALL_STATE(4185)] = 156596, + [SMALL_STATE(4186)] = 156647, + [SMALL_STATE(4187)] = 156698, + [SMALL_STATE(4188)] = 156751, + [SMALL_STATE(4189)] = 156804, + [SMALL_STATE(4190)] = 156855, + [SMALL_STATE(4191)] = 156906, + [SMALL_STATE(4192)] = 156957, + [SMALL_STATE(4193)] = 157008, + [SMALL_STATE(4194)] = 157059, + [SMALL_STATE(4195)] = 157105, + [SMALL_STATE(4196)] = 157151, + [SMALL_STATE(4197)] = 157197, + [SMALL_STATE(4198)] = 157243, + [SMALL_STATE(4199)] = 157289, + [SMALL_STATE(4200)] = 157335, + [SMALL_STATE(4201)] = 157373, + [SMALL_STATE(4202)] = 157419, + [SMALL_STATE(4203)] = 157471, + [SMALL_STATE(4204)] = 157523, + [SMALL_STATE(4205)] = 157569, + [SMALL_STATE(4206)] = 157615, + [SMALL_STATE(4207)] = 157661, + [SMALL_STATE(4208)] = 157707, + [SMALL_STATE(4209)] = 157745, + [SMALL_STATE(4210)] = 157791, + [SMALL_STATE(4211)] = 157837, + [SMALL_STATE(4212)] = 157883, + [SMALL_STATE(4213)] = 157921, + [SMALL_STATE(4214)] = 157967, + [SMALL_STATE(4215)] = 158013, + [SMALL_STATE(4216)] = 158051, + [SMALL_STATE(4217)] = 158097, + [SMALL_STATE(4218)] = 158149, + [SMALL_STATE(4219)] = 158195, + [SMALL_STATE(4220)] = 158240, + [SMALL_STATE(4221)] = 158285, + [SMALL_STATE(4222)] = 158330, + [SMALL_STATE(4223)] = 158375, + [SMALL_STATE(4224)] = 158420, + [SMALL_STATE(4225)] = 158465, + [SMALL_STATE(4226)] = 158510, + [SMALL_STATE(4227)] = 158555, + [SMALL_STATE(4228)] = 158600, + [SMALL_STATE(4229)] = 158645, + [SMALL_STATE(4230)] = 158690, + [SMALL_STATE(4231)] = 158735, + [SMALL_STATE(4232)] = 158782, + [SMALL_STATE(4233)] = 158827, + [SMALL_STATE(4234)] = 158872, + [SMALL_STATE(4235)] = 158917, + [SMALL_STATE(4236)] = 158962, + [SMALL_STATE(4237)] = 159007, + [SMALL_STATE(4238)] = 159052, + [SMALL_STATE(4239)] = 159097, + [SMALL_STATE(4240)] = 159142, + [SMALL_STATE(4241)] = 159187, + [SMALL_STATE(4242)] = 159232, + [SMALL_STATE(4243)] = 159277, + [SMALL_STATE(4244)] = 159322, + [SMALL_STATE(4245)] = 159367, + [SMALL_STATE(4246)] = 159412, + [SMALL_STATE(4247)] = 159457, + [SMALL_STATE(4248)] = 159502, + [SMALL_STATE(4249)] = 159547, + [SMALL_STATE(4250)] = 159592, + [SMALL_STATE(4251)] = 159629, + [SMALL_STATE(4252)] = 159674, + [SMALL_STATE(4253)] = 159719, + [SMALL_STATE(4254)] = 159764, + [SMALL_STATE(4255)] = 159809, + [SMALL_STATE(4256)] = 159854, + [SMALL_STATE(4257)] = 159899, + [SMALL_STATE(4258)] = 159944, + [SMALL_STATE(4259)] = 159989, + [SMALL_STATE(4260)] = 160034, + [SMALL_STATE(4261)] = 160079, + [SMALL_STATE(4262)] = 160124, + [SMALL_STATE(4263)] = 160169, + [SMALL_STATE(4264)] = 160214, + [SMALL_STATE(4265)] = 160259, + [SMALL_STATE(4266)] = 160304, + [SMALL_STATE(4267)] = 160349, + [SMALL_STATE(4268)] = 160394, + [SMALL_STATE(4269)] = 160439, + [SMALL_STATE(4270)] = 160484, + [SMALL_STATE(4271)] = 160529, + [SMALL_STATE(4272)] = 160574, + [SMALL_STATE(4273)] = 160619, + [SMALL_STATE(4274)] = 160664, + [SMALL_STATE(4275)] = 160709, + [SMALL_STATE(4276)] = 160754, + [SMALL_STATE(4277)] = 160799, + [SMALL_STATE(4278)] = 160844, + [SMALL_STATE(4279)] = 160889, + [SMALL_STATE(4280)] = 160934, + [SMALL_STATE(4281)] = 160979, + [SMALL_STATE(4282)] = 161024, + [SMALL_STATE(4283)] = 161069, + [SMALL_STATE(4284)] = 161114, + [SMALL_STATE(4285)] = 161159, + [SMALL_STATE(4286)] = 161204, + [SMALL_STATE(4287)] = 161249, + [SMALL_STATE(4288)] = 161294, + [SMALL_STATE(4289)] = 161339, + [SMALL_STATE(4290)] = 161384, + [SMALL_STATE(4291)] = 161429, + [SMALL_STATE(4292)] = 161474, + [SMALL_STATE(4293)] = 161519, + [SMALL_STATE(4294)] = 161564, + [SMALL_STATE(4295)] = 161609, + [SMALL_STATE(4296)] = 161654, + [SMALL_STATE(4297)] = 161699, + [SMALL_STATE(4298)] = 161744, + [SMALL_STATE(4299)] = 161789, + [SMALL_STATE(4300)] = 161834, + [SMALL_STATE(4301)] = 161879, + [SMALL_STATE(4302)] = 161924, + [SMALL_STATE(4303)] = 161969, + [SMALL_STATE(4304)] = 162014, + [SMALL_STATE(4305)] = 162059, + [SMALL_STATE(4306)] = 162099, + [SMALL_STATE(4307)] = 162141, + [SMALL_STATE(4308)] = 162187, + [SMALL_STATE(4309)] = 162227, + [SMALL_STATE(4310)] = 162269, + [SMALL_STATE(4311)] = 162307, + [SMALL_STATE(4312)] = 162345, + [SMALL_STATE(4313)] = 162391, + [SMALL_STATE(4314)] = 162431, + [SMALL_STATE(4315)] = 162477, + [SMALL_STATE(4316)] = 162515, + [SMALL_STATE(4317)] = 162557, + [SMALL_STATE(4318)] = 162597, + [SMALL_STATE(4319)] = 162643, + [SMALL_STATE(4320)] = 162689, + [SMALL_STATE(4321)] = 162727, + [SMALL_STATE(4322)] = 162767, + [SMALL_STATE(4323)] = 162809, + [SMALL_STATE(4324)] = 162855, + [SMALL_STATE(4325)] = 162895, + [SMALL_STATE(4326)] = 162933, + [SMALL_STATE(4327)] = 162979, + [SMALL_STATE(4328)] = 163021, + [SMALL_STATE(4329)] = 163067, + [SMALL_STATE(4330)] = 163105, + [SMALL_STATE(4331)] = 163147, + [SMALL_STATE(4332)] = 163185, + [SMALL_STATE(4333)] = 163225, + [SMALL_STATE(4334)] = 163271, + [SMALL_STATE(4335)] = 163317, + [SMALL_STATE(4336)] = 163363, + [SMALL_STATE(4337)] = 163401, + [SMALL_STATE(4338)] = 163439, + [SMALL_STATE(4339)] = 163479, + [SMALL_STATE(4340)] = 163521, + [SMALL_STATE(4341)] = 163563, + [SMALL_STATE(4342)] = 163605, + [SMALL_STATE(4343)] = 163647, + [SMALL_STATE(4344)] = 163689, + [SMALL_STATE(4345)] = 163727, + [SMALL_STATE(4346)] = 163765, + [SMALL_STATE(4347)] = 163807, + [SMALL_STATE(4348)] = 163849, + [SMALL_STATE(4349)] = 163885, + [SMALL_STATE(4350)] = 163923, + [SMALL_STATE(4351)] = 163969, + [SMALL_STATE(4352)] = 164007, + [SMALL_STATE(4353)] = 164045, + [SMALL_STATE(4354)] = 164091, + [SMALL_STATE(4355)] = 164129, + [SMALL_STATE(4356)] = 164169, + [SMALL_STATE(4357)] = 164207, + [SMALL_STATE(4358)] = 164240, + [SMALL_STATE(4359)] = 164273, + [SMALL_STATE(4360)] = 164306, + [SMALL_STATE(4361)] = 164339, + [SMALL_STATE(4362)] = 164372, + [SMALL_STATE(4363)] = 164405, + [SMALL_STATE(4364)] = 164438, + [SMALL_STATE(4365)] = 164471, + [SMALL_STATE(4366)] = 164504, + [SMALL_STATE(4367)] = 164537, + [SMALL_STATE(4368)] = 164576, + [SMALL_STATE(4369)] = 164615, + [SMALL_STATE(4370)] = 164656, + [SMALL_STATE(4371)] = 164689, + [SMALL_STATE(4372)] = 164716, + [SMALL_STATE(4373)] = 164749, + [SMALL_STATE(4374)] = 164782, + [SMALL_STATE(4375)] = 164815, + [SMALL_STATE(4376)] = 164848, + [SMALL_STATE(4377)] = 164881, + [SMALL_STATE(4378)] = 164914, + [SMALL_STATE(4379)] = 164947, + [SMALL_STATE(4380)] = 164986, + [SMALL_STATE(4381)] = 165025, + [SMALL_STATE(4382)] = 165052, + [SMALL_STATE(4383)] = 165093, + [SMALL_STATE(4384)] = 165126, + [SMALL_STATE(4385)] = 165159, + [SMALL_STATE(4386)] = 165200, + [SMALL_STATE(4387)] = 165241, + [SMALL_STATE(4388)] = 165280, + [SMALL_STATE(4389)] = 165313, + [SMALL_STATE(4390)] = 165354, + [SMALL_STATE(4391)] = 165378, + [SMALL_STATE(4392)] = 165414, + [SMALL_STATE(4393)] = 165436, + [SMALL_STATE(4394)] = 165472, + [SMALL_STATE(4395)] = 165508, + [SMALL_STATE(4396)] = 165532, + [SMALL_STATE(4397)] = 165568, + [SMALL_STATE(4398)] = 165604, + [SMALL_STATE(4399)] = 165640, + [SMALL_STATE(4400)] = 165676, + [SMALL_STATE(4401)] = 165708, + [SMALL_STATE(4402)] = 165742, + [SMALL_STATE(4403)] = 165778, + [SMALL_STATE(4404)] = 165814, + [SMALL_STATE(4405)] = 165850, + [SMALL_STATE(4406)] = 165886, + [SMALL_STATE(4407)] = 165922, + [SMALL_STATE(4408)] = 165958, + [SMALL_STATE(4409)] = 165994, + [SMALL_STATE(4410)] = 166030, + [SMALL_STATE(4411)] = 166054, + [SMALL_STATE(4412)] = 166090, + [SMALL_STATE(4413)] = 166126, + [SMALL_STATE(4414)] = 166162, + [SMALL_STATE(4415)] = 166198, + [SMALL_STATE(4416)] = 166221, + [SMALL_STATE(4417)] = 166248, + [SMALL_STATE(4418)] = 166267, + [SMALL_STATE(4419)] = 166286, + [SMALL_STATE(4420)] = 166319, + [SMALL_STATE(4421)] = 166338, + [SMALL_STATE(4422)] = 166357, + [SMALL_STATE(4423)] = 166390, + [SMALL_STATE(4424)] = 166409, + [SMALL_STATE(4425)] = 166432, + [SMALL_STATE(4426)] = 166451, + [SMALL_STATE(4427)] = 166470, + [SMALL_STATE(4428)] = 166489, + [SMALL_STATE(4429)] = 166508, + [SMALL_STATE(4430)] = 166527, + [SMALL_STATE(4431)] = 166560, + [SMALL_STATE(4432)] = 166579, + [SMALL_STATE(4433)] = 166612, + [SMALL_STATE(4434)] = 166641, + [SMALL_STATE(4435)] = 166660, + [SMALL_STATE(4436)] = 166679, + [SMALL_STATE(4437)] = 166712, + [SMALL_STATE(4438)] = 166731, + [SMALL_STATE(4439)] = 166758, + [SMALL_STATE(4440)] = 166781, + [SMALL_STATE(4441)] = 166802, + [SMALL_STATE(4442)] = 166825, + [SMALL_STATE(4443)] = 166844, + [SMALL_STATE(4444)] = 166863, + [SMALL_STATE(4445)] = 166890, + [SMALL_STATE(4446)] = 166917, + [SMALL_STATE(4447)] = 166944, + [SMALL_STATE(4448)] = 166977, + [SMALL_STATE(4449)] = 167004, + [SMALL_STATE(4450)] = 167023, + [SMALL_STATE(4451)] = 167056, + [SMALL_STATE(4452)] = 167075, + [SMALL_STATE(4453)] = 167094, + [SMALL_STATE(4454)] = 167113, + [SMALL_STATE(4455)] = 167146, + [SMALL_STATE(4456)] = 167177, + [SMALL_STATE(4457)] = 167200, + [SMALL_STATE(4458)] = 167219, + [SMALL_STATE(4459)] = 167242, + [SMALL_STATE(4460)] = 167269, + [SMALL_STATE(4461)] = 167288, + [SMALL_STATE(4462)] = 167307, + [SMALL_STATE(4463)] = 167336, + [SMALL_STATE(4464)] = 167359, + [SMALL_STATE(4465)] = 167380, + [SMALL_STATE(4466)] = 167413, + [SMALL_STATE(4467)] = 167432, + [SMALL_STATE(4468)] = 167465, + [SMALL_STATE(4469)] = 167492, + [SMALL_STATE(4470)] = 167511, + [SMALL_STATE(4471)] = 167538, + [SMALL_STATE(4472)] = 167571, + [SMALL_STATE(4473)] = 167592, + [SMALL_STATE(4474)] = 167611, + [SMALL_STATE(4475)] = 167644, + [SMALL_STATE(4476)] = 167675, + [SMALL_STATE(4477)] = 167698, + [SMALL_STATE(4478)] = 167717, + [SMALL_STATE(4479)] = 167740, + [SMALL_STATE(4480)] = 167767, + [SMALL_STATE(4481)] = 167800, + [SMALL_STATE(4482)] = 167823, + [SMALL_STATE(4483)] = 167842, + [SMALL_STATE(4484)] = 167875, + [SMALL_STATE(4485)] = 167898, + [SMALL_STATE(4486)] = 167925, + [SMALL_STATE(4487)] = 167944, + [SMALL_STATE(4488)] = 167963, + [SMALL_STATE(4489)] = 167982, + [SMALL_STATE(4490)] = 168001, + [SMALL_STATE(4491)] = 168024, + [SMALL_STATE(4492)] = 168043, + [SMALL_STATE(4493)] = 168062, + [SMALL_STATE(4494)] = 168080, + [SMALL_STATE(4495)] = 168106, + [SMALL_STATE(4496)] = 168122, + [SMALL_STATE(4497)] = 168140, + [SMALL_STATE(4498)] = 168162, + [SMALL_STATE(4499)] = 168180, + [SMALL_STATE(4500)] = 168212, + [SMALL_STATE(4501)] = 168230, + [SMALL_STATE(4502)] = 168248, + [SMALL_STATE(4503)] = 168266, + [SMALL_STATE(4504)] = 168296, + [SMALL_STATE(4505)] = 168312, + [SMALL_STATE(4506)] = 168344, + [SMALL_STATE(4507)] = 168362, + [SMALL_STATE(4508)] = 168394, + [SMALL_STATE(4509)] = 168410, + [SMALL_STATE(4510)] = 168428, + [SMALL_STATE(4511)] = 168444, + [SMALL_STATE(4512)] = 168466, + [SMALL_STATE(4513)] = 168498, + [SMALL_STATE(4514)] = 168516, + [SMALL_STATE(4515)] = 168546, + [SMALL_STATE(4516)] = 168576, + [SMALL_STATE(4517)] = 168598, + [SMALL_STATE(4518)] = 168624, + [SMALL_STATE(4519)] = 168646, + [SMALL_STATE(4520)] = 168664, + [SMALL_STATE(4521)] = 168682, + [SMALL_STATE(4522)] = 168704, + [SMALL_STATE(4523)] = 168734, + [SMALL_STATE(4524)] = 168756, + [SMALL_STATE(4525)] = 168772, + [SMALL_STATE(4526)] = 168790, + [SMALL_STATE(4527)] = 168822, + [SMALL_STATE(4528)] = 168852, + [SMALL_STATE(4529)] = 168868, + [SMALL_STATE(4530)] = 168890, + [SMALL_STATE(4531)] = 168912, + [SMALL_STATE(4532)] = 168928, + [SMALL_STATE(4533)] = 168946, + [SMALL_STATE(4534)] = 168978, + [SMALL_STATE(4535)] = 168996, + [SMALL_STATE(4536)] = 169028, + [SMALL_STATE(4537)] = 169050, + [SMALL_STATE(4538)] = 169072, + [SMALL_STATE(4539)] = 169090, + [SMALL_STATE(4540)] = 169112, + [SMALL_STATE(4541)] = 169134, + [SMALL_STATE(4542)] = 169160, + [SMALL_STATE(4543)] = 169190, + [SMALL_STATE(4544)] = 169206, + [SMALL_STATE(4545)] = 169232, + [SMALL_STATE(4546)] = 169264, + [SMALL_STATE(4547)] = 169290, + [SMALL_STATE(4548)] = 169312, + [SMALL_STATE(4549)] = 169338, + [SMALL_STATE(4550)] = 169356, + [SMALL_STATE(4551)] = 169386, + [SMALL_STATE(4552)] = 169402, + [SMALL_STATE(4553)] = 169418, + [SMALL_STATE(4554)] = 169450, + [SMALL_STATE(4555)] = 169476, + [SMALL_STATE(4556)] = 169508, + [SMALL_STATE(4557)] = 169534, + [SMALL_STATE(4558)] = 169550, + [SMALL_STATE(4559)] = 169582, + [SMALL_STATE(4560)] = 169598, + [SMALL_STATE(4561)] = 169616, + [SMALL_STATE(4562)] = 169638, + [SMALL_STATE(4563)] = 169660, + [SMALL_STATE(4564)] = 169692, + [SMALL_STATE(4565)] = 169714, + [SMALL_STATE(4566)] = 169736, + [SMALL_STATE(4567)] = 169752, + [SMALL_STATE(4568)] = 169774, + [SMALL_STATE(4569)] = 169806, + [SMALL_STATE(4570)] = 169832, + [SMALL_STATE(4571)] = 169850, + [SMALL_STATE(4572)] = 169866, + [SMALL_STATE(4573)] = 169898, + [SMALL_STATE(4574)] = 169916, + [SMALL_STATE(4575)] = 169934, + [SMALL_STATE(4576)] = 169966, + [SMALL_STATE(4577)] = 169988, + [SMALL_STATE(4578)] = 170014, + [SMALL_STATE(4579)] = 170040, + [SMALL_STATE(4580)] = 170056, + [SMALL_STATE(4581)] = 170088, + [SMALL_STATE(4582)] = 170120, + [SMALL_STATE(4583)] = 170136, + [SMALL_STATE(4584)] = 170166, + [SMALL_STATE(4585)] = 170182, + [SMALL_STATE(4586)] = 170204, + [SMALL_STATE(4587)] = 170236, + [SMALL_STATE(4588)] = 170268, + [SMALL_STATE(4589)] = 170286, + [SMALL_STATE(4590)] = 170312, + [SMALL_STATE(4591)] = 170333, + [SMALL_STATE(4592)] = 170354, + [SMALL_STATE(4593)] = 170383, + [SMALL_STATE(4594)] = 170402, + [SMALL_STATE(4595)] = 170419, + [SMALL_STATE(4596)] = 170436, + [SMALL_STATE(4597)] = 170455, + [SMALL_STATE(4598)] = 170480, + [SMALL_STATE(4599)] = 170497, + [SMALL_STATE(4600)] = 170518, + [SMALL_STATE(4601)] = 170535, + [SMALL_STATE(4602)] = 170556, + [SMALL_STATE(4603)] = 170573, + [SMALL_STATE(4604)] = 170600, + [SMALL_STATE(4605)] = 170625, + [SMALL_STATE(4606)] = 170650, + [SMALL_STATE(4607)] = 170679, + [SMALL_STATE(4608)] = 170708, + [SMALL_STATE(4609)] = 170737, + [SMALL_STATE(4610)] = 170758, + [SMALL_STATE(4611)] = 170779, + [SMALL_STATE(4612)] = 170808, + [SMALL_STATE(4613)] = 170829, + [SMALL_STATE(4614)] = 170858, + [SMALL_STATE(4615)] = 170875, + [SMALL_STATE(4616)] = 170904, + [SMALL_STATE(4617)] = 170925, + [SMALL_STATE(4618)] = 170942, + [SMALL_STATE(4619)] = 170969, + [SMALL_STATE(4620)] = 170990, + [SMALL_STATE(4621)] = 171011, + [SMALL_STATE(4622)] = 171030, + [SMALL_STATE(4623)] = 171051, + [SMALL_STATE(4624)] = 171072, + [SMALL_STATE(4625)] = 171093, + [SMALL_STATE(4626)] = 171110, + [SMALL_STATE(4627)] = 171127, + [SMALL_STATE(4628)] = 171148, + [SMALL_STATE(4629)] = 171165, + [SMALL_STATE(4630)] = 171192, + [SMALL_STATE(4631)] = 171213, + [SMALL_STATE(4632)] = 171234, + [SMALL_STATE(4633)] = 171263, + [SMALL_STATE(4634)] = 171284, + [SMALL_STATE(4635)] = 171305, + [SMALL_STATE(4636)] = 171326, + [SMALL_STATE(4637)] = 171355, + [SMALL_STATE(4638)] = 171380, + [SMALL_STATE(4639)] = 171401, + [SMALL_STATE(4640)] = 171422, + [SMALL_STATE(4641)] = 171451, + [SMALL_STATE(4642)] = 171472, + [SMALL_STATE(4643)] = 171501, + [SMALL_STATE(4644)] = 171530, + [SMALL_STATE(4645)] = 171559, + [SMALL_STATE(4646)] = 171580, + [SMALL_STATE(4647)] = 171607, + [SMALL_STATE(4648)] = 171628, + [SMALL_STATE(4649)] = 171657, + [SMALL_STATE(4650)] = 171678, + [SMALL_STATE(4651)] = 171695, + [SMALL_STATE(4652)] = 171724, + [SMALL_STATE(4653)] = 171753, + [SMALL_STATE(4654)] = 171774, + [SMALL_STATE(4655)] = 171803, + [SMALL_STATE(4656)] = 171829, + [SMALL_STATE(4657)] = 171855, + [SMALL_STATE(4658)] = 171881, + [SMALL_STATE(4659)] = 171895, + [SMALL_STATE(4660)] = 171915, + [SMALL_STATE(4661)] = 171939, + [SMALL_STATE(4662)] = 171965, + [SMALL_STATE(4663)] = 171991, + [SMALL_STATE(4664)] = 172009, + [SMALL_STATE(4665)] = 172031, + [SMALL_STATE(4666)] = 172051, + [SMALL_STATE(4667)] = 172071, + [SMALL_STATE(4668)] = 172085, + [SMALL_STATE(4669)] = 172099, + [SMALL_STATE(4670)] = 172125, + [SMALL_STATE(4671)] = 172149, + [SMALL_STATE(4672)] = 172177, + [SMALL_STATE(4673)] = 172193, + [SMALL_STATE(4674)] = 172209, + [SMALL_STATE(4675)] = 172235, + [SMALL_STATE(4676)] = 172255, + [SMALL_STATE(4677)] = 172271, + [SMALL_STATE(4678)] = 172297, + [SMALL_STATE(4679)] = 172311, + [SMALL_STATE(4680)] = 172327, + [SMALL_STATE(4681)] = 172347, + [SMALL_STATE(4682)] = 172363, + [SMALL_STATE(4683)] = 172377, + [SMALL_STATE(4684)] = 172403, + [SMALL_STATE(4685)] = 172427, + [SMALL_STATE(4686)] = 172447, + [SMALL_STATE(4687)] = 172461, + [SMALL_STATE(4688)] = 172475, + [SMALL_STATE(4689)] = 172489, + [SMALL_STATE(4690)] = 172505, + [SMALL_STATE(4691)] = 172521, + [SMALL_STATE(4692)] = 172535, + [SMALL_STATE(4693)] = 172551, + [SMALL_STATE(4694)] = 172565, + [SMALL_STATE(4695)] = 172579, + [SMALL_STATE(4696)] = 172599, + [SMALL_STATE(4697)] = 172613, + [SMALL_STATE(4698)] = 172639, + [SMALL_STATE(4699)] = 172665, + [SMALL_STATE(4700)] = 172685, + [SMALL_STATE(4701)] = 172701, + [SMALL_STATE(4702)] = 172727, + [SMALL_STATE(4703)] = 172745, + [SMALL_STATE(4704)] = 172763, + [SMALL_STATE(4705)] = 172789, + [SMALL_STATE(4706)] = 172817, + [SMALL_STATE(4707)] = 172837, + [SMALL_STATE(4708)] = 172851, + [SMALL_STATE(4709)] = 172865, + [SMALL_STATE(4710)] = 172879, + [SMALL_STATE(4711)] = 172907, + [SMALL_STATE(4712)] = 172921, + [SMALL_STATE(4713)] = 172941, + [SMALL_STATE(4714)] = 172959, + [SMALL_STATE(4715)] = 172977, + [SMALL_STATE(4716)] = 173001, + [SMALL_STATE(4717)] = 173015, + [SMALL_STATE(4718)] = 173041, + [SMALL_STATE(4719)] = 173061, + [SMALL_STATE(4720)] = 173085, + [SMALL_STATE(4721)] = 173107, + [SMALL_STATE(4722)] = 173131, + [SMALL_STATE(4723)] = 173151, + [SMALL_STATE(4724)] = 173169, + [SMALL_STATE(4725)] = 173189, + [SMALL_STATE(4726)] = 173215, + [SMALL_STATE(4727)] = 173235, + [SMALL_STATE(4728)] = 173261, + [SMALL_STATE(4729)] = 173287, + [SMALL_STATE(4730)] = 173307, + [SMALL_STATE(4731)] = 173330, + [SMALL_STATE(4732)] = 173349, + [SMALL_STATE(4733)] = 173372, + [SMALL_STATE(4734)] = 173391, + [SMALL_STATE(4735)] = 173410, + [SMALL_STATE(4736)] = 173429, + [SMALL_STATE(4737)] = 173450, + [SMALL_STATE(4738)] = 173475, + [SMALL_STATE(4739)] = 173500, + [SMALL_STATE(4740)] = 173519, + [SMALL_STATE(4741)] = 173538, + [SMALL_STATE(4742)] = 173557, + [SMALL_STATE(4743)] = 173576, + [SMALL_STATE(4744)] = 173599, + [SMALL_STATE(4745)] = 173622, + [SMALL_STATE(4746)] = 173645, + [SMALL_STATE(4747)] = 173664, + [SMALL_STATE(4748)] = 173685, + [SMALL_STATE(4749)] = 173710, + [SMALL_STATE(4750)] = 173733, + [SMALL_STATE(4751)] = 173752, + [SMALL_STATE(4752)] = 173775, + [SMALL_STATE(4753)] = 173794, + [SMALL_STATE(4754)] = 173813, + [SMALL_STATE(4755)] = 173838, + [SMALL_STATE(4756)] = 173853, + [SMALL_STATE(4757)] = 173876, + [SMALL_STATE(4758)] = 173895, + [SMALL_STATE(4759)] = 173918, + [SMALL_STATE(4760)] = 173937, + [SMALL_STATE(4761)] = 173962, + [SMALL_STATE(4762)] = 173985, + [SMALL_STATE(4763)] = 174008, + [SMALL_STATE(4764)] = 174033, + [SMALL_STATE(4765)] = 174058, + [SMALL_STATE(4766)] = 174081, + [SMALL_STATE(4767)] = 174104, + [SMALL_STATE(4768)] = 174127, + [SMALL_STATE(4769)] = 174150, + [SMALL_STATE(4770)] = 174169, + [SMALL_STATE(4771)] = 174186, + [SMALL_STATE(4772)] = 174201, + [SMALL_STATE(4773)] = 174224, + [SMALL_STATE(4774)] = 174243, + [SMALL_STATE(4775)] = 174262, + [SMALL_STATE(4776)] = 174285, + [SMALL_STATE(4777)] = 174310, + [SMALL_STATE(4778)] = 174329, + [SMALL_STATE(4779)] = 174354, + [SMALL_STATE(4780)] = 174377, + [SMALL_STATE(4781)] = 174394, + [SMALL_STATE(4782)] = 174409, + [SMALL_STATE(4783)] = 174428, + [SMALL_STATE(4784)] = 174451, + [SMALL_STATE(4785)] = 174476, + [SMALL_STATE(4786)] = 174495, + [SMALL_STATE(4787)] = 174520, + [SMALL_STATE(4788)] = 174545, + [SMALL_STATE(4789)] = 174560, + [SMALL_STATE(4790)] = 174579, + [SMALL_STATE(4791)] = 174604, + [SMALL_STATE(4792)] = 174619, + [SMALL_STATE(4793)] = 174638, + [SMALL_STATE(4794)] = 174655, + [SMALL_STATE(4795)] = 174680, + [SMALL_STATE(4796)] = 174705, + [SMALL_STATE(4797)] = 174724, + [SMALL_STATE(4798)] = 174747, + [SMALL_STATE(4799)] = 174766, + [SMALL_STATE(4800)] = 174785, + [SMALL_STATE(4801)] = 174804, + [SMALL_STATE(4802)] = 174827, + [SMALL_STATE(4803)] = 174850, + [SMALL_STATE(4804)] = 174873, + [SMALL_STATE(4805)] = 174892, + [SMALL_STATE(4806)] = 174915, + [SMALL_STATE(4807)] = 174938, + [SMALL_STATE(4808)] = 174957, + [SMALL_STATE(4809)] = 174982, + [SMALL_STATE(4810)] = 175005, + [SMALL_STATE(4811)] = 175024, + [SMALL_STATE(4812)] = 175049, + [SMALL_STATE(4813)] = 175068, + [SMALL_STATE(4814)] = 175091, + [SMALL_STATE(4815)] = 175110, + [SMALL_STATE(4816)] = 175125, + [SMALL_STATE(4817)] = 175144, + [SMALL_STATE(4818)] = 175161, + [SMALL_STATE(4819)] = 175180, + [SMALL_STATE(4820)] = 175203, + [SMALL_STATE(4821)] = 175218, + [SMALL_STATE(4822)] = 175241, + [SMALL_STATE(4823)] = 175260, + [SMALL_STATE(4824)] = 175275, + [SMALL_STATE(4825)] = 175298, + [SMALL_STATE(4826)] = 175315, + [SMALL_STATE(4827)] = 175334, + [SMALL_STATE(4828)] = 175357, + [SMALL_STATE(4829)] = 175376, + [SMALL_STATE(4830)] = 175393, + [SMALL_STATE(4831)] = 175412, + [SMALL_STATE(4832)] = 175429, + [SMALL_STATE(4833)] = 175446, + [SMALL_STATE(4834)] = 175469, + [SMALL_STATE(4835)] = 175486, + [SMALL_STATE(4836)] = 175509, + [SMALL_STATE(4837)] = 175525, + [SMALL_STATE(4838)] = 175543, + [SMALL_STATE(4839)] = 175561, + [SMALL_STATE(4840)] = 175579, + [SMALL_STATE(4841)] = 175597, + [SMALL_STATE(4842)] = 175615, + [SMALL_STATE(4843)] = 175629, + [SMALL_STATE(4844)] = 175647, + [SMALL_STATE(4845)] = 175665, + [SMALL_STATE(4846)] = 175683, + [SMALL_STATE(4847)] = 175701, + [SMALL_STATE(4848)] = 175715, + [SMALL_STATE(4849)] = 175733, + [SMALL_STATE(4850)] = 175751, + [SMALL_STATE(4851)] = 175769, + [SMALL_STATE(4852)] = 175787, + [SMALL_STATE(4853)] = 175801, + [SMALL_STATE(4854)] = 175819, + [SMALL_STATE(4855)] = 175837, + [SMALL_STATE(4856)] = 175851, + [SMALL_STATE(4857)] = 175869, + [SMALL_STATE(4858)] = 175883, + [SMALL_STATE(4859)] = 175901, + [SMALL_STATE(4860)] = 175915, + [SMALL_STATE(4861)] = 175933, + [SMALL_STATE(4862)] = 175953, + [SMALL_STATE(4863)] = 175967, + [SMALL_STATE(4864)] = 175981, + [SMALL_STATE(4865)] = 175994, + [SMALL_STATE(4866)] = 176011, + [SMALL_STATE(4867)] = 176028, + [SMALL_STATE(4868)] = 176041, + [SMALL_STATE(4869)] = 176058, + [SMALL_STATE(4870)] = 176075, + [SMALL_STATE(4871)] = 176092, + [SMALL_STATE(4872)] = 176109, + [SMALL_STATE(4873)] = 176126, + [SMALL_STATE(4874)] = 176145, + [SMALL_STATE(4875)] = 176164, + [SMALL_STATE(4876)] = 176181, + [SMALL_STATE(4877)] = 176198, + [SMALL_STATE(4878)] = 176215, + [SMALL_STATE(4879)] = 176232, + [SMALL_STATE(4880)] = 176249, + [SMALL_STATE(4881)] = 176268, + [SMALL_STATE(4882)] = 176285, + [SMALL_STATE(4883)] = 176302, + [SMALL_STATE(4884)] = 176319, + [SMALL_STATE(4885)] = 176336, + [SMALL_STATE(4886)] = 176351, + [SMALL_STATE(4887)] = 176366, + [SMALL_STATE(4888)] = 176385, + [SMALL_STATE(4889)] = 176402, + [SMALL_STATE(4890)] = 176419, + [SMALL_STATE(4891)] = 176438, + [SMALL_STATE(4892)] = 176455, + [SMALL_STATE(4893)] = 176472, + [SMALL_STATE(4894)] = 176489, + [SMALL_STATE(4895)] = 176508, + [SMALL_STATE(4896)] = 176525, + [SMALL_STATE(4897)] = 176544, + [SMALL_STATE(4898)] = 176561, + [SMALL_STATE(4899)] = 176574, + [SMALL_STATE(4900)] = 176591, + [SMALL_STATE(4901)] = 176608, + [SMALL_STATE(4902)] = 176625, + [SMALL_STATE(4903)] = 176642, + [SMALL_STATE(4904)] = 176659, + [SMALL_STATE(4905)] = 176675, + [SMALL_STATE(4906)] = 176691, + [SMALL_STATE(4907)] = 176707, + [SMALL_STATE(4908)] = 176723, + [SMALL_STATE(4909)] = 176739, + [SMALL_STATE(4910)] = 176753, + [SMALL_STATE(4911)] = 176769, + [SMALL_STATE(4912)] = 176785, + [SMALL_STATE(4913)] = 176799, + [SMALL_STATE(4914)] = 176815, + [SMALL_STATE(4915)] = 176831, + [SMALL_STATE(4916)] = 176847, + [SMALL_STATE(4917)] = 176863, + [SMALL_STATE(4918)] = 176879, + [SMALL_STATE(4919)] = 176895, + [SMALL_STATE(4920)] = 176911, + [SMALL_STATE(4921)] = 176927, + [SMALL_STATE(4922)] = 176943, + [SMALL_STATE(4923)] = 176959, + [SMALL_STATE(4924)] = 176975, + [SMALL_STATE(4925)] = 176991, + [SMALL_STATE(4926)] = 177007, + [SMALL_STATE(4927)] = 177023, + [SMALL_STATE(4928)] = 177039, + [SMALL_STATE(4929)] = 177055, + [SMALL_STATE(4930)] = 177071, + [SMALL_STATE(4931)] = 177087, + [SMALL_STATE(4932)] = 177103, + [SMALL_STATE(4933)] = 177119, + [SMALL_STATE(4934)] = 177135, + [SMALL_STATE(4935)] = 177151, + [SMALL_STATE(4936)] = 177165, + [SMALL_STATE(4937)] = 177179, + [SMALL_STATE(4938)] = 177195, + [SMALL_STATE(4939)] = 177209, + [SMALL_STATE(4940)] = 177225, + [SMALL_STATE(4941)] = 177241, + [SMALL_STATE(4942)] = 177257, + [SMALL_STATE(4943)] = 177273, + [SMALL_STATE(4944)] = 177289, + [SMALL_STATE(4945)] = 177305, + [SMALL_STATE(4946)] = 177321, + [SMALL_STATE(4947)] = 177337, + [SMALL_STATE(4948)] = 177353, + [SMALL_STATE(4949)] = 177369, + [SMALL_STATE(4950)] = 177385, + [SMALL_STATE(4951)] = 177401, + [SMALL_STATE(4952)] = 177413, + [SMALL_STATE(4953)] = 177427, + [SMALL_STATE(4954)] = 177443, + [SMALL_STATE(4955)] = 177459, + [SMALL_STATE(4956)] = 177473, + [SMALL_STATE(4957)] = 177489, + [SMALL_STATE(4958)] = 177505, + [SMALL_STATE(4959)] = 177519, + [SMALL_STATE(4960)] = 177535, + [SMALL_STATE(4961)] = 177551, + [SMALL_STATE(4962)] = 177567, + [SMALL_STATE(4963)] = 177583, + [SMALL_STATE(4964)] = 177599, + [SMALL_STATE(4965)] = 177613, + [SMALL_STATE(4966)] = 177629, + [SMALL_STATE(4967)] = 177645, + [SMALL_STATE(4968)] = 177661, + [SMALL_STATE(4969)] = 177677, + [SMALL_STATE(4970)] = 177693, + [SMALL_STATE(4971)] = 177709, + [SMALL_STATE(4972)] = 177725, + [SMALL_STATE(4973)] = 177741, + [SMALL_STATE(4974)] = 177757, + [SMALL_STATE(4975)] = 177773, + [SMALL_STATE(4976)] = 177787, + [SMALL_STATE(4977)] = 177803, + [SMALL_STATE(4978)] = 177819, + [SMALL_STATE(4979)] = 177835, + [SMALL_STATE(4980)] = 177851, + [SMALL_STATE(4981)] = 177867, + [SMALL_STATE(4982)] = 177883, + [SMALL_STATE(4983)] = 177899, + [SMALL_STATE(4984)] = 177913, + [SMALL_STATE(4985)] = 177929, + [SMALL_STATE(4986)] = 177945, + [SMALL_STATE(4987)] = 177959, + [SMALL_STATE(4988)] = 177975, + [SMALL_STATE(4989)] = 177991, + [SMALL_STATE(4990)] = 178007, + [SMALL_STATE(4991)] = 178021, + [SMALL_STATE(4992)] = 178037, + [SMALL_STATE(4993)] = 178053, + [SMALL_STATE(4994)] = 178069, + [SMALL_STATE(4995)] = 178085, + [SMALL_STATE(4996)] = 178099, + [SMALL_STATE(4997)] = 178115, + [SMALL_STATE(4998)] = 178131, + [SMALL_STATE(4999)] = 178147, + [SMALL_STATE(5000)] = 178163, + [SMALL_STATE(5001)] = 178179, + [SMALL_STATE(5002)] = 178195, + [SMALL_STATE(5003)] = 178211, + [SMALL_STATE(5004)] = 178227, + [SMALL_STATE(5005)] = 178243, + [SMALL_STATE(5006)] = 178255, + [SMALL_STATE(5007)] = 178271, + [SMALL_STATE(5008)] = 178287, + [SMALL_STATE(5009)] = 178303, + [SMALL_STATE(5010)] = 178315, + [SMALL_STATE(5011)] = 178331, + [SMALL_STATE(5012)] = 178347, + [SMALL_STATE(5013)] = 178363, + [SMALL_STATE(5014)] = 178379, + [SMALL_STATE(5015)] = 178395, + [SMALL_STATE(5016)] = 178411, + [SMALL_STATE(5017)] = 178427, + [SMALL_STATE(5018)] = 178443, + [SMALL_STATE(5019)] = 178459, + [SMALL_STATE(5020)] = 178475, + [SMALL_STATE(5021)] = 178489, + [SMALL_STATE(5022)] = 178505, + [SMALL_STATE(5023)] = 178521, + [SMALL_STATE(5024)] = 178537, + [SMALL_STATE(5025)] = 178553, + [SMALL_STATE(5026)] = 178569, + [SMALL_STATE(5027)] = 178585, + [SMALL_STATE(5028)] = 178599, + [SMALL_STATE(5029)] = 178613, + [SMALL_STATE(5030)] = 178629, + [SMALL_STATE(5031)] = 178645, + [SMALL_STATE(5032)] = 178661, + [SMALL_STATE(5033)] = 178677, + [SMALL_STATE(5034)] = 178691, + [SMALL_STATE(5035)] = 178707, + [SMALL_STATE(5036)] = 178723, + [SMALL_STATE(5037)] = 178739, + [SMALL_STATE(5038)] = 178755, + [SMALL_STATE(5039)] = 178771, + [SMALL_STATE(5040)] = 178787, + [SMALL_STATE(5041)] = 178803, + [SMALL_STATE(5042)] = 178819, + [SMALL_STATE(5043)] = 178835, + [SMALL_STATE(5044)] = 178851, + [SMALL_STATE(5045)] = 178867, + [SMALL_STATE(5046)] = 178883, + [SMALL_STATE(5047)] = 178899, + [SMALL_STATE(5048)] = 178915, + [SMALL_STATE(5049)] = 178931, + [SMALL_STATE(5050)] = 178947, + [SMALL_STATE(5051)] = 178963, + [SMALL_STATE(5052)] = 178979, + [SMALL_STATE(5053)] = 178995, + [SMALL_STATE(5054)] = 179011, + [SMALL_STATE(5055)] = 179025, + [SMALL_STATE(5056)] = 179041, + [SMALL_STATE(5057)] = 179057, + [SMALL_STATE(5058)] = 179073, + [SMALL_STATE(5059)] = 179089, + [SMALL_STATE(5060)] = 179103, + [SMALL_STATE(5061)] = 179119, + [SMALL_STATE(5062)] = 179135, + [SMALL_STATE(5063)] = 179151, + [SMALL_STATE(5064)] = 179167, + [SMALL_STATE(5065)] = 179183, + [SMALL_STATE(5066)] = 179199, + [SMALL_STATE(5067)] = 179215, + [SMALL_STATE(5068)] = 179231, + [SMALL_STATE(5069)] = 179245, + [SMALL_STATE(5070)] = 179261, + [SMALL_STATE(5071)] = 179277, + [SMALL_STATE(5072)] = 179293, + [SMALL_STATE(5073)] = 179309, + [SMALL_STATE(5074)] = 179325, + [SMALL_STATE(5075)] = 179341, + [SMALL_STATE(5076)] = 179357, + [SMALL_STATE(5077)] = 179373, + [SMALL_STATE(5078)] = 179389, + [SMALL_STATE(5079)] = 179405, + [SMALL_STATE(5080)] = 179421, + [SMALL_STATE(5081)] = 179437, + [SMALL_STATE(5082)] = 179453, + [SMALL_STATE(5083)] = 179467, + [SMALL_STATE(5084)] = 179483, + [SMALL_STATE(5085)] = 179499, + [SMALL_STATE(5086)] = 179515, + [SMALL_STATE(5087)] = 179531, + [SMALL_STATE(5088)] = 179541, + [SMALL_STATE(5089)] = 179557, + [SMALL_STATE(5090)] = 179573, + [SMALL_STATE(5091)] = 179587, + [SMALL_STATE(5092)] = 179603, + [SMALL_STATE(5093)] = 179619, + [SMALL_STATE(5094)] = 179635, + [SMALL_STATE(5095)] = 179651, + [SMALL_STATE(5096)] = 179667, + [SMALL_STATE(5097)] = 179683, + [SMALL_STATE(5098)] = 179699, + [SMALL_STATE(5099)] = 179715, + [SMALL_STATE(5100)] = 179731, + [SMALL_STATE(5101)] = 179745, + [SMALL_STATE(5102)] = 179761, + [SMALL_STATE(5103)] = 179775, + [SMALL_STATE(5104)] = 179789, + [SMALL_STATE(5105)] = 179805, + [SMALL_STATE(5106)] = 179821, + [SMALL_STATE(5107)] = 179837, + [SMALL_STATE(5108)] = 179853, + [SMALL_STATE(5109)] = 179869, + [SMALL_STATE(5110)] = 179879, + [SMALL_STATE(5111)] = 179895, + [SMALL_STATE(5112)] = 179911, + [SMALL_STATE(5113)] = 179927, + [SMALL_STATE(5114)] = 179941, + [SMALL_STATE(5115)] = 179955, + [SMALL_STATE(5116)] = 179971, + [SMALL_STATE(5117)] = 179987, + [SMALL_STATE(5118)] = 180003, + [SMALL_STATE(5119)] = 180019, + [SMALL_STATE(5120)] = 180035, + [SMALL_STATE(5121)] = 180051, + [SMALL_STATE(5122)] = 180067, + [SMALL_STATE(5123)] = 180083, + [SMALL_STATE(5124)] = 180099, + [SMALL_STATE(5125)] = 180115, + [SMALL_STATE(5126)] = 180131, + [SMALL_STATE(5127)] = 180147, + [SMALL_STATE(5128)] = 180163, + [SMALL_STATE(5129)] = 180173, + [SMALL_STATE(5130)] = 180189, + [SMALL_STATE(5131)] = 180205, + [SMALL_STATE(5132)] = 180221, + [SMALL_STATE(5133)] = 180237, + [SMALL_STATE(5134)] = 180253, + [SMALL_STATE(5135)] = 180269, + [SMALL_STATE(5136)] = 180285, + [SMALL_STATE(5137)] = 180301, + [SMALL_STATE(5138)] = 180317, + [SMALL_STATE(5139)] = 180333, + [SMALL_STATE(5140)] = 180349, + [SMALL_STATE(5141)] = 180365, + [SMALL_STATE(5142)] = 180381, + [SMALL_STATE(5143)] = 180397, + [SMALL_STATE(5144)] = 180407, + [SMALL_STATE(5145)] = 180421, + [SMALL_STATE(5146)] = 180437, + [SMALL_STATE(5147)] = 180451, + [SMALL_STATE(5148)] = 180467, + [SMALL_STATE(5149)] = 180481, + [SMALL_STATE(5150)] = 180497, + [SMALL_STATE(5151)] = 180513, + [SMALL_STATE(5152)] = 180529, + [SMALL_STATE(5153)] = 180545, + [SMALL_STATE(5154)] = 180561, + [SMALL_STATE(5155)] = 180577, + [SMALL_STATE(5156)] = 180587, + [SMALL_STATE(5157)] = 180603, + [SMALL_STATE(5158)] = 180619, + [SMALL_STATE(5159)] = 180629, + [SMALL_STATE(5160)] = 180645, + [SMALL_STATE(5161)] = 180661, + [SMALL_STATE(5162)] = 180677, + [SMALL_STATE(5163)] = 180693, + [SMALL_STATE(5164)] = 180709, + [SMALL_STATE(5165)] = 180725, + [SMALL_STATE(5166)] = 180741, + [SMALL_STATE(5167)] = 180757, + [SMALL_STATE(5168)] = 180773, + [SMALL_STATE(5169)] = 180789, + [SMALL_STATE(5170)] = 180805, + [SMALL_STATE(5171)] = 180821, + [SMALL_STATE(5172)] = 180837, + [SMALL_STATE(5173)] = 180853, + [SMALL_STATE(5174)] = 180869, + [SMALL_STATE(5175)] = 180885, + [SMALL_STATE(5176)] = 180895, + [SMALL_STATE(5177)] = 180911, + [SMALL_STATE(5178)] = 180927, + [SMALL_STATE(5179)] = 180943, + [SMALL_STATE(5180)] = 180959, + [SMALL_STATE(5181)] = 180975, + [SMALL_STATE(5182)] = 180991, + [SMALL_STATE(5183)] = 181005, + [SMALL_STATE(5184)] = 181021, + [SMALL_STATE(5185)] = 181037, + [SMALL_STATE(5186)] = 181053, + [SMALL_STATE(5187)] = 181069, + [SMALL_STATE(5188)] = 181085, + [SMALL_STATE(5189)] = 181101, + [SMALL_STATE(5190)] = 181114, + [SMALL_STATE(5191)] = 181127, + [SMALL_STATE(5192)] = 181140, + [SMALL_STATE(5193)] = 181153, + [SMALL_STATE(5194)] = 181166, + [SMALL_STATE(5195)] = 181179, + [SMALL_STATE(5196)] = 181192, + [SMALL_STATE(5197)] = 181205, + [SMALL_STATE(5198)] = 181218, + [SMALL_STATE(5199)] = 181231, + [SMALL_STATE(5200)] = 181244, + [SMALL_STATE(5201)] = 181257, + [SMALL_STATE(5202)] = 181268, + [SMALL_STATE(5203)] = 181281, + [SMALL_STATE(5204)] = 181294, + [SMALL_STATE(5205)] = 181307, + [SMALL_STATE(5206)] = 181320, + [SMALL_STATE(5207)] = 181331, + [SMALL_STATE(5208)] = 181344, + [SMALL_STATE(5209)] = 181357, + [SMALL_STATE(5210)] = 181370, + [SMALL_STATE(5211)] = 181383, + [SMALL_STATE(5212)] = 181392, + [SMALL_STATE(5213)] = 181405, + [SMALL_STATE(5214)] = 181418, + [SMALL_STATE(5215)] = 181431, + [SMALL_STATE(5216)] = 181444, + [SMALL_STATE(5217)] = 181457, + [SMALL_STATE(5218)] = 181470, + [SMALL_STATE(5219)] = 181483, + [SMALL_STATE(5220)] = 181496, + [SMALL_STATE(5221)] = 181509, + [SMALL_STATE(5222)] = 181522, + [SMALL_STATE(5223)] = 181535, + [SMALL_STATE(5224)] = 181548, + [SMALL_STATE(5225)] = 181561, + [SMALL_STATE(5226)] = 181574, + [SMALL_STATE(5227)] = 181587, + [SMALL_STATE(5228)] = 181598, + [SMALL_STATE(5229)] = 181611, + [SMALL_STATE(5230)] = 181624, + [SMALL_STATE(5231)] = 181637, + [SMALL_STATE(5232)] = 181650, + [SMALL_STATE(5233)] = 181663, + [SMALL_STATE(5234)] = 181672, + [SMALL_STATE(5235)] = 181685, + [SMALL_STATE(5236)] = 181698, + [SMALL_STATE(5237)] = 181711, + [SMALL_STATE(5238)] = 181724, + [SMALL_STATE(5239)] = 181737, + [SMALL_STATE(5240)] = 181750, + [SMALL_STATE(5241)] = 181763, + [SMALL_STATE(5242)] = 181776, + [SMALL_STATE(5243)] = 181789, + [SMALL_STATE(5244)] = 181802, + [SMALL_STATE(5245)] = 181815, + [SMALL_STATE(5246)] = 181828, + [SMALL_STATE(5247)] = 181841, + [SMALL_STATE(5248)] = 181854, + [SMALL_STATE(5249)] = 181867, + [SMALL_STATE(5250)] = 181880, + [SMALL_STATE(5251)] = 181893, + [SMALL_STATE(5252)] = 181906, + [SMALL_STATE(5253)] = 181919, + [SMALL_STATE(5254)] = 181932, + [SMALL_STATE(5255)] = 181945, + [SMALL_STATE(5256)] = 181958, + [SMALL_STATE(5257)] = 181971, + [SMALL_STATE(5258)] = 181984, + [SMALL_STATE(5259)] = 181997, + [SMALL_STATE(5260)] = 182010, + [SMALL_STATE(5261)] = 182023, + [SMALL_STATE(5262)] = 182036, + [SMALL_STATE(5263)] = 182049, + [SMALL_STATE(5264)] = 182062, + [SMALL_STATE(5265)] = 182075, + [SMALL_STATE(5266)] = 182088, + [SMALL_STATE(5267)] = 182099, + [SMALL_STATE(5268)] = 182112, + [SMALL_STATE(5269)] = 182125, + [SMALL_STATE(5270)] = 182138, + [SMALL_STATE(5271)] = 182151, + [SMALL_STATE(5272)] = 182164, + [SMALL_STATE(5273)] = 182177, + [SMALL_STATE(5274)] = 182190, + [SMALL_STATE(5275)] = 182203, + [SMALL_STATE(5276)] = 182216, + [SMALL_STATE(5277)] = 182229, + [SMALL_STATE(5278)] = 182242, + [SMALL_STATE(5279)] = 182255, + [SMALL_STATE(5280)] = 182268, + [SMALL_STATE(5281)] = 182281, + [SMALL_STATE(5282)] = 182294, + [SMALL_STATE(5283)] = 182307, + [SMALL_STATE(5284)] = 182320, + [SMALL_STATE(5285)] = 182333, + [SMALL_STATE(5286)] = 182346, + [SMALL_STATE(5287)] = 182359, + [SMALL_STATE(5288)] = 182372, + [SMALL_STATE(5289)] = 182385, + [SMALL_STATE(5290)] = 182398, + [SMALL_STATE(5291)] = 182411, + [SMALL_STATE(5292)] = 182424, + [SMALL_STATE(5293)] = 182437, + [SMALL_STATE(5294)] = 182450, + [SMALL_STATE(5295)] = 182463, + [SMALL_STATE(5296)] = 182476, + [SMALL_STATE(5297)] = 182489, + [SMALL_STATE(5298)] = 182502, + [SMALL_STATE(5299)] = 182515, + [SMALL_STATE(5300)] = 182528, + [SMALL_STATE(5301)] = 182541, + [SMALL_STATE(5302)] = 182550, + [SMALL_STATE(5303)] = 182563, + [SMALL_STATE(5304)] = 182576, + [SMALL_STATE(5305)] = 182589, + [SMALL_STATE(5306)] = 182602, + [SMALL_STATE(5307)] = 182615, + [SMALL_STATE(5308)] = 182628, + [SMALL_STATE(5309)] = 182641, + [SMALL_STATE(5310)] = 182654, + [SMALL_STATE(5311)] = 182667, + [SMALL_STATE(5312)] = 182680, + [SMALL_STATE(5313)] = 182693, + [SMALL_STATE(5314)] = 182706, + [SMALL_STATE(5315)] = 182717, + [SMALL_STATE(5316)] = 182730, + [SMALL_STATE(5317)] = 182743, + [SMALL_STATE(5318)] = 182756, + [SMALL_STATE(5319)] = 182769, + [SMALL_STATE(5320)] = 182782, + [SMALL_STATE(5321)] = 182795, + [SMALL_STATE(5322)] = 182808, + [SMALL_STATE(5323)] = 182821, + [SMALL_STATE(5324)] = 182834, + [SMALL_STATE(5325)] = 182847, + [SMALL_STATE(5326)] = 182860, + [SMALL_STATE(5327)] = 182873, + [SMALL_STATE(5328)] = 182886, + [SMALL_STATE(5329)] = 182899, + [SMALL_STATE(5330)] = 182912, + [SMALL_STATE(5331)] = 182925, + [SMALL_STATE(5332)] = 182938, + [SMALL_STATE(5333)] = 182951, + [SMALL_STATE(5334)] = 182964, + [SMALL_STATE(5335)] = 182977, + [SMALL_STATE(5336)] = 182990, + [SMALL_STATE(5337)] = 183003, + [SMALL_STATE(5338)] = 183016, + [SMALL_STATE(5339)] = 183027, + [SMALL_STATE(5340)] = 183036, + [SMALL_STATE(5341)] = 183049, + [SMALL_STATE(5342)] = 183062, + [SMALL_STATE(5343)] = 183073, + [SMALL_STATE(5344)] = 183086, + [SMALL_STATE(5345)] = 183099, + [SMALL_STATE(5346)] = 183112, + [SMALL_STATE(5347)] = 183125, + [SMALL_STATE(5348)] = 183138, + [SMALL_STATE(5349)] = 183151, + [SMALL_STATE(5350)] = 183164, + [SMALL_STATE(5351)] = 183177, + [SMALL_STATE(5352)] = 183190, + [SMALL_STATE(5353)] = 183203, + [SMALL_STATE(5354)] = 183216, + [SMALL_STATE(5355)] = 183229, + [SMALL_STATE(5356)] = 183242, + [SMALL_STATE(5357)] = 183255, + [SMALL_STATE(5358)] = 183268, + [SMALL_STATE(5359)] = 183281, + [SMALL_STATE(5360)] = 183290, + [SMALL_STATE(5361)] = 183303, + [SMALL_STATE(5362)] = 183316, + [SMALL_STATE(5363)] = 183329, + [SMALL_STATE(5364)] = 183342, + [SMALL_STATE(5365)] = 183355, + [SMALL_STATE(5366)] = 183368, + [SMALL_STATE(5367)] = 183381, + [SMALL_STATE(5368)] = 183394, + [SMALL_STATE(5369)] = 183407, + [SMALL_STATE(5370)] = 183420, + [SMALL_STATE(5371)] = 183433, + [SMALL_STATE(5372)] = 183446, + [SMALL_STATE(5373)] = 183459, + [SMALL_STATE(5374)] = 183472, + [SMALL_STATE(5375)] = 183485, + [SMALL_STATE(5376)] = 183498, + [SMALL_STATE(5377)] = 183511, + [SMALL_STATE(5378)] = 183524, + [SMALL_STATE(5379)] = 183537, + [SMALL_STATE(5380)] = 183550, + [SMALL_STATE(5381)] = 183561, + [SMALL_STATE(5382)] = 183574, + [SMALL_STATE(5383)] = 183587, + [SMALL_STATE(5384)] = 183598, + [SMALL_STATE(5385)] = 183611, + [SMALL_STATE(5386)] = 183624, + [SMALL_STATE(5387)] = 183637, + [SMALL_STATE(5388)] = 183650, + [SMALL_STATE(5389)] = 183663, + [SMALL_STATE(5390)] = 183676, + [SMALL_STATE(5391)] = 183689, + [SMALL_STATE(5392)] = 183702, + [SMALL_STATE(5393)] = 183715, + [SMALL_STATE(5394)] = 183728, + [SMALL_STATE(5395)] = 183741, + [SMALL_STATE(5396)] = 183754, + [SMALL_STATE(5397)] = 183767, + [SMALL_STATE(5398)] = 183780, + [SMALL_STATE(5399)] = 183793, + [SMALL_STATE(5400)] = 183806, + [SMALL_STATE(5401)] = 183819, + [SMALL_STATE(5402)] = 183832, + [SMALL_STATE(5403)] = 183841, + [SMALL_STATE(5404)] = 183854, + [SMALL_STATE(5405)] = 183867, + [SMALL_STATE(5406)] = 183876, + [SMALL_STATE(5407)] = 183889, + [SMALL_STATE(5408)] = 183902, + [SMALL_STATE(5409)] = 183911, + [SMALL_STATE(5410)] = 183924, + [SMALL_STATE(5411)] = 183937, + [SMALL_STATE(5412)] = 183950, + [SMALL_STATE(5413)] = 183959, + [SMALL_STATE(5414)] = 183972, + [SMALL_STATE(5415)] = 183985, + [SMALL_STATE(5416)] = 183998, + [SMALL_STATE(5417)] = 184011, + [SMALL_STATE(5418)] = 184024, + [SMALL_STATE(5419)] = 184037, + [SMALL_STATE(5420)] = 184050, + [SMALL_STATE(5421)] = 184059, + [SMALL_STATE(5422)] = 184072, + [SMALL_STATE(5423)] = 184085, + [SMALL_STATE(5424)] = 184094, + [SMALL_STATE(5425)] = 184105, + [SMALL_STATE(5426)] = 184116, + [SMALL_STATE(5427)] = 184129, + [SMALL_STATE(5428)] = 184142, + [SMALL_STATE(5429)] = 184155, + [SMALL_STATE(5430)] = 184168, + [SMALL_STATE(5431)] = 184181, + [SMALL_STATE(5432)] = 184194, + [SMALL_STATE(5433)] = 184207, + [SMALL_STATE(5434)] = 184220, + [SMALL_STATE(5435)] = 184233, + [SMALL_STATE(5436)] = 184246, + [SMALL_STATE(5437)] = 184259, + [SMALL_STATE(5438)] = 184272, + [SMALL_STATE(5439)] = 184285, + [SMALL_STATE(5440)] = 184298, + [SMALL_STATE(5441)] = 184311, + [SMALL_STATE(5442)] = 184324, + [SMALL_STATE(5443)] = 184335, + [SMALL_STATE(5444)] = 184348, + [SMALL_STATE(5445)] = 184361, + [SMALL_STATE(5446)] = 184374, + [SMALL_STATE(5447)] = 184387, + [SMALL_STATE(5448)] = 184400, + [SMALL_STATE(5449)] = 184413, + [SMALL_STATE(5450)] = 184426, + [SMALL_STATE(5451)] = 184437, + [SMALL_STATE(5452)] = 184450, + [SMALL_STATE(5453)] = 184459, + [SMALL_STATE(5454)] = 184470, + [SMALL_STATE(5455)] = 184483, + [SMALL_STATE(5456)] = 184496, + [SMALL_STATE(5457)] = 184509, + [SMALL_STATE(5458)] = 184520, + [SMALL_STATE(5459)] = 184533, + [SMALL_STATE(5460)] = 184546, + [SMALL_STATE(5461)] = 184559, + [SMALL_STATE(5462)] = 184572, + [SMALL_STATE(5463)] = 184585, + [SMALL_STATE(5464)] = 184595, + [SMALL_STATE(5465)] = 184605, + [SMALL_STATE(5466)] = 184615, + [SMALL_STATE(5467)] = 184625, + [SMALL_STATE(5468)] = 184635, + [SMALL_STATE(5469)] = 184645, + [SMALL_STATE(5470)] = 184655, + [SMALL_STATE(5471)] = 184665, + [SMALL_STATE(5472)] = 184675, + [SMALL_STATE(5473)] = 184685, + [SMALL_STATE(5474)] = 184695, + [SMALL_STATE(5475)] = 184705, + [SMALL_STATE(5476)] = 184715, + [SMALL_STATE(5477)] = 184725, + [SMALL_STATE(5478)] = 184735, + [SMALL_STATE(5479)] = 184745, + [SMALL_STATE(5480)] = 184755, + [SMALL_STATE(5481)] = 184765, + [SMALL_STATE(5482)] = 184775, + [SMALL_STATE(5483)] = 184785, + [SMALL_STATE(5484)] = 184795, + [SMALL_STATE(5485)] = 184805, + [SMALL_STATE(5486)] = 184815, + [SMALL_STATE(5487)] = 184825, + [SMALL_STATE(5488)] = 184835, + [SMALL_STATE(5489)] = 184845, + [SMALL_STATE(5490)] = 184855, + [SMALL_STATE(5491)] = 184865, + [SMALL_STATE(5492)] = 184875, + [SMALL_STATE(5493)] = 184885, + [SMALL_STATE(5494)] = 184895, + [SMALL_STATE(5495)] = 184905, + [SMALL_STATE(5496)] = 184915, + [SMALL_STATE(5497)] = 184925, + [SMALL_STATE(5498)] = 184935, + [SMALL_STATE(5499)] = 184945, + [SMALL_STATE(5500)] = 184955, + [SMALL_STATE(5501)] = 184963, + [SMALL_STATE(5502)] = 184973, + [SMALL_STATE(5503)] = 184983, + [SMALL_STATE(5504)] = 184993, + [SMALL_STATE(5505)] = 185003, + [SMALL_STATE(5506)] = 185013, + [SMALL_STATE(5507)] = 185023, + [SMALL_STATE(5508)] = 185033, + [SMALL_STATE(5509)] = 185043, + [SMALL_STATE(5510)] = 185053, + [SMALL_STATE(5511)] = 185063, + [SMALL_STATE(5512)] = 185073, + [SMALL_STATE(5513)] = 185083, + [SMALL_STATE(5514)] = 185093, + [SMALL_STATE(5515)] = 185103, + [SMALL_STATE(5516)] = 185111, + [SMALL_STATE(5517)] = 185121, + [SMALL_STATE(5518)] = 185129, + [SMALL_STATE(5519)] = 185139, + [SMALL_STATE(5520)] = 185149, + [SMALL_STATE(5521)] = 185159, + [SMALL_STATE(5522)] = 185169, + [SMALL_STATE(5523)] = 185179, + [SMALL_STATE(5524)] = 185189, + [SMALL_STATE(5525)] = 185199, + [SMALL_STATE(5526)] = 185209, + [SMALL_STATE(5527)] = 185219, + [SMALL_STATE(5528)] = 185229, + [SMALL_STATE(5529)] = 185239, + [SMALL_STATE(5530)] = 185249, + [SMALL_STATE(5531)] = 185259, + [SMALL_STATE(5532)] = 185269, + [SMALL_STATE(5533)] = 185279, + [SMALL_STATE(5534)] = 185287, + [SMALL_STATE(5535)] = 185297, + [SMALL_STATE(5536)] = 185307, + [SMALL_STATE(5537)] = 185317, + [SMALL_STATE(5538)] = 185327, + [SMALL_STATE(5539)] = 185337, + [SMALL_STATE(5540)] = 185347, + [SMALL_STATE(5541)] = 185357, + [SMALL_STATE(5542)] = 185367, + [SMALL_STATE(5543)] = 185377, + [SMALL_STATE(5544)] = 185387, + [SMALL_STATE(5545)] = 185397, + [SMALL_STATE(5546)] = 185407, + [SMALL_STATE(5547)] = 185417, + [SMALL_STATE(5548)] = 185427, + [SMALL_STATE(5549)] = 185437, + [SMALL_STATE(5550)] = 185447, + [SMALL_STATE(5551)] = 185457, + [SMALL_STATE(5552)] = 185467, + [SMALL_STATE(5553)] = 185477, + [SMALL_STATE(5554)] = 185487, + [SMALL_STATE(5555)] = 185497, + [SMALL_STATE(5556)] = 185507, + [SMALL_STATE(5557)] = 185517, + [SMALL_STATE(5558)] = 185527, + [SMALL_STATE(5559)] = 185537, + [SMALL_STATE(5560)] = 185547, + [SMALL_STATE(5561)] = 185557, + [SMALL_STATE(5562)] = 185567, + [SMALL_STATE(5563)] = 185577, + [SMALL_STATE(5564)] = 185587, + [SMALL_STATE(5565)] = 185595, + [SMALL_STATE(5566)] = 185603, + [SMALL_STATE(5567)] = 185613, + [SMALL_STATE(5568)] = 185621, + [SMALL_STATE(5569)] = 185629, + [SMALL_STATE(5570)] = 185639, + [SMALL_STATE(5571)] = 185647, + [SMALL_STATE(5572)] = 185657, + [SMALL_STATE(5573)] = 185667, + [SMALL_STATE(5574)] = 185677, + [SMALL_STATE(5575)] = 185687, + [SMALL_STATE(5576)] = 185697, + [SMALL_STATE(5577)] = 185707, + [SMALL_STATE(5578)] = 185717, + [SMALL_STATE(5579)] = 185725, + [SMALL_STATE(5580)] = 185735, + [SMALL_STATE(5581)] = 185745, + [SMALL_STATE(5582)] = 185753, + [SMALL_STATE(5583)] = 185761, + [SMALL_STATE(5584)] = 185771, + [SMALL_STATE(5585)] = 185779, + [SMALL_STATE(5586)] = 185787, + [SMALL_STATE(5587)] = 185797, + [SMALL_STATE(5588)] = 185805, + [SMALL_STATE(5589)] = 185813, + [SMALL_STATE(5590)] = 185821, + [SMALL_STATE(5591)] = 185829, + [SMALL_STATE(5592)] = 185837, + [SMALL_STATE(5593)] = 185847, + [SMALL_STATE(5594)] = 185857, + [SMALL_STATE(5595)] = 185865, + [SMALL_STATE(5596)] = 185873, + [SMALL_STATE(5597)] = 185883, + [SMALL_STATE(5598)] = 185893, + [SMALL_STATE(5599)] = 185901, + [SMALL_STATE(5600)] = 185911, + [SMALL_STATE(5601)] = 185919, + [SMALL_STATE(5602)] = 185929, + [SMALL_STATE(5603)] = 185937, + [SMALL_STATE(5604)] = 185945, + [SMALL_STATE(5605)] = 185955, + [SMALL_STATE(5606)] = 185963, + [SMALL_STATE(5607)] = 185971, + [SMALL_STATE(5608)] = 185981, + [SMALL_STATE(5609)] = 185991, + [SMALL_STATE(5610)] = 185999, + [SMALL_STATE(5611)] = 186009, + [SMALL_STATE(5612)] = 186017, + [SMALL_STATE(5613)] = 186025, + [SMALL_STATE(5614)] = 186035, + [SMALL_STATE(5615)] = 186045, + [SMALL_STATE(5616)] = 186055, + [SMALL_STATE(5617)] = 186065, + [SMALL_STATE(5618)] = 186073, + [SMALL_STATE(5619)] = 186083, + [SMALL_STATE(5620)] = 186093, + [SMALL_STATE(5621)] = 186103, + [SMALL_STATE(5622)] = 186113, + [SMALL_STATE(5623)] = 186123, + [SMALL_STATE(5624)] = 186133, + [SMALL_STATE(5625)] = 186141, + [SMALL_STATE(5626)] = 186151, + [SMALL_STATE(5627)] = 186159, + [SMALL_STATE(5628)] = 186167, + [SMALL_STATE(5629)] = 186177, + [SMALL_STATE(5630)] = 186187, + [SMALL_STATE(5631)] = 186195, + [SMALL_STATE(5632)] = 186203, + [SMALL_STATE(5633)] = 186213, + [SMALL_STATE(5634)] = 186223, + [SMALL_STATE(5635)] = 186233, + [SMALL_STATE(5636)] = 186243, + [SMALL_STATE(5637)] = 186253, + [SMALL_STATE(5638)] = 186263, + [SMALL_STATE(5639)] = 186273, + [SMALL_STATE(5640)] = 186283, + [SMALL_STATE(5641)] = 186293, + [SMALL_STATE(5642)] = 186301, + [SMALL_STATE(5643)] = 186311, + [SMALL_STATE(5644)] = 186321, + [SMALL_STATE(5645)] = 186331, + [SMALL_STATE(5646)] = 186339, + [SMALL_STATE(5647)] = 186349, + [SMALL_STATE(5648)] = 186357, + [SMALL_STATE(5649)] = 186367, + [SMALL_STATE(5650)] = 186377, + [SMALL_STATE(5651)] = 186387, + [SMALL_STATE(5652)] = 186397, + [SMALL_STATE(5653)] = 186407, + [SMALL_STATE(5654)] = 186417, + [SMALL_STATE(5655)] = 186427, + [SMALL_STATE(5656)] = 186435, + [SMALL_STATE(5657)] = 186443, + [SMALL_STATE(5658)] = 186453, + [SMALL_STATE(5659)] = 186461, + [SMALL_STATE(5660)] = 186471, + [SMALL_STATE(5661)] = 186479, + [SMALL_STATE(5662)] = 186487, + [SMALL_STATE(5663)] = 186497, + [SMALL_STATE(5664)] = 186507, + [SMALL_STATE(5665)] = 186517, + [SMALL_STATE(5666)] = 186527, + [SMALL_STATE(5667)] = 186537, + [SMALL_STATE(5668)] = 186547, + [SMALL_STATE(5669)] = 186557, + [SMALL_STATE(5670)] = 186567, + [SMALL_STATE(5671)] = 186577, + [SMALL_STATE(5672)] = 186587, + [SMALL_STATE(5673)] = 186597, + [SMALL_STATE(5674)] = 186607, + [SMALL_STATE(5675)] = 186617, + [SMALL_STATE(5676)] = 186625, + [SMALL_STATE(5677)] = 186635, + [SMALL_STATE(5678)] = 186645, + [SMALL_STATE(5679)] = 186655, + [SMALL_STATE(5680)] = 186665, + [SMALL_STATE(5681)] = 186675, + [SMALL_STATE(5682)] = 186683, + [SMALL_STATE(5683)] = 186693, + [SMALL_STATE(5684)] = 186703, + [SMALL_STATE(5685)] = 186713, + [SMALL_STATE(5686)] = 186723, + [SMALL_STATE(5687)] = 186733, + [SMALL_STATE(5688)] = 186741, + [SMALL_STATE(5689)] = 186751, + [SMALL_STATE(5690)] = 186761, + [SMALL_STATE(5691)] = 186771, + [SMALL_STATE(5692)] = 186781, + [SMALL_STATE(5693)] = 186791, + [SMALL_STATE(5694)] = 186801, + [SMALL_STATE(5695)] = 186811, + [SMALL_STATE(5696)] = 186821, + [SMALL_STATE(5697)] = 186829, + [SMALL_STATE(5698)] = 186839, + [SMALL_STATE(5699)] = 186849, + [SMALL_STATE(5700)] = 186859, + [SMALL_STATE(5701)] = 186869, + [SMALL_STATE(5702)] = 186879, + [SMALL_STATE(5703)] = 186889, + [SMALL_STATE(5704)] = 186899, + [SMALL_STATE(5705)] = 186909, + [SMALL_STATE(5706)] = 186919, + [SMALL_STATE(5707)] = 186929, + [SMALL_STATE(5708)] = 186939, + [SMALL_STATE(5709)] = 186947, + [SMALL_STATE(5710)] = 186957, + [SMALL_STATE(5711)] = 186965, + [SMALL_STATE(5712)] = 186975, + [SMALL_STATE(5713)] = 186985, + [SMALL_STATE(5714)] = 186995, + [SMALL_STATE(5715)] = 187003, + [SMALL_STATE(5716)] = 187013, + [SMALL_STATE(5717)] = 187023, + [SMALL_STATE(5718)] = 187033, + [SMALL_STATE(5719)] = 187043, + [SMALL_STATE(5720)] = 187051, + [SMALL_STATE(5721)] = 187059, + [SMALL_STATE(5722)] = 187069, + [SMALL_STATE(5723)] = 187079, + [SMALL_STATE(5724)] = 187089, + [SMALL_STATE(5725)] = 187099, + [SMALL_STATE(5726)] = 187109, + [SMALL_STATE(5727)] = 187117, + [SMALL_STATE(5728)] = 187127, + [SMALL_STATE(5729)] = 187135, + [SMALL_STATE(5730)] = 187145, + [SMALL_STATE(5731)] = 187153, + [SMALL_STATE(5732)] = 187163, + [SMALL_STATE(5733)] = 187173, + [SMALL_STATE(5734)] = 187183, + [SMALL_STATE(5735)] = 187193, + [SMALL_STATE(5736)] = 187203, + [SMALL_STATE(5737)] = 187213, + [SMALL_STATE(5738)] = 187221, + [SMALL_STATE(5739)] = 187231, + [SMALL_STATE(5740)] = 187241, + [SMALL_STATE(5741)] = 187251, + [SMALL_STATE(5742)] = 187261, + [SMALL_STATE(5743)] = 187271, + [SMALL_STATE(5744)] = 187281, + [SMALL_STATE(5745)] = 187291, + [SMALL_STATE(5746)] = 187301, + [SMALL_STATE(5747)] = 187309, + [SMALL_STATE(5748)] = 187317, + [SMALL_STATE(5749)] = 187325, + [SMALL_STATE(5750)] = 187333, + [SMALL_STATE(5751)] = 187343, + [SMALL_STATE(5752)] = 187353, + [SMALL_STATE(5753)] = 187363, + [SMALL_STATE(5754)] = 187373, + [SMALL_STATE(5755)] = 187383, + [SMALL_STATE(5756)] = 187391, + [SMALL_STATE(5757)] = 187399, + [SMALL_STATE(5758)] = 187409, + [SMALL_STATE(5759)] = 187419, + [SMALL_STATE(5760)] = 187429, + [SMALL_STATE(5761)] = 187439, + [SMALL_STATE(5762)] = 187447, + [SMALL_STATE(5763)] = 187457, + [SMALL_STATE(5764)] = 187467, + [SMALL_STATE(5765)] = 187475, + [SMALL_STATE(5766)] = 187485, + [SMALL_STATE(5767)] = 187493, + [SMALL_STATE(5768)] = 187501, + [SMALL_STATE(5769)] = 187511, + [SMALL_STATE(5770)] = 187519, + [SMALL_STATE(5771)] = 187529, + [SMALL_STATE(5772)] = 187539, + [SMALL_STATE(5773)] = 187547, + [SMALL_STATE(5774)] = 187555, + [SMALL_STATE(5775)] = 187565, + [SMALL_STATE(5776)] = 187575, + [SMALL_STATE(5777)] = 187585, + [SMALL_STATE(5778)] = 187595, + [SMALL_STATE(5779)] = 187605, + [SMALL_STATE(5780)] = 187615, + [SMALL_STATE(5781)] = 187625, + [SMALL_STATE(5782)] = 187635, + [SMALL_STATE(5783)] = 187645, + [SMALL_STATE(5784)] = 187655, + [SMALL_STATE(5785)] = 187665, + [SMALL_STATE(5786)] = 187675, + [SMALL_STATE(5787)] = 187685, + [SMALL_STATE(5788)] = 187695, + [SMALL_STATE(5789)] = 187703, + [SMALL_STATE(5790)] = 187711, + [SMALL_STATE(5791)] = 187719, + [SMALL_STATE(5792)] = 187729, + [SMALL_STATE(5793)] = 187739, + [SMALL_STATE(5794)] = 187749, + [SMALL_STATE(5795)] = 187759, + [SMALL_STATE(5796)] = 187769, + [SMALL_STATE(5797)] = 187779, + [SMALL_STATE(5798)] = 187789, + [SMALL_STATE(5799)] = 187799, + [SMALL_STATE(5800)] = 187809, + [SMALL_STATE(5801)] = 187817, + [SMALL_STATE(5802)] = 187825, + [SMALL_STATE(5803)] = 187835, + [SMALL_STATE(5804)] = 187845, + [SMALL_STATE(5805)] = 187855, + [SMALL_STATE(5806)] = 187865, + [SMALL_STATE(5807)] = 187875, + [SMALL_STATE(5808)] = 187883, + [SMALL_STATE(5809)] = 187893, + [SMALL_STATE(5810)] = 187901, + [SMALL_STATE(5811)] = 187909, + [SMALL_STATE(5812)] = 187919, + [SMALL_STATE(5813)] = 187929, + [SMALL_STATE(5814)] = 187937, + [SMALL_STATE(5815)] = 187947, + [SMALL_STATE(5816)] = 187957, + [SMALL_STATE(5817)] = 187967, + [SMALL_STATE(5818)] = 187977, + [SMALL_STATE(5819)] = 187985, + [SMALL_STATE(5820)] = 187995, + [SMALL_STATE(5821)] = 188005, + [SMALL_STATE(5822)] = 188015, + [SMALL_STATE(5823)] = 188025, + [SMALL_STATE(5824)] = 188035, + [SMALL_STATE(5825)] = 188045, + [SMALL_STATE(5826)] = 188055, + [SMALL_STATE(5827)] = 188065, + [SMALL_STATE(5828)] = 188075, + [SMALL_STATE(5829)] = 188083, + [SMALL_STATE(5830)] = 188093, + [SMALL_STATE(5831)] = 188103, + [SMALL_STATE(5832)] = 188113, + [SMALL_STATE(5833)] = 188121, + [SMALL_STATE(5834)] = 188131, + [SMALL_STATE(5835)] = 188139, + [SMALL_STATE(5836)] = 188149, + [SMALL_STATE(5837)] = 188157, + [SMALL_STATE(5838)] = 188167, + [SMALL_STATE(5839)] = 188177, + [SMALL_STATE(5840)] = 188187, + [SMALL_STATE(5841)] = 188195, + [SMALL_STATE(5842)] = 188205, + [SMALL_STATE(5843)] = 188215, + [SMALL_STATE(5844)] = 188225, + [SMALL_STATE(5845)] = 188235, + [SMALL_STATE(5846)] = 188245, + [SMALL_STATE(5847)] = 188255, + [SMALL_STATE(5848)] = 188265, + [SMALL_STATE(5849)] = 188275, + [SMALL_STATE(5850)] = 188283, + [SMALL_STATE(5851)] = 188293, + [SMALL_STATE(5852)] = 188301, + [SMALL_STATE(5853)] = 188309, + [SMALL_STATE(5854)] = 188319, + [SMALL_STATE(5855)] = 188329, + [SMALL_STATE(5856)] = 188337, + [SMALL_STATE(5857)] = 188347, + [SMALL_STATE(5858)] = 188355, + [SMALL_STATE(5859)] = 188363, + [SMALL_STATE(5860)] = 188373, + [SMALL_STATE(5861)] = 188381, + [SMALL_STATE(5862)] = 188389, + [SMALL_STATE(5863)] = 188399, + [SMALL_STATE(5864)] = 188409, + [SMALL_STATE(5865)] = 188419, + [SMALL_STATE(5866)] = 188427, + [SMALL_STATE(5867)] = 188437, + [SMALL_STATE(5868)] = 188447, + [SMALL_STATE(5869)] = 188457, + [SMALL_STATE(5870)] = 188467, + [SMALL_STATE(5871)] = 188477, + [SMALL_STATE(5872)] = 188487, + [SMALL_STATE(5873)] = 188497, + [SMALL_STATE(5874)] = 188505, + [SMALL_STATE(5875)] = 188515, + [SMALL_STATE(5876)] = 188525, + [SMALL_STATE(5877)] = 188535, + [SMALL_STATE(5878)] = 188545, + [SMALL_STATE(5879)] = 188553, + [SMALL_STATE(5880)] = 188563, + [SMALL_STATE(5881)] = 188573, + [SMALL_STATE(5882)] = 188583, + [SMALL_STATE(5883)] = 188593, + [SMALL_STATE(5884)] = 188603, + [SMALL_STATE(5885)] = 188613, + [SMALL_STATE(5886)] = 188623, + [SMALL_STATE(5887)] = 188633, + [SMALL_STATE(5888)] = 188643, + [SMALL_STATE(5889)] = 188653, + [SMALL_STATE(5890)] = 188663, + [SMALL_STATE(5891)] = 188673, + [SMALL_STATE(5892)] = 188683, + [SMALL_STATE(5893)] = 188693, + [SMALL_STATE(5894)] = 188703, + [SMALL_STATE(5895)] = 188711, + [SMALL_STATE(5896)] = 188721, + [SMALL_STATE(5897)] = 188731, + [SMALL_STATE(5898)] = 188741, + [SMALL_STATE(5899)] = 188751, + [SMALL_STATE(5900)] = 188761, + [SMALL_STATE(5901)] = 188771, + [SMALL_STATE(5902)] = 188781, + [SMALL_STATE(5903)] = 188791, + [SMALL_STATE(5904)] = 188801, + [SMALL_STATE(5905)] = 188811, + [SMALL_STATE(5906)] = 188821, + [SMALL_STATE(5907)] = 188829, + [SMALL_STATE(5908)] = 188839, + [SMALL_STATE(5909)] = 188849, + [SMALL_STATE(5910)] = 188859, + [SMALL_STATE(5911)] = 188869, + [SMALL_STATE(5912)] = 188879, + [SMALL_STATE(5913)] = 188889, + [SMALL_STATE(5914)] = 188899, + [SMALL_STATE(5915)] = 188909, + [SMALL_STATE(5916)] = 188919, + [SMALL_STATE(5917)] = 188929, + [SMALL_STATE(5918)] = 188939, + [SMALL_STATE(5919)] = 188947, + [SMALL_STATE(5920)] = 188955, + [SMALL_STATE(5921)] = 188965, + [SMALL_STATE(5922)] = 188975, + [SMALL_STATE(5923)] = 188983, + [SMALL_STATE(5924)] = 188993, + [SMALL_STATE(5925)] = 189003, + [SMALL_STATE(5926)] = 189013, + [SMALL_STATE(5927)] = 189021, + [SMALL_STATE(5928)] = 189031, + [SMALL_STATE(5929)] = 189041, + [SMALL_STATE(5930)] = 189051, + [SMALL_STATE(5931)] = 189061, + [SMALL_STATE(5932)] = 189071, + [SMALL_STATE(5933)] = 189081, + [SMALL_STATE(5934)] = 189089, + [SMALL_STATE(5935)] = 189099, + [SMALL_STATE(5936)] = 189109, + [SMALL_STATE(5937)] = 189119, + [SMALL_STATE(5938)] = 189129, + [SMALL_STATE(5939)] = 189139, + [SMALL_STATE(5940)] = 189149, + [SMALL_STATE(5941)] = 189159, + [SMALL_STATE(5942)] = 189169, + [SMALL_STATE(5943)] = 189179, + [SMALL_STATE(5944)] = 189189, + [SMALL_STATE(5945)] = 189199, + [SMALL_STATE(5946)] = 189209, + [SMALL_STATE(5947)] = 189219, + [SMALL_STATE(5948)] = 189229, + [SMALL_STATE(5949)] = 189239, + [SMALL_STATE(5950)] = 189249, + [SMALL_STATE(5951)] = 189259, + [SMALL_STATE(5952)] = 189269, + [SMALL_STATE(5953)] = 189279, + [SMALL_STATE(5954)] = 189289, + [SMALL_STATE(5955)] = 189297, + [SMALL_STATE(5956)] = 189307, + [SMALL_STATE(5957)] = 189317, + [SMALL_STATE(5958)] = 189327, + [SMALL_STATE(5959)] = 189337, + [SMALL_STATE(5960)] = 189345, + [SMALL_STATE(5961)] = 189353, + [SMALL_STATE(5962)] = 189363, + [SMALL_STATE(5963)] = 189373, + [SMALL_STATE(5964)] = 189383, + [SMALL_STATE(5965)] = 189393, + [SMALL_STATE(5966)] = 189403, + [SMALL_STATE(5967)] = 189410, + [SMALL_STATE(5968)] = 189417, + [SMALL_STATE(5969)] = 189424, + [SMALL_STATE(5970)] = 189431, + [SMALL_STATE(5971)] = 189438, + [SMALL_STATE(5972)] = 189445, + [SMALL_STATE(5973)] = 189452, + [SMALL_STATE(5974)] = 189459, + [SMALL_STATE(5975)] = 189466, + [SMALL_STATE(5976)] = 189473, + [SMALL_STATE(5977)] = 189480, + [SMALL_STATE(5978)] = 189487, + [SMALL_STATE(5979)] = 189494, + [SMALL_STATE(5980)] = 189501, + [SMALL_STATE(5981)] = 189508, + [SMALL_STATE(5982)] = 189515, + [SMALL_STATE(5983)] = 189522, + [SMALL_STATE(5984)] = 189529, + [SMALL_STATE(5985)] = 189536, + [SMALL_STATE(5986)] = 189543, + [SMALL_STATE(5987)] = 189550, + [SMALL_STATE(5988)] = 189557, + [SMALL_STATE(5989)] = 189564, + [SMALL_STATE(5990)] = 189571, + [SMALL_STATE(5991)] = 189578, + [SMALL_STATE(5992)] = 189585, + [SMALL_STATE(5993)] = 189592, + [SMALL_STATE(5994)] = 189599, + [SMALL_STATE(5995)] = 189606, + [SMALL_STATE(5996)] = 189613, + [SMALL_STATE(5997)] = 189620, + [SMALL_STATE(5998)] = 189627, + [SMALL_STATE(5999)] = 189634, + [SMALL_STATE(6000)] = 189641, + [SMALL_STATE(6001)] = 189648, + [SMALL_STATE(6002)] = 189655, + [SMALL_STATE(6003)] = 189662, + [SMALL_STATE(6004)] = 189669, + [SMALL_STATE(6005)] = 189676, + [SMALL_STATE(6006)] = 189683, + [SMALL_STATE(6007)] = 189690, + [SMALL_STATE(6008)] = 189697, + [SMALL_STATE(6009)] = 189704, + [SMALL_STATE(6010)] = 189711, + [SMALL_STATE(6011)] = 189718, + [SMALL_STATE(6012)] = 189725, + [SMALL_STATE(6013)] = 189732, + [SMALL_STATE(6014)] = 189739, + [SMALL_STATE(6015)] = 189746, + [SMALL_STATE(6016)] = 189753, + [SMALL_STATE(6017)] = 189760, + [SMALL_STATE(6018)] = 189767, + [SMALL_STATE(6019)] = 189774, + [SMALL_STATE(6020)] = 189781, + [SMALL_STATE(6021)] = 189788, + [SMALL_STATE(6022)] = 189795, + [SMALL_STATE(6023)] = 189802, + [SMALL_STATE(6024)] = 189809, + [SMALL_STATE(6025)] = 189816, + [SMALL_STATE(6026)] = 189823, + [SMALL_STATE(6027)] = 189830, + [SMALL_STATE(6028)] = 189837, + [SMALL_STATE(6029)] = 189844, + [SMALL_STATE(6030)] = 189851, + [SMALL_STATE(6031)] = 189858, + [SMALL_STATE(6032)] = 189865, + [SMALL_STATE(6033)] = 189872, + [SMALL_STATE(6034)] = 189879, + [SMALL_STATE(6035)] = 189886, + [SMALL_STATE(6036)] = 189893, + [SMALL_STATE(6037)] = 189900, + [SMALL_STATE(6038)] = 189907, + [SMALL_STATE(6039)] = 189914, + [SMALL_STATE(6040)] = 189921, + [SMALL_STATE(6041)] = 189928, + [SMALL_STATE(6042)] = 189935, + [SMALL_STATE(6043)] = 189942, + [SMALL_STATE(6044)] = 189949, + [SMALL_STATE(6045)] = 189956, + [SMALL_STATE(6046)] = 189963, + [SMALL_STATE(6047)] = 189970, + [SMALL_STATE(6048)] = 189977, + [SMALL_STATE(6049)] = 189984, + [SMALL_STATE(6050)] = 189991, + [SMALL_STATE(6051)] = 189998, + [SMALL_STATE(6052)] = 190005, + [SMALL_STATE(6053)] = 190012, + [SMALL_STATE(6054)] = 190019, + [SMALL_STATE(6055)] = 190026, + [SMALL_STATE(6056)] = 190033, + [SMALL_STATE(6057)] = 190040, + [SMALL_STATE(6058)] = 190047, + [SMALL_STATE(6059)] = 190054, + [SMALL_STATE(6060)] = 190061, + [SMALL_STATE(6061)] = 190068, + [SMALL_STATE(6062)] = 190075, + [SMALL_STATE(6063)] = 190082, + [SMALL_STATE(6064)] = 190089, + [SMALL_STATE(6065)] = 190096, + [SMALL_STATE(6066)] = 190103, + [SMALL_STATE(6067)] = 190110, + [SMALL_STATE(6068)] = 190117, + [SMALL_STATE(6069)] = 190124, + [SMALL_STATE(6070)] = 190131, + [SMALL_STATE(6071)] = 190138, + [SMALL_STATE(6072)] = 190145, + [SMALL_STATE(6073)] = 190152, + [SMALL_STATE(6074)] = 190159, + [SMALL_STATE(6075)] = 190166, + [SMALL_STATE(6076)] = 190173, + [SMALL_STATE(6077)] = 190180, + [SMALL_STATE(6078)] = 190187, + [SMALL_STATE(6079)] = 190194, + [SMALL_STATE(6080)] = 190201, + [SMALL_STATE(6081)] = 190208, + [SMALL_STATE(6082)] = 190215, + [SMALL_STATE(6083)] = 190222, + [SMALL_STATE(6084)] = 190229, + [SMALL_STATE(6085)] = 190236, + [SMALL_STATE(6086)] = 190243, + [SMALL_STATE(6087)] = 190250, + [SMALL_STATE(6088)] = 190257, + [SMALL_STATE(6089)] = 190264, + [SMALL_STATE(6090)] = 190271, + [SMALL_STATE(6091)] = 190278, + [SMALL_STATE(6092)] = 190285, + [SMALL_STATE(6093)] = 190292, + [SMALL_STATE(6094)] = 190299, + [SMALL_STATE(6095)] = 190306, + [SMALL_STATE(6096)] = 190313, + [SMALL_STATE(6097)] = 190320, + [SMALL_STATE(6098)] = 190327, + [SMALL_STATE(6099)] = 190334, + [SMALL_STATE(6100)] = 190341, + [SMALL_STATE(6101)] = 190348, + [SMALL_STATE(6102)] = 190355, + [SMALL_STATE(6103)] = 190362, + [SMALL_STATE(6104)] = 190369, + [SMALL_STATE(6105)] = 190376, + [SMALL_STATE(6106)] = 190383, + [SMALL_STATE(6107)] = 190390, + [SMALL_STATE(6108)] = 190397, + [SMALL_STATE(6109)] = 190404, + [SMALL_STATE(6110)] = 190411, + [SMALL_STATE(6111)] = 190418, + [SMALL_STATE(6112)] = 190425, + [SMALL_STATE(6113)] = 190432, + [SMALL_STATE(6114)] = 190439, + [SMALL_STATE(6115)] = 190446, + [SMALL_STATE(6116)] = 190453, + [SMALL_STATE(6117)] = 190460, + [SMALL_STATE(6118)] = 190467, + [SMALL_STATE(6119)] = 190474, + [SMALL_STATE(6120)] = 190481, + [SMALL_STATE(6121)] = 190488, + [SMALL_STATE(6122)] = 190495, + [SMALL_STATE(6123)] = 190502, + [SMALL_STATE(6124)] = 190509, + [SMALL_STATE(6125)] = 190516, + [SMALL_STATE(6126)] = 190523, + [SMALL_STATE(6127)] = 190530, + [SMALL_STATE(6128)] = 190537, + [SMALL_STATE(6129)] = 190544, + [SMALL_STATE(6130)] = 190551, + [SMALL_STATE(6131)] = 190558, + [SMALL_STATE(6132)] = 190565, + [SMALL_STATE(6133)] = 190572, + [SMALL_STATE(6134)] = 190579, + [SMALL_STATE(6135)] = 190586, + [SMALL_STATE(6136)] = 190593, + [SMALL_STATE(6137)] = 190600, + [SMALL_STATE(6138)] = 190607, + [SMALL_STATE(6139)] = 190614, + [SMALL_STATE(6140)] = 190621, + [SMALL_STATE(6141)] = 190628, + [SMALL_STATE(6142)] = 190635, + [SMALL_STATE(6143)] = 190642, + [SMALL_STATE(6144)] = 190649, + [SMALL_STATE(6145)] = 190656, + [SMALL_STATE(6146)] = 190663, + [SMALL_STATE(6147)] = 190670, + [SMALL_STATE(6148)] = 190677, + [SMALL_STATE(6149)] = 190684, + [SMALL_STATE(6150)] = 190691, + [SMALL_STATE(6151)] = 190698, + [SMALL_STATE(6152)] = 190705, + [SMALL_STATE(6153)] = 190712, + [SMALL_STATE(6154)] = 190719, + [SMALL_STATE(6155)] = 190726, + [SMALL_STATE(6156)] = 190733, + [SMALL_STATE(6157)] = 190740, + [SMALL_STATE(6158)] = 190747, + [SMALL_STATE(6159)] = 190754, + [SMALL_STATE(6160)] = 190761, + [SMALL_STATE(6161)] = 190768, + [SMALL_STATE(6162)] = 190775, + [SMALL_STATE(6163)] = 190782, + [SMALL_STATE(6164)] = 190789, + [SMALL_STATE(6165)] = 190796, + [SMALL_STATE(6166)] = 190803, + [SMALL_STATE(6167)] = 190810, + [SMALL_STATE(6168)] = 190817, + [SMALL_STATE(6169)] = 190824, + [SMALL_STATE(6170)] = 190831, + [SMALL_STATE(6171)] = 190838, + [SMALL_STATE(6172)] = 190845, + [SMALL_STATE(6173)] = 190852, + [SMALL_STATE(6174)] = 190859, + [SMALL_STATE(6175)] = 190866, + [SMALL_STATE(6176)] = 190873, + [SMALL_STATE(6177)] = 190880, + [SMALL_STATE(6178)] = 190887, + [SMALL_STATE(6179)] = 190894, + [SMALL_STATE(6180)] = 190901, + [SMALL_STATE(6181)] = 190908, + [SMALL_STATE(6182)] = 190915, + [SMALL_STATE(6183)] = 190922, + [SMALL_STATE(6184)] = 190929, + [SMALL_STATE(6185)] = 190936, + [SMALL_STATE(6186)] = 190943, + [SMALL_STATE(6187)] = 190950, + [SMALL_STATE(6188)] = 190957, + [SMALL_STATE(6189)] = 190964, + [SMALL_STATE(6190)] = 190971, + [SMALL_STATE(6191)] = 190978, + [SMALL_STATE(6192)] = 190985, + [SMALL_STATE(6193)] = 190992, + [SMALL_STATE(6194)] = 190999, + [SMALL_STATE(6195)] = 191006, + [SMALL_STATE(6196)] = 191013, + [SMALL_STATE(6197)] = 191020, + [SMALL_STATE(6198)] = 191027, + [SMALL_STATE(6199)] = 191034, + [SMALL_STATE(6200)] = 191041, + [SMALL_STATE(6201)] = 191048, + [SMALL_STATE(6202)] = 191055, + [SMALL_STATE(6203)] = 191062, + [SMALL_STATE(6204)] = 191069, + [SMALL_STATE(6205)] = 191076, + [SMALL_STATE(6206)] = 191083, + [SMALL_STATE(6207)] = 191090, + [SMALL_STATE(6208)] = 191097, + [SMALL_STATE(6209)] = 191104, + [SMALL_STATE(6210)] = 191111, + [SMALL_STATE(6211)] = 191118, + [SMALL_STATE(6212)] = 191125, + [SMALL_STATE(6213)] = 191132, + [SMALL_STATE(6214)] = 191139, + [SMALL_STATE(6215)] = 191146, + [SMALL_STATE(6216)] = 191153, + [SMALL_STATE(6217)] = 191160, + [SMALL_STATE(6218)] = 191167, + [SMALL_STATE(6219)] = 191174, + [SMALL_STATE(6220)] = 191181, + [SMALL_STATE(6221)] = 191188, + [SMALL_STATE(6222)] = 191195, + [SMALL_STATE(6223)] = 191202, + [SMALL_STATE(6224)] = 191209, + [SMALL_STATE(6225)] = 191216, + [SMALL_STATE(6226)] = 191223, + [SMALL_STATE(6227)] = 191230, + [SMALL_STATE(6228)] = 191237, + [SMALL_STATE(6229)] = 191244, + [SMALL_STATE(6230)] = 191251, + [SMALL_STATE(6231)] = 191258, + [SMALL_STATE(6232)] = 191265, + [SMALL_STATE(6233)] = 191272, + [SMALL_STATE(6234)] = 191279, + [SMALL_STATE(6235)] = 191286, + [SMALL_STATE(6236)] = 191293, + [SMALL_STATE(6237)] = 191300, + [SMALL_STATE(6238)] = 191307, + [SMALL_STATE(6239)] = 191314, + [SMALL_STATE(6240)] = 191321, + [SMALL_STATE(6241)] = 191328, + [SMALL_STATE(6242)] = 191335, + [SMALL_STATE(6243)] = 191342, + [SMALL_STATE(6244)] = 191349, + [SMALL_STATE(6245)] = 191356, + [SMALL_STATE(6246)] = 191363, + [SMALL_STATE(6247)] = 191370, + [SMALL_STATE(6248)] = 191377, + [SMALL_STATE(6249)] = 191384, + [SMALL_STATE(6250)] = 191391, + [SMALL_STATE(6251)] = 191398, + [SMALL_STATE(6252)] = 191405, + [SMALL_STATE(6253)] = 191412, + [SMALL_STATE(6254)] = 191419, + [SMALL_STATE(6255)] = 191426, + [SMALL_STATE(6256)] = 191433, + [SMALL_STATE(6257)] = 191440, + [SMALL_STATE(6258)] = 191447, + [SMALL_STATE(6259)] = 191454, + [SMALL_STATE(6260)] = 191461, + [SMALL_STATE(6261)] = 191468, + [SMALL_STATE(6262)] = 191475, + [SMALL_STATE(6263)] = 191482, + [SMALL_STATE(6264)] = 191489, + [SMALL_STATE(6265)] = 191496, + [SMALL_STATE(6266)] = 191503, + [SMALL_STATE(6267)] = 191510, + [SMALL_STATE(6268)] = 191517, + [SMALL_STATE(6269)] = 191524, + [SMALL_STATE(6270)] = 191531, + [SMALL_STATE(6271)] = 191538, + [SMALL_STATE(6272)] = 191545, + [SMALL_STATE(6273)] = 191552, + [SMALL_STATE(6274)] = 191559, + [SMALL_STATE(6275)] = 191566, + [SMALL_STATE(6276)] = 191573, + [SMALL_STATE(6277)] = 191580, + [SMALL_STATE(6278)] = 191587, + [SMALL_STATE(6279)] = 191594, + [SMALL_STATE(6280)] = 191601, + [SMALL_STATE(6281)] = 191608, + [SMALL_STATE(6282)] = 191615, + [SMALL_STATE(6283)] = 191622, + [SMALL_STATE(6284)] = 191629, + [SMALL_STATE(6285)] = 191636, + [SMALL_STATE(6286)] = 191643, + [SMALL_STATE(6287)] = 191650, + [SMALL_STATE(6288)] = 191657, + [SMALL_STATE(6289)] = 191664, + [SMALL_STATE(6290)] = 191671, + [SMALL_STATE(6291)] = 191678, + [SMALL_STATE(6292)] = 191685, + [SMALL_STATE(6293)] = 191692, + [SMALL_STATE(6294)] = 191699, + [SMALL_STATE(6295)] = 191706, + [SMALL_STATE(6296)] = 191713, + [SMALL_STATE(6297)] = 191720, + [SMALL_STATE(6298)] = 191727, + [SMALL_STATE(6299)] = 191734, + [SMALL_STATE(6300)] = 191741, + [SMALL_STATE(6301)] = 191748, + [SMALL_STATE(6302)] = 191755, + [SMALL_STATE(6303)] = 191762, + [SMALL_STATE(6304)] = 191769, + [SMALL_STATE(6305)] = 191776, + [SMALL_STATE(6306)] = 191783, + [SMALL_STATE(6307)] = 191790, + [SMALL_STATE(6308)] = 191797, + [SMALL_STATE(6309)] = 191804, + [SMALL_STATE(6310)] = 191811, + [SMALL_STATE(6311)] = 191818, + [SMALL_STATE(6312)] = 191825, + [SMALL_STATE(6313)] = 191832, + [SMALL_STATE(6314)] = 191839, + [SMALL_STATE(6315)] = 191846, + [SMALL_STATE(6316)] = 191853, + [SMALL_STATE(6317)] = 191860, + [SMALL_STATE(6318)] = 191867, + [SMALL_STATE(6319)] = 191874, + [SMALL_STATE(6320)] = 191881, + [SMALL_STATE(6321)] = 191888, + [SMALL_STATE(6322)] = 191895, + [SMALL_STATE(6323)] = 191902, + [SMALL_STATE(6324)] = 191909, + [SMALL_STATE(6325)] = 191916, + [SMALL_STATE(6326)] = 191923, + [SMALL_STATE(6327)] = 191930, + [SMALL_STATE(6328)] = 191937, + [SMALL_STATE(6329)] = 191944, + [SMALL_STATE(6330)] = 191951, + [SMALL_STATE(6331)] = 191958, + [SMALL_STATE(6332)] = 191965, + [SMALL_STATE(6333)] = 191972, + [SMALL_STATE(6334)] = 191979, + [SMALL_STATE(6335)] = 191986, + [SMALL_STATE(6336)] = 191993, + [SMALL_STATE(6337)] = 192000, + [SMALL_STATE(6338)] = 192007, + [SMALL_STATE(6339)] = 192014, + [SMALL_STATE(6340)] = 192021, + [SMALL_STATE(6341)] = 192028, + [SMALL_STATE(6342)] = 192035, + [SMALL_STATE(6343)] = 192042, + [SMALL_STATE(6344)] = 192049, + [SMALL_STATE(6345)] = 192056, + [SMALL_STATE(6346)] = 192063, + [SMALL_STATE(6347)] = 192070, + [SMALL_STATE(6348)] = 192077, + [SMALL_STATE(6349)] = 192084, + [SMALL_STATE(6350)] = 192091, + [SMALL_STATE(6351)] = 192098, + [SMALL_STATE(6352)] = 192105, + [SMALL_STATE(6353)] = 192112, + [SMALL_STATE(6354)] = 192119, + [SMALL_STATE(6355)] = 192126, + [SMALL_STATE(6356)] = 192133, + [SMALL_STATE(6357)] = 192140, + [SMALL_STATE(6358)] = 192147, + [SMALL_STATE(6359)] = 192154, + [SMALL_STATE(6360)] = 192161, + [SMALL_STATE(6361)] = 192168, + [SMALL_STATE(6362)] = 192175, + [SMALL_STATE(6363)] = 192182, + [SMALL_STATE(6364)] = 192189, + [SMALL_STATE(6365)] = 192196, + [SMALL_STATE(6366)] = 192203, + [SMALL_STATE(6367)] = 192210, + [SMALL_STATE(6368)] = 192217, + [SMALL_STATE(6369)] = 192224, + [SMALL_STATE(6370)] = 192231, + [SMALL_STATE(6371)] = 192238, + [SMALL_STATE(6372)] = 192245, + [SMALL_STATE(6373)] = 192252, + [SMALL_STATE(6374)] = 192259, + [SMALL_STATE(6375)] = 192266, + [SMALL_STATE(6376)] = 192273, + [SMALL_STATE(6377)] = 192280, + [SMALL_STATE(6378)] = 192287, + [SMALL_STATE(6379)] = 192294, + [SMALL_STATE(6380)] = 192301, + [SMALL_STATE(6381)] = 192308, + [SMALL_STATE(6382)] = 192315, + [SMALL_STATE(6383)] = 192322, + [SMALL_STATE(6384)] = 192329, + [SMALL_STATE(6385)] = 192336, + [SMALL_STATE(6386)] = 192343, + [SMALL_STATE(6387)] = 192350, + [SMALL_STATE(6388)] = 192357, + [SMALL_STATE(6389)] = 192364, + [SMALL_STATE(6390)] = 192371, + [SMALL_STATE(6391)] = 192378, + [SMALL_STATE(6392)] = 192385, + [SMALL_STATE(6393)] = 192392, + [SMALL_STATE(6394)] = 192399, + [SMALL_STATE(6395)] = 192406, + [SMALL_STATE(6396)] = 192413, + [SMALL_STATE(6397)] = 192420, + [SMALL_STATE(6398)] = 192427, + [SMALL_STATE(6399)] = 192434, + [SMALL_STATE(6400)] = 192441, + [SMALL_STATE(6401)] = 192448, + [SMALL_STATE(6402)] = 192455, + [SMALL_STATE(6403)] = 192462, + [SMALL_STATE(6404)] = 192469, + [SMALL_STATE(6405)] = 192476, + [SMALL_STATE(6406)] = 192483, + [SMALL_STATE(6407)] = 192490, + [SMALL_STATE(6408)] = 192497, + [SMALL_STATE(6409)] = 192504, + [SMALL_STATE(6410)] = 192511, + [SMALL_STATE(6411)] = 192518, + [SMALL_STATE(6412)] = 192525, + [SMALL_STATE(6413)] = 192532, + [SMALL_STATE(6414)] = 192539, + [SMALL_STATE(6415)] = 192546, + [SMALL_STATE(6416)] = 192553, + [SMALL_STATE(6417)] = 192560, + [SMALL_STATE(6418)] = 192567, + [SMALL_STATE(6419)] = 192574, + [SMALL_STATE(6420)] = 192581, + [SMALL_STATE(6421)] = 192588, + [SMALL_STATE(6422)] = 192595, + [SMALL_STATE(6423)] = 192602, + [SMALL_STATE(6424)] = 192609, + [SMALL_STATE(6425)] = 192616, + [SMALL_STATE(6426)] = 192623, + [SMALL_STATE(6427)] = 192630, + [SMALL_STATE(6428)] = 192637, + [SMALL_STATE(6429)] = 192644, + [SMALL_STATE(6430)] = 192651, + [SMALL_STATE(6431)] = 192658, + [SMALL_STATE(6432)] = 192665, + [SMALL_STATE(6433)] = 192672, + [SMALL_STATE(6434)] = 192679, + [SMALL_STATE(6435)] = 192686, + [SMALL_STATE(6436)] = 192693, + [SMALL_STATE(6437)] = 192700, + [SMALL_STATE(6438)] = 192707, + [SMALL_STATE(6439)] = 192714, + [SMALL_STATE(6440)] = 192721, + [SMALL_STATE(6441)] = 192728, + [SMALL_STATE(6442)] = 192735, + [SMALL_STATE(6443)] = 192742, + [SMALL_STATE(6444)] = 192749, + [SMALL_STATE(6445)] = 192756, + [SMALL_STATE(6446)] = 192763, + [SMALL_STATE(6447)] = 192770, + [SMALL_STATE(6448)] = 192777, + [SMALL_STATE(6449)] = 192784, + [SMALL_STATE(6450)] = 192791, + [SMALL_STATE(6451)] = 192798, + [SMALL_STATE(6452)] = 192805, + [SMALL_STATE(6453)] = 192812, + [SMALL_STATE(6454)] = 192819, + [SMALL_STATE(6455)] = 192826, + [SMALL_STATE(6456)] = 192833, + [SMALL_STATE(6457)] = 192840, + [SMALL_STATE(6458)] = 192847, + [SMALL_STATE(6459)] = 192854, + [SMALL_STATE(6460)] = 192861, + [SMALL_STATE(6461)] = 192868, + [SMALL_STATE(6462)] = 192875, + [SMALL_STATE(6463)] = 192882, + [SMALL_STATE(6464)] = 192889, + [SMALL_STATE(6465)] = 192896, + [SMALL_STATE(6466)] = 192903, + [SMALL_STATE(6467)] = 192910, + [SMALL_STATE(6468)] = 192917, + [SMALL_STATE(6469)] = 192924, + [SMALL_STATE(6470)] = 192931, + [SMALL_STATE(6471)] = 192938, + [SMALL_STATE(6472)] = 192945, + [SMALL_STATE(6473)] = 192952, + [SMALL_STATE(6474)] = 192959, + [SMALL_STATE(6475)] = 192966, + [SMALL_STATE(6476)] = 192973, + [SMALL_STATE(6477)] = 192980, + [SMALL_STATE(6478)] = 192987, + [SMALL_STATE(6479)] = 192994, + [SMALL_STATE(6480)] = 193001, + [SMALL_STATE(6481)] = 193008, + [SMALL_STATE(6482)] = 193015, + [SMALL_STATE(6483)] = 193022, + [SMALL_STATE(6484)] = 193029, + [SMALL_STATE(6485)] = 193036, + [SMALL_STATE(6486)] = 193043, + [SMALL_STATE(6487)] = 193050, + [SMALL_STATE(6488)] = 193057, + [SMALL_STATE(6489)] = 193064, + [SMALL_STATE(6490)] = 193071, + [SMALL_STATE(6491)] = 193078, + [SMALL_STATE(6492)] = 193085, + [SMALL_STATE(6493)] = 193092, + [SMALL_STATE(6494)] = 193099, + [SMALL_STATE(6495)] = 193106, + [SMALL_STATE(6496)] = 193113, +}; + +static const TSParseActionEntry ts_parse_actions[] = { + [0] = {.entry = {.count = 0, .reusable = false}}, + [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), + [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), + [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 0), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1473), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4649), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6496), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3956), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6494), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5468), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1260), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1261), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1260), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(876), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3726), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(896), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2820), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2015), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6489), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4759), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5472), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6476), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5495), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3200), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1080), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2660), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1820), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2427), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3014), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4398), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4087), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4004), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4011), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5220), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5516), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1264), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6438), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5527), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6430), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1048), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6428), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6424), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6423), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1266), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1208), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3087), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5533), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5187), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3118), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2954), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6415), + [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2678), + [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3511), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3435), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1013), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(883), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1269), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1193), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5150), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4698), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6409), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6407), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1175), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1271), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5566), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1273), + [139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3205), + [141] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3864), + [143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2548), + [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1462), + [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4624), + [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6266), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6040), + [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3935), + [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6265), + [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5916), + [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657), + [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2849), + [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1976), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1058), + [171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5315), + [173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5693), + [175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1381), + [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6010), + [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5942), + [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376), + [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6432), + [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1041), + [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6004), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6000), + [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6261), + [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6041), + [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1015), + [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1176), + [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4962), + [201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4655), + [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6433), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6434), + [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1168), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1379), + [211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5700), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1520), + [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), + [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1564), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1557), + [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1490), + [229] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4599), + [231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6053), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3970), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(853), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6051), + [239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3945), + [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5652), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2716), + [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1972), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [253] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5349), + [255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5924), + [257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1451), + [259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6184), + [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5771), + [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(359), + [265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6467), + [267] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1036), + [269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6181), + [271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6179), + [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6028), + [275] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1014), + [277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1236), + [279] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5169), + [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4704), + [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6456), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6457), + [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1240), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1450), + [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5920), + [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(863), + [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(771), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(755), + [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(756), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(720), + [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(461), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(776), + [307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(817), + [309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(820), + [311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(420), + [313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(424), + [315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 3, .production_id = 66), + [319] = {.entry = {.count = 1, .reusable = false}}, SHIFT(737), + [321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif, 4, .production_id = 66), + [323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(808), + [325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(759), + [327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1490), + [330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4599), + [333] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6053), + [336] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3970), + [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), + [341] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6051), + [344] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5652), + [347] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(108), + [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1260), + [353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1261), + [356] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1260), + [359] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(876), + [362] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3726), + [365] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(896), + [368] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(309), + [371] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2716), + [374] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1972), + [377] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6489), + [380] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4759), + [383] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5472), + [386] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6476), + [389] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5495), + [392] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3200), + [395] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(31), + [398] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1080), + [401] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2660), + [404] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1820), + [407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2427), + [410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3014), + [413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4398), + [416] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4087), + [419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4004), + [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4011), + [425] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5349), + [428] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5924), + [431] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1451), + [434] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6184), + [437] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5771), + [440] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(359), + [443] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6467), + [446] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1036), + [449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6181), + [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6179), + [455] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6028), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1266), + [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1208), + [464] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3087), + [467] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5533), + [470] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5187), + [473] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3118), + [476] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2954), + [479] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6415), + [482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2678), + [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3511), + [488] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3435), + [491] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1014), + [494] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(883), + [497] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1269), + [500] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1236), + [503] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5169), + [506] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4704), + [509] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6456), + [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6457), + [515] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1240), + [518] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1450), + [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5920), + [524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1273), + [527] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3205), + [530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3864), + [533] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2548), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2547), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1483), + [546] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4641), + [548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6086), + [550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3976), + [552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 2), + [554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6022), + [556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5464), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2847), + [562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1970), + [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5448), + [568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5879), + [570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1440), + [572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5973), + [574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5965), + [576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348), + [578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6477), + [580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1042), + [582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5969), + [584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5968), + [586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6090), + [588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1012), + [590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1192), + [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5101), + [594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4725), + [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6478), + [598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6469), + [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1190), + [602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1439), + [604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5872), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1789), + [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1784), + [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4668), + [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4682), + [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1580), + [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1556), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4423), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4418), + [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1877), + [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1867), + [628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), + [632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), + [634] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else, 1), + [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2828), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2806), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3467), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3464), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2589), + [646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(899), + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717), + [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1508), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1512), + [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2915), + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2885), + [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(762), + [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870), + [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_translation_unit, 1), + [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2334), + [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), + [684] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1473), + [687] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4649), + [690] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6496), + [693] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3956), + [696] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6494), + [699] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5468), + [702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(522), + [705] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2820), + [708] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2015), + [711] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(61), + [714] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5220), + [717] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5516), + [720] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1264), + [723] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6438), + [726] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5527), + [729] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(373), + [732] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6430), + [735] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1048), + [738] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6428), + [741] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6424), + [744] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6423), + [747] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1013), + [750] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1193), + [753] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5150), + [756] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4698), + [759] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6409), + [762] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6407), + [765] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1175), + [768] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1271), + [771] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5566), + [774] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1462), + [777] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4624), + [780] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6266), + [783] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3935), + [786] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6265), + [789] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5916), + [792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(657), + [795] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2849), + [798] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1976), + [801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(56), + [804] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5315), + [807] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5693), + [810] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1381), + [813] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6010), + [816] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5942), + [819] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(376), + [822] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6432), + [825] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1041), + [828] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6004), + [831] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6000), + [834] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6261), + [837] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1015), + [840] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1176), + [843] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4962), + [846] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4655), + [849] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6433), + [852] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6434), + [855] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1168), + [858] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1379), + [861] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5700), + [864] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1483), + [867] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4641), + [870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6086), + [873] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(3976), + [876] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6022), + [879] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5464), + [882] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(575), + [885] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(2847), + [888] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1970), + [891] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(65), + [894] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5448), + [897] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5879), + [900] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1440), + [903] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5973), + [906] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5965), + [909] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(348), + [912] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6477), + [915] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1042), + [918] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5969), + [921] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5968), + [924] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6090), + [927] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1012), + [930] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1192), + [933] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5101), + [936] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(4725), + [939] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6478), + [942] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(6469), + [945] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1190), + [948] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(1439), + [951] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_translation_unit_repeat1, 2), SHIFT_REPEAT(5872), + [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2343), + [956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1467), + [958] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 4, .production_id = 10), + [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1280), + [964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, .production_id = 10), + [966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1280), + [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5925), + [970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1057), + [972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5608), + [974] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3, .production_id = 10), + [976] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3, .production_id = 10), + [978] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 3), + [980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 3), + [982] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_statement, 2), + [984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 2), + [986] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1467), + [989] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), + [991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(160), + [994] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1260), + [997] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1260), + [1000] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1280), + [1003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), + [1005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1280), + [1008] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(309), + [1011] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2716), + [1014] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2660), + [1017] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6489), + [1020] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(4759), + [1023] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5925), + [1026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6476), + [1029] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(31), + [1032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1057), + [1035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1820), + [1038] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2427), + [1041] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(3014), + [1044] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(4398), + [1047] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(4087), + [1050] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(4004), + [1053] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(4011), + [1056] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5349), + [1059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5924), + [1062] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5771), + [1065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(359), + [1068] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6467), + [1071] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1036), + [1074] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6181), + [1077] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6179), + [1080] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6028), + [1083] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1266), + [1086] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1208), + [1089] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(3087), + [1092] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5533), + [1095] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5187), + [1098] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(3118), + [1101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2954), + [1104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6415), + [1107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2678), + [1110] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(3435), + [1113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5608), + [1116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1269), + [1119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1236), + [1122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1240), + [1125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1450), + [1128] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5920), + [1131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1273), + [1134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(3205), + [1137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(3864), + [1140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2548), + [1143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1476), + [1146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(522), + [1149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2820), + [1152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(61), + [1155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5220), + [1158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5516), + [1161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5527), + [1164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(373), + [1167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6430), + [1170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1048), + [1173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6428), + [1176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6424), + [1179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6423), + [1182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1193), + [1185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1175), + [1188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1271), + [1191] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5566), + [1194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1476), + [1196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1466), + [1198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1477), + [1200] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1477), + [1203] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(657), + [1206] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2849), + [1209] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(56), + [1212] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5315), + [1215] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5693), + [1218] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5942), + [1221] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(376), + [1224] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6432), + [1227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1041), + [1230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6004), + [1233] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6000), + [1236] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6261), + [1239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1176), + [1242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1168), + [1245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1379), + [1248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5700), + [1251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1466), + [1254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(575), + [1257] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2847), + [1260] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(65), + [1263] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5448), + [1266] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5879), + [1269] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5965), + [1272] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(348), + [1275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6477), + [1278] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1042), + [1281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5969), + [1284] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5968), + [1287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6090), + [1290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1192), + [1293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1190), + [1296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1439), + [1299] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5872), + [1302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1475), + [1304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934), + [1306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2784), + [1308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [1310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5248), + [1312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5835), + [1314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5765), + [1316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(341), + [1318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6482), + [1320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1038), + [1322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6119), + [1324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6206), + [1326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6129), + [1328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1245), + [1330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1239), + [1332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1426), + [1334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5830), + [1336] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1475), + [1339] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(934), + [1342] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(2784), + [1345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(54), + [1348] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5248), + [1351] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5835), + [1354] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5765), + [1357] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(341), + [1360] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6482), + [1363] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1038), + [1366] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6119), + [1369] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6206), + [1372] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(6129), + [1375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1245), + [1378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1239), + [1381] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(1426), + [1384] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(5830), + [1387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1464), + [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3163), + [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6139), + [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1395), + [1397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1395), + [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1407), + [1401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4830), + [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5902), + [1405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3066), + [1407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4408), + [1409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4100), + [1411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4104), + [1413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4107), + [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1401), + [1417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1225), + [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2458), + [1421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5906), + [1423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5110), + [1425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2551), + [1427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3470), + [1429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1408), + [1431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1409), + [1433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3199), + [1435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3862), + [1437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1838), + [1439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1491), + [1441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5272), + [1443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3808), + [1445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1016), + [1447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1478), + [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2799), + [1451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1570), + [1453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [1455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1396), + [1457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(879), + [1459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(895), + [1461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1080), + [1463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1836), + [1465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4166), + [1467] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4413), + [1469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4111), + [1471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4112), + [1473] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4137), + [1475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2102), + [1477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6202), + [1479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3383), + [1481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2443), + [1483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1202), + [1485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1248), + [1487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1242), + [1489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1216), + [1491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1194), + [1493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1205), + [1495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3078), + [1497] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6127), + [1499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3943), + [1501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1774), + [1503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6213), + [1505] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), + [1507] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3949), + [1509] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5776), + [1511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3725), + [1513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6316), + [1515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2082), + [1517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3726), + [1519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2734), + [1521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4217), + [1523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6315), + [1525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3028), + [1527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3120), + [1529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4394), + [1531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4070), + [1533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4069), + [1535] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4067), + [1537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3152), + [1539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6394), + [1541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6225), + [1543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3425), + [1545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5173), + [1547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1501), + [1549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4701), + [1551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6483), + [1553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1624), + [1555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1720), + [1557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1672), + [1559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1554), + [1561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1793), + [1563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1660), + [1565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 3, .production_id = 66), + [1567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1595), + [1569] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1662), + [1571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1786), + [1573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, .production_id = 66), + [1575] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1699), + [1577] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1578), + [1579] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3078), + [1582] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6127), + [1585] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3943), + [1588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), + [1590] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6213), + [1593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5776), + [1596] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3725), + [1599] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6316), + [1602] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(2082), + [1605] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3726), + [1608] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3726), + [1611] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(2734), + [1614] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(2660), + [1617] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6489), + [1620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4217), + [1623] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5902), + [1626] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6476), + [1629] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5495), + [1632] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6315), + [1635] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1820), + [1638] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3028), + [1641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3120), + [1644] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4394), + [1647] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4070), + [1650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4069), + [1653] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4067), + [1656] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3152), + [1659] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6394), + [1662] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(2678), + [1665] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3511), + [1668] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6225), + [1671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3425), + [1674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5173), + [1677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(883), + [1680] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1501), + [1683] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4701), + [1686] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6483), + [1689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6021), + [1691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3978), + [1693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5971), + [1695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5770), + [1697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2738), + [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3179), + [1701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5970), + [1703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4918), + [1705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1499), + [1707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4662), + [1709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6468), + [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2205), + [1713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3189), + [1715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2912), + [1717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2174), + [1719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2917), + [1721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2027), + [1723] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6163), + [1725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3972), + [1727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 1), + [1729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5995), + [1731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5599), + [1733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2754), + [1735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6442), + [1737] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5093), + [1739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1502), + [1741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4674), + [1743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6486), + [1745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2671), + [1747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2645), + [1749] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6021), + [1752] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3978), + [1755] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5971), + [1758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5770), + [1761] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(2738), + [1764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), + [1766] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5970), + [1769] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4918), + [1772] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1499), + [1775] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4662), + [1778] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6468), + [1781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2235), + [1783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2039), + [1785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2099), + [1787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2421), + [1789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2407), + [1791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4084), + [1793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4122), + [1795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_else_in_field_declaration_list, 2), + [1797] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6163), + [1800] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3972), + [1803] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5995), + [1806] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5599), + [1809] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(2754), + [1812] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6442), + [1815] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(5093), + [1818] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1502), + [1821] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(4674), + [1824] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_preproc_if_in_field_declaration_list_repeat1, 2), SHIFT_REPEAT(6486), + [1827] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), + [1829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2), + [1831] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(5892), + [1834] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3, .production_id = 8), + [1836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3, .production_id = 8), + [1838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5892), + [1840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2327), + [1842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5613), + [1844] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2333), + [1846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2341), + [1848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2319), + [1850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1647), + [1852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1057), + [1854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5814), + [1856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5778), + [1858] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(5778), + [1861] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 2), + [1863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 2), + [1865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5853), + [1867] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(5814), + [1870] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(5853), + [1873] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 3, .production_id = 131), + [1875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 3, .production_id = 131), + [1877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_statement, 3), + [1879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_statement, 3), + [1881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1974), + [1883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 4, .production_id = 36), + [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [1887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1259), + [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1259), + [1891] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 4, .production_id = 36), + [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4792), + [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1018), + [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1257), + [1899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1229), + [1901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2173), + [1903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5922), + [1905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5066), + [1907] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2328), + [1909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1253), + [1911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1252), + [1913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3231), + [1915] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3868), + [1917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1816), + [1919] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 85), + [1921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 85), + [1923] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), + [1925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 160), + [1927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 160), + [1929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 161), + [1931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 161), + [1933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_range_loop, 8, .production_id = 162), + [1935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_range_loop, 8, .production_id = 162), + [1937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 5, .production_id = 123), + [1939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 5, .production_id = 123), + [1941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 122), + [1943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 122), + [1945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 2), + [1947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 2), + [1949] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6), + [1951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6), + [1953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, .production_id = 73), + [1955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, .production_id = 73), + [1957] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, .production_id = 41), + [1959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, .production_id = 41), + [1961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), + [1963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 2), + [1965] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 5, .production_id = 109), + [1967] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 5, .production_id = 109), + [1969] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2), + [1971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2), + [1973] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2300), + [1975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5840), + [1977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [1979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5276), + [1981] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5903), + [1983] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1384), + [1985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6381), + [1987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5574), + [1989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), + [1991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6455), + [1993] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1049), + [1995] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6386), + [1997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6388), + [1999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6047), + [2001] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1189), + [2003] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1188), + [2005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1386), + [2007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5910), + [2009] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 163), + [2011] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 163), + [2013] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 164), + [2015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 164), + [2017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2278), + [2019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 165), + [2021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 165), + [2023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2), + [2025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2), + [2027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2), + [2029] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2), + [2031] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2), + [2033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2), + [2035] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2117), + [2037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1407), + [2039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1011), + [2041] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5931), + [2043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_non_case_statement, 2), + [2045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_non_case_statement, 2), + [2047] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 3, .production_id = 54), + [2049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 3, .production_id = 54), + [2051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 149), + [2053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 149), + [2055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, .production_id = 149), + [2057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, .production_id = 149), + [2059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1), + [2061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1), + [2063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 3, .production_id = 42), + [2065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 3, .production_id = 42), + [2067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, .production_id = 42), + [2069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, .production_id = 42), + [2071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3), + [2073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3), + [2075] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 4, .production_id = 50), + [2077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 4, .production_id = 50), + [2079] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 6, .production_id = 141), + [2081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 6, .production_id = 141), + [2083] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 3, .production_id = 43), + [2085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 3, .production_id = 43), + [2087] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration, 4, .production_id = 92), + [2089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration, 4, .production_id = 92), + [2091] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 148), + [2093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 148), + [2095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 157), + [2097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 157), + [2099] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 156), + [2101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 156), + [2103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 155), + [2105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 155), + [2107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, .production_id = 45), + [2109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, .production_id = 45), + [2111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 154), + [2113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 154), + [2115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_statement, 3), + [2117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_statement, 3), + [2119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_return_statement, 2), + [2121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_return_statement, 2), + [2123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_yield_statement, 3), + [2125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_yield_statement, 3), + [2127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_return_statement, 3), + [2129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_return_statement, 3), + [2131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1812), + [2133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [2135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1437), + [2137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1437), + [2139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1285), + [2141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4731), + [2143] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1955), + [2145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4014), + [2147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4396), + [2149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4057), + [2151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4056), + [2153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4054), + [2155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1433), + [2157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1238), + [2159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3401), + [2161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5834), + [2163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5129), + [2165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3558), + [2167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2594), + [2169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6408), + [2171] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3461), + [2173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1537), + [2175] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1430), + [2177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1429), + [2179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3238), + [2181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3855), + [2183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2974), + [2185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 57), + [2187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 57), + [2189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1881), + [2191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_instantiation, 4, .production_id = 48), + [2193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_instantiation, 4, .production_id = 48), + [2195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1648), + [2197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_declaration, 4, .production_id = 47), + [2199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_declaration, 4, .production_id = 47), + [2201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3), + [2203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3), + [2205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_declaration, 4), + [2207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_declaration, 4), + [2209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1471), + [2211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2870), + [2213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4672), + [2215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2154), + [2217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1884), + [2219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1469), + [2221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, .production_id = 94), + [2223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, .production_id = 94), + [2225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1941), + [2227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 2, .production_id = 3), + [2229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 2, .production_id = 3), + [2231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 6, .production_id = 140), + [2233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 6, .production_id = 140), + [2235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_default_method_clause, 3), + [2237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_method_clause, 3), + [2239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 5, .production_id = 139), + [2241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 5, .production_id = 139), + [2243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_method_clause, 3), + [2245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_method_clause, 3), + [2247] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concept_definition, 5, .production_id = 9), + [2249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concept_definition, 5, .production_id = 9), + [2251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_static_assert_declaration, 7, .production_id = 158), + [2253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_static_assert_declaration, 7, .production_id = 158), + [2255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 9), + [2257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 9), + [2259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_declaration, 2, .production_id = 19), + [2261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_declaration, 2, .production_id = 19), + [2263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 4, .production_id = 99), + [2265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 4, .production_id = 99), + [2267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 67), + [2269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 4, .production_id = 67), + [2271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 4, .production_id = 66), + [2273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 4, .production_id = 66), + [2275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 4, .production_id = 65), + [2277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 4, .production_id = 65), + [2279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_static_assert_declaration, 5, .production_id = 130), + [2281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_static_assert_declaration, 5, .production_id = 130), + [2283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_declaration, 5, .production_id = 129), + [2285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_declaration, 5, .production_id = 129), + [2287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2721), + [2289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2501), + [2291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 4, .production_id = 103), + [2293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 4, .production_id = 103), + [2295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 4, .production_id = 64), + [2297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 4, .production_id = 64), + [2299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_definition, 3, .production_id = 63), + [2301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_definition, 3, .production_id = 63), + [2303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 3, .production_id = 5), + [2305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 3, .production_id = 5), + [2307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 5), + [2309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 5), + [2311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 63), + [2313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 63), + [2315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 2, .production_id = 8), + [2317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 2, .production_id = 8), + [2319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 19), + [2321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 3, .production_id = 19), + [2323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 2, .production_id = 18), + [2325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 2, .production_id = 18), + [2327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 3, .production_id = 55), + [2329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 3, .production_id = 55), + [2331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_using_declaration, 3), + [2333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_using_declaration, 3), + [2335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_definition, 3, .production_id = 39), + [2337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition, 3, .production_id = 39), + [2339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2), + [2341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2), + [2343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 4, .production_id = 5), + [2345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 4, .production_id = 5), + [2347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_declaration, 3, .production_id = 47), + [2349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_declaration, 3, .production_id = 47), + [2351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_function_def, 5, .production_id = 104), + [2353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_function_def, 5, .production_id = 104), + [2355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_instantiation, 3, .production_id = 5), + [2357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_instantiation, 3, .production_id = 5), + [2359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_linkage_specification, 3, .production_id = 35), + [2361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_linkage_specification, 3, .production_id = 35), + [2363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3826), + [2365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call, 3, .production_id = 31), + [2367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call, 3, .production_id = 31), + [2369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1510), + [2371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 3, .production_id = 9), + [2373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 3, .production_id = 9), + [2375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_def, 3, .production_id = 9), + [2377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_def, 3, .production_id = 9), + [2379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_include, 3, .production_id = 30), + [2381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_include, 3, .production_id = 30), + [2383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_declaration, 3, .production_id = 5), + [2385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_declaration, 3, .production_id = 5), + [2387] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, .production_id = 66), + [2389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, .production_id = 66), + [2391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_statement, 2), + [2393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_statement, 2), + [2395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_definition, 2, .production_id = 18), + [2397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_definition, 2, .production_id = 18), + [2399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_cast_declaration, 2, .production_id = 19), + [2401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast_declaration, 2, .production_id = 19), + [2403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef, 5, .production_id = 106), + [2405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef, 5, .production_id = 106), + [2407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namespace_alias_definition, 5, .production_id = 9), + [2409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_alias_definition, 5, .production_id = 9), + [2411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if, 5, .production_id = 105), + [2413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if, 5, .production_id = 105), + [2415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__empty_declaration, 2), + [2417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__empty_declaration, 2), + [2419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constructor_or_destructor_definition, 2, .production_id = 19), + [2421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor_or_destructor_definition, 2, .production_id = 19), + [2423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), + [2425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287), + [2427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3180), + [2429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4202), + [2431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2975), + [2433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6378), + [2435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6479), + [2437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3932), + [2439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5142), + [2441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6130), + [2443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5037), + [2445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6404), + [2447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2459), + [2449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [2451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1392), + [2453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1392), + [2455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1285), + [2457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4740), + [2459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1019), + [2461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5467), + [2463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1402), + [2465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1173), + [2467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2664), + [2469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5789), + [2471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5065), + [2473] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2804), + [2475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1404), + [2477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1405), + [2479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3223), + [2481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3861), + [2483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1906), + [2485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), + [2487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251), + [2489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [2491] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6417), + [2493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6484), + [2495] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355), + [2497] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5127), + [2499] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6235), + [2501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4925), + [2503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6350), + [2505] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6426), + [2507] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6487), + [2509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [2511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1332), + [2513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1332), + [2515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1355), + [2517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4807), + [2519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1331), + [2521] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1210), + [2523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1327), + [2525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1323), + [2527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3242), + [2529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2088), + [2531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [2533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1258), + [2535] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3831), + [2537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3849), + [2539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3376), + [2541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2055), + [2543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3022), + [2545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4570), + [2547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4570), + [2549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4794), + [2551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2928), + [2553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4412), + [2555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4128), + [2557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4129), + [2559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4131), + [2561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3409), + [2563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4472), + [2565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6260), + [2567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2513), + [2569] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2513), + [2571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2479), + [2573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6105), + [2575] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2095), + [2577] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2454), + [2579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [2581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1413), + [2583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1413), + [2585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4826), + [2587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1412), + [2589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1234), + [2591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1411), + [2593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1410), + [2595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3204), + [2597] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2436), + [2599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017), + [2601] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2590), + [2603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [2605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1307), + [2607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1307), + [2609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1355), + [2611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4822), + [2613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1281), + [2615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1185), + [2617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1278), + [2619] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1277), + [2621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3236), + [2623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3020), + [2625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5208), + [2627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3872), + [2629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(889), + [2631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1819), + [2633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3062), + [2635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3062), + [2637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4335), + [2639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981), + [2641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3), + [2643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3), + [2645] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1), REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [2648] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1), REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [2651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [2653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 1), + [2655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_modifiers, 1), + [2657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_modifiers, 1), + [2659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4), + [2661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4), + [2663] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(5797), + [2666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5797), + [2668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1214), + [2670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4493), + [2672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2122), + [2674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233), + [2676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4566), + [2678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1213), + [2680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4617), + [2682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370), + [2684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198), + [2686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4571), + [2688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1211), + [2690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4549), + [2692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1215), + [2694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4626), + [2696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1227), + [2698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4425), + [2700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1197), + [2702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4862), + [2704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1235), + [2706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4582), + [2708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(371), + [2710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1200), + [2712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4473), + [2714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1226), + [2716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4859), + [2718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1184), + [2720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4504), + [2722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2320), + [2724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230), + [2726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4466), + [2728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1231), + [2730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4453), + [2732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1325), + [2734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3057), + [2736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4727), + [2738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2292), + [2740] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(2095), + [2743] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(160), + [2746] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1260), + [2749] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1260), + [2752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1280), + [2755] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(2799), + [2758] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(4759), + [2761] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1325), + [2764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), + [2766] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1057), + [2769] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(5613), + [2772] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1266), + [2775] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1208), + [2778] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(3087), + [2781] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(5533), + [2784] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(5187), + [2787] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(3118), + [2790] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(4727), + [2793] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(5608), + [2796] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1269), + [2799] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(1273), + [2802] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(3205), + [2805] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(3864), + [2808] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requirement_seq_repeat1, 2), SHIFT_REPEAT(2548), + [2811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4477), + [2813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2832), + [2815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4421), + [2817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2524), + [2819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1535), + [2821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3394), + [2823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1529), + [2825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2774), + [2827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3314), + [2829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3065), + [2831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4687), + [2833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2339), + [2835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2560), + [2837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4696), + [2839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6251), + [2841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2563), + [2843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1088), + [2845] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3113), + [2847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1504), + [2849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4319), + [2851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3115), + [2853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6076), + [2855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3545), + [2857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6418), + [2859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2313), + [2861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6263), + [2863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2846), + [2865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3191), + [2867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6106), + [2869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5128), + [2871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2529), + [2873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3519), + [2875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5175), + [2877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2765), + [2879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2303), + [2881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2555), + [2883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3518), + [2885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2720), + [2887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3124), + [2889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5143), + [2891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2349), + [2893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [2895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(916), + [2897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(685), + [2899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669), + [2901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [2903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5865), + [2905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2805), + [2907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1116), + [2909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1095), + [2911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5647), + [2913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1094), + [2915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 2), + [2917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 2), + [2919] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2665), + [2921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3747), + [2923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1091), + [2925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3780), + [2927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4212), + [2929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4212), + [2931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4808), + [2933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(929), + [2935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4788), + [2937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2273), + [2939] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6062), + [2941] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1217), + [2943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1069), + [2945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2517), + [2947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1074), + [2949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1082), + [2951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1068), + [2953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6275), + [2955] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1221), + [2957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1059), + [2959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1053), + [2961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1055), + [2963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1077), + [2965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1089), + [2967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3487), + [2969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1076), + [2971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1054), + [2973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1064), + [2975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1087), + [2977] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6431), + [2979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1222), + [2981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1971), + [2983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5087), + [2985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3476), + [2987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1092), + [2989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2309), + [2991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [2993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [2995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [2997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [2999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [3001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [3003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [3005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [3007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [3009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [3011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [3013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [3015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [3017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_default_capture, 1), + [3019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [3021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [3023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [3025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [3027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [3029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [3031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [3033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [3035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [3037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [3039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [3041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [3043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [3045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [3047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [3049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [3051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [3053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [3055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [3057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [3059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [3061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [3063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [3065] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6281), + [3068] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6309), + [3071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1150), + [3073] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6286), + [3076] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6287), + [3079] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6288), + [3082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692), + [3084] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6292), + [3087] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6297), + [3090] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6304), + [3093] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6305), + [3096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6399), + [3098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [3100] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6310), + [3103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), + [3105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691), + [3107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6312), + [3110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1126), + [3112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6322), + [3115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6326), + [3118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6256), + [3120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6282), + [3123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6091), + [3125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4495), + [3127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6269), + [3129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [3131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6327), + [3134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6336), + [3137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5852), + [3139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5960), + [3141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(676), + [3143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6481), + [3146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(675), + [3148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623), + [3150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1151), + [3152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6109), + [3154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1111), + [3156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4855), + [3158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4552), + [3160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1104), + [3162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4460), + [3164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6264), + [3166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1122), + [3168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1141), + [3170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1158), + [3172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6284), + [3175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1135), + [3177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [3179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1159), + [3181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6339), + [3183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [3185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4519), + [3187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1132), + [3189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4594), + [3191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4588), + [3193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4595), + [3195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1129), + [3197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1769), + [3199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1065), + [3201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6071), + [3203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3759), + [3205] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6308), + [3208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1603), + [3210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1803), + [3212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1109), + [3214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6422), + [3216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6217), + [3218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [3220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4857), + [3222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4428), + [3224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3873), + [3226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [3228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4437), + [3230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4434), + [3232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6449), + [3234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4524), + [3236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [3238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4508), + [3240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [3242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1100), + [3244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6373), + [3246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [3248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(969), + [3250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [3252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1106), + [3254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1110), + [3256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6406), + [3258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(951), + [3260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1130), + [3262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1127), + [3264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1063), + [3266] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2091), + [3268] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2090), + [3270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1081), + [3272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1051), + [3274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1073), + [3276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1096), + [3278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1079), + [3280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1071), + [3282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1084), + [3284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2054), + [3286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1066), + [3288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1075), + [3290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1072), + [3292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1070), + [3294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1083), + [3296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1061), + [3298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1052), + [3300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_specifier, 1, .production_id = 1), + [3302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), + [3304] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__declarator, 1), REDUCE(sym__type_specifier, 1, .production_id = 1), REDUCE(sym__expression, 1), + [3308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_specifier, 1, .production_id = 1), + [3310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), + [3312] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__type_specifier, 1, .production_id = 1), REDUCE(sym__expression, 1), + [3315] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_specifier, 1, .production_id = 1), REDUCE(sym__expression, 1), + [3318] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(456), + [3321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4898), + [3323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1), REDUCE(sym__type_specifier, 1, .production_id = 1), + [3326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_name, 1, .production_id = 1), + [3328] = {.entry = {.count = 3, .reusable = false}}, REDUCE(sym__declarator, 1), REDUCE(sym__type_specifier, 1, .production_id = 1), REDUCE(sym__expression, 1), + [3332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1334), + [3334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), + [3336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1334), + [3338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), + [3340] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), + [3343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), + [3345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), + [3347] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), + [3350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), + [3352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), SHIFT(407), + [3355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(407), + [3358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 3, .dynamic_precedence = 3), + [3360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 3, .dynamic_precedence = 3), + [3362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306), + [3364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265), + [3366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 4, .dynamic_precedence = 2), + [3368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 4, .dynamic_precedence = 2), + [3370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 2), + [3372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 2), + [3374] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), SHIFT(402), + [3377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 4, .dynamic_precedence = 3), + [3379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 4, .dynamic_precedence = 3), + [3381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), + [3383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 3, .dynamic_precedence = 2), + [3385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 3, .dynamic_precedence = 2), + [3387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378), + [3389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 4, .dynamic_precedence = 1), + [3391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 4, .dynamic_precedence = 1), + [3393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_argument_list, 3, .dynamic_precedence = 1), + [3395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_argument_list, 3, .dynamic_precedence = 1), + [3397] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_type, 2, .production_id = 12), + [3399] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_template_type, 2, .production_id = 12), REDUCE(sym_template_function, 2, .production_id = 13), + [3402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_type, 2, .production_id = 12), + [3404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_function, 2, .production_id = 13), + [3406] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_template_type, 2, .production_id = 12), REDUCE(sym_template_function, 2, .production_id = 13), + [3409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_function, 2, .production_id = 13), + [3411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [3413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [3415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [3417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [3419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3130), + [3421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4115), + [3423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4117), + [3425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4120), + [3427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4041), + [3429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4044), + [3431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4045), + [3433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4140), + [3435] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4139), + [3437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4138), + [3439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3871), + [3441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3083), + [3443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5130), + [3445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4815), + [3447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1895), + [3449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5500), + [3451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4720), + [3453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3088), + [3455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6193), + [3457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4231), + [3459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5692), + [3461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6195), + [3463] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3089), + [3465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3072), + [3467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 5, .production_id = 138), + [3469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 5, .production_id = 138), + [3471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, .production_id = 101), + [3473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, .production_id = 101), + [3475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requirement_seq, 3), + [3477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requirement_seq, 3), + [3479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 4, .production_id = 102), + [3481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 4, .production_id = 102), + [3483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 3, .production_id = 61), + [3485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 3, .production_id = 61), + [3487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_expression, 3, .production_id = 53), + [3489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_expression, 3, .production_id = 53), + [3491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requirement_seq, 2), + [3493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requirement_seq, 2), + [3495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 3, .production_id = 62), + [3497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 3, .production_id = 62), + [3499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fold_expression, 3, .production_id = 33), + [3501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fold_expression, 3, .production_id = 33), + [3503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__requirement_clause_constraint, 3), + [3505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__requirement_clause_constraint, 3), + [3507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 2, .production_id = 25), + [3509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 2, .production_id = 25), + [3511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constraint_conjunction, 3, .production_id = 44), + [3513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_conjunction, 3, .production_id = 44), + [3515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_expression, 2, .production_id = 15), + [3517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_expression, 2, .production_id = 15), + [3519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 9), + [3521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 9), + [3523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 6, .production_id = 159), + [3525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 6, .production_id = 159), + [3527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, .production_id = 140), + [3529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 6, .production_id = 140), + [3531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declarator, 1), + [3533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, .production_id = 152), + [3535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, .production_id = 152), + [3537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, .production_id = 92), + [3539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, .production_id = 92), + [3541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 5, .production_id = 151), + [3543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 5, .production_id = 151), + [3545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, .production_id = 106), + [3547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 5, .production_id = 106), + [3549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 66), + [3551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 66), + [3553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 105), + [3555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 5, .production_id = 105), + [3557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 92), + [3559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 92), + [3561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 143), + [3563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 143), + [3565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 54), + [3567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 54), + [3569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 4, .production_id = 128), + [3571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 4, .production_id = 128), + [3573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_friend_declaration, 4), + [3575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_friend_declaration, 4), + [3577] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 67), + [3579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 4, .production_id = 67), + [3581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, .production_id = 66), + [3583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_if_in_field_declaration_list, 4, .production_id = 66), + [3585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), + [3587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), + [3589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), SHIFT_REPEAT(5925), + [3592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_access_specifier, 2), + [3594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_access_specifier, 2), + [3596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_friend_declaration, 2), + [3598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_friend_declaration, 2), + [3600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 2, .production_id = 46), + [3602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 2, .production_id = 46), + [3604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, .production_id = 115), + [3606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, .production_id = 115), + [3608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_method_definition, 3, .production_id = 54), + [3610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_method_definition, 3, .production_id = 54), + [3612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inline_method_definition, 3, .production_id = 55), + [3614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inline_method_definition, 3, .production_id = 55), + [3616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, .production_id = 54), + [3618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, .production_id = 54), + [3620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_friend_declaration, 3), + [3622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_friend_declaration, 3), + [3624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, .production_id = 9), + [3626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_ifdef_in_field_declaration_list, 3, .production_id = 9), + [3628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration, 3, .production_id = 46), + [3630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration, 3, .production_id = 46), + [3632] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(394), + [3635] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), SHIFT(394), + [3638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4738), + [3640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4381), + [3642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 1, .dynamic_precedence = 1), + [3644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1712), + [3646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3011), + [3648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3011), + [3650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4385), + [3652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(981), + [3654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1725), + [3656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3019), + [3658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3019), + [3660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2044), + [3662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 1), + [3664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1), + [3666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1794), + [3668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2045), + [3670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), + [3672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), + [3674] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(1794), + [3677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_condition_clause, 3, .production_id = 10), + [3679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_clause, 3, .production_id = 10), + [3681] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(405), + [3684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1398), + [3686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1398), + [3688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_specifier, 4), + [3690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_specifier, 4), + [3692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), SHIFT(398), + [3695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2), + [3697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2), + [3699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1818), + [3701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2322), + [3703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1815), + [3705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_condition_clause, 4, .production_id = 120), + [3707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_clause, 4, .production_id = 120), + [3709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), + [3711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), + [3713] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(5066), + [3716] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(1818), + [3719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4389), + [3721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_qualifier, 1), + [3723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_qualifier, 1), + [3725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 4, .production_id = 83), + [3727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 4, .production_id = 83), + [3729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [3731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4475), + [3733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3766), + [3735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_name, 1, .production_id = 1), + [3737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [3739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 2, .production_id = 9), + [3741] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 2, .production_id = 9), + [3743] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 3, .production_id = 38), + [3745] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 3, .production_id = 38), + [3747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, .production_id = 83), + [3749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, .production_id = 83), + [3751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, .production_id = 38), + [3753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, .production_id = 38), + [3755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, .production_id = 38), + [3757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, .production_id = 38), + [3759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, .production_id = 9), + [3761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, .production_id = 9), + [3763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2141), + [3765] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1835), + [3767] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2190), + [3769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, .production_id = 83), + [3771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, .production_id = 83), + [3773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, .production_id = 9), + [3775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, .production_id = 9), + [3777] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(1833), + [3780] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(1835), + [3783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2188), + [3785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1833), + [3787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2187), + [3789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [3791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [3793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2556), + [3795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1844), + [3797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [3799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 74), + [3801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1097), + [3803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 74), + [3805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1456), + [3807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2047), + [3809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6046), + [3811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, .production_id = 51), + [3813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, .production_id = 51), + [3815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1851), + [3817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, .production_id = 14), + [3819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, .production_id = 14), + [3821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), + [3823] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(5110), + [3826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(1851), + [3829] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), SHIFT(406), + [3832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [3834] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [3836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, .production_id = 36), + [3838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, .production_id = 36), + [3840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [3842] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constraint_disjunction, 3, .production_id = 44), + [3844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constraint_disjunction, 3, .production_id = 44), + [3846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3988), + [3848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_type_identifier, 2), + [3850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_type_identifier, 2), + [3852] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 27), + [3854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 27), + [3856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4864), + [3858] = {.entry = {.count = 1, .reusable = false}}, SHIFT(394), + [3860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__class_name, 1), + [3862] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__class_name, 1), + [3864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_parameter_list, 4), + [3866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_parameter_list, 4), + [3868] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), SHIFT(394), + [3871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_clause, 2, .production_id = 16), + [3873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_clause, 2, .production_id = 16), + [3875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3987), + [3877] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(1891), + [3880] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2481), + [3882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1891), + [3884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2482), + [3886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_parameter_list, 2), + [3888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_parameter_list, 2), + [3890] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_parameter_list, 3), + [3892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_parameter_list, 3), + [3894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1062), + [3896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1254), + [3898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2157), + [3900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6018), + [3902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__enum_base_clause, 2, .production_id = 78), + [3904] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__enum_base_clause, 2, .production_id = 78), + [3906] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2812), + [3908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1922), + [3910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [3912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, .production_id = 9), + [3914] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, .production_id = 9), + [3916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4384), + [3918] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(5065), + [3921] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(1919), + [3924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1919), + [3926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, .production_id = 38), + [3928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, .production_id = 38), + [3930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4363), + [3932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_specifier, 1), + [3934] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_specifier, 1), + [3936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_type, 2, .dynamic_precedence = -1), + [3938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_type, 2, .dynamic_precedence = -1), + [3940] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), SHIFT(398), + [3943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, .production_id = 77), + [3945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, .production_id = 77), + [3947] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(1951), + [3950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, .production_id = 40), + [3952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, .production_id = 40), + [3954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), + [3956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2692), + [3958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1951), + [3960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2689), + [3962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 3), + [3964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 3), + [3966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decltype, 4), + [3968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decltype, 4), + [3970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [3972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_class_specifier, 1), + [3974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_class_specifier, 1), + [3976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4921), + [3978] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2), + [3980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2), + [3982] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(406), + [3985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1050), + [3987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1428), + [3989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2492), + [3991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6172), + [3993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3), + [3995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3), + [3997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 7, .production_id = 153), + [3999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 7, .production_id = 153), + [4001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 7, .production_id = 153), + [4003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 7, .production_id = 153), + [4005] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), + [4007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2), + [4009] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(2122), + [4012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 7, .production_id = 153), + [4014] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 7, .production_id = 153), + [4016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 6, .production_id = 146), + [4018] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 6, .production_id = 146), + [4020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 6, .production_id = 145), + [4022] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 6, .production_id = 145), + [4024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 6, .production_id = 144), + [4026] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 6, .production_id = 144), + [4028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 6, .production_id = 146), + [4030] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 6, .production_id = 146), + [4032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 6, .production_id = 145), + [4034] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 6, .production_id = 145), + [4036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 6, .production_id = 144), + [4038] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 6, .production_id = 144), + [4040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 6, .production_id = 146), + [4042] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 6, .production_id = 146), + [4044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 6, .production_id = 145), + [4046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 6, .production_id = 145), + [4048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 6, .production_id = 144), + [4050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 6, .production_id = 144), + [4052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 5), + [4054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 5), + [4056] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4), + [4058] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4), + [4060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, .production_id = 119), + [4062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, .production_id = 119), + [4064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, .production_id = 118), + [4066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, .production_id = 118), + [4068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, .production_id = 117), + [4070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, .production_id = 117), + [4072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 5, .production_id = 116), + [4074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 5, .production_id = 116), + [4076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, .production_id = 119), + [4078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, .production_id = 119), + [4080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, .production_id = 118), + [4082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, .production_id = 118), + [4084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, .production_id = 117), + [4086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, .production_id = 117), + [4088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 5, .production_id = 116), + [4090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 5, .production_id = 116), + [4092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 5, .production_id = 119), + [4094] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 5, .production_id = 119), + [4096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 5, .production_id = 118), + [4098] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 5, .production_id = 118), + [4100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 5, .production_id = 117), + [4102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 5, .production_id = 117), + [4104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 5, .production_id = 116), + [4106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 5, .production_id = 116), + [4108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 5, .production_id = 114), + [4110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 5, .production_id = 114), + [4112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, .production_id = 50), + [4114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, .production_id = 50), + [4116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 73), + [4118] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 73), + [4120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 90), + [4122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 90), + [4124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 4), + [4126] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 4), + [4128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decltype_auto, 4), + [4130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decltype_auto, 4), + [4132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, .production_id = 112), + [4134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, .production_id = 112), + [4136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, .production_id = 84), + [4138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, .production_id = 84), + [4140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, .production_id = 82), + [4142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, .production_id = 82), + [4144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 4, .production_id = 76), + [4146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 4, .production_id = 76), + [4148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, .production_id = 84), + [4150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, .production_id = 84), + [4152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, .production_id = 82), + [4154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, .production_id = 82), + [4156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 4, .production_id = 76), + [4158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 4, .production_id = 76), + [4160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 4, .production_id = 84), + [4162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 4, .production_id = 84), + [4164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 4, .production_id = 82), + [4166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 4, .production_id = 82), + [4168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 4, .production_id = 76), + [4170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 4, .production_id = 76), + [4172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3), + [4174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3), + [4176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, .production_id = 80), + [4178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, .production_id = 80), + [4180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__enum_base_clause, 2, .production_id = 79), + [4182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__enum_base_clause, 2, .production_id = 79), + [4184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 4, .production_id = 76), + [4186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 4, .production_id = 76), + [4188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, .production_id = 39), + [4190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, .production_id = 39), + [4192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 3, .production_id = 37), + [4194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 3, .production_id = 37), + [4196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, .production_id = 39), + [4198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, .production_id = 39), + [4200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 3, .production_id = 37), + [4202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 3, .production_id = 37), + [4204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 3, .production_id = 39), + [4206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 3, .production_id = 39), + [4208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 3, .production_id = 37), + [4210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 3, .production_id = 37), + [4212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2), + [4214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2), + [4216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, .production_id = 39), + [4218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, .production_id = 39), + [4220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 3, .production_id = 37), + [4222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 3, .production_id = 37), + [4224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator_list, 2), + [4226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enumerator_list, 2), + [4228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, .dynamic_precedence = -1, .production_id = 29), + [4230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, .dynamic_precedence = -1, .production_id = 29), + [4232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sized_type_specifier, 2, .production_id = 14), + [4234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sized_type_specifier, 2, .production_id = 14), + [4236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_placeholder_type_specifier, 1), + [4238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_placeholder_type_specifier, 1), + [4240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_placeholder_type_specifier, 2, .production_id = 20), + [4242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_placeholder_type_specifier, 2, .production_id = 20), + [4244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_specifier, 2, .production_id = 8), + [4246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_specifier, 2, .production_id = 8), + [4248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_specifier, 2, .production_id = 8), + [4250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_specifier, 2, .production_id = 8), + [4252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_specifier, 2, .production_id = 8), + [4254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_specifier, 2, .production_id = 8), + [4256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_specifier, 2, .production_id = 8), + [4258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_specifier, 2, .production_id = 8), + [4260] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_identifier, 2, .production_id = 27), SHIFT(406), + [4263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructor_name, 2), + [4265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructor_name, 2), + [4267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__declarator, 1), REDUCE(sym__expression, 1), + [4270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1), REDUCE(sym__expression, 1), + [4273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, .dynamic_precedence = 1), + [4275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2160), + [4277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6238), + [4279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_declarator, 3, .production_id = 132), + [4281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_declarator, 3, .production_id = 132), + [4283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4383), + [4285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2587), + [4287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6034), + [4289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4442), + [4291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1182), + [4293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1206), + [4295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1165), + [4297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1166), + [4299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1167), + [4301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1169), + [4303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1170), + [4305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1171), + [4307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1172), + [4309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1220), + [4311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1163), + [4313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1174), + [4315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1177), + [4317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1179), + [4319] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1180), + [4321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1186), + [4323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1187), + [4325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1191), + [4327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157), + [4329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5987), + [4331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270), + [4333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6107), + [4335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6103), + [4337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6102), + [4339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6097), + [4341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6093), + [4343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6089), + [4345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6085), + [4347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6074), + [4349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6073), + [4351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6069), + [4353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1336), + [4355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2500), + [4357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4840), + [4359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6068), + [4361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6066), + [4363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6315), + [4365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2795), + [4367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4688), + [4369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2085), + [4371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3757), + [4373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3757), + [4375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(402), + [4378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(410), + [4381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_literal, 3), + [4383] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_literal, 3), + [4385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2110), + [4387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3740), + [4389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3740), + [4391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1160), + [4393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2268), + [4395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1541), + [4397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2848), + [4399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2177), + [4401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3741), + [4403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3741), + [4405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4736), + [4407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2164), + [4409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3748), + [4411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3748), + [4413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4382), + [4415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_field_identifier, 2), + [4417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_field_identifier, 2), + [4419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3393), + [4421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2570), + [4423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3060), + [4425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_name, 2), + [4427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_name, 2), + [4429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2266), + [4431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2322), + [4433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_declarator, 4, .production_id = 132), + [4435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_declarator, 4, .production_id = 132), + [4437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2528), + [4439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2293), + [4441] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 44), + [4443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1374), + [4445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1373), + [4447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1371), + [4449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1366), + [4451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1360), + [4453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1359), + [4455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1354), + [4457] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1353), + [4459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1353), + [4461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1351), + [4463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1115), + [4465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 44), + [4467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1321), + [4469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2277), + [4471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4856), + [4473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4856), + [4475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_name, 3), + [4477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_name, 3), + [4479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3), + [4481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3), + [4483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 2, .production_id = 23), + [4485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 2, .production_id = 23), + [4487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 5), + [4489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1372), + [4491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 5), + [4493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, .production_id = 110), + [4495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, .production_id = 110), + [4497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, .production_id = 111), + [4499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, .production_id = 111), + [4501] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1), SHIFT(5999), + [4504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1), SHIFT(4532), + [4507] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1328), + [4509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1328), + [4511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2392), + [4513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 2, .production_id = 10), + [4515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 2, .production_id = 10), + [4517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, .production_id = 7), + [4519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, .production_id = 7), + [4521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, .production_id = 22), + [4523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, .production_id = 22), + [4525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_update_expression, 2, .production_id = 4), + [4527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_update_expression, 2, .production_id = 4), + [4529] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(2284), + [4532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_expression, 2, .production_id = 4), + [4534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_expression, 2, .production_id = 4), + [4536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 3), + [4538] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 3), + [4540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [4542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3925), + [4544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 89), + [4546] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 89), + [4548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 88), + [4550] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 88), + [4552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dependent_identifier, 2), + [4554] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dependent_identifier, 2), + [4556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 4), + [4558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 4), + [4560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), + [4562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, .production_id = 60), + [4564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 60), + [4566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 4), + [4568] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 4), + [4570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sizeof_expression, 5, .production_id = 125), + [4572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sizeof_expression, 5, .production_id = 125), + [4574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 14), + [4576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 14), + [4578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2910), + [4580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6210), + [4582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 3), + [4584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 3), + [4586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, .production_id = 59), + [4588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 59), + [4590] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 59), SHIFT(406), + [4593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 2), + [4595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 5, .production_id = 133), + [4597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 5, .production_id = 133), + [4599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2353), + [4601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5, .production_id = 136), + [4603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5, .production_id = 136), + [4605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1461), + [4607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 4), + [4609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), + [4611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5999), + [4613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 6, .production_id = 142), + [4615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 6, .production_id = 142), + [4617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_user_defined_literal, 2), + [4619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_user_defined_literal, 2), + [4621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 44), + [4623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 44), + [4625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_expression, 4, .production_id = 98), + [4627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript_expression, 4, .production_id = 98), + [4629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_method, 2, .production_id = 96), + [4631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_method, 2, .production_id = 96), + [4633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 4, .production_id = 72), + [4635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 4, .production_id = 72), + [4637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 1, .production_id = 2), + [4639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 1, .production_id = 2), + [4641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 3, .production_id = 49), + [4643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 3, .production_id = 49), + [4645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_list, 5), + [4647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initializer_list, 5), + [4649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_pack_expansion, 2, .production_id = 21), + [4651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_pack_expansion, 2, .production_id = 21), + [4653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_expression, 2), + [4655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_delete_expression, 2), + [4657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_literal_expression, 4, .production_id = 70), + [4659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_literal_expression, 4, .production_id = 70), + [4661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 4, .production_id = 70), + [4663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 4, .production_id = 70), + [4665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_co_await_expression, 2, .production_id = 4), + [4667] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_co_await_expression, 2, .production_id = 4), + [4669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3934), + [4671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1301), + [4673] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1303), + [4675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304), + [4677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1306), + [4679] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1309), + [4681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1312), + [4683] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1316), + [4685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1317), + [4687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1319), + [4689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1319), + [4691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1320), + [4693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [4695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4475), + [4697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3766), + [4699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2479), + [4701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2348), + [4703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2348), + [4705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2156), + [4707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6113), + [4709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2538), + [4711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2571), + [4713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2571), + [4715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2414), + [4717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6078), + [4719] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1), SHIFT(2897), + [4722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2284), + [4724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2895), + [4726] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 59), SHIFT(394), + [4729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4472), + [4731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2455), + [4733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2455), + [4735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2274), + [4737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6463), + [4739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2556), + [4741] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(398), + [4744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2717), + [4746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2717), + [4748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2704), + [4750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6240), + [4752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2514), + [4754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3966), + [4756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [4758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3860), + [4760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3790), + [4762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4737), + [4764] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2220), + [4766] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3165), + [4768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2572), + [4770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [4772] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(5187), + [4775] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(2564), + [4778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2661), + [4780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6140), + [4782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2564), + [4784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3867), + [4786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3967), + [4788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1387), + [4790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1387), + [4792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1357), + [4794] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1358), + [4796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1361), + [4798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1362), + [4800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1363), + [4802] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1364), + [4804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1365), + [4806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1367), + [4808] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1368), + [4810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1369), + [4812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1113), + [4814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1441), + [4816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2854), + [4818] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4858), + [4820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4858), + [4822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4407), + [4824] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3408), + [4826] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_declspec_modifier, 4), + [4828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_declspec_modifier, 4), + [4830] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 2), + [4832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 2, .production_id = 2), + [4834] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), + [4836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), + [4838] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(3088), + [4841] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6193), + [4844] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(5692), + [4847] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6195), + [4850] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(3089), + [4853] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(3072), + [4856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3883), + [4858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4787), + [4860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3796), + [4862] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4031), + [4864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4405), + [4866] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4035), + [4868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4033), + [4870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4032), + [4872] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4030), + [4874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6429), + [4876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3402), + [4878] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__constructor_specifiers, 1), REDUCE(aux_sym__declaration_specifiers_repeat1, 1), + [4881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constructor_specifiers, 1), + [4883] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constructor_specifiers, 1), + [4885] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__constructor_specifiers, 1), REDUCE(aux_sym__declaration_specifiers_repeat1, 1), + [4888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 1), + [4890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2812), + [4892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declaration_specifiers, 3, .production_id = 14), + [4894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__declaration_specifiers, 3, .production_id = 14), + [4896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2852), + [4898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_virtual_function_specifier, 1), + [4900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_virtual_function_specifier, 1), + [4902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3582), + [4904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3317), + [4906] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4397), + [4908] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4093), + [4910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4010), + [4912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4106), + [4914] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3315), + [4916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3879), + [4918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4754), + [4920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2620), + [4922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1438), + [4924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4414), + [4926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3320), + [4928] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 59), SHIFT(398), + [4931] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4409), + [4933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3458), + [4935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2731), + [4937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_declaration, 2, .production_id = 87), + [4939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3366), + [4941] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4393), + [4943] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4064), + [4945] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4062), + [4947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4059), + [4949] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3482), + [4951] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1349), + [4953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1347), + [4955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1346), + [4957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1345), + [4959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1344), + [4961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1343), + [4963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1342), + [4965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1340), + [4967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1338), + [4969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1338), + [4971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1337), + [4973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1308), + [4975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4850), + [4977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4850), + [4979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [4981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5009), + [4983] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 1, .production_id = 46), + [4985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2879), + [4987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2879), + [4989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388), + [4991] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), + [4993] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__requirement, 1, .production_id = 52), + [4995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__requirement, 1, .production_id = 52), + [4997] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_requirement, 6), + [4999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_requirement, 6), + [5001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(842), + [5003] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_field_expression, 3, .production_id = 59), SHIFT(403), + [5006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1702), + [5008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1738), + [5010] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_requirement, 2), + [5012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_requirement, 2), + [5014] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_requirement, 5), + [5016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_requirement, 5), + [5018] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_requirement, 4), + [5020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_requirement, 4), + [5022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3955), + [5024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3954), + [5026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(2660), + [5029] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6489), + [5032] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(5902), + [5035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6476), + [5038] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(1820), + [5041] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(2678), + [5044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2965), + [5046] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2965), + [5048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1356), + [5050] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), SHIFT(410), + [5053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1631), + [5055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [5057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1282), + [5059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848), + [5061] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), + [5063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), + [5065] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), SHIFT_REPEAT(3088), + [5068] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), SHIFT_REPEAT(6193), + [5071] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), SHIFT_REPEAT(5692), + [5074] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), SHIFT_REPEAT(6195), + [5077] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), SHIFT_REPEAT(3089), + [5080] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), SHIFT_REPEAT(3072), + [5083] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_operator_cast_definition_repeat1, 2), SHIFT_REPEAT(3511), + [5086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4997), + [5088] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4365), + [5090] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(2863), + [5093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3705), + [5095] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6323), + [5097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5881), + [5099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6325), + [5101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3027), + [5103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3104), + [5105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6101), + [5107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3702), + [5109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_reference_declarator, 1), + [5111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1673), + [5113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1678), + [5115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1086), + [5117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1330), + [5119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2897), + [5121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [5123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4357), + [5125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(5129), + [5128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(2961), + [5131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1592), + [5133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3557), + [5135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2976), + [5137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2961), + [5139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_qualified_type_identifier, 2, .production_id = 28), SHIFT(405), + [5142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1093), + [5144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(405), + [5146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_specifier, 1), SHIFT(1097), + [5149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(3705), + [5152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6323), + [5155] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(5881), + [5158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6325), + [5161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(3027), + [5164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(3702), + [5167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1078), + [5169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1443), + [5171] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__declarator, 1), REDUCE(sym__type_specifier, 1, .production_id = 1), + [5174] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_sized_type_specifier, 1), SHIFT(3139), + [5177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2863), + [5179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3140), + [5181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__binary_fold_operator, 3, .production_id = 107), + [5183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binary_fold_operator, 3, .production_id = 107), + [5185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4373), + [5187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4838), + [5189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4152), + [5191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3034), + [5193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4148), + [5195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4148), + [5197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4576), + [5199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3036), + [5201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4150), + [5203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4150), + [5205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4377), + [5207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 2, .dynamic_precedence = 1, .production_id = 17), + [5209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3773), + [5211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3773), + [5213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6323), + [5215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 2, .dynamic_precedence = 1, .production_id = 17), + [5217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3027), + [5219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2679), + [5221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3776), + [5223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6171), + [5225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3968), + [5227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 3, .dynamic_precedence = 1, .production_id = 17), + [5229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 3, .dynamic_precedence = 1, .production_id = 17), + [5231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_specifier, 1), SHIFT(1062), + [5234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6489), + [5236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1820), + [5238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2698), + [5240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3922), + [5242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__declarator, 1), + [5244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2680), + [5246] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3024), + [5248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5380), + [5250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_declaration, 1), + [5252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3420), + [5254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3165), + [5256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3146), + [5258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3939), + [5260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3940), + [5262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2660), + [5264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6476), + [5266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2910), + [5268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6210), + [5270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2678), + [5272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432), + [5274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1432), + [5276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3145), + [5278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1370), + [5280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1376), + [5282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1376), + [5284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1377), + [5286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1378), + [5288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1380), + [5290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1382), + [5292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1251), + [5294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1389), + [5296] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1390), + [5298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1390), + [5300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1391), + [5302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399), + [5304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1979), + [5306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4790), + [5308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1830), + [5310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2191), + [5312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4404), + [5314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4130), + [5316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4133), + [5318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4134), + [5320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2189), + [5322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6328), + [5324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3473), + [5326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_call_modifier, 1), + [5328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_call_modifier, 1), + [5330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2693), + [5332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3938), + [5334] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2878), + [5336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4764), + [5338] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4402), + [5340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4051), + [5342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4060), + [5344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4061), + [5346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3349), + [5348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, .production_id = 14), + [5350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1056), + [5352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3560), + [5354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4102), + [5356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4102), + [5358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(953), + [5360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3104), + [5362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6101), + [5364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 1, .production_id = 2), + [5366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2213), + [5368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4786), + [5370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1893), + [5372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2396), + [5374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4403), + [5376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4042), + [5378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4040), + [5380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4039), + [5382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2394), + [5384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6421), + [5386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3412), + [5388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1020), + [5390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674), + [5392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3119), + [5394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1394), + [5396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 4, .dynamic_precedence = 1, .production_id = 17), + [5398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 4, .dynamic_precedence = 1, .production_id = 17), + [5400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1911), + [5402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4748), + [5404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1767), + [5406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2052), + [5408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4399), + [5410] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4099), + [5412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4098), + [5414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4097), + [5416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2046), + [5418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6368), + [5420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3395), + [5422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 2, .dynamic_precedence = 1, .production_id = 17), + [5424] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 2, .dynamic_precedence = 1, .production_id = 17), + [5426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 3, .dynamic_precedence = 1, .production_id = 17), + [5428] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 3, .dynamic_precedence = 1, .production_id = 17), + [5430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4406), + [5432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3319), + [5434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4391), + [5436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3316), + [5438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3091), + [5440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4763), + [5442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4411), + [5444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4052), + [5446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4050), + [5448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4049), + [5450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3407), + [5452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3710), + [5454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4142), + [5456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4142), + [5458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1029), + [5460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3532), + [5462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1026), + [5464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2836), + [5466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1138), + [5468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2544), + [5470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5155), + [5472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat2, 2), + [5474] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(3773), + [5477] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(3773), + [5480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat2, 2), + [5482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(1820), + [5485] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(1820), + [5488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(3766), + [5491] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(3776), + [5494] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(6171), + [5497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3555), + [5499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658), + [5501] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1298), + [5503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1297), + [5505] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1297), + [5507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1296), + [5509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1295), + [5511] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1294), + [5513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1293), + [5515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1292), + [5517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1290), + [5519] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1288), + [5521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1287), + [5523] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1287), + [5525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1448), + [5527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1322), + [5529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3554), + [5531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1531), + [5533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3494), + [5535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1862), + [5537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2523), + [5539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2159), + [5541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4673), + [5543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1453), + [5545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1326), + [5547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314), + [5549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1314), + [5551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1305), + [5553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1302), + [5555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1300), + [5557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1299), + [5559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1291), + [5561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1286), + [5563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1284), + [5565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1284), + [5567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1274), + [5569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4820), + [5571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1263), + [5573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1267), + [5575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2869), + [5577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1650), + [5579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1880), + [5581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2724), + [5583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3837), + [5585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2358), + [5587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1246), + [5589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6016), + [5591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2853), + [5593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1023), + [5595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2540), + [5597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1489), + [5599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4621), + [5601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1032), + [5603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5158), + [5605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1027), + [5607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2308), + [5609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2824), + [5611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1811), + [5613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2592), + [5615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comma_expression, 3, .production_id = 58), + [5617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1978), + [5619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 3, .production_id = 91), + [5621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_declaration, 4, .production_id = 147), + [5623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1944), + [5625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3686), + [5627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4143), + [5629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4143), + [5631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1480), + [5633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4781), + [5635] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2), SHIFT(1246), + [5638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2), + [5640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4372), + [5642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1033), + [5644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1514), + [5646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3416), + [5648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [5650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [5652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [5654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_parameter_declaration, 4, .production_id = 151), + [5656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [5658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4706), + [5660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6049), + [5662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [5664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [5666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [5668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [5670] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(3027), + [5673] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat2, 2), SHIFT_REPEAT(3027), + [5676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_parameter_declaration, 3, .production_id = 128), + [5678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [5680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [5682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [5684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [5686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [5688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [5690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [5692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [5694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [5696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [5698] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, .dynamic_precedence = 1), + [5700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4695), + [5702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6347), + [5704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initializer_pair, 3, .production_id = 124), + [5706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(936), + [5708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [5710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1237), + [5712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1178), + [5714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [5716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1203), + [5718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697), + [5720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4680), + [5722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6462), + [5724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3557), + [5726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667), + [5728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4712), + [5730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6295), + [5732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [5734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [5736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1223), + [5738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5849), + [5740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6050), + [5742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [5744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [5746] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(2660), + [5749] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6489), + [5752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(6476), + [5755] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(1820), + [5758] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_specifiers_repeat1, 2), SHIFT_REPEAT(2678), + [5761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [5763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4699), + [5765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6133), + [5767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1199), + [5769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [5771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4724), + [5773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6298), + [5775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [5777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [5779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [5781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [5783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1207), + [5785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1817), + [5787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [5789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5818), + [5791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [5793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [5795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2), + [5797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [5799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [5801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [5803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 3, .production_id = 113), + [5805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(904), + [5807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [5809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_capture_specifier_repeat1, 2), + [5811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [5813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4729), + [5815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6020), + [5817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [5819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [5821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [5823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), + [5825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2283), + [5827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1583), + [5829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2136), + [5831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752), + [5833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1584), + [5835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1600), + [5837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3787), + [5839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4215), + [5841] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4215), + [5843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929), + [5845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3376), + [5847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1393), + [5849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1397), + [5851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1397), + [5853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1400), + [5855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1417), + [5857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1418), + [5859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420), + [5861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1434), + [5863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250), + [5865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1449), + [5867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449), + [5869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1458), + [5871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [5873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1262), + [5875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1460), + [5877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3775), + [5879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [5881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), + [5883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3803), + [5885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4200), + [5887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4200), + [5889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4055), + [5891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6186), + [5893] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_explicit_function_specifier, 1), + [5895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1335), + [5897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_explicit_function_specifier, 1), + [5899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, .production_id = 14), + [5901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2702), + [5903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, .production_id = 2), + [5905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3985), + [5907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772), + [5909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5809), + [5911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(915), + [5913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917), + [5915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1107), + [5917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103), + [5919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156), + [5921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5807), + [5923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5800), + [5925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(924), + [5927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3979), + [5929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1591), + [5931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [5933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1121), + [5935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 1, .production_id = 26), + [5937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 1, .production_id = 26), + [5939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1124), + [5941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795), + [5943] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4847), + [5945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4433), + [5947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3565), + [5949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2541), + [5951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1139), + [5953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1452), + [5955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unary_left_fold, 3, .production_id = 44), + [5957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1140), + [5959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1146), + [5961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2520), + [5963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3769), + [5965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4208), + [5967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4208), + [5969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1709), + [5971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1383), + [5973] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3139), + [5975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1283), + [5977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1313), + [5979] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_explicit_function_specifier, 4), + [5981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_explicit_function_specifier, 4), + [5983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2329), + [5985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2231), + [5987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3169), + [5989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2433), + [5991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3865), + [5993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1805), + [5995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2739), + [5997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1098), + [5999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1102), + [6001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1749), + [6003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1446), + [6005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [6007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2967), + [6009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712), + [6011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5301), + [6013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1787), + [6015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1152), + [6017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(711), + [6019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1780), + [6021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1112), + [6023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__binary_fold, 3, .production_id = 69), + [6025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [6027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [6029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3997), + [6031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [6033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2061), + [6035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [6037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [6039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3585), + [6041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [6043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [6045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1674), + [6047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [6049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1735), + [6051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [6053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [6055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1778), + [6057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, .production_id = 17), + [6059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 2, .production_id = 17), + [6061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [6063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1133), + [6065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1134), + [6067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1348), + [6069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1576), + [6071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1137), + [6073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), + [6075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 2, .production_id = 26), + [6077] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 2, .production_id = 26), + [6079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1329), + [6081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1797), + [6083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_clause, 2), + [6085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1690), + [6087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3059), + [6089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855), + [6091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5078), + [6093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 3, .production_id = 17), + [6095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 3, .production_id = 17), + [6097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1105), + [6099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [6101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1108), + [6103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1563), + [6105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [6107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [6109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [6111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [6113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [6115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1799), + [6117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3256), + [6119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(745), + [6121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1764), + [6123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [6125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1339), + [6127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [6129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1959), + [6131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [6133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1149), + [6135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(850), + [6137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), + [6139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3876), + [6142] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3876), + [6145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3376), + [6148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3376), + [6151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3866), + [6154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(6178), + [6157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3773), + [6160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3773), + [6163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), + [6165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(1820), + [6168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(1820), + [6171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3776), + [6174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(6171), + [6177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3819), + [6179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4250), + [6181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4250), + [6183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2), + [6185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declarator_repeat1, 2), + [6187] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2), SHIFT_REPEAT(6489), + [6190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3027), + [6193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_abstract_function_declarator_repeat1, 2), SHIFT_REPEAT(3027), + [6196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), + [6198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), + [6200] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), SHIFT_REPEAT(3831), + [6203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_pointer_declarator_repeat1, 2), SHIFT_REPEAT(3849), + [6206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [6208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3), + [6210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3), + [6212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3847), + [6214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4348), + [6216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4348), + [6218] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declarator_repeat1, 2), SHIFT_REPEAT(6323), + [6221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2), + [6223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2), + [6225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4), + [6227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4), + [6229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3876), + [6231] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3876), + [6233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2668), + [6235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3866), + [6237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6178), + [6239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3909), + [6241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_noexcept, 3), + [6243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_noexcept, 3), + [6245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2683), + [6247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3963), + [6249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_sized_type_specifier_repeat1, 2), SHIFT_REPEAT(3762), + [6252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [6254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_virtual_specifier, 1), + [6256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_virtual_specifier, 1), + [6258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2640), + [6260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3991), + [6262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_qualifier, 1), + [6264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_qualifier, 1), + [6266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_noexcept, 4), + [6268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_noexcept, 4), + [6270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_noexcept, 1), + [6272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1219), + [6274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_noexcept, 1), + [6276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_specifier, 4), + [6278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_specifier, 4), + [6280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_specifier, 5), + [6282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_specifier, 5), + [6284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_throw_specifier, 3), + [6286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_throw_specifier, 3), + [6288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [6290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4074), + [6292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3762), + [6294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4072), + [6296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [6298] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(1820), + [6301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_parameter_list, 2), REDUCE(sym_argument_list, 2), + [6304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4374), + [6306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_pointer_modifier, 1), + [6308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_pointer_modifier, 1), + [6310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2688), + [6312] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(3376), + [6315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1), + [6317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_unaligned_ptr_modifier, 1), + [6319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4965), + [6321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4370), + [6323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1669), + [6325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1117), + [6327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1385), + [6329] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3000), + [6331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [6333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005), + [6335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3553), + [6337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4906), + [6339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5149), + [6341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4378), + [6343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1765), + [6345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1128), + [6347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1954), + [6349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [6351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(998), + [6353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2821), + [6355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5036), + [6357] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1873), + [6359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [6361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1009), + [6363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2588), + [6365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5056), + [6367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2733), + [6369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [6371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1006), + [6373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3133), + [6375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5067), + [6377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228), + [6379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1849), + [6381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [6383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1008), + [6385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2368), + [6387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5086), + [6389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1613), + [6391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1144), + [6393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2713), + [6395] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(3376), + [6398] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(1820), + [6401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4388), + [6403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__preproc_expression, 1), + [6405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3893), + [6407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__preproc_expression, 1), + [6409] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(3027), + [6412] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat1, 2), SHIFT_REPEAT(3027), + [6415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3942), + [6417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4101), + [6419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3936), + [6421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3948), + [6423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3948), + [6425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3910), + [6427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3944), + [6429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3947), + [6431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3950), + [6433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3971), + [6435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3973), + [6437] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3982), + [6439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3982), + [6441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3901), + [6443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3900), + [6445] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [6447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3882), + [6449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3929), + [6451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3993), + [6453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5961), + [6455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3984), + [6457] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3984), + [6459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3899), + [6461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5878), + [6463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3965), + [6465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4022), + [6467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3886), + [6469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3958), + [6471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 4), + [6473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 4), + [6475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3891), + [6477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3977), + [6479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5593), + [6481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3975), + [6483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3975), + [6485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4017), + [6487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5696), + [6489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4012), + [6491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4008), + [6493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_binary_expression, 3, .production_id = 44), + [6495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_binary_expression, 3, .production_id = 44), + [6497] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4390), + [6499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1047), + [6501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4784), + [6503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4593), + [6505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3916), + [6507] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4478), + [6509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1046), + [6511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4795), + [6513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3399), + [6515] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4700), + [6517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4007), + [6519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4006), + [6521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4005), + [6523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_parenthesized_expression, 3), + [6525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_parenthesized_expression, 3), + [6527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2289), + [6529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1039), + [6531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4395), + [6533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4970), + [6535] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1546), + [6537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4392), + [6539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1045), + [6541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2290), + [6543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4003), + [6545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4001), + [6547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 2), + [6549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 2), + [6551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3794), + [6553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1040), + [6555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4686), + [6557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4923), + [6559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4681), + [6561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1822), + [6563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4776), + [6565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1890), + [6567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2291), + [6569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4009), + [6571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3920), + [6573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4018), + [6575] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2525), + [6577] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4623), + [6579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3162), + [6581] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3056), + [6583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4020), + [6585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3969), + [6587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4038), + [6589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3915), + [6591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4026), + [6593] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3731), + [6595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4735), + [6597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3914), + [6599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3918), + [6601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4095), + [6603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3952), + [6605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1037), + [6607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2769), + [6609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2845), + [6611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4029), + [6613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 2), + [6615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 2), + [6617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_defined, 4), + [6619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_defined, 4), + [6621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4780), + [6623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4663), + [6625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_call_expression, 2, .production_id = 7), + [6627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_call_expression, 2, .production_id = 7), + [6629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_argument_list, 3), + [6631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_argument_list, 3), + [6633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1043), + [6635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2521), + [6637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2522), + [6639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1044), + [6641] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4456), + [6643] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5177), + [6645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2), + [6647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4123), + [6649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3908), + [6651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4141), + [6653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3907), + [6655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4077), + [6657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4109), + [6659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4075), + [6661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4114), + [6663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3529), + [6665] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4602), + [6667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3906), + [6669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_unary_expression, 2, .production_id = 4), + [6671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_unary_expression, 2, .production_id = 4), + [6673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3983), + [6675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1863), + [6677] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4440), + [6679] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4435), + [6681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4713), + [6683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4043), + [6685] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4596), + [6687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3926), + [6689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3927), + [6691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3917), + [6693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3913), + [6695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3905), + [6697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3904), + [6699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3903), + [6701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3937), + [6703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3941), + [6705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [6707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3919), + [6709] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__type_specifier, 1), SHIFT(1050), + [6712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [6714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [6716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [6718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3921), + [6720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3789), + [6722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4811), + [6724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4019), + [6726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [6728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [6730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [6732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [6734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4760), + [6736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [6738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4163), + [6740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1515), + [6742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1723), + [6744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [6746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(919), + [6748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1060), + [6750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1766), + [6752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [6754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1085), + [6756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1621), + [6758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [6760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1067), + [6762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [6764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3946), + [6766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1503), + [6768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [6770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [6772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [6774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [6776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3174), + [6778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5199), + [6780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1470), + [6782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6026), + [6784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4203), + [6786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5397), + [6788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(884), + [6790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [6792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [6794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [6796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3090), + [6798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5297), + [6800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4664), + [6802] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5443), + [6804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3696), + [6806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [6808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1698), + [6810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(906), + [6812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1145), + [6814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1649), + [6816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6033), + [6818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4307), + [6820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5360), + [6822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2415), + [6824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2993), + [6826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1131), + [6828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2053), + [6830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6160), + [6832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4312), + [6834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5252), + [6836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2402), + [6838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1485), + [6840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4314), + [6842] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5418), + [6844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1604), + [6846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2066), + [6848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6490), + [6850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4318), + [6852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5194), + [6854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2445), + [6856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3196), + [6858] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5243), + [6860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [6862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [6864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1814), + [6866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6237), + [6868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4323), + [6870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5440), + [6872] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2464), + [6874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1463), + [6876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4326), + [6878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5426), + [6880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1125), + [6882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2391), + [6884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4328), + [6886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5343), + [6888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), + [6890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [6892] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1492), + [6894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4333), + [6896] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5322), + [6898] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1566), + [6900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4334), + [6902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5284), + [6904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3015), + [6906] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5393), + [6908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1118), + [6910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [6912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [6914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1731), + [6916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710), + [6918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [6920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1153), + [6922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1155), + [6924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1099), + [6926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2259), + [6928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4350), + [6930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5416), + [6932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2077), + [6934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4353), + [6936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5242), + [6938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2385), + [6940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2923), + [6942] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2030), + [6944] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2609), + [6946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955), + [6948] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5105), + [6950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4369), + [6952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5354), + [6954] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3768), + [6956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3075), + [6958] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4747), + [6960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5392), + [6962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2153), + [6964] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1904), + [6966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4371), + [6968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5451), + [6970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1114), + [6972] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4526), + [6974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3923), + [6976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4533), + [6978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4940), + [6980] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4568), + [6982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3924), + [6984] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4505), + [6986] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4558), + [6988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4545), + [6990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5098), + [6992] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4507), + [6994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, .production_id = 5), + [6996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4572), + [6998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5055), + [7000] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4580), + [7002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4985), + [7004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4581), + [7006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4913), + [7008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4499), + [7010] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4553), + [7012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4535), + [7014] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4587), + [7016] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4512), + [7018] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4563), + [7020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4586), + [7022] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4555), + [7024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4575), + [7026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 4, .production_id = 17), + [7028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 4, .production_id = 17), + [7030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 5, .dynamic_precedence = 1, .production_id = 134), + [7032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__abstract_declarator, 1), + [7034] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__abstract_declarator, 1), + [7036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [7038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5932), + [7040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4603), + [7042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(793), + [7044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5757), + [7046] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), SHIFT_REPEAT(5692), + [7049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 19), + [7051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 19), + [7053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 5, .production_id = 17), + [7055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 5, .production_id = 17), + [7057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 5, .production_id = 135), + [7059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 5, .production_id = 135), + [7061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 4, .production_id = 26), + [7063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 4, .production_id = 26), + [7065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(761), + [7067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5862), + [7069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [7071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 95), + [7073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 95), + [7075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1664), + [7077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [7079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5783), + [7081] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 137), + [7083] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 4, .production_id = 137), + [7085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 4, .dynamic_precedence = 1, .production_id = 71), + [7087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 5, .dynamic_precedence = 1, .production_id = 17), + [7089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 5, .dynamic_precedence = 1, .production_id = 17), + [7091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3990), + [7093] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_function_declarator, 3, .production_id = 26), + [7095] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_function_declarator, 3, .production_id = 26), + [7097] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 2, .dynamic_precedence = 1, .production_id = 5), + [7099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_field_declarator, 2, .dynamic_precedence = 1), + [7101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, .production_id = 5), + [7103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1746), + [7105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5905), + [7107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 3, .dynamic_precedence = 1, .production_id = 34), + [7109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760), + [7111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5736), + [7113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trailing_return_type, 2), + [7115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_trailing_return_type, 2), + [7117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, .production_id = 19), + [7119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, .production_id = 19), + [7121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(839), + [7123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4683), + [7125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3989), + [7127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_declarator, 2), + [7129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_declarator, 2), + [7131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 4, .dynamic_precedence = 1, .production_id = 71), + [7133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3, .production_id = 100), + [7135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3, .production_id = 100), + [7137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_parenthesized_declarator, 3), + [7139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_parenthesized_declarator, 3), + [7141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1744), + [7143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 3), + [7145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 3), + [7147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824), + [7149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 2, .dynamic_precedence = 1, .production_id = 5), + [7151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reference_declarator, 2, .dynamic_precedence = 1), + [7153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1804), + [7155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4525), + [7157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_array_declarator, 2), + [7159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_abstract_array_declarator, 2), + [7161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1640), + [7163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [7165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5811), + [7167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4697), + [7169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_field_declarator, 5, .dynamic_precedence = 1, .production_id = 134), + [7171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(746), + [7173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1565), + [7175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_declarator, 3, .dynamic_precedence = 1, .production_id = 34), + [7177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 3, .production_id = 19), + [7179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 3, .production_id = 19), + [7181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structured_binding_declarator, 4, .dynamic_precedence = -1), + [7183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structured_binding_declarator, 4, .dynamic_precedence = -1), + [7185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 2, .dynamic_precedence = 1, .production_id = 5), + [7187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(991), + [7189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_reference_declarator, 2), + [7191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 5, .production_id = 135), + [7193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 5, .production_id = 135), + [7195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 4, .production_id = 108), + [7197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 4, .dynamic_precedence = 1, .production_id = 17), + [7199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 4, .dynamic_precedence = 1, .production_id = 17), + [7201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structured_binding_declarator, 3, .dynamic_precedence = -1), + [7203] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structured_binding_declarator, 3, .dynamic_precedence = -1), + [7205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_declarator, 3, .dynamic_precedence = -10), + [7207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_declarator, 3, .dynamic_precedence = -10), + [7209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_field_declarator, 2), + [7211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_field_declarator, 2), + [7213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4377), + [7215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 2, .production_id = 32), + [7217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, .production_id = 19), + [7219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, .production_id = 19), + [7221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, .production_id = 68), + [7223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_descriptor, 3, .production_id = 50), + [7225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_abstract_pointer_declarator, 3, .dynamic_precedence = 1, .production_id = 34), + [7227] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attributed_declarator_repeat1, 2), SHIFT_REPEAT(5881), + [7230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declarator, 6, .dynamic_precedence = 1, .production_id = 17), + [7232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declarator, 6, .dynamic_precedence = 1, .production_id = 17), + [7234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1, .production_id = 81), + [7236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [7238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1, .production_id = 81), + [7240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_declarator, 4, .production_id = 95), + [7242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_declarator, 4, .production_id = 95), + [7244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6164), + [7246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5986), + [7248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4462), + [7250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), + [7252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(979), + [7254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3981), + [7256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3980), + [7258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, .production_id = 95), + [7260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, .production_id = 95), + [7262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 5, .production_id = 135), + [7264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 5, .production_id = 135), + [7266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3994), + [7268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 3, .dynamic_precedence = 1, .production_id = 34), + [7270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5257), + [7272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5029), + [7274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6454), + [7276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_field_declarator, 5, .dynamic_precedence = 1, .production_id = 17), + [7278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_field_declarator, 5, .dynamic_precedence = 1, .production_id = 17), + [7280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4824), + [7282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4607), + [7284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 4, .dynamic_precedence = 1, .production_id = 71), + [7286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 2, .dynamic_precedence = 1, .production_id = 5), + [7288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), + [7290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4879), + [7292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5296), + [7294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(910), + [7296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6342), + [7298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1581), + [7300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1724), + [7302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_field_declarator, 3, .dynamic_precedence = -10), + [7304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_field_declarator, 3, .dynamic_precedence = -10), + [7306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [7308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 3, .production_id = 19), + [7310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 3, .production_id = 19), + [7312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, .production_id = 54), + [7314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1310), + [7316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 3), + [7318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 3), + [7320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript_designator, 3), + [7322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3995), + [7324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5454), + [7326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5976), + [7328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_field_declarator, 4, .production_id = 19), + [7330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_field_declarator, 4, .production_id = 19), + [7332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declarator, 1), + [7334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_declarator, 1), + [7336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1708), + [7338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6208), + [7340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5985), + [7342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [7344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type_declarator, 5, .dynamic_precedence = 1, .production_id = 134), + [7346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6480), + [7348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [7350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5192), + [7352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6175), + [7354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1599), + [7356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1791), + [7358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(706), + [7360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5979), + [7362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1311), + [7364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [7366] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5273), + [7368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6372), + [7370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(965), + [7372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1750), + [7374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688), + [7376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4896), + [7378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4809), + [7380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4874), + [7382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4821), + [7384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3912), + [7386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3911), + [7388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1686), + [7390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1143), + [7392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4890), + [7394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4797), + [7396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4638), + [7398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3930), + [7400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat2, 2, .production_id = 5), + [7402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4645), + [7404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4894), + [7406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4768), + [7408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4590), + [7410] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4873), + [7412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4775), + [7414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4887), + [7416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4803), + [7418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1795), + [7420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1119), + [7422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4634), + [7424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1587), + [7426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1120), + [7428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4610), + [7430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3931), + [7432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attributed_type_declarator, 2), + [7434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attributed_type_declarator, 2), + [7436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4633), + [7438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4880), + [7440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4732), + [7442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2586), + [7444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4778), + [7446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4591), + [7448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4614), + [7450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scope_resolution, 1), + [7452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scope_resolution, 1), + [7454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1422), + [7456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3239), + [7458] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5015), + [7460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3962), + [7462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3961), + [7464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3734), + [7466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5963), + [7468] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2297), + [7470] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5707), + [7472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1416), + [7474] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3218), + [7476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1516), + [7478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), + [7480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(751), + [7482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4863), + [7484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1853), + [7486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5782), + [7488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3763), + [7490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5941), + [7492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 6), + [7494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 6), + [7496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [7498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1289), + [7500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3225), + [7502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2546), + [7504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), + [7506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2982), + [7508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2825), + [7510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5001), + [7512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5079), + [7514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 4), + [7516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 4), + [7518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5147), + [7520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1823), + [7522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5752), + [7524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2549), + [7526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5586), + [7528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(728), + [7530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792), + [7532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4410), + [7534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5843), + [7536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1937), + [7538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5469), + [7540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3798), + [7542] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5569), + [7544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1887), + [7546] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5497), + [7548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1279), + [7550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3240), + [7552] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4476), + [7554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5895), + [7556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5006), + [7558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854), + [7560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5074), + [7562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5118), + [7564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1318), + [7566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3235), + [7568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5181), + [7570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [7572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5075), + [7574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_capture_specifier, 5), + [7576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_capture_specifier, 5), + [7578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5108), + [7580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1375), + [7582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3237), + [7584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1090), + [7586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1022), + [7588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1341), + [7590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3207), + [7592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(862), + [7594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1435), + [7596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3201), + [7598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4534), + [7600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4960), + [7602] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, .production_id = 93), SHIFT_REPEAT(4163), + [7605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_repeat1, 2, .production_id = 93), + [7607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_cast, 3, .production_id = 48), + [7609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2432), + [7611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5625), + [7613] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2), SHIFT_REPEAT(1403), + [7616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2), + [7618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_pair_repeat1, 2), SHIFT_REPEAT(6041), + [7621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1), + [7623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1), + [7625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1403), + [7627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1142), + [7629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6041), + [7631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_declarator, 1, .production_id = 1), + [7633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_declarator, 1, .production_id = 1), + [7635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2753), + [7637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5731), + [7639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_declarator, 2, .production_id = 17), + [7641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_declarator, 2, .production_id = 17), + [7643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 5, .production_id = 135), + [7645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 5, .production_id = 135), + [7647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2312), + [7649] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5763), + [7651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, .production_id = 95), + [7653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, .production_id = 95), + [7655] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2695), + [7657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5572), + [7659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 3, .production_id = 19), + [7661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 3, .production_id = 19), + [7663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type_declarator, 4, .production_id = 19), + [7665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type_declarator, 4, .production_id = 19), + [7667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_type_declarator, 3, .dynamic_precedence = -10), + [7669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_type_declarator, 3, .dynamic_precedence = -10), + [7671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scope_resolution, 2, .production_id = 24), + [7673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scope_resolution, 2, .production_id = 24), + [7675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, .production_id = 6), + [7677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6027), + [7679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4892), + [7681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1617), + [7683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2672), + [7685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1694), + [7687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2697), + [7689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_field_identifier, 2, .production_id = 97), + [7691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(729), + [7693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2674), + [7695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type_parameter_declaration, 4, .production_id = 150), + [7697] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(5962), + [7700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5962), + [7702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [7704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2705), + [7706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1685), + [7708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2658), + [7710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5450), + [7712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(788), + [7714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2686), + [7716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_optional_type_parameter_declaration, 3, .production_id = 127), + [7718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(807), + [7720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2676), + [7722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__scope_resolution, 2, .production_id = 11), + [7724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__scope_resolution, 2, .production_id = 11), + [7726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5836), + [7728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1879), + [7730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1465), + [7732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1517), + [7734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(818), + [7736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1256), + [7738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5442), + [7740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6474), + [7742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4080), + [7744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(873), + [7746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5227), + [7748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6150), + [7750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5854), + [7752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2858), + [7754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4956), + [7756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4956), + [7758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1010), + [7760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5190), + [7762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4455), + [7764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 2), + [7766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800), + [7768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1436), + [7770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(784), + [7772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6092), + [7774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_initializer_list_repeat1, 2), SHIFT_REPEAT(4629), + [7777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_initializer_list_repeat1, 2), + [7779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6099), + [7781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3184), + [7783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5824), + [7785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4835), + [7787] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [7789] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(4947), + [7792] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(4947), + [7795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1513), + [7797] = {.entry = {.count = 1, .reusable = false}}, SHIFT(743), + [7799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6159), + [7801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5452), + [7803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 2), + [7805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2726), + [7807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4947), + [7809] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4947), + [7811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2868), + [7813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(727), + [7815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5163), + [7817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6216), + [7819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2225), + [7821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1001), + [7823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2161), + [7825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785), + [7827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1427), + [7829] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6236), + [7831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1713), + [7833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1442), + [7835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6443), + [7837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2093), + [7839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5990), + [7841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2911), + [7843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [7845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5408), + [7847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 2, .production_id = 81), + [7849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1722), + [7851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5233), + [7853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_declarator, 1), + [7855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2526), + [7857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1861), + [7859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(864), + [7861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4629), + [7863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 3), + [7865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6338), + [7867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4981), + [7869] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4981), + [7871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1675), + [7873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1415), + [7875] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1930), + [7877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4802), + [7879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1960), + [7881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4676), + [7883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 75), + [7885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6419), + [7887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2430), + [7889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1692), + [7891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6410), + [7893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4767), + [7895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1696), + [7897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1421), + [7899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(832), + [7901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1324), + [7903] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1856), + [7905] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1964), + [7907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5040), + [7909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5040), + [7911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1837), + [7913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5064), + [7915] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5064), + [7917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753), + [7919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783), + [7921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2856), + [7923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2798), + [7925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2628), + [7927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5225), + [7929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844), + [7931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), + [7933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1406), + [7935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4461), + [7937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1651), + [7939] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), + [7941] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6453), + [7943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1481), + [7945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730), + [7947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1315), + [7949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6083), + [7951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2043), + [7953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5035), + [7955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2725), + [7957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1781), + [7959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1913), + [7961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5031), + [7963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5031), + [7965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 2), + [7967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [7969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3842), + [7971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3016), + [7973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5166), + [7975] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5166), + [7977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4551), + [7979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [7981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1455), + [7983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1628), + [7985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1425), + [7987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1609), + [7989] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6255), + [7991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1807), + [7993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1447), + [7995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [7997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1459), + [7999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1932), + [8001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1625), + [8003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6257), + [8005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2707), + [8007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4941), + [8009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1530), + [8011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5196), + [8013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 3), + [8015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4819), + [8017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3032), + [8019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5060), + [8021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(999), + [8023] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1758), + [8025] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6096), + [8027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872), + [8029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1635), + [8031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1423), + [8033] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2835), + [8035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4954), + [8037] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4954), + [8039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2534), + [8041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(754), + [8043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5237), + [8045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2627), + [8047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5601), + [8049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2532), + [8051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 4), + [8053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4532), + [8055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1733), + [8057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5673), + [8059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5797), + [8061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), + [8063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1681), + [8065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(648), + [8067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5857), + [8069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 3), + [8071] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(1518), + [8074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), + [8076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1518), + [8078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3863), + [8080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3345), + [8082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_reference_declarator, 2), + [8084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5860), + [8086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5873), + [8088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1521), + [8090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5290), + [8092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2195), + [8094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2014), + [8096] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_parameter_list_repeat1, 2), SHIFT_REPEAT(1505), + [8099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_parameter_list_repeat1, 2), + [8101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2908), + [8103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [8105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5678), + [8107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5341), + [8109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1810), + [8111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1809), + [8113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5930), + [8115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2710), + [8117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2786), + [8119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2611), + [8121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3779), + [8123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5212), + [8125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5730), + [8127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2158), + [8129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1933), + [8131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [8133] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_argument_list_repeat1, 2), SHIFT_REPEAT(3942), + [8136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643), + [8138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_declarator, 2), + [8140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964), + [8142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat2, 2, .production_id = 93), SHIFT_REPEAT(4462), + [8145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_definition_repeat2, 2, .production_id = 93), + [8147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5109), + [8149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2646), + [8151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5270), + [8153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3003), + [8155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1505), + [8157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4791), + [8159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2994), + [8161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5893), + [8163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5676), + [8165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3827), + [8167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3845), + [8169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3844), + [8171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5738), + [8173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3843), + [8175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2), SHIFT_REPEAT(1138), + [8178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2874), + [8180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5575), + [8182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2), SHIFT_REPEAT(658), + [8185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2), + [8187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(912), + [8189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [8191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2742), + [8193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [8195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [8197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1030), + [8199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1527), + [8201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1526), + [8203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1525), + [8205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2740), + [8207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2729), + [8209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2728), + [8211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, .dynamic_precedence = 3), + [8213] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2), SHIFT_REPEAT(5860), + [8216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_preproc_params_repeat1, 2), + [8218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3902), + [8220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(982), + [8222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2595), + [8224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2929), + [8226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3736), + [8228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), + [8230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [8232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1899), + [8234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5477), + [8236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1859), + [8238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1900), + [8240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1860), + [8242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [8244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [8246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1025), + [8248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_requires_parameter_list_repeat1, 2), SHIFT_REPEAT(1519), + [8251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_requires_parameter_list_repeat1, 2), + [8253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5592), + [8255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [8257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2499), + [8259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1656), + [8261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1654), + [8263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3853), + [8265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2256), + [8267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1653), + [8269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1652), + [8271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5422), + [8273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5271), + [8275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1031), + [8277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5466), + [8279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5637), + [8281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1519), + [8283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6036), + [8285] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_capture_specifier_repeat1, 2), SHIFT_REPEAT(1453), + [8288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1024), + [8290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1488), + [8292] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_structured_binding_declarator_repeat1, 2), SHIFT_REPEAT(5999), + [8295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structured_binding_declarator_repeat1, 2), + [8297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2857), + [8299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2862), + [8301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2864), + [8303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2865), + [8305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1487), + [8307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1486), + [8309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4823), + [8311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3117), + [8313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [8315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5875), + [8317] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_throw_specifier_repeat1, 2), SHIFT_REPEAT(2611), + [8320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_throw_specifier_repeat1, 2), + [8322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1468), + [8324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1472), + [8326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1479), + [8328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [8330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5684), + [8332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1997), + [8334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2535), + [8336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5348), + [8338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2179), + [8340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1474), + [8342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1482), + [8344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4692), + [8346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4690), + [8348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4689), + [8350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1703), + [8352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1701), + [8354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1028), + [8356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1509), + [8358] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2), SHIFT_REPEAT(5930), + [8361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2), + [8363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4679), + [8365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1506), + [8367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5892), + [8369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_operator_cast_identifier, 2, .production_id = 27), + [8371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1704), + [8373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1996), + [8375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5778), + [8377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5683), + [8379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892), + [8381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1700), + [8383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5858), + [8385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2106), + [8387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5816), + [8389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5312), + [8391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3149), + [8393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5215), + [8395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1958), + [8397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), + [8399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5524), + [8401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(983), + [8403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2764), + [8405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [8407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5619), + [8409] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2), SHIFT_REPEAT(5762), + [8412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enumerator_list_repeat1, 2), + [8414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1898), + [8416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_class_clause, 5), + [8418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(914), + [8420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3998), + [8422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5410), + [8424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2403), + [8426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4755), + [8428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3777), + [8430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4502), + [8432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1792), + [8434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), + [8436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [8438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1507), + [8440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2234), + [8442] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_initializer_list_repeat1, 2), SHIFT_REPEAT(1035), + [8445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2233), + [8447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5567), + [8449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_type_parameter_declaration, 2), + [8451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2224), + [8453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1034), + [8455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(890), + [8457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1945), + [8459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1885), + [8461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2527), + [8463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1950), + [8465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1952), + [8467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3857), + [8469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5682), + [8471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5685), + [8473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4771), + [8475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(909), + [8477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921), + [8479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5741), + [8481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5368), + [8483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4096), + [8485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5353), + [8487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3161), + [8489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_parameter_declaration, 2, .production_id = 54), + [8491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1776), + [8493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3418), + [8495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1886), + [8497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1558), + [8499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 3, .production_id = 81), + [8501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3540), + [8503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2444), + [8505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5437), + [8507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [8509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1593), + [8511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1639), + [8513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5583), + [8515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [8517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5651), + [8519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2162), + [8521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [8523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2223), + [8525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_designator, 2, .production_id = 86), + [8527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_declarator, 2, .production_id = 56), + [8529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_condition_declaration, 3, .production_id = 121), + [8531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5853), + [8533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5679), + [8535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1892), + [8537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1894), + [8539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1889), + [8541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2859), + [8543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1511), + [8545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6451), + [8547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5399), + [8549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4103), + [8551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1622), + [8553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2484), + [8555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2633), + [8557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3477), + [8559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5664), + [8561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enumerator, 1, .production_id = 6), + [8563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1414), + [8565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5850), + [8567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1601), + [8569] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, .production_id = 93), SHIFT_REPEAT(3696), + [8572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_repeat1, 2, .production_id = 93), + [8574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2288), + [8576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3754), + [8578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5908), + [8580] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 2), SHIFT_REPEAT(4455), + [8583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 2), + [8585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5523), + [8587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 3), + [8589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5814), + [8591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(868), + [8593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3851), + [8595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [8597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5790), + [8599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2999), + [8601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5228), + [8603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5219), + [8605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2901), + [8607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4036), + [8609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(838), + [8611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6011), + [8613] = {.entry = {.count = 1, .reusable = false}}, SHIFT(830), + [8615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6343), + [8617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5597), + [8619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4866), + [8621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5510), + [8623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), + [8625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6379), + [8627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [8629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition_name, 4), + [8631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [8633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6268), + [8635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1663), + [8637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6437), + [8639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_template_parameter_declaration, 3, .production_id = 47), + [8641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_type_parameter_declaration, 3, .production_id = 126), + [8643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5615), + [8645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_argument_list_repeat1, 2, .dynamic_precedence = 2), + [8647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5654), + [8649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [8651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5493), + [8653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [8655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4076), + [8657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6153), + [8659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [8661] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1711), + [8663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6360), + [8665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5622), + [8667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1454), + [8669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [8671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412), + [8673] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6460), + [8675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6098), + [8677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5871), + [8679] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1630), + [8681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6280), + [8683] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 2), + [8685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5812), + [8687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6307), + [8689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6318), + [8691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5554), + [8693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6173), + [8695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6176), + [8697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5891), + [8699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1247), + [8701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1658), + [8703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6174), + [8705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1620), + [8707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6224), + [8709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5883), + [8711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6431), + [8713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6435), + [8715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [8717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 4, .production_id = 75), + [8719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6382), + [8721] = {.entry = {.count = 1, .reusable = false}}, SHIFT(814), + [8723] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6346), + [8725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(749), + [8727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6358), + [8729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6275), + [8731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6276), + [8733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), + [8735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5933), + [8737] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6082), + [8739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6242), + [8741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameter_pack_expansion, 2, .production_id = 21), + [8743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [8745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5577), + [8747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_class_clause_repeat1, 4), + [8749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 4), + [8751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5565), + [8753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6205), + [8755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5984), + [8757] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1754), + [8759] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6057), + [8761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_preproc_params, 3), + [8763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(812), + [8765] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6120), + [8767] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6061), + [8769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_field_identifier, 2, .production_id = 27), + [8771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5633), + [8773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6062), + [8775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6060), + [8777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6465), + [8779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(826), + [8781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5972), + [8783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6117), + [8785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, .production_id = 6), + [8787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6369), + [8789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6390), + [8791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namespace_definition_name, 3), + [8793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5706), + [8795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3957), + [8797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6220), + [8799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5795), + [8801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4108), + [8803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1538), + [8805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672), + [8807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670), + [8809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1806), + [8811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [8813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(768), + [8815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [8817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [8819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791), + [8821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1567), + [8823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1562), + [8825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1763), + [8827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836), + [8829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(846), + [8831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1714), + [8833] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6353), + [8836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [8838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [8840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803), + [8842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5595), + [8844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), + [8846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1147), + [8848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686), + [8850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2593), + [8852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2569), + [8854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2568), + [8856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2567), + [8858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [8860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779), + [8862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1136), + [8864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2790), + [8866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2788), + [8868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719), + [8870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 5, .production_id = 140), + [8872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6389), + [8874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2787), + [8876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1718), + [8878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5179), + [8880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [8882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1719), + [8884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1573), + [8886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2504), + [8888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5054), + [8890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6123), + [8892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6444), + [8894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1813), + [8896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3522), + [8898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2515), + [8900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2139), + [8902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_parameter_list, 3), + [8904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [8906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3570), + [8908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5423), + [8910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1574), + [8912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2131), + [8914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6137), + [8916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(885), + [8918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6059), + [8920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6471), + [8922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1575), + [8924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(722), + [8926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [8928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856), + [8930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5089), + [8932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(852), + [8934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6032), + [8936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1759), + [8938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703), + [8940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6071), + [8942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3986), + [8944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1771), + [8946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6475), + [8948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726), + [8950] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6466), + [8953] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6452), + [8956] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6448), + [8959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2016), + [8961] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6445), + [8964] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6441), + [8967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(887), + [8969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1577), + [8971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5515), + [8973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6413), + [8976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4931), + [8978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1579), + [8980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1752), + [8982] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6392), + [8985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6058), + [8987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2964), + [8989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794), + [8991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6383), + [8994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [8996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1753), + [8998] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6380), + [9001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4024), + [9003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6115), + [9005] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6362), + [9008] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6243), + [9011] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fold_operator, 1), SHIFT(6354), + [9014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), + [9016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3170), + [9018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6131), + [9020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1783), + [9022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2747), + [9024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6109), + [9026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(763), + [9028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2101), + [9030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(911), + [9032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811), + [9034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(867), + [9036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [9038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5137), + [9040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [9042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6290), + [9044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6084), + [9046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2762), + [9048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805), + [9050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(801), + [9052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 4, .production_id = 105), + [9054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3193), + [9056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_parameter_list, 2), + [9058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6279), + [9060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1740), + [9062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1594), + [9064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3047), + [9066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [9068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733), + [9070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5966), + [9072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671), + [9074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767), + [9076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [9078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(816), + [9080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2318), + [9082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5058), + [9084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(741), + [9086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3346), + [9088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3347), + [9090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3348), + [9092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1162), + [9094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2531), + [9096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6436), + [9098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781), + [9100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1757), + [9102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(780), + [9104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2583), + [9106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [9108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [9110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6091), + [9112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [9114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1661), + [9116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6440), + [9118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6357), + [9120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3085), + [9122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1801), + [9124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1800), + [9126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1693), + [9128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5716), + [9130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1798), + [9132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6246), + [9134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1666), + [9136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1683), + [9138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588), + [9140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2919), + [9142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1715), + [9144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1710), + [9146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1181), + [9148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1782), + [9150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841), + [9152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(908), + [9154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1777), + [9156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [9158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1154), + [9160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6182), + [9162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [9164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [9166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5768), + [9168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6187), + [9170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6359), + [9172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1255), + [9174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1589), + [9176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1607), + [9178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1611), + [9180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1739), + [9182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1542), + [9184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1737), + [9186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1736), + [9188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1539), + [9190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6303), + [9192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1333), + [9194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(886), + [9196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6146), + [9198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2844), + [9200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6319), + [9202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [9204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3478), + [9206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3031), + [9208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1688), + [9210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1590), + [9212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6199), + [9214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(738), + [9216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif_in_field_declaration_list, 5, .production_id = 140), + [9218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [9220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1632), + [9222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2138), + [9224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2228), + [9226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6095), + [9228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(734), + [9230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2691), + [9232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [9234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4916), + [9236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1796), + [9238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3073), + [9240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6044), + [9242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528), + [9244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5923), + [9246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1743), + [9248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1555), + [9250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1729), + [9252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1697), + [9254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6264), + [9256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1596), + [9258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1748), + [9260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3031), + [9262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [9264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(931), + [9266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3067), + [9268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1586), + [9270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1585), + [9272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(747), + [9274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [9276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ms_based_modifier, 2), + [9278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6006), + [9280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [9282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2304), + [9284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5767), + [9286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(869), + [9288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1123), + [9290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1721), + [9292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5197), + [9294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4498), + [9296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(736), + [9298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866), + [9300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6256), + [9302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5921), + [9304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6029), + [9306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1243), + [9308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3051), + [9310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3048), + [9312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3046), + [9314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1101), + [9316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1148), + [9318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5958), + [9320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6231), + [9322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [9324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1582), + [9326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), + [9328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1457), + [9330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(739), + [9332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774), + [9334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(888), + [9336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5992), + [9338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(777), + [9340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(973), + [9342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4469), + [9344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2530), + [9346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(828), + [9348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3959), + [9350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1691), + [9352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1741), + [9354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4420), + [9356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4489), + [9358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1745), + [9360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_preproc_elif, 4, .production_id = 105), + [9362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1770), + [9364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1218), + [9366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [9368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1614), + [9370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5896), + [9372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6056), + [9374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [9376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1445), + [9378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6067), + [9380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [9382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [9384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2685), + [9386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5861), + [9388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5855), + [9390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6406), + [9392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [9394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2285), + [9396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823), + [9398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1195), + [9400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2127), + [9402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815), + [9404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5859), + [9406] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [9408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6111), + [9410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1431), + [9412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), + [9414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6121), + [9416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2230), + [9418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6232), + [9420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1201), + [9422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1350), + [9424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1668), + [9426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5802), + [9428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [9430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1424), + [9432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1183), + [9434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6157), + [9436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1224), + [9438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2431), + [9440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6270), + [9442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [9444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1419), + [9446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6180), + [9448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [9450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1232), + [9452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [9454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1775), + [9456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [9458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1352), + [9460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6222), + [9462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6422), + [9464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1706), + [9466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [9468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6449), + [9470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1676), + [9472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3721), + [9474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3023), + [9476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4116), + [9478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [9480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_parameter_list, 4), + [9482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [9484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [9486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1276), + [9488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6344), + [9490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2282), + [9492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1742), + [9494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [9496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1747), + [9498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2416), + [9500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [9502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1275), + [9504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6375), + [9506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1161), + [9508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5813), + [9510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2281), + [9512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__unary_right_fold, 3, .production_id = 44), + [9514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6300), + [9516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [9518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1272), + [9520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6401), + [9522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1790), + [9524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [9526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1268), + [9528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6414), + [9530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4707), + [9532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1265), + [9534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6425), + [9536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4708), + [9538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5643), + [9540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2434), + [9542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4709), + [9544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1623), + [9546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2105), + [9548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [9550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1629), + [9552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4950), +}; + +#ifdef __cplusplus +extern "C" { +#endif +void *tree_sitter_cpp_external_scanner_create(void); +void tree_sitter_cpp_external_scanner_destroy(void *); +bool tree_sitter_cpp_external_scanner_scan(void *, TSLexer *, const bool *); +unsigned tree_sitter_cpp_external_scanner_serialize(void *, char *); +void tree_sitter_cpp_external_scanner_deserialize(void *, const char *, unsigned); + +#ifdef _WIN32 +#define extern __declspec(dllexport) +#endif + +extern const TSLanguage *tree_sitter_cpp(void) { + static const TSLanguage language = { + .version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .field_names = ts_field_names, + .field_map_slices = ts_field_map_slices, + .field_map_entries = ts_field_map_entries, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym_identifier, + .external_scanner = { + &ts_external_scanner_states[0][0], + ts_external_scanner_symbol_map, + tree_sitter_cpp_external_scanner_create, + tree_sitter_cpp_external_scanner_destroy, + tree_sitter_cpp_external_scanner_scan, + tree_sitter_cpp_external_scanner_serialize, + tree_sitter_cpp_external_scanner_deserialize, + }, + }; + return &language; +} +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/non-source/foreign/tree-sitter/lang/cpp/scanner.cc b/non-source/foreign/tree-sitter/lang/cpp/scanner.cc new file mode 100644 index 00000000..4c58deea --- /dev/null +++ b/non-source/foreign/tree-sitter/lang/cpp/scanner.cc @@ -0,0 +1,119 @@ +#include +#include +#include + +namespace { + +using std::wstring; +using std::iswspace; + +enum TokenType { + RAW_STRING_LITERAL, +}; + +struct Scanner { + bool scan(TSLexer *lexer, const bool *valid_symbols) { + while (iswspace(lexer->lookahead)) { + lexer->advance(lexer, true); + } + + lexer->result_symbol = RAW_STRING_LITERAL; + + // Raw string literals can start with: R, LR, uR, UR, u8R + // Consume 'R' + if (lexer->lookahead == 'L' || lexer->lookahead == 'U') { + lexer->advance(lexer, false); + if (lexer->lookahead != 'R') { + return false; + } + } else if (lexer->lookahead == 'u') { + lexer->advance(lexer, false); + if (lexer->lookahead == '8') { + lexer->advance(lexer, false); + if (lexer->lookahead != 'R') { + return false; + } + } else if (lexer->lookahead != 'R') { + return false; + } + } else if (lexer->lookahead != 'R') { + return false; + } + lexer->advance(lexer, false); + + // Consume '"' + if (lexer->lookahead != '"') return false; + lexer->advance(lexer, false); + + // Consume '(', delimiter + wstring delimiter; + for (;;) { + if (lexer->lookahead == 0 || lexer->lookahead == '\\' || iswspace(lexer->lookahead)) { + return false; + } + if (lexer->lookahead == '(') { + lexer->advance(lexer, false); + break; + } + delimiter += lexer->lookahead; + lexer->advance(lexer, false); + } + + // Consume content, delimiter, ')', '"' + int delimiter_index = -1; + for (;;) { + if (lexer->lookahead == 0) return false; + + if (delimiter_index >= 0) { + if (static_cast(delimiter_index) == delimiter.size()) { + if (lexer->lookahead == '"') { + lexer->advance(lexer, false); + return true; + } else { + delimiter_index = -1; + } + } else { + if (lexer->lookahead == delimiter[delimiter_index]) { + delimiter_index++; + } else { + delimiter_index = -1; + } + } + } + + if (delimiter_index == -1 && lexer->lookahead == ')') { + delimiter_index = 0; + } + + lexer->advance(lexer, false); + } + } +}; + +} + +extern "C" { + +void *tree_sitter_cpp_external_scanner_create() { + return new Scanner(); +} + +bool tree_sitter_cpp_external_scanner_scan(void *payload, TSLexer *lexer, + const bool *valid_symbols) { + Scanner *scanner = static_cast(payload); + return scanner->scan(lexer, valid_symbols); +} + +unsigned tree_sitter_cpp_external_scanner_serialize(void *payload, char *buffer) { + return 0; +} + +void tree_sitter_cpp_external_scanner_deserialize(void *payload, const char *buffer, unsigned length) { +} + +void tree_sitter_cpp_external_scanner_destroy(void *payload) { + Scanner *scanner = static_cast(payload); + delete scanner; +} + +} \ No newline at end of file diff --git a/non-source/foreign/tree-sitter/lib/include/tree_sitter/api.h b/non-source/foreign/tree-sitter/lib/include/tree_sitter/api.h new file mode 100644 index 00000000..2bbfe66f --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/include/tree_sitter/api.h @@ -0,0 +1,1478 @@ +#ifndef TREE_SITTER_API_H_ +#define TREE_SITTER_API_H_ + +#ifndef TREE_SITTER_HIDE_SYMBOLS +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC visibility push(default) +#endif +#endif + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************/ +/* Section - ABI Versioning */ +/****************************/ + +/** + * The latest ABI version that is supported by the current version of the + * library. When Languages are generated by the Tree-sitter CLI, they are + * assigned an ABI version number that corresponds to the current CLI version. + * The Tree-sitter library is generally backwards-compatible with languages + * generated using older CLI versions, but is not forwards-compatible. + */ +#define TREE_SITTER_LANGUAGE_VERSION 15 + +/** + * The earliest ABI version that is supported by the current version of the + * library. + */ +#define TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION 13 + +/*******************/ +/* Section - Types */ +/*******************/ + +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +typedef struct TSParser TSParser; +typedef struct TSTree TSTree; +typedef struct TSQuery TSQuery; +typedef struct TSQueryCursor TSQueryCursor; +typedef struct TSLookaheadIterator TSLookaheadIterator; + +// This function signature reads one code point from the given string, +// returning the number of bytes consumed. It should write the code point +// to the `code_point` pointer, or write -1 if the input is invalid. +typedef uint32_t (*DecodeFunction)( + const uint8_t *string, + uint32_t length, + int32_t *code_point +); + +typedef enum TSInputEncoding { + TSInputEncodingUTF8, + TSInputEncodingUTF16LE, + TSInputEncodingUTF16BE, + TSInputEncodingCustom +} TSInputEncoding; + +typedef enum TSSymbolType { + TSSymbolTypeRegular, + TSSymbolTypeAnonymous, + TSSymbolTypeSupertype, + TSSymbolTypeAuxiliary, +} TSSymbolType; + +typedef struct TSPoint { + uint32_t row; + uint32_t column; +} TSPoint; + +typedef struct TSRange { + TSPoint start_point; + TSPoint end_point; + uint32_t start_byte; + uint32_t end_byte; +} TSRange; + +typedef struct TSInput { + void *payload; + const char *(*read)(void *payload, uint32_t byte_index, TSPoint position, uint32_t *bytes_read); + TSInputEncoding encoding; + DecodeFunction decode; +} TSInput; + +typedef struct TSParseState { + void *payload; + uint32_t current_byte_offset; + bool has_error; +} TSParseState; + +typedef struct TSParseOptions { + void *payload; + bool (*progress_callback)(TSParseState *state); +} TSParseOptions; + +typedef enum TSLogType { + TSLogTypeParse, + TSLogTypeLex, +} TSLogType; + +typedef struct TSLogger { + void *payload; + void (*log)(void *payload, TSLogType log_type, const char *buffer); +} TSLogger; + +typedef struct TSInputEdit { + uint32_t start_byte; + uint32_t old_end_byte; + uint32_t new_end_byte; + TSPoint start_point; + TSPoint old_end_point; + TSPoint new_end_point; +} TSInputEdit; + +typedef struct TSNode { + uint32_t context[4]; + const void *id; + const TSTree *tree; +} TSNode; + +typedef struct TSTreeCursor { + const void *tree; + const void *id; + uint32_t context[3]; +} TSTreeCursor; + +typedef struct TSQueryCapture { + TSNode node; + uint32_t index; +} TSQueryCapture; + +typedef enum TSQuantifier { + TSQuantifierZero = 0, // must match the array initialization value + TSQuantifierZeroOrOne, + TSQuantifierZeroOrMore, + TSQuantifierOne, + TSQuantifierOneOrMore, +} TSQuantifier; + +typedef struct TSQueryMatch { + uint32_t id; + uint16_t pattern_index; + uint16_t capture_count; + const TSQueryCapture *captures; +} TSQueryMatch; + +typedef enum TSQueryPredicateStepType { + TSQueryPredicateStepTypeDone, + TSQueryPredicateStepTypeCapture, + TSQueryPredicateStepTypeString, +} TSQueryPredicateStepType; + +typedef struct TSQueryPredicateStep { + TSQueryPredicateStepType type; + uint32_t value_id; +} TSQueryPredicateStep; + +typedef enum TSQueryError { + TSQueryErrorNone = 0, + TSQueryErrorSyntax, + TSQueryErrorNodeType, + TSQueryErrorField, + TSQueryErrorCapture, + TSQueryErrorStructure, + TSQueryErrorLanguage, +} TSQueryError; + +typedef struct TSQueryCursorState { + void *payload; + uint32_t current_byte_offset; +} TSQueryCursorState; + +typedef struct TSQueryCursorOptions { + void *payload; + bool (*progress_callback)(TSQueryCursorState *state); +} TSQueryCursorOptions; + +/** + * The metadata associated with a language. + * + * Currently, this metadata can be used to check the [Semantic Version](https://semver.org/) + * of the language. This version information should be used to signal if a given parser might + * be incompatible with existing queries when upgrading between major versions, or minor versions + * if it's in zerover. + */ +typedef struct TSLanguageMetadata { + uint8_t major_version; + uint8_t minor_version; + uint8_t patch_version; +} TSLanguageMetadata; + +/********************/ +/* Section - Parser */ +/********************/ + +/** + * Create a new parser. + */ +TSParser *ts_parser_new(void); + +/** + * Delete the parser, freeing all of the memory that it used. + */ +void ts_parser_delete(TSParser *self); + +/** + * Get the parser's current language. + */ +const TSLanguage *ts_parser_language(const TSParser *self); + +/** + * Set the language that the parser should use for parsing. + * + * Returns a boolean indicating whether or not the language was successfully + * assigned. True means assignment succeeded. False means there was a version + * mismatch: the language was generated with an incompatible version of the + * Tree-sitter CLI. Check the language's ABI version using [`ts_language_abi_version`] + * and compare it to this library's [`TREE_SITTER_LANGUAGE_VERSION`] and + * [`TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION`] constants. + */ +bool ts_parser_set_language(TSParser *self, const TSLanguage *language); + +/** + * Set the ranges of text that the parser should include when parsing. + * + * By default, the parser will always include entire documents. This function + * allows you to parse only a *portion* of a document but still return a syntax + * tree whose ranges match up with the document as a whole. You can also pass + * multiple disjoint ranges. + * + * The second and third parameters specify the location and length of an array + * of ranges. The parser does *not* take ownership of these ranges; it copies + * the data, so it doesn't matter how these ranges are allocated. + * + * If `count` is zero, then the entire document will be parsed. Otherwise, + * the given ranges must be ordered from earliest to latest in the document, + * and they must not overlap. That is, the following must hold for all: + * + * `i < count - 1`: `ranges[i].end_byte <= ranges[i + 1].start_byte` + * + * If this requirement is not satisfied, the operation will fail, the ranges + * will not be assigned, and this function will return `false`. On success, + * this function returns `true` + */ +bool ts_parser_set_included_ranges( + TSParser *self, + const TSRange *ranges, + uint32_t count +); + +/** + * Get the ranges of text that the parser will include when parsing. + * + * The returned pointer is owned by the parser. The caller should not free it + * or write to it. The length of the array will be written to the given + * `count` pointer. + */ +const TSRange *ts_parser_included_ranges( + const TSParser *self, + uint32_t *count +); + +/** + * Use the parser to parse some source code and create a syntax tree. + * + * If you are parsing this document for the first time, pass `NULL` for the + * `old_tree` parameter. Otherwise, if you have already parsed an earlier + * version of this document and the document has since been edited, pass the + * previous syntax tree so that the unchanged parts of it can be reused. + * This will save time and memory. For this to work correctly, you must have + * already edited the old syntax tree using the [`ts_tree_edit`] function in a + * way that exactly matches the source code changes. + * + * The [`TSInput`] parameter lets you specify how to read the text. It has the + * following three fields: + * 1. [`read`]: A function to retrieve a chunk of text at a given byte offset + * and (row, column) position. The function should return a pointer to the + * text and write its length to the [`bytes_read`] pointer. The parser does + * not take ownership of this buffer; it just borrows it until it has + * finished reading it. The function should write a zero value to the + * [`bytes_read`] pointer to indicate the end of the document. + * 2. [`payload`]: An arbitrary pointer that will be passed to each invocation + * of the [`read`] function. + * 3. [`encoding`]: An indication of how the text is encoded. Either + * `TSInputEncodingUTF8` or `TSInputEncodingUTF16`. + * + * This function returns a syntax tree on success, and `NULL` on failure. There + * are four possible reasons for failure: + * 1. The parser does not have a language assigned. Check for this using the + [`ts_parser_language`] function. + * 2. Parsing was cancelled due to a timeout that was set by an earlier call to + * the [`ts_parser_set_timeout_micros`] function. You can resume parsing from + * where the parser left out by calling [`ts_parser_parse`] again with the + * same arguments. Or you can start parsing from scratch by first calling + * [`ts_parser_reset`]. + * 3. Parsing was cancelled using a cancellation flag that was set by an + * earlier call to [`ts_parser_set_cancellation_flag`]. You can resume parsing + * from where the parser left out by calling [`ts_parser_parse`] again with + * the same arguments. + * 4. Parsing was cancelled due to the progress callback returning true. This callback + * is passed in [`ts_parser_parse_with_options`] inside the [`TSParseOptions`] struct. + * + * [`read`]: TSInput::read + * [`payload`]: TSInput::payload + * [`encoding`]: TSInput::encoding + * [`bytes_read`]: TSInput::read + */ +TSTree *ts_parser_parse( + TSParser *self, + const TSTree *old_tree, + TSInput input +); + +/** + * Use the parser to parse some source code and create a syntax tree, with some options. + * + * See [`ts_parser_parse`] for more details. + * + * See [`TSParseOptions`] for more details on the options. + */ +TSTree* ts_parser_parse_with_options( + TSParser *self, + const TSTree *old_tree, + TSInput input, + TSParseOptions parse_options +); + +/** + * Use the parser to parse some source code stored in one contiguous buffer. + * The first two parameters are the same as in the [`ts_parser_parse`] function + * above. The second two parameters indicate the location of the buffer and its + * length in bytes. + */ +TSTree *ts_parser_parse_string( + TSParser *self, + const TSTree *old_tree, + const char *string, + uint32_t length +); + +/** + * Use the parser to parse some source code stored in one contiguous buffer with + * a given encoding. The first four parameters work the same as in the + * [`ts_parser_parse_string`] method above. The final parameter indicates whether + * the text is encoded as UTF8 or UTF16. + */ +TSTree *ts_parser_parse_string_encoding( + TSParser *self, + const TSTree *old_tree, + const char *string, + uint32_t length, + TSInputEncoding encoding +); + +/** + * Instruct the parser to start the next parse from the beginning. + * + * If the parser previously failed because of a timeout or a cancellation, then + * by default, it will resume where it left off on the next call to + * [`ts_parser_parse`] or other parsing functions. If you don't want to resume, + * and instead intend to use this parser to parse some other document, you must + * call [`ts_parser_reset`] first. + */ +void ts_parser_reset(TSParser *self); + +/** + * @deprecated use [`ts_parser_parse_with_options`] and pass in a callback instead, this will be removed in 0.26. + * + * Set the maximum duration in microseconds that parsing should be allowed to + * take before halting. + * + * If parsing takes longer than this, it will halt early, returning NULL. + * See [`ts_parser_parse`] for more information. + */ +void ts_parser_set_timeout_micros(TSParser *self, uint64_t timeout_micros); + +/** + * @deprecated use [`ts_parser_parse_with_options`] and pass in a callback instead, this will be removed in 0.26. + * + * Get the duration in microseconds that parsing is allowed to take. + */ +uint64_t ts_parser_timeout_micros(const TSParser *self); + +/** + * @deprecated use [`ts_parser_parse_with_options`] and pass in a callback instead, this will be removed in 0.26. + * + * Set the parser's current cancellation flag pointer. + * + * If a non-null pointer is assigned, then the parser will periodically read + * from this pointer during parsing. If it reads a non-zero value, it will + * halt early, returning NULL. See [`ts_parser_parse`] for more information. + */ +void ts_parser_set_cancellation_flag(TSParser *self, const size_t *flag); + +/** + * @deprecated use [`ts_parser_parse_with_options`] and pass in a callback instead, this will be removed in 0.26. + * + * Get the parser's current cancellation flag pointer. + */ +const size_t *ts_parser_cancellation_flag(const TSParser *self); + +/** + * Set the logger that a parser should use during parsing. + * + * The parser does not take ownership over the logger payload. If a logger was + * previously assigned, the caller is responsible for releasing any memory + * owned by the previous logger. + */ +void ts_parser_set_logger(TSParser *self, TSLogger logger); + +/** + * Get the parser's current logger. + */ +TSLogger ts_parser_logger(const TSParser *self); + +/** + * Set the file descriptor to which the parser should write debugging graphs + * during parsing. The graphs are formatted in the DOT language. You may want + * to pipe these graphs directly to a `dot(1)` process in order to generate + * SVG output. You can turn off this logging by passing a negative number. + */ +void ts_parser_print_dot_graphs(TSParser *self, int fd); + +/******************/ +/* Section - Tree */ +/******************/ + +/** + * Create a shallow copy of the syntax tree. This is very fast. + * + * You need to copy a syntax tree in order to use it on more than one thread at + * a time, as syntax trees are not thread safe. + */ +TSTree *ts_tree_copy(const TSTree *self); + +/** + * Delete the syntax tree, freeing all of the memory that it used. + */ +void ts_tree_delete(TSTree *self); + +/** + * Get the root node of the syntax tree. + */ +TSNode ts_tree_root_node(const TSTree *self); + +/** + * Get the root node of the syntax tree, but with its position + * shifted forward by the given offset. + */ +TSNode ts_tree_root_node_with_offset( + const TSTree *self, + uint32_t offset_bytes, + TSPoint offset_extent +); + +/** + * Get the language that was used to parse the syntax tree. + */ +const TSLanguage *ts_tree_language(const TSTree *self); + +/** + * Get the array of included ranges that was used to parse the syntax tree. + * + * The returned pointer must be freed by the caller. + */ +TSRange *ts_tree_included_ranges(const TSTree *self, uint32_t *length); + +/** + * Edit the syntax tree to keep it in sync with source code that has been + * edited. + * + * You must describe the edit both in terms of byte offsets and in terms of + * (row, column) coordinates. + */ +void ts_tree_edit(TSTree *self, const TSInputEdit *edit); + +/** + * Compare an old edited syntax tree to a new syntax tree representing the same + * document, returning an array of ranges whose syntactic structure has changed. + * + * For this to work correctly, the old syntax tree must have been edited such + * that its ranges match up to the new tree. Generally, you'll want to call + * this function right after calling one of the [`ts_parser_parse`] functions. + * You need to pass the old tree that was passed to parse, as well as the new + * tree that was returned from that function. + * + * The returned ranges indicate areas where the hierarchical structure of syntax + * nodes (from root to leaf) has changed between the old and new trees. Characters + * outside these ranges have identical ancestor nodes in both trees. + * + * Note that the returned ranges may be slightly larger than the exact changed areas, + * but Tree-sitter attempts to make them as small as possible. + * + * The returned array is allocated using `malloc` and the caller is responsible + * for freeing it using `free`. The length of the array will be written to the + * given `length` pointer. + */ +TSRange *ts_tree_get_changed_ranges( + const TSTree *old_tree, + const TSTree *new_tree, + uint32_t *length +); + +/** + * Write a DOT graph describing the syntax tree to the given file. + */ +void ts_tree_print_dot_graph(const TSTree *self, int file_descriptor); + +/******************/ +/* Section - Node */ +/******************/ + +/** + * Get the node's type as a null-terminated string. + */ +const char *ts_node_type(TSNode self); + +/** + * Get the node's type as a numerical id. + */ +TSSymbol ts_node_symbol(TSNode self); + +/** + * Get the node's language. + */ +const TSLanguage *ts_node_language(TSNode self); + +/** + * Get the node's type as it appears in the grammar ignoring aliases as a + * null-terminated string. + */ +const char *ts_node_grammar_type(TSNode self); + +/** + * Get the node's type as a numerical id as it appears in the grammar ignoring + * aliases. This should be used in [`ts_language_next_state`] instead of + * [`ts_node_symbol`]. + */ +TSSymbol ts_node_grammar_symbol(TSNode self); + +/** + * Get the node's start byte. + */ +uint32_t ts_node_start_byte(TSNode self); + +/** + * Get the node's start position in terms of rows and columns. + */ +TSPoint ts_node_start_point(TSNode self); + +/** + * Get the node's end byte. + */ +uint32_t ts_node_end_byte(TSNode self); + +/** + * Get the node's end position in terms of rows and columns. + */ +TSPoint ts_node_end_point(TSNode self); + +/** + * Get an S-expression representing the node as a string. + * + * This string is allocated with `malloc` and the caller is responsible for + * freeing it using `free`. + */ +char *ts_node_string(TSNode self); + +/** + * Check if the node is null. Functions like [`ts_node_child`] and + * [`ts_node_next_sibling`] will return a null node to indicate that no such node + * was found. + */ +bool ts_node_is_null(TSNode self); + +/** + * Check if the node is *named*. Named nodes correspond to named rules in the + * grammar, whereas *anonymous* nodes correspond to string literals in the + * grammar. + */ +bool ts_node_is_named(TSNode self); + +/** + * Check if the node is *missing*. Missing nodes are inserted by the parser in + * order to recover from certain kinds of syntax errors. + */ +bool ts_node_is_missing(TSNode self); + +/** + * Check if the node is *extra*. Extra nodes represent things like comments, + * which are not required the grammar, but can appear anywhere. + */ +bool ts_node_is_extra(TSNode self); + +/** + * Check if a syntax node has been edited. + */ +bool ts_node_has_changes(TSNode self); + +/** + * Check if the node is a syntax error or contains any syntax errors. + */ +bool ts_node_has_error(TSNode self); + +/** + * Check if the node is a syntax error. +*/ +bool ts_node_is_error(TSNode self); + +/** + * Get this node's parse state. +*/ +TSStateId ts_node_parse_state(TSNode self); + +/** + * Get the parse state after this node. +*/ +TSStateId ts_node_next_parse_state(TSNode self); + +/** + * Get the node's immediate parent. + * Prefer [`ts_node_child_with_descendant`] for + * iterating over the node's ancestors. + */ +TSNode ts_node_parent(TSNode self); + +/** + * Get the node that contains `descendant`. + * + * Note that this can return `descendant` itself. + */ +TSNode ts_node_child_with_descendant(TSNode self, TSNode descendant); + +/** + * Get the node's child at the given index, where zero represents the first + * child. + */ +TSNode ts_node_child(TSNode self, uint32_t child_index); + +/** + * Get the field name for node's child at the given index, where zero represents + * the first child. Returns NULL, if no field is found. + */ +const char *ts_node_field_name_for_child(TSNode self, uint32_t child_index); + +/** + * Get the field name for node's named child at the given index, where zero + * represents the first named child. Returns NULL, if no field is found. + */ +const char *ts_node_field_name_for_named_child(TSNode self, uint32_t named_child_index); + +/** + * Get the node's number of children. + */ +uint32_t ts_node_child_count(TSNode self); + +/** + * Get the node's *named* child at the given index. + * + * See also [`ts_node_is_named`]. + */ +TSNode ts_node_named_child(TSNode self, uint32_t child_index); + +/** + * Get the node's number of *named* children. + * + * See also [`ts_node_is_named`]. + */ +uint32_t ts_node_named_child_count(TSNode self); + +/** + * Get the node's child with the given field name. + */ +TSNode ts_node_child_by_field_name( + TSNode self, + const char *name, + uint32_t name_length +); + +/** + * Get the node's child with the given numerical field id. + * + * You can convert a field name to an id using the + * [`ts_language_field_id_for_name`] function. + */ +TSNode ts_node_child_by_field_id(TSNode self, TSFieldId field_id); + +/** + * Get the node's next / previous sibling. + */ +TSNode ts_node_next_sibling(TSNode self); +TSNode ts_node_prev_sibling(TSNode self); + +/** + * Get the node's next / previous *named* sibling. + */ +TSNode ts_node_next_named_sibling(TSNode self); +TSNode ts_node_prev_named_sibling(TSNode self); + +/** + * Get the node's first child that contains or starts after the given byte offset. + */ +TSNode ts_node_first_child_for_byte(TSNode self, uint32_t byte); + +/** + * Get the node's first named child that contains or starts after the given byte offset. + */ +TSNode ts_node_first_named_child_for_byte(TSNode self, uint32_t byte); + +/** + * Get the node's number of descendants, including one for the node itself. + */ +uint32_t ts_node_descendant_count(TSNode self); + +/** + * Get the smallest node within this node that spans the given range of bytes + * or (row, column) positions. + */ +TSNode ts_node_descendant_for_byte_range(TSNode self, uint32_t start, uint32_t end); +TSNode ts_node_descendant_for_point_range(TSNode self, TSPoint start, TSPoint end); + +/** + * Get the smallest named node within this node that spans the given range of + * bytes or (row, column) positions. + */ +TSNode ts_node_named_descendant_for_byte_range(TSNode self, uint32_t start, uint32_t end); +TSNode ts_node_named_descendant_for_point_range(TSNode self, TSPoint start, TSPoint end); + +/** + * Edit the node to keep it in-sync with source code that has been edited. + * + * This function is only rarely needed. When you edit a syntax tree with the + * [`ts_tree_edit`] function, all of the nodes that you retrieve from the tree + * afterward will already reflect the edit. You only need to use [`ts_node_edit`] + * when you have a [`TSNode`] instance that you want to keep and continue to use + * after an edit. + */ +void ts_node_edit(TSNode *self, const TSInputEdit *edit); + +/** + * Check if two nodes are identical. + */ +bool ts_node_eq(TSNode self, TSNode other); + +/************************/ +/* Section - TreeCursor */ +/************************/ + +/** + * Create a new tree cursor starting from the given node. + * + * A tree cursor allows you to walk a syntax tree more efficiently than is + * possible using the [`TSNode`] functions. It is a mutable object that is always + * on a certain syntax node, and can be moved imperatively to different nodes. + * + * Note that the given node is considered the root of the cursor, + * and the cursor cannot walk outside this node. + */ +TSTreeCursor ts_tree_cursor_new(TSNode node); + +/** + * Delete a tree cursor, freeing all of the memory that it used. + */ +void ts_tree_cursor_delete(TSTreeCursor *self); + +/** + * Re-initialize a tree cursor to start at the original node that the cursor was + * constructed with. + */ +void ts_tree_cursor_reset(TSTreeCursor *self, TSNode node); + +/** + * Re-initialize a tree cursor to the same position as another cursor. + * + * Unlike [`ts_tree_cursor_reset`], this will not lose parent information and + * allows reusing already created cursors. +*/ +void ts_tree_cursor_reset_to(TSTreeCursor *dst, const TSTreeCursor *src); + +/** + * Get the tree cursor's current node. + */ +TSNode ts_tree_cursor_current_node(const TSTreeCursor *self); + +/** + * Get the field name of the tree cursor's current node. + * + * This returns `NULL` if the current node doesn't have a field. + * See also [`ts_node_child_by_field_name`]. + */ +const char *ts_tree_cursor_current_field_name(const TSTreeCursor *self); + +/** + * Get the field id of the tree cursor's current node. + * + * This returns zero if the current node doesn't have a field. + * See also [`ts_node_child_by_field_id`], [`ts_language_field_id_for_name`]. + */ +TSFieldId ts_tree_cursor_current_field_id(const TSTreeCursor *self); + +/** + * Move the cursor to the parent of its current node. + * + * This returns `true` if the cursor successfully moved, and returns `false` + * if there was no parent node (the cursor was already on the root node). + * + * Note that the node the cursor was constructed with is considered the root + * of the cursor, and the cursor cannot walk outside this node. + */ +bool ts_tree_cursor_goto_parent(TSTreeCursor *self); + +/** + * Move the cursor to the next sibling of its current node. + * + * This returns `true` if the cursor successfully moved, and returns `false` + * if there was no next sibling node. + * + * Note that the node the cursor was constructed with is considered the root + * of the cursor, and the cursor cannot walk outside this node. + */ +bool ts_tree_cursor_goto_next_sibling(TSTreeCursor *self); + +/** + * Move the cursor to the previous sibling of its current node. + * + * This returns `true` if the cursor successfully moved, and returns `false` if + * there was no previous sibling node. + * + * Note, that this function may be slower than + * [`ts_tree_cursor_goto_next_sibling`] due to how node positions are stored. In + * the worst case, this will need to iterate through all the children up to the + * previous sibling node to recalculate its position. Also note that the node the cursor + * was constructed with is considered the root of the cursor, and the cursor cannot + * walk outside this node. + */ +bool ts_tree_cursor_goto_previous_sibling(TSTreeCursor *self); + +/** + * Move the cursor to the first child of its current node. + * + * This returns `true` if the cursor successfully moved, and returns `false` + * if there were no children. + */ +bool ts_tree_cursor_goto_first_child(TSTreeCursor *self); + +/** + * Move the cursor to the last child of its current node. + * + * This returns `true` if the cursor successfully moved, and returns `false` if + * there were no children. + * + * Note that this function may be slower than [`ts_tree_cursor_goto_first_child`] + * because it needs to iterate through all the children to compute the child's + * position. + */ +bool ts_tree_cursor_goto_last_child(TSTreeCursor *self); + +/** + * Move the cursor to the node that is the nth descendant of + * the original node that the cursor was constructed with, where + * zero represents the original node itself. + */ +void ts_tree_cursor_goto_descendant(TSTreeCursor *self, uint32_t goal_descendant_index); + +/** + * Get the index of the cursor's current node out of all of the + * descendants of the original node that the cursor was constructed with. + */ +uint32_t ts_tree_cursor_current_descendant_index(const TSTreeCursor *self); + +/** + * Get the depth of the cursor's current node relative to the original + * node that the cursor was constructed with. + */ +uint32_t ts_tree_cursor_current_depth(const TSTreeCursor *self); + +/** + * Move the cursor to the first child of its current node that contains or starts after + * the given byte offset or point. + * + * This returns the index of the child node if one was found, and returns -1 + * if no such child was found. + */ +int64_t ts_tree_cursor_goto_first_child_for_byte(TSTreeCursor *self, uint32_t goal_byte); +int64_t ts_tree_cursor_goto_first_child_for_point(TSTreeCursor *self, TSPoint goal_point); + +TSTreeCursor ts_tree_cursor_copy(const TSTreeCursor *cursor); + +/*******************/ +/* Section - Query */ +/*******************/ + +/** + * Create a new query from a string containing one or more S-expression + * patterns. The query is associated with a particular language, and can + * only be run on syntax nodes parsed with that language. + * + * If all of the given patterns are valid, this returns a [`TSQuery`]. + * If a pattern is invalid, this returns `NULL`, and provides two pieces + * of information about the problem: + * 1. The byte offset of the error is written to the `error_offset` parameter. + * 2. The type of error is written to the `error_type` parameter. + */ +TSQuery *ts_query_new( + const TSLanguage *language, + const char *source, + uint32_t source_len, + uint32_t *error_offset, + TSQueryError *error_type +); + +/** + * Delete a query, freeing all of the memory that it used. + */ +void ts_query_delete(TSQuery *self); + +/** + * Get the number of patterns, captures, or string literals in the query. + */ +uint32_t ts_query_pattern_count(const TSQuery *self); +uint32_t ts_query_capture_count(const TSQuery *self); +uint32_t ts_query_string_count(const TSQuery *self); + +/** + * Get the byte offset where the given pattern starts in the query's source. + * + * This can be useful when combining queries by concatenating their source + * code strings. + */ +uint32_t ts_query_start_byte_for_pattern(const TSQuery *self, uint32_t pattern_index); + +/** + * Get the byte offset where the given pattern ends in the query's source. + * + * This can be useful when combining queries by concatenating their source + * code strings. + */ +uint32_t ts_query_end_byte_for_pattern(const TSQuery *self, uint32_t pattern_index); + +/** + * Get all of the predicates for the given pattern in the query. + * + * The predicates are represented as a single array of steps. There are three + * types of steps in this array, which correspond to the three legal values for + * the `type` field: + * - `TSQueryPredicateStepTypeCapture` - Steps with this type represent names + * of captures. Their `value_id` can be used with the + * [`ts_query_capture_name_for_id`] function to obtain the name of the capture. + * - `TSQueryPredicateStepTypeString` - Steps with this type represent literal + * strings. Their `value_id` can be used with the + * [`ts_query_string_value_for_id`] function to obtain their string value. + * - `TSQueryPredicateStepTypeDone` - Steps with this type are *sentinels* + * that represent the end of an individual predicate. If a pattern has two + * predicates, then there will be two steps with this `type` in the array. + */ +const TSQueryPredicateStep *ts_query_predicates_for_pattern( + const TSQuery *self, + uint32_t pattern_index, + uint32_t *step_count +); + +/* + * Check if the given pattern in the query has a single root node. + */ +bool ts_query_is_pattern_rooted(const TSQuery *self, uint32_t pattern_index); + +/* + * Check if the given pattern in the query is 'non local'. + * + * A non-local pattern has multiple root nodes and can match within a + * repeating sequence of nodes, as specified by the grammar. Non-local + * patterns disable certain optimizations that would otherwise be possible + * when executing a query on a specific range of a syntax tree. + */ +bool ts_query_is_pattern_non_local(const TSQuery *self, uint32_t pattern_index); + +/* + * Check if a given pattern is guaranteed to match once a given step is reached. + * The step is specified by its byte offset in the query's source code. + */ +bool ts_query_is_pattern_guaranteed_at_step(const TSQuery *self, uint32_t byte_offset); + +/** + * Get the name and length of one of the query's captures, or one of the + * query's string literals. Each capture and string is associated with a + * numeric id based on the order that it appeared in the query's source. + */ +const char *ts_query_capture_name_for_id( + const TSQuery *self, + uint32_t index, + uint32_t *length +); + +/** + * Get the quantifier of the query's captures. Each capture is * associated + * with a numeric id based on the order that it appeared in the query's source. + */ +TSQuantifier ts_query_capture_quantifier_for_id( + const TSQuery *self, + uint32_t pattern_index, + uint32_t capture_index +); + +const char *ts_query_string_value_for_id( + const TSQuery *self, + uint32_t index, + uint32_t *length +); + +/** + * Disable a certain capture within a query. + * + * This prevents the capture from being returned in matches, and also avoids + * any resource usage associated with recording the capture. Currently, there + * is no way to undo this. + */ +void ts_query_disable_capture(TSQuery *self, const char *name, uint32_t length); + +/** + * Disable a certain pattern within a query. + * + * This prevents the pattern from matching and removes most of the overhead + * associated with the pattern. Currently, there is no way to undo this. + */ +void ts_query_disable_pattern(TSQuery *self, uint32_t pattern_index); + +/** + * Create a new cursor for executing a given query. + * + * The cursor stores the state that is needed to iteratively search + * for matches. To use the query cursor, first call [`ts_query_cursor_exec`] + * to start running a given query on a given syntax node. Then, there are + * two options for consuming the results of the query: + * 1. Repeatedly call [`ts_query_cursor_next_match`] to iterate over all of the + * *matches* in the order that they were found. Each match contains the + * index of the pattern that matched, and an array of captures. Because + * multiple patterns can match the same set of nodes, one match may contain + * captures that appear *before* some of the captures from a previous match. + * 2. Repeatedly call [`ts_query_cursor_next_capture`] to iterate over all of the + * individual *captures* in the order that they appear. This is useful if + * don't care about which pattern matched, and just want a single ordered + * sequence of captures. + * + * If you don't care about consuming all of the results, you can stop calling + * [`ts_query_cursor_next_match`] or [`ts_query_cursor_next_capture`] at any point. + * You can then start executing another query on another node by calling + * [`ts_query_cursor_exec`] again. + */ +TSQueryCursor *ts_query_cursor_new(void); + +/** + * Delete a query cursor, freeing all of the memory that it used. + */ +void ts_query_cursor_delete(TSQueryCursor *self); + +/** + * Start running a given query on a given node. + */ +void ts_query_cursor_exec(TSQueryCursor *self, const TSQuery *query, TSNode node); + +/** + * Start running a given query on a given node, with some options. + */ +void ts_query_cursor_exec_with_options( + TSQueryCursor *self, + const TSQuery *query, + TSNode node, + const TSQueryCursorOptions *query_options +); + +/** + * Manage the maximum number of in-progress matches allowed by this query + * cursor. + * + * Query cursors have an optional maximum capacity for storing lists of + * in-progress captures. If this capacity is exceeded, then the + * earliest-starting match will silently be dropped to make room for further + * matches. This maximum capacity is optional — by default, query cursors allow + * any number of pending matches, dynamically allocating new space for them as + * needed as the query is executed. + */ +bool ts_query_cursor_did_exceed_match_limit(const TSQueryCursor *self); +uint32_t ts_query_cursor_match_limit(const TSQueryCursor *self); +void ts_query_cursor_set_match_limit(TSQueryCursor *self, uint32_t limit); + +/** + * @deprecated use [`ts_query_cursor_exec_with_options`] and pass in a callback instead, this will be removed in 0.26. + * + * Set the maximum duration in microseconds that query execution should be allowed to + * take before halting. + * + * If query execution takes longer than this, it will halt early, returning NULL. + * See [`ts_query_cursor_next_match`] or [`ts_query_cursor_next_capture`] for more information. + */ +void ts_query_cursor_set_timeout_micros(TSQueryCursor *self, uint64_t timeout_micros); + +/** + * @deprecated use [`ts_query_cursor_exec_with_options`] and pass in a callback instead, this will be removed in 0.26. + * + * Get the duration in microseconds that query execution is allowed to take. + * + * This is set via [`ts_query_cursor_set_timeout_micros`]. + */ +uint64_t ts_query_cursor_timeout_micros(const TSQueryCursor *self); + +/** + * Set the range of bytes in which the query will be executed. + * + * The query cursor will return matches that intersect with the given point range. + * This means that a match may be returned even if some of its captures fall + * outside the specified range, as long as at least part of the match + * overlaps with the range. + * + * For example, if a query pattern matches a node that spans a larger area + * than the specified range, but part of that node intersects with the range, + * the entire match will be returned. + * + * This will return `false` if the start byte is greater than the end byte, otherwise + * it will return `true`. + */ +bool ts_query_cursor_set_byte_range(TSQueryCursor *self, uint32_t start_byte, uint32_t end_byte); + +/** + * Set the range of (row, column) positions in which the query will be executed. + * + * The query cursor will return matches that intersect with the given point range. + * This means that a match may be returned even if some of its captures fall + * outside the specified range, as long as at least part of the match + * overlaps with the range. + * + * For example, if a query pattern matches a node that spans a larger area + * than the specified range, but part of that node intersects with the range, + * the entire match will be returned. + * + * This will return `false` if the start point is greater than the end point, otherwise + * it will return `true`. + */ +bool ts_query_cursor_set_point_range(TSQueryCursor *self, TSPoint start_point, TSPoint end_point); + +/** + * Advance to the next match of the currently running query. + * + * If there is a match, write it to `*match` and return `true`. + * Otherwise, return `false`. + */ +bool ts_query_cursor_next_match(TSQueryCursor *self, TSQueryMatch *match); +void ts_query_cursor_remove_match(TSQueryCursor *self, uint32_t match_id); + +/** + * Advance to the next capture of the currently running query. + * + * If there is a capture, write its match to `*match` and its index within + * the match's capture list to `*capture_index`. Otherwise, return `false`. + */ +bool ts_query_cursor_next_capture( + TSQueryCursor *self, + TSQueryMatch *match, + uint32_t *capture_index +); + +/** + * Set the maximum start depth for a query cursor. + * + * This prevents cursors from exploring children nodes at a certain depth. + * Note if a pattern includes many children, then they will still be checked. + * + * The zero max start depth value can be used as a special behavior and + * it helps to destructure a subtree by staying on a node and using captures + * for interested parts. Note that the zero max start depth only limit a search + * depth for a pattern's root node but other nodes that are parts of the pattern + * may be searched at any depth what defined by the pattern structure. + * + * Set to `UINT32_MAX` to remove the maximum start depth. + */ +void ts_query_cursor_set_max_start_depth(TSQueryCursor *self, uint32_t max_start_depth); + +/**********************/ +/* Section - Language */ +/**********************/ + +/** + * Get another reference to the given language. + */ +const TSLanguage *ts_language_copy(const TSLanguage *self); + +/** + * Free any dynamically-allocated resources for this language, if + * this is the last reference. + */ +void ts_language_delete(const TSLanguage *self); + +/** + * Get the number of distinct node types in the language. + */ +uint32_t ts_language_symbol_count(const TSLanguage *self); + +/** + * Get the number of valid states in this language. +*/ +uint32_t ts_language_state_count(const TSLanguage *self); + +/** + * Get the numerical id for the given node type string. + */ +TSSymbol ts_language_symbol_for_name( + const TSLanguage *self, + const char *string, + uint32_t length, + bool is_named +); + +/** + * Get the number of distinct field names in the language. + */ +uint32_t ts_language_field_count(const TSLanguage *self); + +/** + * Get the field name string for the given numerical id. + */ +const char *ts_language_field_name_for_id(const TSLanguage *self, TSFieldId id); + +/** + * Get the numerical id for the given field name string. + */ +TSFieldId ts_language_field_id_for_name(const TSLanguage *self, const char *name, uint32_t name_length); + +/** + * Get a list of all supertype symbols for the language. +*/ +const TSSymbol *ts_language_supertypes(const TSLanguage *self, uint32_t *length); + +/** + * Get a list of all subtype symbol ids for a given supertype symbol. + * + * See [`ts_language_supertypes`] for fetching all supertype symbols. + */ +const TSSymbol *ts_language_subtypes( + const TSLanguage *self, + TSSymbol supertype, + uint32_t *length +); + +/** + * Get a node type string for the given numerical id. + */ +const char *ts_language_symbol_name(const TSLanguage *self, TSSymbol symbol); + +/** + * Check whether the given node type id belongs to named nodes, anonymous nodes, + * or a hidden nodes. + * + * See also [`ts_node_is_named`]. Hidden nodes are never returned from the API. + */ +TSSymbolType ts_language_symbol_type(const TSLanguage *self, TSSymbol symbol); + +/** + * @deprecated use [`ts_language_abi_version`] instead, this will be removed in 0.26. + * + * Get the ABI version number for this language. This version number is used + * to ensure that languages were generated by a compatible version of + * Tree-sitter. + * + * See also [`ts_parser_set_language`]. + */ +uint32_t ts_language_version(const TSLanguage *self); + +/** + * Get the ABI version number for this language. This version number is used + * to ensure that languages were generated by a compatible version of + * Tree-sitter. + * + * See also [`ts_parser_set_language`]. + */ +uint32_t ts_language_abi_version(const TSLanguage *self); + +/** + * Get the metadata for this language. This information is generated by the + * CLI, and relies on the language author providing the correct metadata in + * the language's `tree-sitter.json` file. + * + * See also [`TSMetadata`]. + */ +const TSLanguageMetadata *ts_language_metadata(const TSLanguage *self); + +/** + * Get the next parse state. Combine this with lookahead iterators to generate + * completion suggestions or valid symbols in error nodes. Use + * [`ts_node_grammar_symbol`] for valid symbols. +*/ +TSStateId ts_language_next_state(const TSLanguage *self, TSStateId state, TSSymbol symbol); + +/** + * Get the name of this language. This returns `NULL` in older parsers. + */ +const char *ts_language_name(const TSLanguage *self); + +/********************************/ +/* Section - Lookahead Iterator */ +/********************************/ + +/** + * Create a new lookahead iterator for the given language and parse state. + * + * This returns `NULL` if state is invalid for the language. + * + * Repeatedly using [`ts_lookahead_iterator_next`] and + * [`ts_lookahead_iterator_current_symbol`] will generate valid symbols in the + * given parse state. Newly created lookahead iterators will contain the `ERROR` + * symbol. + * + * Lookahead iterators can be useful to generate suggestions and improve syntax + * error diagnostics. To get symbols valid in an ERROR node, use the lookahead + * iterator on its first leaf node state. For `MISSING` nodes, a lookahead + * iterator created on the previous non-extra leaf node may be appropriate. +*/ +TSLookaheadIterator *ts_lookahead_iterator_new(const TSLanguage *self, TSStateId state); + +/** + * Delete a lookahead iterator freeing all the memory used. +*/ +void ts_lookahead_iterator_delete(TSLookaheadIterator *self); + +/** + * Reset the lookahead iterator to another state. + * + * This returns `true` if the iterator was reset to the given state and `false` + * otherwise. +*/ +bool ts_lookahead_iterator_reset_state(TSLookaheadIterator *self, TSStateId state); + +/** + * Reset the lookahead iterator. + * + * This returns `true` if the language was set successfully and `false` + * otherwise. +*/ +bool ts_lookahead_iterator_reset(TSLookaheadIterator *self, const TSLanguage *language, TSStateId state); + +/** + * Get the current language of the lookahead iterator. +*/ +const TSLanguage *ts_lookahead_iterator_language(const TSLookaheadIterator *self); + +/** + * Advance the lookahead iterator to the next symbol. + * + * This returns `true` if there is a new symbol and `false` otherwise. +*/ +bool ts_lookahead_iterator_next(TSLookaheadIterator *self); + +/** + * Get the current symbol of the lookahead iterator; +*/ +TSSymbol ts_lookahead_iterator_current_symbol(const TSLookaheadIterator *self); + +/** + * Get the current symbol type of the lookahead iterator as a null terminated + * string. +*/ +const char *ts_lookahead_iterator_current_symbol_name(const TSLookaheadIterator *self); + +/*************************************/ +/* Section - WebAssembly Integration */ +/************************************/ + +typedef struct wasm_engine_t TSWasmEngine; +typedef struct TSWasmStore TSWasmStore; + +typedef enum { + TSWasmErrorKindNone = 0, + TSWasmErrorKindParse, + TSWasmErrorKindCompile, + TSWasmErrorKindInstantiate, + TSWasmErrorKindAllocate, +} TSWasmErrorKind; + +typedef struct { + TSWasmErrorKind kind; + char *message; +} TSWasmError; + +/** + * Create a Wasm store. + */ +TSWasmStore *ts_wasm_store_new( + TSWasmEngine *engine, + TSWasmError *error +); + +/** + * Free the memory associated with the given Wasm store. + */ +void ts_wasm_store_delete(TSWasmStore *); + +/** + * Create a language from a buffer of Wasm. The resulting language behaves + * like any other Tree-sitter language, except that in order to use it with + * a parser, that parser must have a Wasm store. Note that the language + * can be used with any Wasm store, it doesn't need to be the same store that + * was used to originally load it. + */ +const TSLanguage *ts_wasm_store_load_language( + TSWasmStore *, + const char *name, + const char *wasm, + uint32_t wasm_len, + TSWasmError *error +); + +/** + * Get the number of languages instantiated in the given wasm store. + */ +size_t ts_wasm_store_language_count(const TSWasmStore *); + +/** + * Check if the language came from a Wasm module. If so, then in order to use + * this language with a Parser, that parser must have a Wasm store assigned. + */ +bool ts_language_is_wasm(const TSLanguage *); + +/** + * Assign the given Wasm store to the parser. A parser must have a Wasm store + * in order to use Wasm languages. + */ +void ts_parser_set_wasm_store(TSParser *, TSWasmStore *); + +/** + * Remove the parser's current Wasm store and return it. This returns NULL if + * the parser doesn't have a Wasm store. + */ +TSWasmStore *ts_parser_take_wasm_store(TSParser *); + +/**********************************/ +/* Section - Global Configuration */ +/**********************************/ + +/** + * Set the allocation functions used by the library. + * + * By default, Tree-sitter uses the standard libc allocation functions, + * but aborts the process when an allocation fails. This function lets + * you supply alternative allocation functions at runtime. + * + * If you pass `NULL` for any parameter, Tree-sitter will switch back to + * its default implementation of that function. + * + * If you call this function after the library has already been used, then + * you must ensure that either: + * 1. All the existing objects have been freed. + * 2. The new allocator shares its state with the old one, so it is capable + * of freeing memory that was allocated by the old allocator. + */ +void ts_set_allocator( + void *(*new_malloc)(size_t), + void *(*new_calloc)(size_t, size_t), + void *(*new_realloc)(void *, size_t), + void (*new_free)(void *) +); + +#ifdef __cplusplus +} +#endif + +#ifndef TREE_SITTER_HIDE_SYMBOLS +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC visibility pop +#endif +#endif + +#endif // TREE_SITTER_API_H_ diff --git a/non-source/foreign/tree-sitter/lib/include/tree_sitter/parser.h b/non-source/foreign/tree-sitter/lib/include/tree_sitter/parser.h new file mode 100644 index 00000000..72542b6a --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/include/tree_sitter/parser.h @@ -0,0 +1,224 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +typedef uint16_t TSStateId; + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +typedef struct { + uint16_t index; + uint16_t length; +} TSFieldMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +struct TSLanguage { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; +}; + +/* + * Lexer Macros + */ + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) id - LARGE_STATE_COUNT + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = state_value \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = state_value, \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_val, child_count_val, ...) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_val, \ + .child_count = child_count_val, \ + __VA_ARGS__ \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ \ No newline at end of file diff --git a/non-source/foreign/tree-sitter/lib/src/alloc.c b/non-source/foreign/tree-sitter/lib/src/alloc.c new file mode 100644 index 00000000..e5cb1d5e --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/alloc.c @@ -0,0 +1,48 @@ +#include "alloc.h" +#include "tree_sitter/api.h" +#include + +static void *ts_malloc_default(size_t size) { + void *result = malloc(size); + if (size > 0 && !result) { + fprintf(stderr, "tree-sitter failed to allocate %zu bytes", size); + abort(); + } + return result; +} + +static void *ts_calloc_default(size_t count, size_t size) { + void *result = calloc(count, size); + if (count > 0 && !result) { + fprintf(stderr, "tree-sitter failed to allocate %zu bytes", count * size); + abort(); + } + return result; +} + +static void *ts_realloc_default(void *buffer, size_t size) { + void *result = realloc(buffer, size); + if (size > 0 && !result) { + fprintf(stderr, "tree-sitter failed to reallocate %zu bytes", size); + abort(); + } + return result; +} + +// Allow clients to override allocation functions dynamically +TS_PUBLIC void *(*ts_current_malloc)(size_t) = ts_malloc_default; +TS_PUBLIC void *(*ts_current_calloc)(size_t, size_t) = ts_calloc_default; +TS_PUBLIC void *(*ts_current_realloc)(void *, size_t) = ts_realloc_default; +TS_PUBLIC void (*ts_current_free)(void *) = free; + +void ts_set_allocator( + void *(*new_malloc)(size_t size), + void *(*new_calloc)(size_t count, size_t size), + void *(*new_realloc)(void *ptr, size_t size), + void (*new_free)(void *ptr) +) { + ts_current_malloc = new_malloc ? new_malloc : ts_malloc_default; + ts_current_calloc = new_calloc ? new_calloc : ts_calloc_default; + ts_current_realloc = new_realloc ? new_realloc : ts_realloc_default; + ts_current_free = new_free ? new_free : free; +} diff --git a/non-source/foreign/tree-sitter/lib/src/alloc.h b/non-source/foreign/tree-sitter/lib/src/alloc.h new file mode 100644 index 00000000..a27b8a63 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/alloc.h @@ -0,0 +1,41 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#if defined(TREE_SITTER_HIDDEN_SYMBOLS) || defined(_WIN32) +#define TS_PUBLIC +#else +#define TS_PUBLIC __attribute__((visibility("default"))) +#endif + +TS_PUBLIC extern void *(*ts_current_malloc)(size_t size); +TS_PUBLIC extern void *(*ts_current_calloc)(size_t count, size_t size); +TS_PUBLIC extern void *(*ts_current_realloc)(void *ptr, size_t size); +TS_PUBLIC extern void (*ts_current_free)(void *ptr); + +// Allow clients to override allocation functions +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/array.h b/non-source/foreign/tree-sitter/lib/src/array.h new file mode 100644 index 00000000..d965c617 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/array.h @@ -0,0 +1,291 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" +#include "./ts_assert.h" + +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (ts_assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + ts_assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + ts_assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(pop) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/atomic.h b/non-source/foreign/tree-sitter/lib/src/atomic.h new file mode 100644 index 00000000..e680b60e --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/atomic.h @@ -0,0 +1,68 @@ +#ifndef TREE_SITTER_ATOMIC_H_ +#define TREE_SITTER_ATOMIC_H_ + +#include +#include +#include + +#ifdef __TINYC__ + +static inline size_t atomic_load(const volatile size_t *p) { + return *p; +} + +static inline uint32_t atomic_inc(volatile uint32_t *p) { + *p += 1; + return *p; +} + +static inline uint32_t atomic_dec(volatile uint32_t *p) { + *p-= 1; + return *p; +} + +#elif defined(_WIN32) + +#include + +static inline size_t atomic_load(const volatile size_t *p) { + return *p; +} + +static inline uint32_t atomic_inc(volatile uint32_t *p) { + return InterlockedIncrement((long volatile *)p); +} + +static inline uint32_t atomic_dec(volatile uint32_t *p) { + return InterlockedDecrement((long volatile *)p); +} + +#else + +static inline size_t atomic_load(const volatile size_t *p) { +#ifdef __ATOMIC_RELAXED + return __atomic_load_n(p, __ATOMIC_RELAXED); +#else + return __sync_fetch_and_add((volatile size_t *)p, 0); +#endif +} + +static inline uint32_t atomic_inc(volatile uint32_t *p) { + #ifdef __ATOMIC_RELAXED + return __atomic_add_fetch(p, 1U, __ATOMIC_SEQ_CST); + #else + return __sync_add_and_fetch(p, 1U); + #endif +} + +static inline uint32_t atomic_dec(volatile uint32_t *p) { + #ifdef __ATOMIC_RELAXED + return __atomic_sub_fetch(p, 1U, __ATOMIC_SEQ_CST); + #else + return __sync_sub_and_fetch(p, 1U); + #endif +} + +#endif + +#endif // TREE_SITTER_ATOMIC_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/clock.h b/non-source/foreign/tree-sitter/lib/src/clock.h new file mode 100644 index 00000000..7a13185e --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/clock.h @@ -0,0 +1,146 @@ +#ifndef TREE_SITTER_CLOCK_H_ +#define TREE_SITTER_CLOCK_H_ + +#include +#include + +typedef uint64_t TSDuration; + +#ifdef _WIN32 + +// Windows: +// * Represent a time as a performance counter value. +// * Represent a duration as a number of performance counter ticks. + +#include +typedef uint64_t TSClock; + +static inline TSDuration duration_from_micros(uint64_t micros) { + LARGE_INTEGER frequency; + QueryPerformanceFrequency(&frequency); + return micros * (uint64_t)frequency.QuadPart / 1000000; +} + +static inline uint64_t duration_to_micros(TSDuration self) { + LARGE_INTEGER frequency; + QueryPerformanceFrequency(&frequency); + return self * 1000000 / (uint64_t)frequency.QuadPart; +} + +static inline TSClock clock_null(void) { + return 0; +} + +static inline TSClock clock_now(void) { + LARGE_INTEGER result; + QueryPerformanceCounter(&result); + return (uint64_t)result.QuadPart; +} + +static inline TSClock clock_after(TSClock base, TSDuration duration) { + return base + duration; +} + +static inline bool clock_is_null(TSClock self) { + return !self; +} + +static inline bool clock_is_gt(TSClock self, TSClock other) { + return self > other; +} + +#elif defined(CLOCK_MONOTONIC) + +// POSIX with monotonic clock support (Linux, macOS) +// * Represent a time as a monotonic (seconds, nanoseconds) pair. +// * Represent a duration as a number of microseconds. +// +// On these platforms, parse timeouts will correspond accurately to +// real time, regardless of what other processes are running. + +#include +typedef struct timespec TSClock; + +static inline TSDuration duration_from_micros(uint64_t micros) { + return micros; +} + +static inline uint64_t duration_to_micros(TSDuration self) { + return self; +} + +static inline TSClock clock_now(void) { + TSClock result; + clock_gettime(CLOCK_MONOTONIC, &result); + return result; +} + +static inline TSClock clock_null(void) { + return (TSClock) {0, 0}; +} + +static inline TSClock clock_after(TSClock base, TSDuration duration) { + TSClock result = base; + result.tv_sec += duration / 1000000; + result.tv_nsec += (duration % 1000000) * 1000; + if (result.tv_nsec >= 1000000000) { + result.tv_nsec -= 1000000000; + ++(result.tv_sec); + } + return result; +} + +static inline bool clock_is_null(TSClock self) { + return !self.tv_sec && !self.tv_nsec; +} + +static inline bool clock_is_gt(TSClock self, TSClock other) { + if (self.tv_sec > other.tv_sec) return true; + if (self.tv_sec < other.tv_sec) return false; + return self.tv_nsec > other.tv_nsec; +} + +#else + +// POSIX without monotonic clock support +// * Represent a time as a process clock value. +// * Represent a duration as a number of process clock ticks. +// +// On these platforms, parse timeouts may be affected by other processes, +// which is not ideal, but is better than using a non-monotonic time API +// like `gettimeofday`. + +#include +typedef uint64_t TSClock; + +static inline TSDuration duration_from_micros(uint64_t micros) { + return micros * (uint64_t)CLOCKS_PER_SEC / 1000000; +} + +static inline uint64_t duration_to_micros(TSDuration self) { + return self * 1000000 / (uint64_t)CLOCKS_PER_SEC; +} + +static inline TSClock clock_null(void) { + return 0; +} + +static inline TSClock clock_now(void) { + return (uint64_t)clock(); +} + +static inline TSClock clock_after(TSClock base, TSDuration duration) { + return base + duration; +} + +static inline bool clock_is_null(TSClock self) { + return !self; +} + +static inline bool clock_is_gt(TSClock self, TSClock other) { + return self > other; +} + +#endif + +#endif // TREE_SITTER_CLOCK_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/error_costs.h b/non-source/foreign/tree-sitter/lib/src/error_costs.h new file mode 100644 index 00000000..32d3666a --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/error_costs.h @@ -0,0 +1,11 @@ +#ifndef TREE_SITTER_ERROR_COSTS_H_ +#define TREE_SITTER_ERROR_COSTS_H_ + +#define ERROR_STATE 0 +#define ERROR_COST_PER_RECOVERY 500 +#define ERROR_COST_PER_MISSING_TREE 110 +#define ERROR_COST_PER_SKIPPED_TREE 100 +#define ERROR_COST_PER_SKIPPED_LINE 30 +#define ERROR_COST_PER_SKIPPED_CHAR 1 + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/get_changed_ranges.c b/non-source/foreign/tree-sitter/lib/src/get_changed_ranges.c new file mode 100644 index 00000000..11084c33 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/get_changed_ranges.c @@ -0,0 +1,523 @@ +#include "./get_changed_ranges.h" +#include "./subtree.h" +#include "./language.h" +#include "./error_costs.h" +#include "./tree_cursor.h" +#include "./ts_assert.h" + +// #define DEBUG_GET_CHANGED_RANGES + +static void ts_range_array_add( + TSRangeArray *self, + Length start, + Length end +) { + if (self->size > 0) { + TSRange *last_range = array_back(self); + if (start.bytes <= last_range->end_byte) { + last_range->end_byte = end.bytes; + last_range->end_point = end.extent; + return; + } + } + + if (start.bytes < end.bytes) { + TSRange range = { start.extent, end.extent, start.bytes, end.bytes }; + array_push(self, range); + } +} + +bool ts_range_array_intersects( + const TSRangeArray *self, + unsigned start_index, + uint32_t start_byte, + uint32_t end_byte +) { + for (unsigned i = start_index; i < self->size; i++) { + TSRange *range = array_get(self, i); + if (range->end_byte > start_byte) { + if (range->start_byte >= end_byte) break; + return true; + } + } + return false; +} + +void ts_range_array_get_changed_ranges( + const TSRange *old_ranges, unsigned old_range_count, + const TSRange *new_ranges, unsigned new_range_count, + TSRangeArray *differences +) { + unsigned new_index = 0; + unsigned old_index = 0; + Length current_position = length_zero(); + bool in_old_range = false; + bool in_new_range = false; + + while (old_index < old_range_count || new_index < new_range_count) { + const TSRange *old_range = &old_ranges[old_index]; + const TSRange *new_range = &new_ranges[new_index]; + + Length next_old_position; + if (in_old_range) { + next_old_position = (Length) {old_range->end_byte, old_range->end_point}; + } else if (old_index < old_range_count) { + next_old_position = (Length) {old_range->start_byte, old_range->start_point}; + } else { + next_old_position = LENGTH_MAX; + } + + Length next_new_position; + if (in_new_range) { + next_new_position = (Length) {new_range->end_byte, new_range->end_point}; + } else if (new_index < new_range_count) { + next_new_position = (Length) {new_range->start_byte, new_range->start_point}; + } else { + next_new_position = LENGTH_MAX; + } + + if (next_old_position.bytes < next_new_position.bytes) { + if (in_old_range != in_new_range) { + ts_range_array_add(differences, current_position, next_old_position); + } + if (in_old_range) old_index++; + current_position = next_old_position; + in_old_range = !in_old_range; + } else if (next_new_position.bytes < next_old_position.bytes) { + if (in_old_range != in_new_range) { + ts_range_array_add(differences, current_position, next_new_position); + } + if (in_new_range) new_index++; + current_position = next_new_position; + in_new_range = !in_new_range; + } else { + if (in_old_range != in_new_range) { + ts_range_array_add(differences, current_position, next_new_position); + } + if (in_old_range) old_index++; + if (in_new_range) new_index++; + in_old_range = !in_old_range; + in_new_range = !in_new_range; + current_position = next_new_position; + } + } +} + +typedef struct { + TreeCursor cursor; + const TSLanguage *language; + unsigned visible_depth; + bool in_padding; + Subtree prev_external_token; +} Iterator; + +static Iterator iterator_new( + TreeCursor *cursor, + const Subtree *tree, + const TSLanguage *language +) { + array_clear(&cursor->stack); + array_push(&cursor->stack, ((TreeCursorEntry) { + .subtree = tree, + .position = length_zero(), + .child_index = 0, + .structural_child_index = 0, + })); + return (Iterator) { + .cursor = *cursor, + .language = language, + .visible_depth = 1, + .in_padding = false, + .prev_external_token = NULL_SUBTREE, + }; +} + +static bool iterator_done(Iterator *self) { + return self->cursor.stack.size == 0; +} + +static Length iterator_start_position(Iterator *self) { + TreeCursorEntry entry = *array_back(&self->cursor.stack); + if (self->in_padding) { + return entry.position; + } else { + return length_add(entry.position, ts_subtree_padding(*entry.subtree)); + } +} + +static Length iterator_end_position(Iterator *self) { + TreeCursorEntry entry = *array_back(&self->cursor.stack); + Length result = length_add(entry.position, ts_subtree_padding(*entry.subtree)); + if (self->in_padding) { + return result; + } else { + return length_add(result, ts_subtree_size(*entry.subtree)); + } +} + +static bool iterator_tree_is_visible(const Iterator *self) { + TreeCursorEntry entry = *array_back(&self->cursor.stack); + if (ts_subtree_visible(*entry.subtree)) return true; + if (self->cursor.stack.size > 1) { + Subtree parent = *array_get(&self->cursor.stack, self->cursor.stack.size - 2)->subtree; + return ts_language_alias_at( + self->language, + parent.ptr->production_id, + entry.structural_child_index + ) != 0; + } + return false; +} + +static void iterator_get_visible_state( + const Iterator *self, + Subtree *tree, + TSSymbol *alias_symbol, + uint32_t *start_byte +) { + uint32_t i = self->cursor.stack.size - 1; + + if (self->in_padding) { + if (i == 0) return; + i--; + } + + for (; i + 1 > 0; i--) { + TreeCursorEntry entry = *array_get(&self->cursor.stack, i); + + if (i > 0) { + const Subtree *parent = array_get(&self->cursor.stack, i - 1)->subtree; + *alias_symbol = ts_language_alias_at( + self->language, + parent->ptr->production_id, + entry.structural_child_index + ); + } + + if (ts_subtree_visible(*entry.subtree) || *alias_symbol) { + *tree = *entry.subtree; + *start_byte = entry.position.bytes; + break; + } + } +} + +static void iterator_ascend(Iterator *self) { + if (iterator_done(self)) return; + if (iterator_tree_is_visible(self) && !self->in_padding) self->visible_depth--; + if (array_back(&self->cursor.stack)->child_index > 0) self->in_padding = false; + self->cursor.stack.size--; +} + +static bool iterator_descend(Iterator *self, uint32_t goal_position) { + if (self->in_padding) return false; + + bool did_descend = false; + do { + did_descend = false; + TreeCursorEntry entry = *array_back(&self->cursor.stack); + Length position = entry.position; + uint32_t structural_child_index = 0; + for (uint32_t i = 0, n = ts_subtree_child_count(*entry.subtree); i < n; i++) { + const Subtree *child = &ts_subtree_children(*entry.subtree)[i]; + Length child_left = length_add(position, ts_subtree_padding(*child)); + Length child_right = length_add(child_left, ts_subtree_size(*child)); + + if (child_right.bytes > goal_position) { + array_push(&self->cursor.stack, ((TreeCursorEntry) { + .subtree = child, + .position = position, + .child_index = i, + .structural_child_index = structural_child_index, + })); + + if (iterator_tree_is_visible(self)) { + if (child_left.bytes > goal_position) { + self->in_padding = true; + } else { + self->visible_depth++; + } + return true; + } + + did_descend = true; + break; + } + + position = child_right; + if (!ts_subtree_extra(*child)) structural_child_index++; + Subtree last_external_token = ts_subtree_last_external_token(*child); + if (last_external_token.ptr) { + self->prev_external_token = last_external_token; + } + } + } while (did_descend); + + return false; +} + +static void iterator_advance(Iterator *self) { + if (self->in_padding) { + self->in_padding = false; + if (iterator_tree_is_visible(self)) { + self->visible_depth++; + } else { + iterator_descend(self, 0); + } + return; + } + + for (;;) { + if (iterator_tree_is_visible(self)) self->visible_depth--; + TreeCursorEntry entry = array_pop(&self->cursor.stack); + if (iterator_done(self)) return; + + const Subtree *parent = array_back(&self->cursor.stack)->subtree; + uint32_t child_index = entry.child_index + 1; + Subtree last_external_token = ts_subtree_last_external_token(*entry.subtree); + if (last_external_token.ptr) { + self->prev_external_token = last_external_token; + } + if (ts_subtree_child_count(*parent) > child_index) { + Length position = length_add(entry.position, ts_subtree_total_size(*entry.subtree)); + uint32_t structural_child_index = entry.structural_child_index; + if (!ts_subtree_extra(*entry.subtree)) structural_child_index++; + const Subtree *next_child = &ts_subtree_children(*parent)[child_index]; + + array_push(&self->cursor.stack, ((TreeCursorEntry) { + .subtree = next_child, + .position = position, + .child_index = child_index, + .structural_child_index = structural_child_index, + })); + + if (iterator_tree_is_visible(self)) { + if (ts_subtree_padding(*next_child).bytes > 0) { + self->in_padding = true; + } else { + self->visible_depth++; + } + } else { + iterator_descend(self, 0); + } + break; + } + } +} + +typedef enum { + IteratorDiffers, + IteratorMayDiffer, + IteratorMatches, +} IteratorComparison; + +static IteratorComparison iterator_compare( + const Iterator *old_iter, + const Iterator *new_iter +) { + Subtree old_tree = NULL_SUBTREE; + Subtree new_tree = NULL_SUBTREE; + uint32_t old_start = 0; + uint32_t new_start = 0; + TSSymbol old_alias_symbol = 0; + TSSymbol new_alias_symbol = 0; + iterator_get_visible_state(old_iter, &old_tree, &old_alias_symbol, &old_start); + iterator_get_visible_state(new_iter, &new_tree, &new_alias_symbol, &new_start); + TSSymbol old_symbol = ts_subtree_symbol(old_tree); + TSSymbol new_symbol = ts_subtree_symbol(new_tree); + + if (!old_tree.ptr && !new_tree.ptr) return IteratorMatches; + if (!old_tree.ptr || !new_tree.ptr) return IteratorDiffers; + if (old_alias_symbol != new_alias_symbol || old_symbol != new_symbol) return IteratorDiffers; + + uint32_t old_size = ts_subtree_size(old_tree).bytes; + uint32_t new_size = ts_subtree_size(new_tree).bytes; + TSStateId old_state = ts_subtree_parse_state(old_tree); + TSStateId new_state = ts_subtree_parse_state(new_tree); + bool old_has_external_tokens = ts_subtree_has_external_tokens(old_tree); + bool new_has_external_tokens = ts_subtree_has_external_tokens(new_tree); + uint32_t old_error_cost = ts_subtree_error_cost(old_tree); + uint32_t new_error_cost = ts_subtree_error_cost(new_tree); + + if ( + old_start != new_start || + old_symbol == ts_builtin_sym_error || + old_size != new_size || + old_state == TS_TREE_STATE_NONE || + new_state == TS_TREE_STATE_NONE || + ((old_state == ERROR_STATE) != (new_state == ERROR_STATE)) || + old_error_cost != new_error_cost || + old_has_external_tokens != new_has_external_tokens || + ts_subtree_has_changes(old_tree) || + ( + old_has_external_tokens && + !ts_subtree_external_scanner_state_eq(old_iter->prev_external_token, new_iter->prev_external_token) + ) + ) { + return IteratorMayDiffer; + } + + return IteratorMatches; +} + +#ifdef DEBUG_GET_CHANGED_RANGES +static inline void iterator_print_state(Iterator *self) { + TreeCursorEntry entry = *array_back(&self->cursor.stack); + TSPoint start = iterator_start_position(self).extent; + TSPoint end = iterator_end_position(self).extent; + const char *name = ts_language_symbol_name(self->language, ts_subtree_symbol(*entry.subtree)); + printf( + "(%-25s %s\t depth:%u [%u, %u] - [%u, %u])", + name, self->in_padding ? "(p)" : " ", + self->visible_depth, + start.row, start.column, + end.row, end.column + ); +} +#endif + +unsigned ts_subtree_get_changed_ranges( + const Subtree *old_tree, const Subtree *new_tree, + TreeCursor *cursor1, TreeCursor *cursor2, + const TSLanguage *language, + const TSRangeArray *included_range_differences, + TSRange **ranges +) { + TSRangeArray results = array_new(); + + Iterator old_iter = iterator_new(cursor1, old_tree, language); + Iterator new_iter = iterator_new(cursor2, new_tree, language); + + unsigned included_range_difference_index = 0; + + Length position = iterator_start_position(&old_iter); + Length next_position = iterator_start_position(&new_iter); + if (position.bytes < next_position.bytes) { + ts_range_array_add(&results, position, next_position); + position = next_position; + } else if (position.bytes > next_position.bytes) { + ts_range_array_add(&results, next_position, position); + next_position = position; + } + + do { + #ifdef DEBUG_GET_CHANGED_RANGES + printf("At [%-2u, %-2u] Compare ", position.extent.row, position.extent.column); + iterator_print_state(&old_iter); + printf("\tvs\t"); + iterator_print_state(&new_iter); + puts(""); + #endif + + // Compare the old and new subtrees. + IteratorComparison comparison = iterator_compare(&old_iter, &new_iter); + + // Even if the two subtrees appear to be identical, they could differ + // internally if they contain a range of text that was previously + // excluded from the parse, and is now included, or vice-versa. + if (comparison == IteratorMatches && ts_range_array_intersects( + included_range_differences, + included_range_difference_index, + position.bytes, + iterator_end_position(&old_iter).bytes + )) { + comparison = IteratorMayDiffer; + } + + bool is_changed = false; + switch (comparison) { + // If the subtrees are definitely identical, move to the end + // of both subtrees. + case IteratorMatches: + next_position = iterator_end_position(&old_iter); + break; + + // If the subtrees might differ internally, descend into both + // subtrees, finding the first child that spans the current position. + case IteratorMayDiffer: + if (iterator_descend(&old_iter, position.bytes)) { + if (!iterator_descend(&new_iter, position.bytes)) { + is_changed = true; + next_position = iterator_end_position(&old_iter); + } + } else if (iterator_descend(&new_iter, position.bytes)) { + is_changed = true; + next_position = iterator_end_position(&new_iter); + } else { + next_position = length_min( + iterator_end_position(&old_iter), + iterator_end_position(&new_iter) + ); + } + break; + + // If the subtrees are different, record a change and then move + // to the end of both subtrees. + case IteratorDiffers: + is_changed = true; + next_position = length_min( + iterator_end_position(&old_iter), + iterator_end_position(&new_iter) + ); + break; + } + + // Ensure that both iterators are caught up to the current position. + while ( + !iterator_done(&old_iter) && + iterator_end_position(&old_iter).bytes <= next_position.bytes + ) iterator_advance(&old_iter); + while ( + !iterator_done(&new_iter) && + iterator_end_position(&new_iter).bytes <= next_position.bytes + ) iterator_advance(&new_iter); + + // Ensure that both iterators are at the same depth in the tree. + while (old_iter.visible_depth > new_iter.visible_depth) { + iterator_ascend(&old_iter); + } + while (new_iter.visible_depth > old_iter.visible_depth) { + iterator_ascend(&new_iter); + } + + if (is_changed) { + #ifdef DEBUG_GET_CHANGED_RANGES + printf( + " change: [[%u, %u] - [%u, %u]]\n", + position.extent.row + 1, position.extent.column, + next_position.extent.row + 1, next_position.extent.column + ); + #endif + + ts_range_array_add(&results, position, next_position); + } + + position = next_position; + + // Keep track of the current position in the included range differences + // array in order to avoid scanning the entire array on each iteration. + while (included_range_difference_index < included_range_differences->size) { + const TSRange *range = array_get(included_range_differences, + included_range_difference_index + ); + if (range->end_byte <= position.bytes) { + included_range_difference_index++; + } else { + break; + } + } + } while (!iterator_done(&old_iter) && !iterator_done(&new_iter)); + + Length old_size = ts_subtree_total_size(*old_tree); + Length new_size = ts_subtree_total_size(*new_tree); + if (old_size.bytes < new_size.bytes) { + ts_range_array_add(&results, old_size, new_size); + } else if (new_size.bytes < old_size.bytes) { + ts_range_array_add(&results, new_size, old_size); + } + + *cursor1 = old_iter.cursor; + *cursor2 = new_iter.cursor; + *ranges = results.contents; + return results.size; +} diff --git a/non-source/foreign/tree-sitter/lib/src/get_changed_ranges.h b/non-source/foreign/tree-sitter/lib/src/get_changed_ranges.h new file mode 100644 index 00000000..a1f1dbb4 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/get_changed_ranges.h @@ -0,0 +1,36 @@ +#ifndef TREE_SITTER_GET_CHANGED_RANGES_H_ +#define TREE_SITTER_GET_CHANGED_RANGES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./tree_cursor.h" +#include "./subtree.h" + +typedef Array(TSRange) TSRangeArray; + +void ts_range_array_get_changed_ranges( + const TSRange *old_ranges, unsigned old_range_count, + const TSRange *new_ranges, unsigned new_range_count, + TSRangeArray *differences +); + +bool ts_range_array_intersects( + const TSRangeArray *self, unsigned start_index, + uint32_t start_byte, uint32_t end_byte +); + +unsigned ts_subtree_get_changed_ranges( + const Subtree *old_tree, const Subtree *new_tree, + TreeCursor *cursor1, TreeCursor *cursor2, + const TSLanguage *language, + const TSRangeArray *included_range_differences, + TSRange **ranges +); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_GET_CHANGED_RANGES_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/host.h b/non-source/foreign/tree-sitter/lib/src/host.h new file mode 100644 index 00000000..a07e9f89 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/host.h @@ -0,0 +1,21 @@ + +// Determine endian and pointer size based on known defines. +// TS_BIG_ENDIAN and TS_PTR_SIZE can be set as -D compiler arguments +// to override this. + +#if !defined(TS_BIG_ENDIAN) +#if (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) \ + || (defined( __APPLE_CC__) && (defined(__ppc__) || defined(__ppc64__))) +#define TS_BIG_ENDIAN 1 +#else +#define TS_BIG_ENDIAN 0 +#endif +#endif + +#if !defined(TS_PTR_SIZE) +#if UINTPTR_MAX == 0xFFFFFFFF +#define TS_PTR_SIZE 32 +#else +#define TS_PTR_SIZE 64 +#endif +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/language.c b/non-source/foreign/tree-sitter/lib/src/language.c new file mode 100644 index 00000000..b341a670 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/language.c @@ -0,0 +1,293 @@ +#include "./language.h" +#include "./wasm_store.h" +#include "tree_sitter/api.h" +#include + +const TSLanguage *ts_language_copy(const TSLanguage *self) { + if (self && ts_language_is_wasm(self)) { + ts_wasm_language_retain(self); + } + return self; +} + +void ts_language_delete(const TSLanguage *self) { + if (self && ts_language_is_wasm(self)) { + ts_wasm_language_release(self); + } +} + +uint32_t ts_language_symbol_count(const TSLanguage *self) { + return self->symbol_count + self->alias_count; +} + +uint32_t ts_language_state_count(const TSLanguage *self) { + return self->state_count; +} + +const TSSymbol *ts_language_supertypes(const TSLanguage *self, uint32_t *length) { + if (self->abi_version >= LANGUAGE_VERSION_WITH_RESERVED_WORDS) { + *length = self->supertype_count; + return self->supertype_symbols; + } else { + *length = 0; + return NULL; + } +} + +const TSSymbol *ts_language_subtypes( + const TSLanguage *self, + TSSymbol supertype, + uint32_t *length +) { + if (self->abi_version < LANGUAGE_VERSION_WITH_RESERVED_WORDS || !ts_language_symbol_metadata(self, supertype).supertype) { + *length = 0; + return NULL; + } + + TSMapSlice slice = self->supertype_map_slices[supertype]; + *length = slice.length; + return &self->supertype_map_entries[slice.index]; +} + +uint32_t ts_language_version(const TSLanguage *self) { + return self->abi_version; +} + +uint32_t ts_language_abi_version(const TSLanguage *self) { + return self->abi_version; +} + +const TSLanguageMetadata *ts_language_metadata(const TSLanguage *self) { + return self->abi_version >= LANGUAGE_VERSION_WITH_RESERVED_WORDS ? &self->metadata : NULL; +} + +const char *ts_language_name(const TSLanguage *self) { + return self->abi_version >= LANGUAGE_VERSION_WITH_RESERVED_WORDS ? self->name : NULL; +} + +uint32_t ts_language_field_count(const TSLanguage *self) { + return self->field_count; +} + +void ts_language_table_entry( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol, + TableEntry *result +) { + if (symbol == ts_builtin_sym_error || symbol == ts_builtin_sym_error_repeat) { + result->action_count = 0; + result->is_reusable = false; + result->actions = NULL; + } else { + ts_assert(symbol < self->token_count); + uint32_t action_index = ts_language_lookup(self, state, symbol); + const TSParseActionEntry *entry = &self->parse_actions[action_index]; + result->action_count = entry->entry.count; + result->is_reusable = entry->entry.reusable; + result->actions = (const TSParseAction *)(entry + 1); + } +} + +TSLexerMode ts_language_lex_mode_for_state( + const TSLanguage *self, + TSStateId state +) { + if (self->abi_version < 15) { + TSLexMode mode = ((const TSLexMode *)self->lex_modes)[state]; + return (TSLexerMode) { + .lex_state = mode.lex_state, + .external_lex_state = mode.external_lex_state, + .reserved_word_set_id = 0, + }; + } else { + return self->lex_modes[state]; + } +} + +bool ts_language_is_reserved_word( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol +) { + TSLexerMode lex_mode = ts_language_lex_mode_for_state(self, state); + if (lex_mode.reserved_word_set_id > 0) { + unsigned start = lex_mode.reserved_word_set_id * self->max_reserved_word_set_size; + unsigned end = start + self->max_reserved_word_set_size; + for (unsigned i = start; i < end; i++) { + if (self->reserved_words[i] == symbol) return true; + if (self->reserved_words[i] == 0) break; + } + } + return false; +} + +TSSymbolMetadata ts_language_symbol_metadata( + const TSLanguage *self, + TSSymbol symbol +) { + if (symbol == ts_builtin_sym_error) { + return (TSSymbolMetadata) {.visible = true, .named = true}; + } else if (symbol == ts_builtin_sym_error_repeat) { + return (TSSymbolMetadata) {.visible = false, .named = false}; + } else { + return self->symbol_metadata[symbol]; + } +} + +TSSymbol ts_language_public_symbol( + const TSLanguage *self, + TSSymbol symbol +) { + if (symbol == ts_builtin_sym_error) return symbol; + return self->public_symbol_map[symbol]; +} + +TSStateId ts_language_next_state( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol +) { + if (symbol == ts_builtin_sym_error || symbol == ts_builtin_sym_error_repeat) { + return 0; + } else if (symbol < self->token_count) { + uint32_t count; + const TSParseAction *actions = ts_language_actions(self, state, symbol, &count); + if (count > 0) { + TSParseAction action = actions[count - 1]; + if (action.type == TSParseActionTypeShift) { + return action.shift.extra ? state : action.shift.state; + } + } + return 0; + } else { + return ts_language_lookup(self, state, symbol); + } +} + +const char *ts_language_symbol_name( + const TSLanguage *self, + TSSymbol symbol +) { + if (symbol == ts_builtin_sym_error) { + return "ERROR"; + } else if (symbol == ts_builtin_sym_error_repeat) { + return "_ERROR"; + } else if (symbol < ts_language_symbol_count(self)) { + return self->symbol_names[symbol]; + } else { + return NULL; + } +} + +TSSymbol ts_language_symbol_for_name( + const TSLanguage *self, + const char *string, + uint32_t length, + bool is_named +) { + if (!strncmp(string, "ERROR", length)) return ts_builtin_sym_error; + uint16_t count = (uint16_t)ts_language_symbol_count(self); + for (TSSymbol i = 0; i < count; i++) { + TSSymbolMetadata metadata = ts_language_symbol_metadata(self, i); + if ((!metadata.visible && !metadata.supertype) || metadata.named != is_named) continue; + const char *symbol_name = self->symbol_names[i]; + if (!strncmp(symbol_name, string, length) && !symbol_name[length]) { + return self->public_symbol_map[i]; + } + } + return 0; +} + +TSSymbolType ts_language_symbol_type( + const TSLanguage *self, + TSSymbol symbol +) { + TSSymbolMetadata metadata = ts_language_symbol_metadata(self, symbol); + if (metadata.named && metadata.visible) { + return TSSymbolTypeRegular; + } else if (metadata.visible) { + return TSSymbolTypeAnonymous; + } else if (metadata.supertype) { + return TSSymbolTypeSupertype; + } else { + return TSSymbolTypeAuxiliary; + } +} + +const char *ts_language_field_name_for_id( + const TSLanguage *self, + TSFieldId id +) { + uint32_t count = ts_language_field_count(self); + if (count && id <= count) { + return self->field_names[id]; + } else { + return NULL; + } +} + +TSFieldId ts_language_field_id_for_name( + const TSLanguage *self, + const char *name, + uint32_t name_length +) { + uint16_t count = (uint16_t)ts_language_field_count(self); + for (TSSymbol i = 1; i < count + 1; i++) { + switch (strncmp(name, self->field_names[i], name_length)) { + case 0: + if (self->field_names[i][name_length] == 0) return i; + break; + case -1: + return 0; + default: + break; + } + } + return 0; +} + +TSLookaheadIterator *ts_lookahead_iterator_new(const TSLanguage *self, TSStateId state) { + if (state >= self->state_count) return NULL; + LookaheadIterator *iterator = ts_malloc(sizeof(LookaheadIterator)); + *iterator = ts_language_lookaheads(self, state); + return (TSLookaheadIterator *)iterator; +} + +void ts_lookahead_iterator_delete(TSLookaheadIterator *self) { + ts_free(self); +} + +bool ts_lookahead_iterator_reset_state(TSLookaheadIterator * self, TSStateId state) { + LookaheadIterator *iterator = (LookaheadIterator *)self; + if (state >= iterator->language->state_count) return false; + *iterator = ts_language_lookaheads(iterator->language, state); + return true; +} + +const TSLanguage *ts_lookahead_iterator_language(const TSLookaheadIterator *self) { + const LookaheadIterator *iterator = (const LookaheadIterator *)self; + return iterator->language; +} + +bool ts_lookahead_iterator_reset(TSLookaheadIterator *self, const TSLanguage *language, TSStateId state) { + if (state >= language->state_count) return false; + LookaheadIterator *iterator = (LookaheadIterator *)self; + *iterator = ts_language_lookaheads(language, state); + return true; +} + +bool ts_lookahead_iterator_next(TSLookaheadIterator *self) { + LookaheadIterator *iterator = (LookaheadIterator *)self; + return ts_lookahead_iterator__next(iterator); +} + +TSSymbol ts_lookahead_iterator_current_symbol(const TSLookaheadIterator *self) { + const LookaheadIterator *iterator = (const LookaheadIterator *)self; + return iterator->symbol; +} + +const char *ts_lookahead_iterator_current_symbol_name(const TSLookaheadIterator *self) { + const LookaheadIterator *iterator = (const LookaheadIterator *)self; + return ts_language_symbol_name(iterator->language, iterator->symbol); +} diff --git a/non-source/foreign/tree-sitter/lib/src/language.h b/non-source/foreign/tree-sitter/lib/src/language.h new file mode 100644 index 00000000..518c06bf --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/language.h @@ -0,0 +1,293 @@ +#ifndef TREE_SITTER_LANGUAGE_H_ +#define TREE_SITTER_LANGUAGE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./subtree.h" +#include "./parser.h" + +#define ts_builtin_sym_error_repeat (ts_builtin_sym_error - 1) + +#define LANGUAGE_VERSION_WITH_RESERVED_WORDS 15 +#define LANGUAGE_VERSION_WITH_PRIMARY_STATES 14 + +typedef struct { + const TSParseAction *actions; + uint32_t action_count; + bool is_reusable; +} TableEntry; + +typedef struct { + const TSLanguage *language; + const uint16_t *data; + const uint16_t *group_end; + TSStateId state; + uint16_t table_value; + uint16_t section_index; + uint16_t group_count; + bool is_small_state; + + const TSParseAction *actions; + TSSymbol symbol; + TSStateId next_state; + uint16_t action_count; +} LookaheadIterator; + +void ts_language_table_entry(const TSLanguage *self, TSStateId state, TSSymbol symbol, TableEntry *result); +TSLexerMode ts_language_lex_mode_for_state(const TSLanguage *self, TSStateId state); +bool ts_language_is_reserved_word(const TSLanguage *self, TSStateId state, TSSymbol symbol); +TSSymbolMetadata ts_language_symbol_metadata(const TSLanguage *self, TSSymbol symbol); +TSSymbol ts_language_public_symbol(const TSLanguage *self, TSSymbol symbol); + +static inline const TSParseAction *ts_language_actions( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol, + uint32_t *count +) { + TableEntry entry; + ts_language_table_entry(self, state, symbol, &entry); + *count = entry.action_count; + return entry.actions; +} + +static inline bool ts_language_has_reduce_action( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol +) { + TableEntry entry; + ts_language_table_entry(self, state, symbol, &entry); + return entry.action_count > 0 && entry.actions[0].type == TSParseActionTypeReduce; +} + +// Lookup the table value for a given symbol and state. +// +// For non-terminal symbols, the table value represents a successor state. +// For terminal symbols, it represents an index in the actions table. +// For 'large' parse states, this is a direct lookup. For 'small' parse +// states, this requires searching through the symbol groups to find +// the given symbol. +static inline uint16_t ts_language_lookup( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol +) { + if (state >= self->large_state_count) { + uint32_t index = self->small_parse_table_map[state - self->large_state_count]; + const uint16_t *data = &self->small_parse_table[index]; + uint16_t group_count = *(data++); + for (unsigned i = 0; i < group_count; i++) { + uint16_t section_value = *(data++); + uint16_t symbol_count = *(data++); + for (unsigned j = 0; j < symbol_count; j++) { + if (*(data++) == symbol) return section_value; + } + } + return 0; + } else { + return self->parse_table[state * self->symbol_count + symbol]; + } +} + +static inline bool ts_language_has_actions( + const TSLanguage *self, + TSStateId state, + TSSymbol symbol +) { + return ts_language_lookup(self, state, symbol) != 0; +} + +// Iterate over all of the symbols that are valid in the given state. +// +// For 'large' parse states, this just requires iterating through +// all possible symbols and checking the parse table for each one. +// For 'small' parse states, this exploits the structure of the +// table to only visit the valid symbols. +static inline LookaheadIterator ts_language_lookaheads( + const TSLanguage *self, + TSStateId state +) { + bool is_small_state = state >= self->large_state_count; + const uint16_t *data; + const uint16_t *group_end = NULL; + uint16_t group_count = 0; + if (is_small_state) { + uint32_t index = self->small_parse_table_map[state - self->large_state_count]; + data = &self->small_parse_table[index]; + group_end = data + 1; + group_count = *data; + } else { + data = &self->parse_table[state * self->symbol_count] - 1; + } + return (LookaheadIterator) { + .language = self, + .data = data, + .group_end = group_end, + .group_count = group_count, + .is_small_state = is_small_state, + .symbol = UINT16_MAX, + .next_state = 0, + }; +} + +static inline bool ts_lookahead_iterator__next(LookaheadIterator *self) { + // For small parse states, valid symbols are listed explicitly, + // grouped by their value. There's no need to look up the actions + // again until moving to the next group. + if (self->is_small_state) { + self->data++; + if (self->data == self->group_end) { + if (self->group_count == 0) return false; + self->group_count--; + self->table_value = *(self->data++); + unsigned symbol_count = *(self->data++); + self->group_end = self->data + symbol_count; + self->symbol = *self->data; + } else { + self->symbol = *self->data; + return true; + } + } + + // For large parse states, iterate through every symbol until one + // is found that has valid actions. + else { + do { + self->data++; + self->symbol++; + if (self->symbol >= self->language->symbol_count) return false; + self->table_value = *self->data; + } while (!self->table_value); + } + + // Depending on if the symbols is terminal or non-terminal, the table value either + // represents a list of actions or a successor state. + if (self->symbol < self->language->token_count) { + const TSParseActionEntry *entry = &self->language->parse_actions[self->table_value]; + self->action_count = entry->entry.count; + self->actions = (const TSParseAction *)(entry + 1); + self->next_state = 0; + } else { + self->action_count = 0; + self->next_state = self->table_value; + } + return true; +} + +// Whether the state is a "primary state". If this returns false, it indicates that there exists +// another state that behaves identically to this one with respect to query analysis. +static inline bool ts_language_state_is_primary( + const TSLanguage *self, + TSStateId state +) { + if (self->abi_version >= LANGUAGE_VERSION_WITH_PRIMARY_STATES) { + return state == self->primary_state_ids[state]; + } else { + return true; + } +} + +static inline const bool *ts_language_enabled_external_tokens( + const TSLanguage *self, + unsigned external_scanner_state +) { + if (external_scanner_state == 0) { + return NULL; + } else { + return self->external_scanner.states + self->external_token_count * external_scanner_state; + } +} + +static inline const TSSymbol *ts_language_alias_sequence( + const TSLanguage *self, + uint32_t production_id +) { + return production_id ? + &self->alias_sequences[production_id * self->max_alias_sequence_length] : + NULL; +} + +static inline TSSymbol ts_language_alias_at( + const TSLanguage *self, + uint32_t production_id, + uint32_t child_index +) { + return production_id ? + self->alias_sequences[production_id * self->max_alias_sequence_length + child_index] : + 0; +} + +static inline void ts_language_field_map( + const TSLanguage *self, + uint32_t production_id, + const TSFieldMapEntry **start, + const TSFieldMapEntry **end +) { + if (self->field_count == 0) { + *start = NULL; + *end = NULL; + return; + } + + TSMapSlice slice = self->field_map_slices[production_id]; + *start = &self->field_map_entries[slice.index]; + *end = &self->field_map_entries[slice.index] + slice.length; +} + +static inline void ts_language_aliases_for_symbol( + const TSLanguage *self, + TSSymbol original_symbol, + const TSSymbol **start, + const TSSymbol **end +) { + *start = &self->public_symbol_map[original_symbol]; + *end = *start + 1; + + unsigned idx = 0; + for (;;) { + TSSymbol symbol = self->alias_map[idx++]; + if (symbol == 0 || symbol > original_symbol) break; + uint16_t count = self->alias_map[idx++]; + if (symbol == original_symbol) { + *start = &self->alias_map[idx]; + *end = &self->alias_map[idx + count]; + break; + } + idx += count; + } +} + +static inline void ts_language_write_symbol_as_dot_string( + const TSLanguage *self, + FILE *f, + TSSymbol symbol +) { + const char *name = ts_language_symbol_name(self, symbol); + for (const char *chr = name; *chr; chr++) { + switch (*chr) { + case '"': + case '\\': + fputc('\\', f); + fputc(*chr, f); + break; + case '\n': + fputs("\\n", f); + break; + case '\t': + fputs("\\t", f); + break; + default: + fputc(*chr, f); + break; + } + } +} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_LANGUAGE_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/length.h b/non-source/foreign/tree-sitter/lib/src/length.h new file mode 100644 index 00000000..ddf156ce --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/length.h @@ -0,0 +1,52 @@ +#ifndef TREE_SITTER_LENGTH_H_ +#define TREE_SITTER_LENGTH_H_ + +#include +#include +#include "./point.h" +#include "tree_sitter/api.h" + +typedef struct { + uint32_t bytes; + TSPoint extent; +} Length; + +static const Length LENGTH_UNDEFINED = {0, {0, 1}}; +static const Length LENGTH_MAX = {UINT32_MAX, {UINT32_MAX, UINT32_MAX}}; + +static inline bool length_is_undefined(Length length) { + return length.bytes == 0 && length.extent.column != 0; +} + +static inline Length length_min(Length len1, Length len2) { + return (len1.bytes < len2.bytes) ? len1 : len2; +} + +static inline Length length_add(Length len1, Length len2) { + Length result; + result.bytes = len1.bytes + len2.bytes; + result.extent = point_add(len1.extent, len2.extent); + return result; +} + +static inline Length length_sub(Length len1, Length len2) { + Length result; + result.bytes = (len1.bytes >= len2.bytes) ? len1.bytes - len2.bytes : 0; + result.extent = point_sub(len1.extent, len2.extent); + return result; +} + +static inline Length length_zero(void) { + Length result = {0, {0, 0}}; + return result; +} + +static inline Length length_saturating_sub(Length len1, Length len2) { + if (len1.bytes > len2.bytes) { + return length_sub(len1, len2); + } else { + return length_zero(); + } +} + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/lexer.c b/non-source/foreign/tree-sitter/lib/src/lexer.c new file mode 100644 index 00000000..94124fd1 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/lexer.c @@ -0,0 +1,483 @@ +#include "./length.h" +#include "./lexer.h" +#include "./unicode.h" + +#include "tree_sitter/api.h" + +#include +#include + +#define LOG(message, character) \ + if (self->logger.log) { \ + snprintf( \ + self->debug_buffer, \ + TREE_SITTER_SERIALIZATION_BUFFER_SIZE, \ + 32 <= character && character < 127 ? \ + message " character:'%c'" : \ + message " character:%d", \ + character \ + ); \ + self->logger.log( \ + self->logger.payload, \ + TSLogTypeLex, \ + self->debug_buffer \ + ); \ + } + +static const int32_t BYTE_ORDER_MARK = 0xFEFF; + +static const TSRange DEFAULT_RANGE = { + .start_point = { + .row = 0, + .column = 0, + }, + .end_point = { + .row = UINT32_MAX, + .column = UINT32_MAX, + }, + .start_byte = 0, + .end_byte = UINT32_MAX +}; + +/** + * Sets the column data to the given value and marks it valid. + * @param self The lexer state. + * @param val The new value of the column data. + */ +static void ts_lexer__set_column_data(Lexer *self, uint32_t val) { + self->column_data.valid = true; + self->column_data.value = val; +} + +/** + * Increments the value of the column data; no-op if invalid. + * @param self The lexer state. + */ +static void ts_lexer__increment_column_data(Lexer *self) { + if (self->column_data.valid) { + self->column_data.value++; + } +} + +/** + * Marks the column data as invalid. + * @param self The lexer state. + */ +static void ts_lexer__invalidate_column_data(Lexer *self) { + self->column_data.valid = false; + self->column_data.value = 0; +} + +// Check if the lexer has reached EOF. This state is stored +// by setting the lexer's `current_included_range_index` such that +// it has consumed all of its available ranges. +static bool ts_lexer__eof(const TSLexer *_self) { + Lexer *self = (Lexer *)_self; + return self->current_included_range_index == self->included_range_count; +} + +// Clear the currently stored chunk of source code, because the lexer's +// position has changed. +static void ts_lexer__clear_chunk(Lexer *self) { + self->chunk = NULL; + self->chunk_size = 0; + self->chunk_start = 0; +} + +// Call the lexer's input callback to obtain a new chunk of source code +// for the current position. +static void ts_lexer__get_chunk(Lexer *self) { + self->chunk_start = self->current_position.bytes; + self->chunk = self->input.read( + self->input.payload, + self->current_position.bytes, + self->current_position.extent, + &self->chunk_size + ); + if (!self->chunk_size) { + self->current_included_range_index = self->included_range_count; + self->chunk = NULL; + } +} + +// Decode the next unicode character in the current chunk of source code. +// This assumes that the lexer has already retrieved a chunk of source +// code that spans the current position. +static void ts_lexer__get_lookahead(Lexer *self) { + uint32_t position_in_chunk = self->current_position.bytes - self->chunk_start; + uint32_t size = self->chunk_size - position_in_chunk; + + if (size == 0) { + self->lookahead_size = 1; + self->data.lookahead = '\0'; + return; + } + + const uint8_t *chunk = (const uint8_t *)self->chunk + position_in_chunk; + DecodeFunction decode = + self->input.encoding == TSInputEncodingUTF8 ? ts_decode_utf8 : + self->input.encoding == TSInputEncodingUTF16LE ? ts_decode_utf16_le : + self->input.encoding == TSInputEncodingUTF16BE ? ts_decode_utf16_be : self->input.decode; + + self->lookahead_size = decode(chunk, size, &self->data.lookahead); + + // If this chunk ended in the middle of a multi-byte character, + // try again with a fresh chunk. + if (self->data.lookahead == TS_DECODE_ERROR && size < 4) { + ts_lexer__get_chunk(self); + chunk = (const uint8_t *)self->chunk; + size = self->chunk_size; + self->lookahead_size = decode(chunk, size, &self->data.lookahead); + } + + if (self->data.lookahead == TS_DECODE_ERROR) { + self->lookahead_size = 1; + } +} + +static void ts_lexer_goto(Lexer *self, Length position) { + if (position.bytes != self->current_position.bytes) { + ts_lexer__invalidate_column_data(self); + } + + self->current_position = position; + + // Move to the first valid position at or after the given position. + bool found_included_range = false; + for (unsigned i = 0; i < self->included_range_count; i++) { + TSRange *included_range = &self->included_ranges[i]; + if ( + included_range->end_byte > self->current_position.bytes && + included_range->end_byte > included_range->start_byte + ) { + if (included_range->start_byte >= self->current_position.bytes) { + self->current_position = (Length) { + .bytes = included_range->start_byte, + .extent = included_range->start_point, + }; + } + + self->current_included_range_index = i; + found_included_range = true; + break; + } + } + + if (found_included_range) { + // If the current position is outside of the current chunk of text, + // then clear out the current chunk of text. + if (self->chunk && ( + self->current_position.bytes < self->chunk_start || + self->current_position.bytes >= self->chunk_start + self->chunk_size + )) { + ts_lexer__clear_chunk(self); + } + + self->lookahead_size = 0; + self->data.lookahead = '\0'; + } + + // If the given position is beyond any of included ranges, move to the EOF + // state - past the end of the included ranges. + else { + self->current_included_range_index = self->included_range_count; + TSRange *last_included_range = &self->included_ranges[self->included_range_count - 1]; + self->current_position = (Length) { + .bytes = last_included_range->end_byte, + .extent = last_included_range->end_point, + }; + ts_lexer__clear_chunk(self); + self->lookahead_size = 1; + self->data.lookahead = '\0'; + } +} + +/** + * Actually advances the lexer. Does not log anything. + * @param self The lexer state. + * @param skip Whether to mark the consumed codepoint as whitespace. + */ +static void ts_lexer__do_advance(Lexer *self, bool skip) { + if (self->lookahead_size) { + if (self->data.lookahead == '\n') { + self->current_position.extent.row++; + self->current_position.extent.column = 0; + ts_lexer__set_column_data(self, 0); + } else { + bool is_bom = self->current_position.bytes == 0 && + self->data.lookahead == BYTE_ORDER_MARK; + if (!is_bom) ts_lexer__increment_column_data(self); + self->current_position.extent.column += self->lookahead_size; + } + self->current_position.bytes += self->lookahead_size; + } + + const TSRange *current_range = &self->included_ranges[self->current_included_range_index]; + while ( + self->current_position.bytes >= current_range->end_byte || + current_range->end_byte == current_range->start_byte + ) { + if (self->current_included_range_index < self->included_range_count) { + self->current_included_range_index++; + } + if (self->current_included_range_index < self->included_range_count) { + current_range++; + self->current_position = (Length) { + current_range->start_byte, + current_range->start_point, + }; + } else { + current_range = NULL; + break; + } + } + + if (skip) self->token_start_position = self->current_position; + + if (current_range) { + if ( + self->current_position.bytes < self->chunk_start || + self->current_position.bytes >= self->chunk_start + self->chunk_size + ) { + ts_lexer__get_chunk(self); + } + ts_lexer__get_lookahead(self); + } else { + ts_lexer__clear_chunk(self); + self->data.lookahead = '\0'; + self->lookahead_size = 1; + } +} + +// Advance to the next character in the source code, retrieving a new +// chunk of source code if needed. +static void ts_lexer__advance(TSLexer *_self, bool skip) { + Lexer *self = (Lexer *)_self; + if (!self->chunk) return; + + if (skip) { + LOG("skip", self->data.lookahead) + } else { + LOG("consume", self->data.lookahead) + } + + ts_lexer__do_advance(self, skip); +} + +// Mark that a token match has completed. This can be called multiple +// times if a longer match is found later. +static void ts_lexer__mark_end(TSLexer *_self) { + Lexer *self = (Lexer *)_self; + if (!ts_lexer__eof(&self->data)) { + // If the lexer is right at the beginning of included range, + // then the token should be considered to end at the *end* of the + // previous included range, rather than here. + TSRange *current_included_range = &self->included_ranges[ + self->current_included_range_index + ]; + if ( + self->current_included_range_index > 0 && + self->current_position.bytes == current_included_range->start_byte + ) { + TSRange *previous_included_range = current_included_range - 1; + self->token_end_position = (Length) { + previous_included_range->end_byte, + previous_included_range->end_point, + }; + return; + } + } + self->token_end_position = self->current_position; +} + +static uint32_t ts_lexer__get_column(TSLexer *_self) { + Lexer *self = (Lexer *)_self; + + self->did_get_column = true; + + if (!self->column_data.valid) { + // Record current position + uint32_t goal_byte = self->current_position.bytes; + + // Back up to the beginning of the line + Length start_of_col = { + self->current_position.bytes - self->current_position.extent.column, + {self->current_position.extent.row, 0}, + }; + ts_lexer_goto(self, start_of_col); + ts_lexer__set_column_data(self, 0); + ts_lexer__get_chunk(self); + + if (!ts_lexer__eof(_self)) { + ts_lexer__get_lookahead(self); + + // Advance to the recorded position + while (self->current_position.bytes < goal_byte && !ts_lexer__eof(_self) && self->chunk) { + ts_lexer__do_advance(self, false); + if (ts_lexer__eof(_self)) break; + } + } + } + + return self->column_data.value; +} + +// Is the lexer at a boundary between two disjoint included ranges of +// source code? This is exposed as an API because some languages' external +// scanners need to perform custom actions at these boundaries. +static bool ts_lexer__is_at_included_range_start(const TSLexer *_self) { + const Lexer *self = (const Lexer *)_self; + if (self->current_included_range_index < self->included_range_count) { + TSRange *current_range = &self->included_ranges[self->current_included_range_index]; + return self->current_position.bytes == current_range->start_byte; + } else { + return false; + } +} + +static void ts_lexer__log(const TSLexer *_self, const char *fmt, ...) { + Lexer *self = (Lexer *)_self; + va_list args; + va_start(args, fmt); + if (self->logger.log) { + vsnprintf(self->debug_buffer, TREE_SITTER_SERIALIZATION_BUFFER_SIZE, fmt, args); + self->logger.log(self->logger.payload, TSLogTypeLex, self->debug_buffer); + } + va_end(args); +} + +void ts_lexer_init(Lexer *self) { + *self = (Lexer) { + .data = { + // The lexer's methods are stored as struct fields so that generated + // parsers can call them without needing to be linked against this + // library. + .advance = ts_lexer__advance, + .mark_end = ts_lexer__mark_end, + .get_column = ts_lexer__get_column, + .is_at_included_range_start = ts_lexer__is_at_included_range_start, + .eof = ts_lexer__eof, + .log = ts_lexer__log, + .lookahead = 0, + .result_symbol = 0, + }, + .chunk = NULL, + .chunk_size = 0, + .chunk_start = 0, + .current_position = {0, {0, 0}}, + .logger = { + .payload = NULL, + .log = NULL + }, + .included_ranges = NULL, + .included_range_count = 0, + .current_included_range_index = 0, + .did_get_column = false, + .column_data = { + .valid = false, + .value = 0 + } + }; + ts_lexer_set_included_ranges(self, NULL, 0); +} + +void ts_lexer_delete(Lexer *self) { + ts_free(self->included_ranges); +} + +void ts_lexer_set_input(Lexer *self, TSInput input) { + self->input = input; + ts_lexer__clear_chunk(self); + ts_lexer_goto(self, self->current_position); +} + +// Move the lexer to the given position. This doesn't do any work +// if the parser is already at the given position. +void ts_lexer_reset(Lexer *self, Length position) { + if (position.bytes != self->current_position.bytes) { + ts_lexer_goto(self, position); + } +} + +void ts_lexer_start(Lexer *self) { + self->token_start_position = self->current_position; + self->token_end_position = LENGTH_UNDEFINED; + self->data.result_symbol = 0; + self->did_get_column = false; + if (!ts_lexer__eof(&self->data)) { + if (!self->chunk_size) ts_lexer__get_chunk(self); + if (!self->lookahead_size) ts_lexer__get_lookahead(self); + if (self->current_position.bytes == 0) { + if (self->data.lookahead == BYTE_ORDER_MARK) { + ts_lexer__advance(&self->data, true); + } + ts_lexer__set_column_data(self, 0); + } + } +} + +void ts_lexer_finish(Lexer *self, uint32_t *lookahead_end_byte) { + if (length_is_undefined(self->token_end_position)) { + ts_lexer__mark_end(&self->data); + } + + // If the token ended at an included range boundary, then its end position + // will have been reset to the end of the preceding range. Reset the start + // position to match. + if (self->token_end_position.bytes < self->token_start_position.bytes) { + self->token_start_position = self->token_end_position; + } + + uint32_t current_lookahead_end_byte = self->current_position.bytes + 1; + + // In order to determine that a byte sequence is invalid UTF8 or UTF16, + // the character decoding algorithm may have looked at the following byte. + // Therefore, the next byte *after* the current (invalid) character + // affects the interpretation of the current character. + if (self->data.lookahead == TS_DECODE_ERROR) { + current_lookahead_end_byte += 4; // the maximum number of bytes read to identify an invalid code point + } + + if (current_lookahead_end_byte > *lookahead_end_byte) { + *lookahead_end_byte = current_lookahead_end_byte; + } +} + +void ts_lexer_mark_end(Lexer *self) { + ts_lexer__mark_end(&self->data); +} + +bool ts_lexer_set_included_ranges( + Lexer *self, + const TSRange *ranges, + uint32_t count +) { + if (count == 0 || !ranges) { + ranges = &DEFAULT_RANGE; + count = 1; + } else { + uint32_t previous_byte = 0; + for (unsigned i = 0; i < count; i++) { + const TSRange *range = &ranges[i]; + if ( + range->start_byte < previous_byte || + range->end_byte < range->start_byte + ) return false; + previous_byte = range->end_byte; + } + } + + size_t size = count * sizeof(TSRange); + self->included_ranges = ts_realloc(self->included_ranges, size); + memcpy(self->included_ranges, ranges, size); + self->included_range_count = count; + ts_lexer_goto(self, self->current_position); + return true; +} + +TSRange *ts_lexer_included_ranges(const Lexer *self, uint32_t *count) { + *count = self->included_range_count; + return self->included_ranges; +} + +#undef LOG diff --git a/non-source/foreign/tree-sitter/lib/src/lexer.h b/non-source/foreign/tree-sitter/lib/src/lexer.h new file mode 100644 index 00000000..7f451e3f --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/lexer.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_LEXER_H_ +#define TREE_SITTER_LEXER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./length.h" +#include "./subtree.h" +#include "tree_sitter/api.h" +#include "./parser.h" + +typedef struct { + uint32_t value; + bool valid; +} ColumnData; + +typedef struct { + TSLexer data; + Length current_position; + Length token_start_position; + Length token_end_position; + + TSRange *included_ranges; + const char *chunk; + TSInput input; + TSLogger logger; + + uint32_t included_range_count; + uint32_t current_included_range_index; + uint32_t chunk_start; + uint32_t chunk_size; + uint32_t lookahead_size; + bool did_get_column; + ColumnData column_data; + + char debug_buffer[TREE_SITTER_SERIALIZATION_BUFFER_SIZE]; +} Lexer; + +void ts_lexer_init(Lexer *self); +void ts_lexer_delete(Lexer *self); +void ts_lexer_set_input(Lexer *self, TSInput input); +void ts_lexer_reset(Lexer *self, Length position); +void ts_lexer_start(Lexer *self); +void ts_lexer_finish(Lexer *self, uint32_t *lookahead_end_byte); +void ts_lexer_mark_end(Lexer *self); +bool ts_lexer_set_included_ranges(Lexer *self, const TSRange *ranges, uint32_t count); +TSRange *ts_lexer_included_ranges(const Lexer *self, uint32_t *count); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_LEXER_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/lib.c b/non-source/foreign/tree-sitter/lib/src/lib.c new file mode 100644 index 00000000..9bfb69f0 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/lib.c @@ -0,0 +1,12 @@ +#include "./alloc.c" +#include "./get_changed_ranges.c" +#include "./language.c" +#include "./lexer.c" +#include "./node.c" +#include "./parser.c" +#include "./query.c" +#include "./stack.c" +#include "./subtree.c" +#include "./tree_cursor.c" +#include "./tree.c" +#include "./wasm_store.c" diff --git a/non-source/foreign/tree-sitter/lib/src/node.c b/non-source/foreign/tree-sitter/lib/src/node.c new file mode 100644 index 00000000..d83fa90b --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/node.c @@ -0,0 +1,875 @@ +#include +#include "./point.h" +#include "./subtree.h" +#include "./tree.h" +#include "./language.h" + +typedef struct { + Subtree parent; + const TSTree *tree; + Length position; + uint32_t child_index; + uint32_t structural_child_index; + const TSSymbol *alias_sequence; +} NodeChildIterator; + +static inline bool ts_node__is_relevant(TSNode self, bool include_anonymous); + +// TSNode - constructors + +TSNode ts_node_new( + const TSTree *tree, + const Subtree *subtree, + Length position, + TSSymbol alias +) { + return (TSNode) { + {position.bytes, position.extent.row, position.extent.column, alias}, + subtree, + tree, + }; +} + +static inline TSNode ts_node__null(void) { + return ts_node_new(NULL, NULL, length_zero(), 0); +} + +// TSNode - accessors + +uint32_t ts_node_start_byte(TSNode self) { + return self.context[0]; +} + +TSPoint ts_node_start_point(TSNode self) { + return (TSPoint) {self.context[1], self.context[2]}; +} + +static inline uint32_t ts_node__alias(const TSNode *self) { + return self->context[3]; +} + +static inline Subtree ts_node__subtree(TSNode self) { + return *(const Subtree *)self.id; +} + +// NodeChildIterator + +static inline NodeChildIterator ts_node_iterate_children(const TSNode *node) { + Subtree subtree = ts_node__subtree(*node); + if (ts_subtree_child_count(subtree) == 0) { + return (NodeChildIterator) {NULL_SUBTREE, node->tree, length_zero(), 0, 0, NULL}; + } + const TSSymbol *alias_sequence = ts_language_alias_sequence( + node->tree->language, + subtree.ptr->production_id + ); + return (NodeChildIterator) { + .tree = node->tree, + .parent = subtree, + .position = {ts_node_start_byte(*node), ts_node_start_point(*node)}, + .child_index = 0, + .structural_child_index = 0, + .alias_sequence = alias_sequence, + }; +} + +static inline bool ts_node_child_iterator_done(NodeChildIterator *self) { + return self->child_index == self->parent.ptr->child_count; +} + +static inline bool ts_node_child_iterator_next( + NodeChildIterator *self, + TSNode *result +) { + if (!self->parent.ptr || ts_node_child_iterator_done(self)) return false; + const Subtree *child = &ts_subtree_children(self->parent)[self->child_index]; + TSSymbol alias_symbol = 0; + if (!ts_subtree_extra(*child)) { + if (self->alias_sequence) { + alias_symbol = self->alias_sequence[self->structural_child_index]; + } + self->structural_child_index++; + } + if (self->child_index > 0) { + self->position = length_add(self->position, ts_subtree_padding(*child)); + } + *result = ts_node_new( + self->tree, + child, + self->position, + alias_symbol + ); + self->position = length_add(self->position, ts_subtree_size(*child)); + self->child_index++; + return true; +} + +// TSNode - private + +static inline bool ts_node__is_relevant(TSNode self, bool include_anonymous) { + Subtree tree = ts_node__subtree(self); + if (include_anonymous) { + return ts_subtree_visible(tree) || ts_node__alias(&self); + } else { + TSSymbol alias = ts_node__alias(&self); + if (alias) { + return ts_language_symbol_metadata(self.tree->language, alias).named; + } else { + return ts_subtree_visible(tree) && ts_subtree_named(tree); + } + } +} + +static inline uint32_t ts_node__relevant_child_count( + TSNode self, + bool include_anonymous +) { + Subtree tree = ts_node__subtree(self); + if (ts_subtree_child_count(tree) > 0) { + if (include_anonymous) { + return tree.ptr->visible_child_count; + } else { + return tree.ptr->named_child_count; + } + } else { + return 0; + } +} + +static inline TSNode ts_node__child( + TSNode self, + uint32_t child_index, + bool include_anonymous +) { + TSNode result = self; + bool did_descend = true; + + while (did_descend) { + did_descend = false; + + TSNode child; + uint32_t index = 0; + NodeChildIterator iterator = ts_node_iterate_children(&result); + while (ts_node_child_iterator_next(&iterator, &child)) { + if (ts_node__is_relevant(child, include_anonymous)) { + if (index == child_index) { + return child; + } + index++; + } else { + uint32_t grandchild_index = child_index - index; + uint32_t grandchild_count = ts_node__relevant_child_count(child, include_anonymous); + if (grandchild_index < grandchild_count) { + did_descend = true; + result = child; + child_index = grandchild_index; + break; + } + index += grandchild_count; + } + } + } + + return ts_node__null(); +} + +static bool ts_subtree_has_trailing_empty_descendant( + Subtree self, + Subtree other +) { + for (unsigned i = ts_subtree_child_count(self) - 1; i + 1 > 0; i--) { + Subtree child = ts_subtree_children(self)[i]; + if (ts_subtree_total_bytes(child) > 0) break; + if (child.ptr == other.ptr || ts_subtree_has_trailing_empty_descendant(child, other)) { + return true; + } + } + return false; +} + +static inline TSNode ts_node__prev_sibling(TSNode self, bool include_anonymous) { + Subtree self_subtree = ts_node__subtree(self); + bool self_is_empty = ts_subtree_total_bytes(self_subtree) == 0; + uint32_t target_end_byte = ts_node_end_byte(self); + + TSNode node = ts_node_parent(self); + TSNode earlier_node = ts_node__null(); + bool earlier_node_is_relevant = false; + + while (!ts_node_is_null(node)) { + TSNode earlier_child = ts_node__null(); + bool earlier_child_is_relevant = false; + bool found_child_containing_target = false; + + TSNode child; + NodeChildIterator iterator = ts_node_iterate_children(&node); + while (ts_node_child_iterator_next(&iterator, &child)) { + if (child.id == self.id) break; + if (iterator.position.bytes > target_end_byte) { + found_child_containing_target = true; + break; + } + + if (iterator.position.bytes == target_end_byte && + (!self_is_empty || + ts_subtree_has_trailing_empty_descendant(ts_node__subtree(child), self_subtree))) { + found_child_containing_target = true; + break; + } + + if (ts_node__is_relevant(child, include_anonymous)) { + earlier_child = child; + earlier_child_is_relevant = true; + } else if (ts_node__relevant_child_count(child, include_anonymous) > 0) { + earlier_child = child; + earlier_child_is_relevant = false; + } + } + + if (found_child_containing_target) { + if (!ts_node_is_null(earlier_child)) { + earlier_node = earlier_child; + earlier_node_is_relevant = earlier_child_is_relevant; + } + node = child; + } else if (earlier_child_is_relevant) { + return earlier_child; + } else if (!ts_node_is_null(earlier_child)) { + node = earlier_child; + } else if (earlier_node_is_relevant) { + return earlier_node; + } else { + node = earlier_node; + earlier_node = ts_node__null(); + earlier_node_is_relevant = false; + } + } + + return ts_node__null(); +} + +static inline TSNode ts_node__next_sibling(TSNode self, bool include_anonymous) { + uint32_t target_end_byte = ts_node_end_byte(self); + + TSNode node = ts_node_parent(self); + TSNode later_node = ts_node__null(); + bool later_node_is_relevant = false; + + while (!ts_node_is_null(node)) { + TSNode later_child = ts_node__null(); + bool later_child_is_relevant = false; + TSNode child_containing_target = ts_node__null(); + + TSNode child; + NodeChildIterator iterator = ts_node_iterate_children(&node); + while (ts_node_child_iterator_next(&iterator, &child)) { + if (iterator.position.bytes <= target_end_byte) continue; + uint32_t start_byte = ts_node_start_byte(self); + uint32_t child_start_byte = ts_node_start_byte(child); + + bool is_empty = start_byte == target_end_byte; + bool contains_target = is_empty ? + child_start_byte < start_byte : + child_start_byte <= start_byte; + + if (contains_target) { + if (ts_node__subtree(child).ptr != ts_node__subtree(self).ptr) { + child_containing_target = child; + } + } else if (ts_node__is_relevant(child, include_anonymous)) { + later_child = child; + later_child_is_relevant = true; + break; + } else if (ts_node__relevant_child_count(child, include_anonymous) > 0) { + later_child = child; + later_child_is_relevant = false; + break; + } + } + + if (!ts_node_is_null(child_containing_target)) { + if (!ts_node_is_null(later_child)) { + later_node = later_child; + later_node_is_relevant = later_child_is_relevant; + } + node = child_containing_target; + } else if (later_child_is_relevant) { + return later_child; + } else if (!ts_node_is_null(later_child)) { + node = later_child; + } else if (later_node_is_relevant) { + return later_node; + } else { + node = later_node; + } + } + + return ts_node__null(); +} + +static inline TSNode ts_node__first_child_for_byte( + TSNode self, + uint32_t goal, + bool include_anonymous +) { + TSNode node = self; + bool did_descend = true; + + NodeChildIterator last_iterator; + bool has_last_iterator = false; + + while (did_descend) { + did_descend = false; + + TSNode child; + NodeChildIterator iterator = ts_node_iterate_children(&node); + loop: + while (ts_node_child_iterator_next(&iterator, &child)) { + if (ts_node_end_byte(child) > goal) { + if (ts_node__is_relevant(child, include_anonymous)) { + return child; + } else if (ts_node_child_count(child) > 0) { + if (iterator.child_index < ts_subtree_child_count(ts_node__subtree(child))) { + last_iterator = iterator; + has_last_iterator = true; + } + did_descend = true; + node = child; + break; + } + } + } + + if (!did_descend && has_last_iterator) { + iterator = last_iterator; + has_last_iterator = false; + goto loop; + } + } + + return ts_node__null(); +} + +static inline TSNode ts_node__descendant_for_byte_range( + TSNode self, + uint32_t range_start, + uint32_t range_end, + bool include_anonymous +) { + if (range_start > range_end) { + return ts_node__null(); + } + TSNode node = self; + TSNode last_visible_node = self; + + bool did_descend = true; + while (did_descend) { + did_descend = false; + + TSNode child; + NodeChildIterator iterator = ts_node_iterate_children(&node); + while (ts_node_child_iterator_next(&iterator, &child)) { + uint32_t node_end = iterator.position.bytes; + + // The end of this node must extend far enough forward to touch + // the end of the range + if (node_end < range_end) continue; + + // ...and exceed the start of the range, unless the node itself is + // empty, in which case it must at least be equal to the start of the range. + bool is_empty = ts_node_start_byte(child) == node_end; + if (is_empty ? node_end < range_start : node_end <= range_start) continue; + + // The start of this node must extend far enough backward to + // touch the start of the range. + if (range_start < ts_node_start_byte(child)) break; + + node = child; + if (ts_node__is_relevant(node, include_anonymous)) { + last_visible_node = node; + } + did_descend = true; + break; + } + } + + return last_visible_node; +} + +static inline TSNode ts_node__descendant_for_point_range( + TSNode self, + TSPoint range_start, + TSPoint range_end, + bool include_anonymous +) { + if (point_gt(range_start, range_end)) { + return ts_node__null(); + } + TSNode node = self; + TSNode last_visible_node = self; + + bool did_descend = true; + while (did_descend) { + did_descend = false; + + TSNode child; + NodeChildIterator iterator = ts_node_iterate_children(&node); + while (ts_node_child_iterator_next(&iterator, &child)) { + TSPoint node_end = iterator.position.extent; + + // The end of this node must extend far enough forward to touch + // the end of the range + if (point_lt(node_end, range_end)) continue; + + // ...and exceed the start of the range, unless the node itself is + // empty, in which case it must at least be equal to the start of the range. + bool is_empty = point_eq(ts_node_start_point(child), node_end); + if (is_empty ? point_lt(node_end, range_start) : point_lte(node_end, range_start)) { + continue; + } + + // The start of this node must extend far enough backward to + // touch the start of the range. + if (point_lt(range_start, ts_node_start_point(child))) break; + + node = child; + if (ts_node__is_relevant(node, include_anonymous)) { + last_visible_node = node; + } + did_descend = true; + break; + } + } + + return last_visible_node; +} + +// TSNode - public + +uint32_t ts_node_end_byte(TSNode self) { + return ts_node_start_byte(self) + ts_subtree_size(ts_node__subtree(self)).bytes; +} + +TSPoint ts_node_end_point(TSNode self) { + return point_add(ts_node_start_point(self), ts_subtree_size(ts_node__subtree(self)).extent); +} + +TSSymbol ts_node_symbol(TSNode self) { + TSSymbol symbol = ts_node__alias(&self); + if (!symbol) symbol = ts_subtree_symbol(ts_node__subtree(self)); + return ts_language_public_symbol(self.tree->language, symbol); +} + +const char *ts_node_type(TSNode self) { + TSSymbol symbol = ts_node__alias(&self); + if (!symbol) symbol = ts_subtree_symbol(ts_node__subtree(self)); + return ts_language_symbol_name(self.tree->language, symbol); +} + +const TSLanguage *ts_node_language(TSNode self) { + return self.tree->language; +} + +TSSymbol ts_node_grammar_symbol(TSNode self) { + return ts_subtree_symbol(ts_node__subtree(self)); +} + +const char *ts_node_grammar_type(TSNode self) { + TSSymbol symbol = ts_subtree_symbol(ts_node__subtree(self)); + return ts_language_symbol_name(self.tree->language, symbol); +} + +char *ts_node_string(TSNode self) { + TSSymbol alias_symbol = ts_node__alias(&self); + return ts_subtree_string( + ts_node__subtree(self), + alias_symbol, + ts_language_symbol_metadata(self.tree->language, alias_symbol).visible, + self.tree->language, + false + ); +} + +bool ts_node_eq(TSNode self, TSNode other) { + return self.tree == other.tree && self.id == other.id; +} + +bool ts_node_is_null(TSNode self) { + return self.id == 0; +} + +bool ts_node_is_extra(TSNode self) { + return ts_subtree_extra(ts_node__subtree(self)); +} + +bool ts_node_is_named(TSNode self) { + TSSymbol alias = ts_node__alias(&self); + return alias + ? ts_language_symbol_metadata(self.tree->language, alias).named + : ts_subtree_named(ts_node__subtree(self)); +} + +bool ts_node_is_missing(TSNode self) { + return ts_subtree_missing(ts_node__subtree(self)); +} + +bool ts_node_has_changes(TSNode self) { + return ts_subtree_has_changes(ts_node__subtree(self)); +} + +bool ts_node_has_error(TSNode self) { + return ts_subtree_error_cost(ts_node__subtree(self)) > 0; +} + +bool ts_node_is_error(TSNode self) { + TSSymbol symbol = ts_node_symbol(self); + return symbol == ts_builtin_sym_error; +} + +uint32_t ts_node_descendant_count(TSNode self) { + return ts_subtree_visible_descendant_count(ts_node__subtree(self)) + 1; +} + +TSStateId ts_node_parse_state(TSNode self) { + return ts_subtree_parse_state(ts_node__subtree(self)); +} + +TSStateId ts_node_next_parse_state(TSNode self) { + const TSLanguage *language = self.tree->language; + uint16_t state = ts_node_parse_state(self); + if (state == TS_TREE_STATE_NONE) { + return TS_TREE_STATE_NONE; + } + uint16_t symbol = ts_node_grammar_symbol(self); + return ts_language_next_state(language, state, symbol); +} + +TSNode ts_node_parent(TSNode self) { + TSNode node = ts_tree_root_node(self.tree); + if (node.id == self.id) return ts_node__null(); + + while (true) { + TSNode next_node = ts_node_child_with_descendant(node, self); + if (next_node.id == self.id || ts_node_is_null(next_node)) break; + node = next_node; + } + + return node; +} + +TSNode ts_node_child_with_descendant(TSNode self, TSNode descendant) { + uint32_t start_byte = ts_node_start_byte(descendant); + uint32_t end_byte = ts_node_end_byte(descendant); + bool is_empty = start_byte == end_byte; + + do { + NodeChildIterator iter = ts_node_iterate_children(&self); + do { + if ( + !ts_node_child_iterator_next(&iter, &self) + || ts_node_start_byte(self) > start_byte + ) { + return ts_node__null(); + } + if (self.id == descendant.id) { + return self; + } + + // If the descendant is empty, and the end byte is within `self`, + // we check whether `self` contains it or not. + if (is_empty && iter.position.bytes >= end_byte && ts_node_child_count(self) > 0) { + TSNode child = ts_node_child_with_descendant(self, descendant); + // If the child is not null, return self if it's relevant, else return the child + if (!ts_node_is_null(child)) { + return ts_node__is_relevant(self, true) ? self : child; + } + } + } while ((is_empty ? iter.position.bytes <= end_byte : iter.position.bytes < end_byte) || ts_node_child_count(self) == 0); + } while (!ts_node__is_relevant(self, true)); + + return self; +} + +TSNode ts_node_child(TSNode self, uint32_t child_index) { + return ts_node__child(self, child_index, true); +} + +TSNode ts_node_named_child(TSNode self, uint32_t child_index) { + return ts_node__child(self, child_index, false); +} + +TSNode ts_node_child_by_field_id(TSNode self, TSFieldId field_id) { +recur: + if (!field_id || ts_node_child_count(self) == 0) return ts_node__null(); + + const TSFieldMapEntry *field_map, *field_map_end; + ts_language_field_map( + self.tree->language, + ts_node__subtree(self).ptr->production_id, + &field_map, + &field_map_end + ); + if (field_map == field_map_end) return ts_node__null(); + + // The field mappings are sorted by their field id. Scan all + // the mappings to find the ones for the given field id. + while (field_map->field_id < field_id) { + field_map++; + if (field_map == field_map_end) return ts_node__null(); + } + while (field_map_end[-1].field_id > field_id) { + field_map_end--; + if (field_map == field_map_end) return ts_node__null(); + } + + TSNode child; + NodeChildIterator iterator = ts_node_iterate_children(&self); + while (ts_node_child_iterator_next(&iterator, &child)) { + if (!ts_subtree_extra(ts_node__subtree(child))) { + uint32_t index = iterator.structural_child_index - 1; + if (index < field_map->child_index) continue; + + // Hidden nodes' fields are "inherited" by their visible parent. + if (field_map->inherited) { + + // If this is the *last* possible child node for this field, + // then perform a tail call to avoid recursion. + if (field_map + 1 == field_map_end) { + self = child; + goto recur; + } + + // Otherwise, descend into this child, but if it doesn't contain + // the field, continue searching subsequent children. + else { + TSNode result = ts_node_child_by_field_id(child, field_id); + if (result.id) return result; + field_map++; + if (field_map == field_map_end) return ts_node__null(); + } + } + + else if (ts_node__is_relevant(child, true)) { + return child; + } + + // If the field refers to a hidden node with visible children, + // return the first visible child. + else if (ts_node_child_count(child) > 0 ) { + return ts_node_child(child, 0); + } + + // Otherwise, continue searching subsequent children. + else { + field_map++; + if (field_map == field_map_end) return ts_node__null(); + } + } + } + + return ts_node__null(); +} + +static inline const char *ts_node__field_name_from_language(TSNode self, uint32_t structural_child_index) { + const TSFieldMapEntry *field_map, *field_map_end; + ts_language_field_map( + self.tree->language, + ts_node__subtree(self).ptr->production_id, + &field_map, + &field_map_end + ); + for (; field_map != field_map_end; field_map++) { + if (!field_map->inherited && field_map->child_index == structural_child_index) { + return self.tree->language->field_names[field_map->field_id]; + } + } + return NULL; +} + +const char *ts_node_field_name_for_child(TSNode self, uint32_t child_index) { + TSNode result = self; + bool did_descend = true; + const char *inherited_field_name = NULL; + + while (did_descend) { + did_descend = false; + + TSNode child; + uint32_t index = 0; + NodeChildIterator iterator = ts_node_iterate_children(&result); + while (ts_node_child_iterator_next(&iterator, &child)) { + if (ts_node__is_relevant(child, true)) { + if (index == child_index) { + if (ts_node_is_extra(child)) { + return NULL; + } + const char *field_name = ts_node__field_name_from_language(result, iterator.structural_child_index - 1); + if (field_name) return field_name; + return inherited_field_name; + } + index++; + } else { + uint32_t grandchild_index = child_index - index; + uint32_t grandchild_count = ts_node__relevant_child_count(child, true); + if (grandchild_index < grandchild_count) { + const char *field_name = ts_node__field_name_from_language(result, iterator.structural_child_index - 1); + if (field_name) inherited_field_name = field_name; + + did_descend = true; + result = child; + child_index = grandchild_index; + break; + } + index += grandchild_count; + } + } + } + + return NULL; +} + +const char *ts_node_field_name_for_named_child(TSNode self, uint32_t named_child_index) { + TSNode result = self; + bool did_descend = true; + const char *inherited_field_name = NULL; + + while (did_descend) { + did_descend = false; + + TSNode child; + uint32_t index = 0; + NodeChildIterator iterator = ts_node_iterate_children(&result); + while (ts_node_child_iterator_next(&iterator, &child)) { + if (ts_node__is_relevant(child, false)) { + if (index == named_child_index) { + if (ts_node_is_extra(child)) { + return NULL; + } + const char *field_name = ts_node__field_name_from_language(result, iterator.structural_child_index - 1); + if (field_name) return field_name; + return inherited_field_name; + } + index++; + } else { + uint32_t named_grandchild_index = named_child_index - index; + uint32_t grandchild_count = ts_node__relevant_child_count(child, false); + if (named_grandchild_index < grandchild_count) { + const char *field_name = ts_node__field_name_from_language(result, iterator.structural_child_index - 1); + if (field_name) inherited_field_name = field_name; + + did_descend = true; + result = child; + named_child_index = named_grandchild_index; + break; + } + index += grandchild_count; + } + } + } + + return NULL; +} + +TSNode ts_node_child_by_field_name( + TSNode self, + const char *name, + uint32_t name_length +) { + TSFieldId field_id = ts_language_field_id_for_name( + self.tree->language, + name, + name_length + ); + return ts_node_child_by_field_id(self, field_id); +} + +uint32_t ts_node_child_count(TSNode self) { + Subtree tree = ts_node__subtree(self); + if (ts_subtree_child_count(tree) > 0) { + return tree.ptr->visible_child_count; + } else { + return 0; + } +} + +uint32_t ts_node_named_child_count(TSNode self) { + Subtree tree = ts_node__subtree(self); + if (ts_subtree_child_count(tree) > 0) { + return tree.ptr->named_child_count; + } else { + return 0; + } +} + +TSNode ts_node_next_sibling(TSNode self) { + return ts_node__next_sibling(self, true); +} + +TSNode ts_node_next_named_sibling(TSNode self) { + return ts_node__next_sibling(self, false); +} + +TSNode ts_node_prev_sibling(TSNode self) { + return ts_node__prev_sibling(self, true); +} + +TSNode ts_node_prev_named_sibling(TSNode self) { + return ts_node__prev_sibling(self, false); +} + +TSNode ts_node_first_child_for_byte(TSNode self, uint32_t byte) { + return ts_node__first_child_for_byte(self, byte, true); +} + +TSNode ts_node_first_named_child_for_byte(TSNode self, uint32_t byte) { + return ts_node__first_child_for_byte(self, byte, false); +} + +TSNode ts_node_descendant_for_byte_range( + TSNode self, + uint32_t start, + uint32_t end +) { + return ts_node__descendant_for_byte_range(self, start, end, true); +} + +TSNode ts_node_named_descendant_for_byte_range( + TSNode self, + uint32_t start, + uint32_t end +) { + return ts_node__descendant_for_byte_range(self, start, end, false); +} + +TSNode ts_node_descendant_for_point_range( + TSNode self, + TSPoint start, + TSPoint end +) { + return ts_node__descendant_for_point_range(self, start, end, true); +} + +TSNode ts_node_named_descendant_for_point_range( + TSNode self, + TSPoint start, + TSPoint end +) { + return ts_node__descendant_for_point_range(self, start, end, false); +} + +void ts_node_edit(TSNode *self, const TSInputEdit *edit) { + uint32_t start_byte = ts_node_start_byte(*self); + TSPoint start_point = ts_node_start_point(*self); + + if (start_byte >= edit->old_end_byte) { + start_byte = edit->new_end_byte + (start_byte - edit->old_end_byte); + start_point = point_add(edit->new_end_point, point_sub(start_point, edit->old_end_point)); + } else if (start_byte > edit->start_byte) { + start_byte = edit->new_end_byte; + start_point = edit->new_end_point; + } + + self->context[0] = start_byte; + self->context[1] = start_point.row; + self->context[2] = start_point.column; +} diff --git a/non-source/foreign/tree-sitter/lib/src/parser.c b/non-source/foreign/tree-sitter/lib/src/parser.c new file mode 100644 index 00000000..d0a2d2ca --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/parser.c @@ -0,0 +1,2293 @@ +#include +#include +#include +#include +#include +#include "tree_sitter/api.h" +#include "./alloc.h" +#include "./array.h" +#include "./atomic.h" +#include "./clock.h" +#include "./error_costs.h" +#include "./get_changed_ranges.h" +#include "./language.h" +#include "./length.h" +#include "./lexer.h" +#include "./reduce_action.h" +#include "./reusable_node.h" +#include "./stack.h" +#include "./subtree.h" +#include "./tree.h" +#include "./ts_assert.h" +#include "./wasm_store.h" + +#define LOG(...) \ + if (self->lexer.logger.log || self->dot_graph_file) { \ + snprintf(self->lexer.debug_buffer, TREE_SITTER_SERIALIZATION_BUFFER_SIZE, __VA_ARGS__); \ + ts_parser__log(self); \ + } + +#define LOG_LOOKAHEAD(symbol_name, size) \ + if (self->lexer.logger.log || self->dot_graph_file) { \ + char *buf = self->lexer.debug_buffer; \ + const char *symbol = symbol_name; \ + int off = snprintf( \ + buf, \ + TREE_SITTER_SERIALIZATION_BUFFER_SIZE, \ + "lexed_lookahead sym:" \ + ); \ + for ( \ + int i = 0; \ + symbol[i] != '\0' \ + && off < TREE_SITTER_SERIALIZATION_BUFFER_SIZE; \ + i++ \ + ) { \ + switch (symbol[i]) { \ + case '\t': buf[off++] = '\\'; buf[off++] = 't'; break; \ + case '\n': buf[off++] = '\\'; buf[off++] = 'n'; break; \ + case '\v': buf[off++] = '\\'; buf[off++] = 'v'; break; \ + case '\f': buf[off++] = '\\'; buf[off++] = 'f'; break; \ + case '\r': buf[off++] = '\\'; buf[off++] = 'r'; break; \ + case '\\': buf[off++] = '\\'; buf[off++] = '\\'; break; \ + default: buf[off++] = symbol[i]; break; \ + } \ + } \ + snprintf( \ + buf + off, \ + TREE_SITTER_SERIALIZATION_BUFFER_SIZE - off, \ + ", size:%u", \ + size \ + ); \ + ts_parser__log(self); \ + } + +#define LOG_STACK() \ + if (self->dot_graph_file) { \ + ts_stack_print_dot_graph(self->stack, self->language, self->dot_graph_file); \ + fputs("\n\n", self->dot_graph_file); \ + } + +#define LOG_TREE(tree) \ + if (self->dot_graph_file) { \ + ts_subtree_print_dot_graph(tree, self->language, self->dot_graph_file); \ + fputs("\n", self->dot_graph_file); \ + } + +#define SYM_NAME(symbol) ts_language_symbol_name(self->language, symbol) + +#define TREE_NAME(tree) SYM_NAME(ts_subtree_symbol(tree)) + +static const unsigned MAX_VERSION_COUNT = 6; +static const unsigned MAX_VERSION_COUNT_OVERFLOW = 4; +static const unsigned MAX_SUMMARY_DEPTH = 16; +static const unsigned MAX_COST_DIFFERENCE = 18 * ERROR_COST_PER_SKIPPED_TREE; +static const unsigned OP_COUNT_PER_PARSER_TIMEOUT_CHECK = 100; + +typedef struct { + Subtree token; + Subtree last_external_token; + uint32_t byte_index; +} TokenCache; + +struct TSParser { + Lexer lexer; + Stack *stack; + SubtreePool tree_pool; + const TSLanguage *language; + TSWasmStore *wasm_store; + ReduceActionSet reduce_actions; + Subtree finished_tree; + SubtreeArray trailing_extras; + SubtreeArray trailing_extras2; + SubtreeArray scratch_trees; + TokenCache token_cache; + ReusableNode reusable_node; + void *external_scanner_payload; + FILE *dot_graph_file; + TSClock end_clock; + TSDuration timeout_duration; + unsigned accept_count; + unsigned operation_count; + const volatile size_t *cancellation_flag; + Subtree old_tree; + TSRangeArray included_range_differences; + TSParseOptions parse_options; + TSParseState parse_state; + unsigned included_range_difference_index; + bool has_scanner_error; + bool canceled_balancing; + bool has_error; +}; + +typedef struct { + unsigned cost; + unsigned node_count; + int dynamic_precedence; + bool is_in_error; +} ErrorStatus; + +typedef enum { + ErrorComparisonTakeLeft, + ErrorComparisonPreferLeft, + ErrorComparisonNone, + ErrorComparisonPreferRight, + ErrorComparisonTakeRight, +} ErrorComparison; + +typedef struct { + const char *string; + uint32_t length; +} TSStringInput; + +// StringInput + +static const char *ts_string_input_read( + void *_self, + uint32_t byte, + TSPoint point, + uint32_t *length +) { + (void)point; + TSStringInput *self = (TSStringInput *)_self; + if (byte >= self->length) { + *length = 0; + return ""; + } else { + *length = self->length - byte; + return self->string + byte; + } +} + +// Parser - Private + +static void ts_parser__log(TSParser *self) { + if (self->lexer.logger.log) { + self->lexer.logger.log( + self->lexer.logger.payload, + TSLogTypeParse, + self->lexer.debug_buffer + ); + } + + if (self->dot_graph_file) { + fprintf(self->dot_graph_file, "graph {\nlabel=\""); + for (char *chr = &self->lexer.debug_buffer[0]; *chr != 0; chr++) { + if (*chr == '"' || *chr == '\\') fputc('\\', self->dot_graph_file); + fputc(*chr, self->dot_graph_file); + } + fprintf(self->dot_graph_file, "\"\n}\n\n"); + } +} + +static bool ts_parser__breakdown_top_of_stack( + TSParser *self, + StackVersion version +) { + bool did_break_down = false; + bool pending = false; + + do { + StackSliceArray pop = ts_stack_pop_pending(self->stack, version); + if (!pop.size) break; + + did_break_down = true; + pending = false; + for (uint32_t i = 0; i < pop.size; i++) { + StackSlice slice = *array_get(&pop, i); + TSStateId state = ts_stack_state(self->stack, slice.version); + Subtree parent = *array_front(&slice.subtrees); + + for (uint32_t j = 0, n = ts_subtree_child_count(parent); j < n; j++) { + Subtree child = ts_subtree_children(parent)[j]; + pending = ts_subtree_child_count(child) > 0; + + if (ts_subtree_is_error(child)) { + state = ERROR_STATE; + } else if (!ts_subtree_extra(child)) { + state = ts_language_next_state(self->language, state, ts_subtree_symbol(child)); + } + + ts_subtree_retain(child); + ts_stack_push(self->stack, slice.version, child, pending, state); + } + + for (uint32_t j = 1; j < slice.subtrees.size; j++) { + Subtree tree = *array_get(&slice.subtrees, j); + ts_stack_push(self->stack, slice.version, tree, false, state); + } + + ts_subtree_release(&self->tree_pool, parent); + array_delete(&slice.subtrees); + + LOG("breakdown_top_of_stack tree:%s", TREE_NAME(parent)); + LOG_STACK(); + } + } while (pending); + + return did_break_down; +} + +static void ts_parser__breakdown_lookahead( + TSParser *self, + Subtree *lookahead, + TSStateId state, + ReusableNode *reusable_node +) { + bool did_descend = false; + Subtree tree = reusable_node_tree(reusable_node); + while (ts_subtree_child_count(tree) > 0 && ts_subtree_parse_state(tree) != state) { + LOG("state_mismatch sym:%s", TREE_NAME(tree)); + reusable_node_descend(reusable_node); + tree = reusable_node_tree(reusable_node); + did_descend = true; + } + + if (did_descend) { + ts_subtree_release(&self->tree_pool, *lookahead); + *lookahead = tree; + ts_subtree_retain(*lookahead); + } +} + +static ErrorComparison ts_parser__compare_versions( + TSParser *self, + ErrorStatus a, + ErrorStatus b +) { + (void)self; + if (!a.is_in_error && b.is_in_error) { + if (a.cost < b.cost) { + return ErrorComparisonTakeLeft; + } else { + return ErrorComparisonPreferLeft; + } + } + + if (a.is_in_error && !b.is_in_error) { + if (b.cost < a.cost) { + return ErrorComparisonTakeRight; + } else { + return ErrorComparisonPreferRight; + } + } + + if (a.cost < b.cost) { + if ((b.cost - a.cost) * (1 + a.node_count) > MAX_COST_DIFFERENCE) { + return ErrorComparisonTakeLeft; + } else { + return ErrorComparisonPreferLeft; + } + } + + if (b.cost < a.cost) { + if ((a.cost - b.cost) * (1 + b.node_count) > MAX_COST_DIFFERENCE) { + return ErrorComparisonTakeRight; + } else { + return ErrorComparisonPreferRight; + } + } + + if (a.dynamic_precedence > b.dynamic_precedence) return ErrorComparisonPreferLeft; + if (b.dynamic_precedence > a.dynamic_precedence) return ErrorComparisonPreferRight; + return ErrorComparisonNone; +} + +static ErrorStatus ts_parser__version_status( + TSParser *self, + StackVersion version +) { + unsigned cost = ts_stack_error_cost(self->stack, version); + bool is_paused = ts_stack_is_paused(self->stack, version); + if (is_paused) cost += ERROR_COST_PER_SKIPPED_TREE; + return (ErrorStatus) { + .cost = cost, + .node_count = ts_stack_node_count_since_error(self->stack, version), + .dynamic_precedence = ts_stack_dynamic_precedence(self->stack, version), + .is_in_error = is_paused || ts_stack_state(self->stack, version) == ERROR_STATE + }; +} + +static bool ts_parser__better_version_exists( + TSParser *self, + StackVersion version, + bool is_in_error, + unsigned cost +) { + if (self->finished_tree.ptr && ts_subtree_error_cost(self->finished_tree) <= cost) { + return true; + } + + Length position = ts_stack_position(self->stack, version); + ErrorStatus status = { + .cost = cost, + .is_in_error = is_in_error, + .dynamic_precedence = ts_stack_dynamic_precedence(self->stack, version), + .node_count = ts_stack_node_count_since_error(self->stack, version), + }; + + for (StackVersion i = 0, n = ts_stack_version_count(self->stack); i < n; i++) { + if (i == version || + !ts_stack_is_active(self->stack, i) || + ts_stack_position(self->stack, i).bytes < position.bytes) continue; + ErrorStatus status_i = ts_parser__version_status(self, i); + switch (ts_parser__compare_versions(self, status, status_i)) { + case ErrorComparisonTakeRight: + return true; + case ErrorComparisonPreferRight: + if (ts_stack_can_merge(self->stack, i, version)) return true; + break; + default: + break; + } + } + + return false; +} + +static bool ts_parser__call_main_lex_fn(TSParser *self, TSLexerMode lex_mode) { + if (ts_language_is_wasm(self->language)) { + return ts_wasm_store_call_lex_main(self->wasm_store, lex_mode.lex_state); + } else { + return self->language->lex_fn(&self->lexer.data, lex_mode.lex_state); + } +} + +static bool ts_parser__call_keyword_lex_fn(TSParser *self) { + if (ts_language_is_wasm(self->language)) { + return ts_wasm_store_call_lex_keyword(self->wasm_store, 0); + } else { + return self->language->keyword_lex_fn(&self->lexer.data, 0); + } +} + +static void ts_parser__external_scanner_create( + TSParser *self +) { + if (self->language && self->language->external_scanner.states) { + if (ts_language_is_wasm(self->language)) { + self->external_scanner_payload = (void *)(uintptr_t)ts_wasm_store_call_scanner_create( + self->wasm_store + ); + if (ts_wasm_store_has_error(self->wasm_store)) { + self->has_scanner_error = true; + } + } else if (self->language->external_scanner.create) { + self->external_scanner_payload = self->language->external_scanner.create(); + } + } +} + +static void ts_parser__external_scanner_destroy( + TSParser *self +) { + if ( + self->language && + self->external_scanner_payload && + self->language->external_scanner.destroy && + !ts_language_is_wasm(self->language) + ) { + self->language->external_scanner.destroy( + self->external_scanner_payload + ); + } + self->external_scanner_payload = NULL; +} + +static unsigned ts_parser__external_scanner_serialize( + TSParser *self +) { + if (ts_language_is_wasm(self->language)) { + return ts_wasm_store_call_scanner_serialize( + self->wasm_store, + (uintptr_t)self->external_scanner_payload, + self->lexer.debug_buffer + ); + } else { + uint32_t length = self->language->external_scanner.serialize( + self->external_scanner_payload, + self->lexer.debug_buffer + ); + ts_assert(length <= TREE_SITTER_SERIALIZATION_BUFFER_SIZE); + return length; + } +} + +static void ts_parser__external_scanner_deserialize( + TSParser *self, + Subtree external_token +) { + const char *data = NULL; + uint32_t length = 0; + if (external_token.ptr) { + data = ts_external_scanner_state_data(&external_token.ptr->external_scanner_state); + length = external_token.ptr->external_scanner_state.length; + } + + if (ts_language_is_wasm(self->language)) { + ts_wasm_store_call_scanner_deserialize( + self->wasm_store, + (uintptr_t)self->external_scanner_payload, + data, + length + ); + if (ts_wasm_store_has_error(self->wasm_store)) { + self->has_scanner_error = true; + } + } else { + self->language->external_scanner.deserialize( + self->external_scanner_payload, + data, + length + ); + } +} + +static bool ts_parser__external_scanner_scan( + TSParser *self, + TSStateId external_lex_state +) { + if (ts_language_is_wasm(self->language)) { + bool result = ts_wasm_store_call_scanner_scan( + self->wasm_store, + (uintptr_t)self->external_scanner_payload, + external_lex_state * self->language->external_token_count + ); + if (ts_wasm_store_has_error(self->wasm_store)) { + self->has_scanner_error = true; + } + return result; + } else { + const bool *valid_external_tokens = ts_language_enabled_external_tokens( + self->language, + external_lex_state + ); + return self->language->external_scanner.scan( + self->external_scanner_payload, + &self->lexer.data, + valid_external_tokens + ); + } +} + +static bool ts_parser__can_reuse_first_leaf( + TSParser *self, + TSStateId state, + Subtree tree, + TableEntry *table_entry +) { + TSSymbol leaf_symbol = ts_subtree_leaf_symbol(tree); + TSStateId leaf_state = ts_subtree_leaf_parse_state(tree); + TSLexerMode current_lex_mode = ts_language_lex_mode_for_state(self->language, state); + TSLexerMode leaf_lex_mode = ts_language_lex_mode_for_state(self->language, leaf_state); + + // At the end of a non-terminal extra node, the lexer normally returns + // NULL, which indicates that the parser should look for a reduce action + // at symbol `0`. Avoid reusing tokens in this situation to ensure that + // the same thing happens when incrementally reparsing. + if (current_lex_mode.lex_state == (uint16_t)(-1)) return false; + + // If the token was created in a state with the same set of lookaheads, it is reusable. + if ( + table_entry->action_count > 0 && + memcmp(&leaf_lex_mode, ¤t_lex_mode, sizeof(TSLexerMode)) == 0 && + ( + leaf_symbol != self->language->keyword_capture_token || + (!ts_subtree_is_keyword(tree) && ts_subtree_parse_state(tree) == state) + ) + ) return true; + + // Empty tokens are not reusable in states with different lookaheads. + if (ts_subtree_size(tree).bytes == 0 && leaf_symbol != ts_builtin_sym_end) return false; + + // If the current state allows external tokens or other tokens that conflict with this + // token, this token is not reusable. + return current_lex_mode.external_lex_state == 0 && table_entry->is_reusable; +} + +static Subtree ts_parser__lex( + TSParser *self, + StackVersion version, + TSStateId parse_state +) { + TSLexerMode lex_mode = ts_language_lex_mode_for_state(self->language, parse_state); + if (lex_mode.lex_state == (uint16_t)-1) { + LOG("no_lookahead_after_non_terminal_extra"); + return NULL_SUBTREE; + } + + const Length start_position = ts_stack_position(self->stack, version); + const Subtree external_token = ts_stack_last_external_token(self->stack, version); + + bool found_external_token = false; + bool error_mode = parse_state == ERROR_STATE; + bool skipped_error = false; + bool called_get_column = false; + int32_t first_error_character = 0; + Length error_start_position = length_zero(); + Length error_end_position = length_zero(); + uint32_t lookahead_end_byte = 0; + uint32_t external_scanner_state_len = 0; + bool external_scanner_state_changed = false; + ts_lexer_reset(&self->lexer, start_position); + + for (;;) { + bool found_token = false; + Length current_position = self->lexer.current_position; + ColumnData column_data = self->lexer.column_data; + + if (lex_mode.external_lex_state != 0) { + LOG( + "lex_external state:%d, row:%u, column:%u", + lex_mode.external_lex_state, + current_position.extent.row, + current_position.extent.column + ); + ts_lexer_start(&self->lexer); + ts_parser__external_scanner_deserialize(self, external_token); + found_token = ts_parser__external_scanner_scan(self, lex_mode.external_lex_state); + if (self->has_scanner_error) return NULL_SUBTREE; + ts_lexer_finish(&self->lexer, &lookahead_end_byte); + + if (found_token) { + external_scanner_state_len = ts_parser__external_scanner_serialize(self); + external_scanner_state_changed = !ts_external_scanner_state_eq( + ts_subtree_external_scanner_state(external_token), + self->lexer.debug_buffer, + external_scanner_state_len + ); + + // Avoid infinite loops caused by the external scanner returning empty tokens. + // Empty tokens are needed in some circumstances, e.g. indent/dedent tokens + // in Python. Ignore the following classes of empty tokens: + // + // * Tokens produced during error recovery. When recovering from an error, + // all tokens are allowed, so it's easy to accidentally return unwanted + // empty tokens. + // * Tokens that are marked as 'extra' in the grammar. These don't change + // the parse state, so they would definitely cause an infinite loop. + if ( + self->lexer.token_end_position.bytes <= current_position.bytes && + !external_scanner_state_changed + ) { + TSSymbol symbol = self->language->external_scanner.symbol_map[self->lexer.data.result_symbol]; + TSStateId next_parse_state = ts_language_next_state(self->language, parse_state, symbol); + bool token_is_extra = (next_parse_state == parse_state); + if (error_mode || !ts_stack_has_advanced_since_error(self->stack, version) || token_is_extra) { + LOG( + "ignore_empty_external_token symbol:%s", + SYM_NAME(self->language->external_scanner.symbol_map[self->lexer.data.result_symbol]) + ); + found_token = false; + } + } + } + + if (found_token) { + found_external_token = true; + called_get_column = self->lexer.did_get_column; + break; + } + + ts_lexer_reset(&self->lexer, current_position); + self->lexer.column_data = column_data; + } + + LOG( + "lex_internal state:%d, row:%u, column:%u", + lex_mode.lex_state, + current_position.extent.row, + current_position.extent.column + ); + ts_lexer_start(&self->lexer); + found_token = ts_parser__call_main_lex_fn(self, lex_mode); + ts_lexer_finish(&self->lexer, &lookahead_end_byte); + if (found_token) break; + + if (!error_mode) { + error_mode = true; + lex_mode = ts_language_lex_mode_for_state(self->language, ERROR_STATE); + ts_lexer_reset(&self->lexer, start_position); + continue; + } + + if (!skipped_error) { + LOG("skip_unrecognized_character"); + skipped_error = true; + error_start_position = self->lexer.token_start_position; + error_end_position = self->lexer.token_start_position; + first_error_character = self->lexer.data.lookahead; + } + + if (self->lexer.current_position.bytes == error_end_position.bytes) { + if (self->lexer.data.eof(&self->lexer.data)) { + self->lexer.data.result_symbol = ts_builtin_sym_error; + break; + } + self->lexer.data.advance(&self->lexer.data, false); + } + + error_end_position = self->lexer.current_position; + } + + Subtree result; + if (skipped_error) { + Length padding = length_sub(error_start_position, start_position); + Length size = length_sub(error_end_position, error_start_position); + uint32_t lookahead_bytes = lookahead_end_byte - error_end_position.bytes; + result = ts_subtree_new_error( + &self->tree_pool, + first_error_character, + padding, + size, + lookahead_bytes, + parse_state, + self->language + ); + } else { + bool is_keyword = false; + TSSymbol symbol = self->lexer.data.result_symbol; + Length padding = length_sub(self->lexer.token_start_position, start_position); + Length size = length_sub(self->lexer.token_end_position, self->lexer.token_start_position); + uint32_t lookahead_bytes = lookahead_end_byte - self->lexer.token_end_position.bytes; + + if (found_external_token) { + symbol = self->language->external_scanner.symbol_map[symbol]; + } else if (symbol == self->language->keyword_capture_token && symbol != 0) { + uint32_t end_byte = self->lexer.token_end_position.bytes; + ts_lexer_reset(&self->lexer, self->lexer.token_start_position); + ts_lexer_start(&self->lexer); + + is_keyword = ts_parser__call_keyword_lex_fn(self); + + if ( + is_keyword && + self->lexer.token_end_position.bytes == end_byte && + ( + ts_language_has_actions(self->language, parse_state, self->lexer.data.result_symbol) || + ts_language_is_reserved_word(self->language, parse_state, self->lexer.data.result_symbol) + ) + ) { + symbol = self->lexer.data.result_symbol; + } + } + + result = ts_subtree_new_leaf( + &self->tree_pool, + symbol, + padding, + size, + lookahead_bytes, + parse_state, + found_external_token, + called_get_column, + is_keyword, + self->language + ); + + if (found_external_token) { + MutableSubtree mut_result = ts_subtree_to_mut_unsafe(result); + ts_external_scanner_state_init( + &mut_result.ptr->external_scanner_state, + self->lexer.debug_buffer, + external_scanner_state_len + ); + mut_result.ptr->has_external_scanner_state_change = external_scanner_state_changed; + } + } + + LOG_LOOKAHEAD( + SYM_NAME(ts_subtree_symbol(result)), + ts_subtree_total_size(result).bytes + ); + return result; +} + +static Subtree ts_parser__get_cached_token( + TSParser *self, + TSStateId state, + size_t position, + Subtree last_external_token, + TableEntry *table_entry +) { + TokenCache *cache = &self->token_cache; + if ( + cache->token.ptr && cache->byte_index == position && + ts_subtree_external_scanner_state_eq(cache->last_external_token, last_external_token) + ) { + ts_language_table_entry(self->language, state, ts_subtree_symbol(cache->token), table_entry); + if (ts_parser__can_reuse_first_leaf(self, state, cache->token, table_entry)) { + ts_subtree_retain(cache->token); + return cache->token; + } + } + return NULL_SUBTREE; +} + +static void ts_parser__set_cached_token( + TSParser *self, + uint32_t byte_index, + Subtree last_external_token, + Subtree token +) { + TokenCache *cache = &self->token_cache; + if (token.ptr) ts_subtree_retain(token); + if (last_external_token.ptr) ts_subtree_retain(last_external_token); + if (cache->token.ptr) ts_subtree_release(&self->tree_pool, cache->token); + if (cache->last_external_token.ptr) ts_subtree_release(&self->tree_pool, cache->last_external_token); + cache->token = token; + cache->byte_index = byte_index; + cache->last_external_token = last_external_token; +} + +static bool ts_parser__has_included_range_difference( + const TSParser *self, + uint32_t start_position, + uint32_t end_position +) { + return ts_range_array_intersects( + &self->included_range_differences, + self->included_range_difference_index, + start_position, + end_position + ); +} + +static Subtree ts_parser__reuse_node( + TSParser *self, + StackVersion version, + TSStateId *state, + uint32_t position, + Subtree last_external_token, + TableEntry *table_entry +) { + Subtree result; + while ((result = reusable_node_tree(&self->reusable_node)).ptr) { + uint32_t byte_offset = reusable_node_byte_offset(&self->reusable_node); + uint32_t end_byte_offset = byte_offset + ts_subtree_total_bytes(result); + + // Do not reuse an EOF node if the included ranges array has changes + // later on in the file. + if (ts_subtree_is_eof(result)) end_byte_offset = UINT32_MAX; + + if (byte_offset > position) { + LOG("before_reusable_node symbol:%s", TREE_NAME(result)); + break; + } + + if (byte_offset < position) { + LOG("past_reusable_node symbol:%s", TREE_NAME(result)); + if (end_byte_offset <= position || !reusable_node_descend(&self->reusable_node)) { + reusable_node_advance(&self->reusable_node); + } + continue; + } + + if (!ts_subtree_external_scanner_state_eq(self->reusable_node.last_external_token, last_external_token)) { + LOG("reusable_node_has_different_external_scanner_state symbol:%s", TREE_NAME(result)); + reusable_node_advance(&self->reusable_node); + continue; + } + + const char *reason = NULL; + if (ts_subtree_has_changes(result)) { + reason = "has_changes"; + } else if (ts_subtree_is_error(result)) { + reason = "is_error"; + } else if (ts_subtree_missing(result)) { + reason = "is_missing"; + } else if (ts_subtree_is_fragile(result)) { + reason = "is_fragile"; + } else if (ts_parser__has_included_range_difference(self, byte_offset, end_byte_offset)) { + reason = "contains_different_included_range"; + } + + if (reason) { + LOG("cant_reuse_node_%s tree:%s", reason, TREE_NAME(result)); + if (!reusable_node_descend(&self->reusable_node)) { + reusable_node_advance(&self->reusable_node); + ts_parser__breakdown_top_of_stack(self, version); + *state = ts_stack_state(self->stack, version); + } + continue; + } + + TSSymbol leaf_symbol = ts_subtree_leaf_symbol(result); + ts_language_table_entry(self->language, *state, leaf_symbol, table_entry); + if (!ts_parser__can_reuse_first_leaf(self, *state, result, table_entry)) { + LOG( + "cant_reuse_node symbol:%s, first_leaf_symbol:%s", + TREE_NAME(result), + SYM_NAME(leaf_symbol) + ); + reusable_node_advance_past_leaf(&self->reusable_node); + break; + } + + LOG("reuse_node symbol:%s", TREE_NAME(result)); + ts_subtree_retain(result); + return result; + } + + return NULL_SUBTREE; +} + +// Determine if a given tree should be replaced by an alternative tree. +// +// The decision is based on the trees' error costs (if any), their dynamic precedence, +// and finally, as a default, by a recursive comparison of the trees' symbols. +static bool ts_parser__select_tree(TSParser *self, Subtree left, Subtree right) { + if (!left.ptr) return true; + if (!right.ptr) return false; + + if (ts_subtree_error_cost(right) < ts_subtree_error_cost(left)) { + LOG("select_smaller_error symbol:%s, over_symbol:%s", TREE_NAME(right), TREE_NAME(left)); + return true; + } + + if (ts_subtree_error_cost(left) < ts_subtree_error_cost(right)) { + LOG("select_smaller_error symbol:%s, over_symbol:%s", TREE_NAME(left), TREE_NAME(right)); + return false; + } + + if (ts_subtree_dynamic_precedence(right) > ts_subtree_dynamic_precedence(left)) { + LOG("select_higher_precedence symbol:%s, prec:%" PRId32 ", over_symbol:%s, other_prec:%" PRId32, + TREE_NAME(right), ts_subtree_dynamic_precedence(right), TREE_NAME(left), + ts_subtree_dynamic_precedence(left)); + return true; + } + + if (ts_subtree_dynamic_precedence(left) > ts_subtree_dynamic_precedence(right)) { + LOG("select_higher_precedence symbol:%s, prec:%" PRId32 ", over_symbol:%s, other_prec:%" PRId32, + TREE_NAME(left), ts_subtree_dynamic_precedence(left), TREE_NAME(right), + ts_subtree_dynamic_precedence(right)); + return false; + } + + if (ts_subtree_error_cost(left) > 0) return true; + + int comparison = ts_subtree_compare(left, right, &self->tree_pool); + switch (comparison) { + case -1: + LOG("select_earlier symbol:%s, over_symbol:%s", TREE_NAME(left), TREE_NAME(right)); + return false; + break; + case 1: + LOG("select_earlier symbol:%s, over_symbol:%s", TREE_NAME(right), TREE_NAME(left)); + return true; + default: + LOG("select_existing symbol:%s, over_symbol:%s", TREE_NAME(left), TREE_NAME(right)); + return false; + } +} + +// Determine if a given tree's children should be replaced by an alternative +// array of children. +static bool ts_parser__select_children( + TSParser *self, + Subtree left, + const SubtreeArray *children +) { + array_assign(&self->scratch_trees, children); + + // Create a temporary subtree using the scratch trees array. This node does + // not perform any allocation except for possibly growing the array to make + // room for its own heap data. The scratch tree is never explicitly released, + // so the same 'scratch trees' array can be reused again later. + MutableSubtree scratch_tree = ts_subtree_new_node( + ts_subtree_symbol(left), + &self->scratch_trees, + 0, + self->language + ); + + return ts_parser__select_tree( + self, + left, + ts_subtree_from_mut(scratch_tree) + ); +} + +static void ts_parser__shift( + TSParser *self, + StackVersion version, + TSStateId state, + Subtree lookahead, + bool extra +) { + bool is_leaf = ts_subtree_child_count(lookahead) == 0; + Subtree subtree_to_push = lookahead; + if (extra != ts_subtree_extra(lookahead) && is_leaf) { + MutableSubtree result = ts_subtree_make_mut(&self->tree_pool, lookahead); + ts_subtree_set_extra(&result, extra); + subtree_to_push = ts_subtree_from_mut(result); + } + + ts_stack_push(self->stack, version, subtree_to_push, !is_leaf, state); + if (ts_subtree_has_external_tokens(subtree_to_push)) { + ts_stack_set_last_external_token( + self->stack, version, ts_subtree_last_external_token(subtree_to_push) + ); + } +} + +static StackVersion ts_parser__reduce( + TSParser *self, + StackVersion version, + TSSymbol symbol, + uint32_t count, + int dynamic_precedence, + uint16_t production_id, + bool is_fragile, + bool end_of_non_terminal_extra +) { + uint32_t initial_version_count = ts_stack_version_count(self->stack); + + // Pop the given number of nodes from the given version of the parse stack. + // If stack versions have previously merged, then there may be more than one + // path back through the stack. For each path, create a new parent node to + // contain the popped children, and push it onto the stack in place of the + // children. + StackSliceArray pop = ts_stack_pop_count(self->stack, version, count); + uint32_t removed_version_count = 0; + uint32_t halted_version_count = ts_stack_halted_version_count(self->stack); + for (uint32_t i = 0; i < pop.size; i++) { + StackSlice slice = *array_get(&pop, i); + StackVersion slice_version = slice.version - removed_version_count; + + // This is where new versions are added to the parse stack. The versions + // will all be sorted and truncated at the end of the outer parsing loop. + // Allow the maximum version count to be temporarily exceeded, but only + // by a limited threshold. + if (slice_version > MAX_VERSION_COUNT + MAX_VERSION_COUNT_OVERFLOW + halted_version_count) { + ts_stack_remove_version(self->stack, slice_version); + ts_subtree_array_delete(&self->tree_pool, &slice.subtrees); + removed_version_count++; + while (i + 1 < pop.size) { + LOG("aborting reduce with too many versions") + StackSlice next_slice = *array_get(&pop, i + 1); + if (next_slice.version != slice.version) break; + ts_subtree_array_delete(&self->tree_pool, &next_slice.subtrees); + i++; + } + continue; + } + + // Extra tokens on top of the stack should not be included in this new parent + // node. They will be re-pushed onto the stack after the parent node is + // created and pushed. + SubtreeArray children = slice.subtrees; + ts_subtree_array_remove_trailing_extras(&children, &self->trailing_extras); + + MutableSubtree parent = ts_subtree_new_node( + symbol, &children, production_id, self->language + ); + + // This pop operation may have caused multiple stack versions to collapse + // into one, because they all diverged from a common state. In that case, + // choose one of the arrays of trees to be the parent node's children, and + // delete the rest of the tree arrays. + while (i + 1 < pop.size) { + StackSlice next_slice = *array_get(&pop, i + 1); + if (next_slice.version != slice.version) break; + i++; + + SubtreeArray next_slice_children = next_slice.subtrees; + ts_subtree_array_remove_trailing_extras(&next_slice_children, &self->trailing_extras2); + + if (ts_parser__select_children( + self, + ts_subtree_from_mut(parent), + &next_slice_children + )) { + ts_subtree_array_clear(&self->tree_pool, &self->trailing_extras); + ts_subtree_release(&self->tree_pool, ts_subtree_from_mut(parent)); + array_swap(&self->trailing_extras, &self->trailing_extras2); + parent = ts_subtree_new_node( + symbol, &next_slice_children, production_id, self->language + ); + } else { + array_clear(&self->trailing_extras2); + ts_subtree_array_delete(&self->tree_pool, &next_slice.subtrees); + } + } + + TSStateId state = ts_stack_state(self->stack, slice_version); + TSStateId next_state = ts_language_next_state(self->language, state, symbol); + if (end_of_non_terminal_extra && next_state == state) { + parent.ptr->extra = true; + } + if (is_fragile || pop.size > 1 || initial_version_count > 1) { + parent.ptr->fragile_left = true; + parent.ptr->fragile_right = true; + parent.ptr->parse_state = TS_TREE_STATE_NONE; + } else { + parent.ptr->parse_state = state; + } + parent.ptr->dynamic_precedence += dynamic_precedence; + + // Push the parent node onto the stack, along with any extra tokens that + // were previously on top of the stack. + ts_stack_push(self->stack, slice_version, ts_subtree_from_mut(parent), false, next_state); + for (uint32_t j = 0; j < self->trailing_extras.size; j++) { + ts_stack_push(self->stack, slice_version, *array_get(&self->trailing_extras, j), false, next_state); + } + + for (StackVersion j = 0; j < slice_version; j++) { + if (j == version) continue; + if (ts_stack_merge(self->stack, j, slice_version)) { + removed_version_count++; + break; + } + } + } + + // Return the first new stack version that was created. + return ts_stack_version_count(self->stack) > initial_version_count + ? initial_version_count + : STACK_VERSION_NONE; +} + +static void ts_parser__accept( + TSParser *self, + StackVersion version, + Subtree lookahead +) { + ts_assert(ts_subtree_is_eof(lookahead)); + ts_stack_push(self->stack, version, lookahead, false, 1); + + StackSliceArray pop = ts_stack_pop_all(self->stack, version); + for (uint32_t i = 0; i < pop.size; i++) { + SubtreeArray trees = array_get(&pop, i)->subtrees; + + Subtree root = NULL_SUBTREE; + for (uint32_t j = trees.size - 1; j + 1 > 0; j--) { + Subtree tree = *array_get(&trees, j); + if (!ts_subtree_extra(tree)) { + ts_assert(!tree.data.is_inline); + uint32_t child_count = ts_subtree_child_count(tree); + const Subtree *children = ts_subtree_children(tree); + for (uint32_t k = 0; k < child_count; k++) { + ts_subtree_retain(children[k]); + } + array_splice(&trees, j, 1, child_count, children); + root = ts_subtree_from_mut(ts_subtree_new_node( + ts_subtree_symbol(tree), + &trees, + tree.ptr->production_id, + self->language + )); + ts_subtree_release(&self->tree_pool, tree); + break; + } + } + + ts_assert(root.ptr); + self->accept_count++; + + if (self->finished_tree.ptr) { + if (ts_parser__select_tree(self, self->finished_tree, root)) { + ts_subtree_release(&self->tree_pool, self->finished_tree); + self->finished_tree = root; + } else { + ts_subtree_release(&self->tree_pool, root); + } + } else { + self->finished_tree = root; + } + } + + ts_stack_remove_version(self->stack, array_get(&pop, 0)->version); + ts_stack_halt(self->stack, version); +} + +static bool ts_parser__do_all_potential_reductions( + TSParser *self, + StackVersion starting_version, + TSSymbol lookahead_symbol +) { + uint32_t initial_version_count = ts_stack_version_count(self->stack); + + bool can_shift_lookahead_symbol = false; + StackVersion version = starting_version; + for (unsigned i = 0; true; i++) { + uint32_t version_count = ts_stack_version_count(self->stack); + if (version >= version_count) break; + + bool merged = false; + for (StackVersion j = initial_version_count; j < version; j++) { + if (ts_stack_merge(self->stack, j, version)) { + merged = true; + break; + } + } + if (merged) continue; + + TSStateId state = ts_stack_state(self->stack, version); + bool has_shift_action = false; + array_clear(&self->reduce_actions); + + TSSymbol first_symbol, end_symbol; + if (lookahead_symbol != 0) { + first_symbol = lookahead_symbol; + end_symbol = lookahead_symbol + 1; + } else { + first_symbol = 1; + end_symbol = self->language->token_count; + } + + for (TSSymbol symbol = first_symbol; symbol < end_symbol; symbol++) { + TableEntry entry; + ts_language_table_entry(self->language, state, symbol, &entry); + for (uint32_t j = 0; j < entry.action_count; j++) { + TSParseAction action = entry.actions[j]; + switch (action.type) { + case TSParseActionTypeShift: + case TSParseActionTypeRecover: + if (!action.shift.extra && !action.shift.repetition) has_shift_action = true; + break; + case TSParseActionTypeReduce: + if (action.reduce.child_count > 0) + ts_reduce_action_set_add(&self->reduce_actions, (ReduceAction) { + .symbol = action.reduce.symbol, + .count = action.reduce.child_count, + .dynamic_precedence = action.reduce.dynamic_precedence, + .production_id = action.reduce.production_id, + }); + break; + default: + break; + } + } + } + + StackVersion reduction_version = STACK_VERSION_NONE; + for (uint32_t j = 0; j < self->reduce_actions.size; j++) { + ReduceAction action = *array_get(&self->reduce_actions, j); + + reduction_version = ts_parser__reduce( + self, version, action.symbol, action.count, + action.dynamic_precedence, action.production_id, + true, false + ); + } + + if (has_shift_action) { + can_shift_lookahead_symbol = true; + } else if (reduction_version != STACK_VERSION_NONE && i < MAX_VERSION_COUNT) { + ts_stack_renumber_version(self->stack, reduction_version, version); + continue; + } else if (lookahead_symbol != 0) { + ts_stack_remove_version(self->stack, version); + } + + if (version == starting_version) { + version = version_count; + } else { + version++; + } + } + + return can_shift_lookahead_symbol; +} + +static bool ts_parser__recover_to_state( + TSParser *self, + StackVersion version, + unsigned depth, + TSStateId goal_state +) { + StackSliceArray pop = ts_stack_pop_count(self->stack, version, depth); + StackVersion previous_version = STACK_VERSION_NONE; + + for (unsigned i = 0; i < pop.size; i++) { + StackSlice slice = *array_get(&pop, i); + + if (slice.version == previous_version) { + ts_subtree_array_delete(&self->tree_pool, &slice.subtrees); + array_erase(&pop, i--); + continue; + } + + if (ts_stack_state(self->stack, slice.version) != goal_state) { + ts_stack_halt(self->stack, slice.version); + ts_subtree_array_delete(&self->tree_pool, &slice.subtrees); + array_erase(&pop, i--); + continue; + } + + SubtreeArray error_trees = ts_stack_pop_error(self->stack, slice.version); + if (error_trees.size > 0) { + ts_assert(error_trees.size == 1); + Subtree error_tree = *array_get(&error_trees, 0); + uint32_t error_child_count = ts_subtree_child_count(error_tree); + if (error_child_count > 0) { + array_splice(&slice.subtrees, 0, 0, error_child_count, ts_subtree_children(error_tree)); + for (unsigned j = 0; j < error_child_count; j++) { + ts_subtree_retain(*array_get(&slice.subtrees, j)); + } + } + ts_subtree_array_delete(&self->tree_pool, &error_trees); + } + + ts_subtree_array_remove_trailing_extras(&slice.subtrees, &self->trailing_extras); + + if (slice.subtrees.size > 0) { + Subtree error = ts_subtree_new_error_node(&slice.subtrees, true, self->language); + ts_stack_push(self->stack, slice.version, error, false, goal_state); + } else { + array_delete(&slice.subtrees); + } + + for (unsigned j = 0; j < self->trailing_extras.size; j++) { + Subtree tree = *array_get(&self->trailing_extras, j); + ts_stack_push(self->stack, slice.version, tree, false, goal_state); + } + + previous_version = slice.version; + } + + return previous_version != STACK_VERSION_NONE; +} + +static void ts_parser__recover( + TSParser *self, + StackVersion version, + Subtree lookahead +) { + bool did_recover = false; + unsigned previous_version_count = ts_stack_version_count(self->stack); + Length position = ts_stack_position(self->stack, version); + StackSummary *summary = ts_stack_get_summary(self->stack, version); + unsigned node_count_since_error = ts_stack_node_count_since_error(self->stack, version); + unsigned current_error_cost = ts_stack_error_cost(self->stack, version); + + // When the parser is in the error state, there are two strategies for recovering with a + // given lookahead token: + // 1. Find a previous state on the stack in which that lookahead token would be valid. Then, + // create a new stack version that is in that state again. This entails popping all of the + // subtrees that have been pushed onto the stack since that previous state, and wrapping + // them in an ERROR node. + // 2. Wrap the lookahead token in an ERROR node, push that ERROR node onto the stack, and + // move on to the next lookahead token, remaining in the error state. + // + // First, try the strategy 1. Upon entering the error state, the parser recorded a summary + // of the previous parse states and their depths. Look at each state in the summary, to see + // if the current lookahead token would be valid in that state. + if (summary && !ts_subtree_is_error(lookahead)) { + for (unsigned i = 0; i < summary->size; i++) { + StackSummaryEntry entry = *array_get(summary, i); + + if (entry.state == ERROR_STATE) continue; + if (entry.position.bytes == position.bytes) continue; + unsigned depth = entry.depth; + if (node_count_since_error > 0) depth++; + + // Do not recover in ways that create redundant stack versions. + bool would_merge = false; + for (unsigned j = 0; j < previous_version_count; j++) { + if ( + ts_stack_state(self->stack, j) == entry.state && + ts_stack_position(self->stack, j).bytes == position.bytes + ) { + would_merge = true; + break; + } + } + if (would_merge) continue; + + // Do not recover if the result would clearly be worse than some existing stack version. + unsigned new_cost = + current_error_cost + + entry.depth * ERROR_COST_PER_SKIPPED_TREE + + (position.bytes - entry.position.bytes) * ERROR_COST_PER_SKIPPED_CHAR + + (position.extent.row - entry.position.extent.row) * ERROR_COST_PER_SKIPPED_LINE; + if (ts_parser__better_version_exists(self, version, false, new_cost)) break; + + // If the current lookahead token is valid in some previous state, recover to that state. + // Then stop looking for further recoveries. + if (ts_language_has_actions(self->language, entry.state, ts_subtree_symbol(lookahead))) { + if (ts_parser__recover_to_state(self, version, depth, entry.state)) { + did_recover = true; + LOG("recover_to_previous state:%u, depth:%u", entry.state, depth); + LOG_STACK(); + break; + } + } + } + } + + // In the process of attempting to recover, some stack versions may have been created + // and subsequently halted. Remove those versions. + for (unsigned i = previous_version_count; i < ts_stack_version_count(self->stack); i++) { + if (!ts_stack_is_active(self->stack, i)) { + LOG("removed paused version:%u", i); + ts_stack_remove_version(self->stack, i--); + LOG_STACK(); + } + } + + // If the parser is still in the error state at the end of the file, just wrap everything + // in an ERROR node and terminate. + if (ts_subtree_is_eof(lookahead)) { + LOG("recover_eof"); + SubtreeArray children = array_new(); + Subtree parent = ts_subtree_new_error_node(&children, false, self->language); + ts_stack_push(self->stack, version, parent, false, 1); + ts_parser__accept(self, version, lookahead); + return; + } + + // If strategy 1 succeeded, a new stack version will have been created which is able to handle + // the current lookahead token. Now, in addition, try strategy 2 described above: skip the + // current lookahead token by wrapping it in an ERROR node. + + // Don't pursue this additional strategy if there are already too many stack versions. + if (did_recover && ts_stack_version_count(self->stack) > MAX_VERSION_COUNT) { + ts_stack_halt(self->stack, version); + ts_subtree_release(&self->tree_pool, lookahead); + return; + } + + if ( + did_recover && + ts_subtree_has_external_scanner_state_change(lookahead) + ) { + ts_stack_halt(self->stack, version); + ts_subtree_release(&self->tree_pool, lookahead); + return; + } + + // Do not recover if the result would clearly be worse than some existing stack version. + unsigned new_cost = + current_error_cost + ERROR_COST_PER_SKIPPED_TREE + + ts_subtree_total_bytes(lookahead) * ERROR_COST_PER_SKIPPED_CHAR + + ts_subtree_total_size(lookahead).extent.row * ERROR_COST_PER_SKIPPED_LINE; + if (ts_parser__better_version_exists(self, version, false, new_cost)) { + ts_stack_halt(self->stack, version); + ts_subtree_release(&self->tree_pool, lookahead); + return; + } + + // If the current lookahead token is an extra token, mark it as extra. This means it won't + // be counted in error cost calculations. + unsigned n; + const TSParseAction *actions = ts_language_actions(self->language, 1, ts_subtree_symbol(lookahead), &n); + if (n > 0 && actions[n - 1].type == TSParseActionTypeShift && actions[n - 1].shift.extra) { + MutableSubtree mutable_lookahead = ts_subtree_make_mut(&self->tree_pool, lookahead); + ts_subtree_set_extra(&mutable_lookahead, true); + lookahead = ts_subtree_from_mut(mutable_lookahead); + } + + // Wrap the lookahead token in an ERROR. + LOG("skip_token symbol:%s", TREE_NAME(lookahead)); + SubtreeArray children = array_new(); + array_reserve(&children, 1); + array_push(&children, lookahead); + MutableSubtree error_repeat = ts_subtree_new_node( + ts_builtin_sym_error_repeat, + &children, + 0, + self->language + ); + + // If other tokens have already been skipped, so there is already an ERROR at the top of the + // stack, then pop that ERROR off the stack and wrap the two ERRORs together into one larger + // ERROR. + if (node_count_since_error > 0) { + StackSliceArray pop = ts_stack_pop_count(self->stack, version, 1); + + // TODO: Figure out how to make this condition occur. + // See https://github.com/atom/atom/issues/18450#issuecomment-439579778 + // If multiple stack versions have merged at this point, just pick one of the errors + // arbitrarily and discard the rest. + if (pop.size > 1) { + for (unsigned i = 1; i < pop.size; i++) { + ts_subtree_array_delete(&self->tree_pool, &array_get(&pop, i)->subtrees); + } + while (ts_stack_version_count(self->stack) > array_get(&pop, 0)->version + 1) { + ts_stack_remove_version(self->stack, array_get(&pop, 0)->version + 1); + } + } + + ts_stack_renumber_version(self->stack, array_get(&pop, 0)->version, version); + array_push(&array_get(&pop, 0)->subtrees, ts_subtree_from_mut(error_repeat)); + error_repeat = ts_subtree_new_node( + ts_builtin_sym_error_repeat, + &array_get(&pop, 0)->subtrees, + 0, + self->language + ); + } + + // Push the new ERROR onto the stack. + ts_stack_push(self->stack, version, ts_subtree_from_mut(error_repeat), false, ERROR_STATE); + if (ts_subtree_has_external_tokens(lookahead)) { + ts_stack_set_last_external_token( + self->stack, version, ts_subtree_last_external_token(lookahead) + ); + } + + bool has_error = true; + for (unsigned i = 0; i < ts_stack_version_count(self->stack); i++) { + ErrorStatus status = ts_parser__version_status(self, i); + if (!status.is_in_error) { + has_error = false; + break; + } + } + self->has_error = has_error; +} + +static void ts_parser__handle_error( + TSParser *self, + StackVersion version, + Subtree lookahead +) { + uint32_t previous_version_count = ts_stack_version_count(self->stack); + + // Perform any reductions that can happen in this state, regardless of the lookahead. After + // skipping one or more invalid tokens, the parser might find a token that would have allowed + // a reduction to take place. + ts_parser__do_all_potential_reductions(self, version, 0); + uint32_t version_count = ts_stack_version_count(self->stack); + Length position = ts_stack_position(self->stack, version); + + // Push a discontinuity onto the stack. Merge all of the stack versions that + // were created in the previous step. + bool did_insert_missing_token = false; + for (StackVersion v = version; v < version_count;) { + if (!did_insert_missing_token) { + TSStateId state = ts_stack_state(self->stack, v); + for ( + TSSymbol missing_symbol = 1; + missing_symbol < (uint16_t)self->language->token_count; + missing_symbol++ + ) { + TSStateId state_after_missing_symbol = ts_language_next_state( + self->language, state, missing_symbol + ); + if (state_after_missing_symbol == 0 || state_after_missing_symbol == state) { + continue; + } + + if (ts_language_has_reduce_action( + self->language, + state_after_missing_symbol, + ts_subtree_leaf_symbol(lookahead) + )) { + // In case the parser is currently outside of any included range, the lexer will + // snap to the beginning of the next included range. The missing token's padding + // must be assigned to position it within the next included range. + ts_lexer_reset(&self->lexer, position); + ts_lexer_mark_end(&self->lexer); + Length padding = length_sub(self->lexer.token_end_position, position); + uint32_t lookahead_bytes = ts_subtree_total_bytes(lookahead) + ts_subtree_lookahead_bytes(lookahead); + + StackVersion version_with_missing_tree = ts_stack_copy_version(self->stack, v); + Subtree missing_tree = ts_subtree_new_missing_leaf( + &self->tree_pool, missing_symbol, + padding, lookahead_bytes, + self->language + ); + ts_stack_push( + self->stack, version_with_missing_tree, + missing_tree, false, + state_after_missing_symbol + ); + + if (ts_parser__do_all_potential_reductions( + self, version_with_missing_tree, + ts_subtree_leaf_symbol(lookahead) + )) { + LOG( + "recover_with_missing symbol:%s, state:%u", + SYM_NAME(missing_symbol), + ts_stack_state(self->stack, version_with_missing_tree) + ); + did_insert_missing_token = true; + break; + } + } + } + } + + ts_stack_push(self->stack, v, NULL_SUBTREE, false, ERROR_STATE); + v = (v == version) ? previous_version_count : v + 1; + } + + for (unsigned i = previous_version_count; i < version_count; i++) { + bool did_merge = ts_stack_merge(self->stack, version, previous_version_count); + ts_assert(did_merge); + } + + ts_stack_record_summary(self->stack, version, MAX_SUMMARY_DEPTH); + + // Begin recovery with the current lookahead node, rather than waiting for the + // next turn of the parse loop. This ensures that the tree accounts for the + // current lookahead token's "lookahead bytes" value, which describes how far + // the lexer needed to look ahead beyond the content of the token in order to + // recognize it. + if (ts_subtree_child_count(lookahead) > 0) { + ts_parser__breakdown_lookahead(self, &lookahead, ERROR_STATE, &self->reusable_node); + } + ts_parser__recover(self, version, lookahead); + + LOG_STACK(); +} + +static bool ts_parser__check_progress(TSParser *self, Subtree *lookahead, const uint32_t *position, unsigned operations) { + self->operation_count += operations; + if (self->operation_count >= OP_COUNT_PER_PARSER_TIMEOUT_CHECK) { + self->operation_count = 0; + } + if (position != NULL) { + self->parse_state.current_byte_offset = *position; + self->parse_state.has_error = self->has_error; + } + if ( + self->operation_count == 0 && + ( + // TODO(amaanq): remove cancellation flag & clock checks before 0.26 + (self->cancellation_flag && atomic_load(self->cancellation_flag)) || + (!clock_is_null(self->end_clock) && clock_is_gt(clock_now(), self->end_clock)) || + (self->parse_options.progress_callback && self->parse_options.progress_callback(&self->parse_state)) + ) + ) { + if (lookahead && lookahead->ptr) { + ts_subtree_release(&self->tree_pool, *lookahead); + } + return false; + } + return true; +} + +static bool ts_parser__advance( + TSParser *self, + StackVersion version, + bool allow_node_reuse +) { + TSStateId state = ts_stack_state(self->stack, version); + uint32_t position = ts_stack_position(self->stack, version).bytes; + Subtree last_external_token = ts_stack_last_external_token(self->stack, version); + + bool did_reuse = true; + Subtree lookahead = NULL_SUBTREE; + TableEntry table_entry = {.action_count = 0}; + + // If possible, reuse a node from the previous syntax tree. + if (allow_node_reuse) { + lookahead = ts_parser__reuse_node( + self, version, &state, position, last_external_token, &table_entry + ); + } + + // If no node from the previous syntax tree could be reused, then try to + // reuse the token previously returned by the lexer. + if (!lookahead.ptr) { + did_reuse = false; + lookahead = ts_parser__get_cached_token( + self, state, position, last_external_token, &table_entry + ); + } + + bool needs_lex = !lookahead.ptr; + for (;;) { + // Otherwise, re-run the lexer. + if (needs_lex) { + needs_lex = false; + lookahead = ts_parser__lex(self, version, state); + if (self->has_scanner_error) return false; + + if (lookahead.ptr) { + ts_parser__set_cached_token(self, position, last_external_token, lookahead); + ts_language_table_entry(self->language, state, ts_subtree_symbol(lookahead), &table_entry); + } + + // When parsing a non-terminal extra, a null lookahead indicates the + // end of the rule. The reduction is stored in the EOF table entry. + // After the reduction, the lexer needs to be run again. + else { + ts_language_table_entry(self->language, state, ts_builtin_sym_end, &table_entry); + } + } + + // If a cancellation flag, timeout, or progress callback was provided, then check every + // time a fixed number of parse actions has been processed. + if (!ts_parser__check_progress(self, &lookahead, &position, 1)) { + return false; + } + + // Process each parse action for the current lookahead token in + // the current state. If there are multiple actions, then this is + // an ambiguous state. REDUCE actions always create a new stack + // version, whereas SHIFT actions update the existing stack version + // and terminate this loop. + bool did_reduce = false; + StackVersion last_reduction_version = STACK_VERSION_NONE; + for (uint32_t i = 0; i < table_entry.action_count; i++) { + TSParseAction action = table_entry.actions[i]; + + switch (action.type) { + case TSParseActionTypeShift: { + if (action.shift.repetition) break; + TSStateId next_state; + if (action.shift.extra) { + next_state = state; + LOG("shift_extra"); + } else { + next_state = action.shift.state; + LOG("shift state:%u", next_state); + } + + if (ts_subtree_child_count(lookahead) > 0) { + ts_parser__breakdown_lookahead(self, &lookahead, state, &self->reusable_node); + next_state = ts_language_next_state(self->language, state, ts_subtree_symbol(lookahead)); + } + + ts_parser__shift(self, version, next_state, lookahead, action.shift.extra); + if (did_reuse) reusable_node_advance(&self->reusable_node); + return true; + } + + case TSParseActionTypeReduce: { + bool is_fragile = table_entry.action_count > 1; + bool end_of_non_terminal_extra = lookahead.ptr == NULL; + LOG("reduce sym:%s, child_count:%u", SYM_NAME(action.reduce.symbol), action.reduce.child_count); + StackVersion reduction_version = ts_parser__reduce( + self, version, action.reduce.symbol, action.reduce.child_count, + action.reduce.dynamic_precedence, action.reduce.production_id, + is_fragile, end_of_non_terminal_extra + ); + did_reduce = true; + if (reduction_version != STACK_VERSION_NONE) { + last_reduction_version = reduction_version; + } + break; + } + + case TSParseActionTypeAccept: { + LOG("accept"); + ts_parser__accept(self, version, lookahead); + return true; + } + + case TSParseActionTypeRecover: { + if (ts_subtree_child_count(lookahead) > 0) { + ts_parser__breakdown_lookahead(self, &lookahead, ERROR_STATE, &self->reusable_node); + } + + ts_parser__recover(self, version, lookahead); + if (did_reuse) reusable_node_advance(&self->reusable_node); + return true; + } + } + } + + // If a reduction was performed, then replace the current stack version + // with one of the stack versions created by a reduction, and continue + // processing this version of the stack with the same lookahead symbol. + if (last_reduction_version != STACK_VERSION_NONE) { + ts_stack_renumber_version(self->stack, last_reduction_version, version); + LOG_STACK(); + state = ts_stack_state(self->stack, version); + + // At the end of a non-terminal extra rule, the lexer will return a + // null subtree, because the parser needs to perform a fixed reduction + // regardless of the lookahead node. After performing that reduction, + // (and completing the non-terminal extra rule) run the lexer again based + // on the current parse state. + if (!lookahead.ptr) { + needs_lex = true; + } else { + ts_language_table_entry( + self->language, + state, + ts_subtree_leaf_symbol(lookahead), + &table_entry + ); + } + + continue; + } + + // A reduction was performed, but was merged into an existing stack version. + // This version can be discarded. + if (did_reduce) { + if (lookahead.ptr) { + ts_subtree_release(&self->tree_pool, lookahead); + } + ts_stack_halt(self->stack, version); + return true; + } + + // If the current lookahead token is a keyword that is not valid, but the + // default word token *is* valid, then treat the lookahead token as the word + // token instead. + if ( + ts_subtree_is_keyword(lookahead) && + ts_subtree_symbol(lookahead) != self->language->keyword_capture_token && + !ts_language_is_reserved_word(self->language, state, ts_subtree_symbol(lookahead)) + ) { + ts_language_table_entry( + self->language, + state, + self->language->keyword_capture_token, + &table_entry + ); + if (table_entry.action_count > 0) { + LOG( + "switch from_keyword:%s, to_word_token:%s", + TREE_NAME(lookahead), + SYM_NAME(self->language->keyword_capture_token) + ); + + MutableSubtree mutable_lookahead = ts_subtree_make_mut(&self->tree_pool, lookahead); + ts_subtree_set_symbol(&mutable_lookahead, self->language->keyword_capture_token, self->language); + lookahead = ts_subtree_from_mut(mutable_lookahead); + continue; + } + } + + // If the current lookahead token is not valid and the previous subtree on + // the stack was reused from an old tree, then it wasn't actually valid to + // reuse that previous subtree. Remove it from the stack, and in its place, + // push each of its children. Then try again to process the current lookahead. + if (ts_parser__breakdown_top_of_stack(self, version)) { + state = ts_stack_state(self->stack, version); + ts_subtree_release(&self->tree_pool, lookahead); + needs_lex = true; + continue; + } + + // Otherwise, there is definitely an error in this version of the parse stack. + // Mark this version as paused and continue processing any other stack + // versions that exist. If some other version advances successfully, then + // this version can simply be removed. But if all versions end up paused, + // then error recovery is needed. + LOG("detect_error lookahead:%s", TREE_NAME(lookahead)); + ts_stack_pause(self->stack, version, lookahead); + return true; + } +} + +static unsigned ts_parser__condense_stack(TSParser *self) { + bool made_changes = false; + unsigned min_error_cost = UINT_MAX; + for (StackVersion i = 0; i < ts_stack_version_count(self->stack); i++) { + // Prune any versions that have been marked for removal. + if (ts_stack_is_halted(self->stack, i)) { + ts_stack_remove_version(self->stack, i); + i--; + continue; + } + + // Keep track of the minimum error cost of any stack version so + // that it can be returned. + ErrorStatus status_i = ts_parser__version_status(self, i); + if (!status_i.is_in_error && status_i.cost < min_error_cost) { + min_error_cost = status_i.cost; + } + + // Examine each pair of stack versions, removing any versions that + // are clearly worse than another version. Ensure that the versions + // are ordered from most promising to least promising. + for (StackVersion j = 0; j < i; j++) { + ErrorStatus status_j = ts_parser__version_status(self, j); + + switch (ts_parser__compare_versions(self, status_j, status_i)) { + case ErrorComparisonTakeLeft: + made_changes = true; + ts_stack_remove_version(self->stack, i); + i--; + j = i; + break; + + case ErrorComparisonPreferLeft: + case ErrorComparisonNone: + if (ts_stack_merge(self->stack, j, i)) { + made_changes = true; + i--; + j = i; + } + break; + + case ErrorComparisonPreferRight: + made_changes = true; + if (ts_stack_merge(self->stack, j, i)) { + i--; + j = i; + } else { + ts_stack_swap_versions(self->stack, i, j); + } + break; + + case ErrorComparisonTakeRight: + made_changes = true; + ts_stack_remove_version(self->stack, j); + i--; + j--; + break; + } + } + } + + // Enforce a hard upper bound on the number of stack versions by + // discarding the least promising versions. + while (ts_stack_version_count(self->stack) > MAX_VERSION_COUNT) { + ts_stack_remove_version(self->stack, MAX_VERSION_COUNT); + made_changes = true; + } + + // If the best-performing stack version is currently paused, or all + // versions are paused, then resume the best paused version and begin + // the error recovery process. Otherwise, remove the paused versions. + if (ts_stack_version_count(self->stack) > 0) { + bool has_unpaused_version = false; + for (StackVersion i = 0, n = ts_stack_version_count(self->stack); i < n; i++) { + if (ts_stack_is_paused(self->stack, i)) { + if (!has_unpaused_version && self->accept_count < MAX_VERSION_COUNT) { + LOG("resume version:%u", i); + min_error_cost = ts_stack_error_cost(self->stack, i); + Subtree lookahead = ts_stack_resume(self->stack, i); + ts_parser__handle_error(self, i, lookahead); + has_unpaused_version = true; + } else { + ts_stack_remove_version(self->stack, i); + made_changes = true; + i--; + n--; + } + } else { + has_unpaused_version = true; + } + } + } + + if (made_changes) { + LOG("condense"); + LOG_STACK(); + } + + return min_error_cost; +} + +static bool ts_parser__balance_subtree(TSParser *self) { + Subtree finished_tree = self->finished_tree; + + // If we haven't canceled balancing in progress before, then we want to clear the tree stack and + // push the initial finished tree onto it. Otherwise, if we're resuming balancing after a + // cancellation, we don't want to clear the tree stack. + if (!self->canceled_balancing) { + array_clear(&self->tree_pool.tree_stack); + if (ts_subtree_child_count(finished_tree) > 0 && finished_tree.ptr->ref_count == 1) { + array_push(&self->tree_pool.tree_stack, ts_subtree_to_mut_unsafe(finished_tree)); + } + } + + while (self->tree_pool.tree_stack.size > 0) { + if (!ts_parser__check_progress(self, NULL, NULL, 1)) { + return false; + } + + MutableSubtree tree = *array_get(&self->tree_pool.tree_stack, + self->tree_pool.tree_stack.size - 1 + ); + + if (tree.ptr->repeat_depth > 0) { + Subtree child1 = ts_subtree_children(tree)[0]; + Subtree child2 = ts_subtree_children(tree)[tree.ptr->child_count - 1]; + long repeat_delta = (long)ts_subtree_repeat_depth(child1) - (long)ts_subtree_repeat_depth(child2); + if (repeat_delta > 0) { + unsigned n = (unsigned)repeat_delta; + + for (unsigned i = n / 2; i > 0; i /= 2) { + ts_subtree_compress(tree, i, self->language, &self->tree_pool.tree_stack); + n -= i; + + // We scale the operation count increment in `ts_parser__check_progress` proportionately to the compression + // size since larger values of i take longer to process. Shifting by 4 empirically provides good check + // intervals (e.g. 193 operations when i=3100) to prevent blocking during large compressions. + uint8_t operations = i >> 4 > 0 ? i >> 4 : 1; + if (!ts_parser__check_progress(self, NULL, NULL, operations)) { + return false; + } + } + } + } + + (void)array_pop(&self->tree_pool.tree_stack); + + for (uint32_t i = 0; i < tree.ptr->child_count; i++) { + Subtree child = ts_subtree_children(tree)[i]; + if (ts_subtree_child_count(child) > 0 && child.ptr->ref_count == 1) { + array_push(&self->tree_pool.tree_stack, ts_subtree_to_mut_unsafe(child)); + } + } + } + + return true; +} + +static bool ts_parser_has_outstanding_parse(TSParser *self) { + return ( + self->canceled_balancing || + self->external_scanner_payload || + ts_stack_state(self->stack, 0) != 1 || + ts_stack_node_count_since_error(self->stack, 0) != 0 + ); +} + +// Parser - Public + +TSParser *ts_parser_new(void) { + TSParser *self = ts_calloc(1, sizeof(TSParser)); + ts_lexer_init(&self->lexer); + array_init(&self->reduce_actions); + array_reserve(&self->reduce_actions, 4); + self->tree_pool = ts_subtree_pool_new(32); + self->stack = ts_stack_new(&self->tree_pool); + self->finished_tree = NULL_SUBTREE; + self->reusable_node = reusable_node_new(); + self->dot_graph_file = NULL; + self->cancellation_flag = NULL; + self->timeout_duration = 0; + self->language = NULL; + self->has_scanner_error = false; + self->has_error = false; + self->canceled_balancing = false; + self->external_scanner_payload = NULL; + self->end_clock = clock_null(); + self->operation_count = 0; + self->old_tree = NULL_SUBTREE; + self->included_range_differences = (TSRangeArray) array_new(); + self->included_range_difference_index = 0; + ts_parser__set_cached_token(self, 0, NULL_SUBTREE, NULL_SUBTREE); + return self; +} + +void ts_parser_delete(TSParser *self) { + if (!self) return; + + ts_parser_set_language(self, NULL); + ts_stack_delete(self->stack); + if (self->reduce_actions.contents) { + array_delete(&self->reduce_actions); + } + if (self->included_range_differences.contents) { + array_delete(&self->included_range_differences); + } + if (self->old_tree.ptr) { + ts_subtree_release(&self->tree_pool, self->old_tree); + self->old_tree = NULL_SUBTREE; + } + ts_wasm_store_delete(self->wasm_store); + ts_lexer_delete(&self->lexer); + ts_parser__set_cached_token(self, 0, NULL_SUBTREE, NULL_SUBTREE); + ts_subtree_pool_delete(&self->tree_pool); + reusable_node_delete(&self->reusable_node); + array_delete(&self->trailing_extras); + array_delete(&self->trailing_extras2); + array_delete(&self->scratch_trees); + ts_free(self); +} + +const TSLanguage *ts_parser_language(const TSParser *self) { + return self->language; +} + +bool ts_parser_set_language(TSParser *self, const TSLanguage *language) { + ts_parser_reset(self); + ts_language_delete(self->language); + self->language = NULL; + + if (language) { + if ( + language->abi_version > TREE_SITTER_LANGUAGE_VERSION || + language->abi_version < TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION + ) return false; + + if (ts_language_is_wasm(language)) { + if ( + !self->wasm_store || + !ts_wasm_store_start(self->wasm_store, &self->lexer.data, language) + ) return false; + } + } + + self->language = ts_language_copy(language); + return true; +} + +TSLogger ts_parser_logger(const TSParser *self) { + return self->lexer.logger; +} + +void ts_parser_set_logger(TSParser *self, TSLogger logger) { + self->lexer.logger = logger; +} + +void ts_parser_print_dot_graphs(TSParser *self, int fd) { + if (self->dot_graph_file) { + fclose(self->dot_graph_file); + } + + if (fd >= 0) { + #ifdef _WIN32 + self->dot_graph_file = _fdopen(fd, "a"); + #else + self->dot_graph_file = fdopen(fd, "a"); + #endif + } else { + self->dot_graph_file = NULL; + } +} + +const size_t *ts_parser_cancellation_flag(const TSParser *self) { + return (const size_t *)self->cancellation_flag; +} + +void ts_parser_set_cancellation_flag(TSParser *self, const size_t *flag) { + self->cancellation_flag = (const volatile size_t *)flag; +} + +uint64_t ts_parser_timeout_micros(const TSParser *self) { + return duration_to_micros(self->timeout_duration); +} + +void ts_parser_set_timeout_micros(TSParser *self, uint64_t timeout_micros) { + self->timeout_duration = duration_from_micros(timeout_micros); +} + +bool ts_parser_set_included_ranges( + TSParser *self, + const TSRange *ranges, + uint32_t count +) { + return ts_lexer_set_included_ranges(&self->lexer, ranges, count); +} + +const TSRange *ts_parser_included_ranges(const TSParser *self, uint32_t *count) { + return ts_lexer_included_ranges(&self->lexer, count); +} + +void ts_parser_reset(TSParser *self) { + ts_parser__external_scanner_destroy(self); + if (self->wasm_store) { + ts_wasm_store_reset(self->wasm_store); + } + + if (self->old_tree.ptr) { + ts_subtree_release(&self->tree_pool, self->old_tree); + self->old_tree = NULL_SUBTREE; + } + + reusable_node_clear(&self->reusable_node); + ts_lexer_reset(&self->lexer, length_zero()); + ts_stack_clear(self->stack); + ts_parser__set_cached_token(self, 0, NULL_SUBTREE, NULL_SUBTREE); + if (self->finished_tree.ptr) { + ts_subtree_release(&self->tree_pool, self->finished_tree); + self->finished_tree = NULL_SUBTREE; + } + self->accept_count = 0; + self->has_scanner_error = false; + self->has_error = false; + self->canceled_balancing = false; + self->parse_options = (TSParseOptions) {0}; + self->parse_state = (TSParseState) {0}; +} + +TSTree *ts_parser_parse( + TSParser *self, + const TSTree *old_tree, + TSInput input +) { + TSTree *result = NULL; + if (!self->language || !input.read) return NULL; + + if (ts_language_is_wasm(self->language)) { + if (!self->wasm_store) return NULL; + ts_wasm_store_start(self->wasm_store, &self->lexer.data, self->language); + } + + ts_lexer_set_input(&self->lexer, input); + array_clear(&self->included_range_differences); + self->included_range_difference_index = 0; + + self->operation_count = 0; + if (self->timeout_duration) { + self->end_clock = clock_after(clock_now(), self->timeout_duration); + } else { + self->end_clock = clock_null(); + } + + if (ts_parser_has_outstanding_parse(self)) { + LOG("resume_parsing"); + if (self->canceled_balancing) goto balance; + } else { + ts_parser__external_scanner_create(self); + if (self->has_scanner_error) goto exit; + + if (old_tree) { + ts_subtree_retain(old_tree->root); + self->old_tree = old_tree->root; + ts_range_array_get_changed_ranges( + old_tree->included_ranges, old_tree->included_range_count, + self->lexer.included_ranges, self->lexer.included_range_count, + &self->included_range_differences + ); + reusable_node_reset(&self->reusable_node, old_tree->root); + LOG("parse_after_edit"); + LOG_TREE(self->old_tree); + for (unsigned i = 0; i < self->included_range_differences.size; i++) { + TSRange *range = array_get(&self->included_range_differences, i); + LOG("different_included_range %u - %u", range->start_byte, range->end_byte); + } + } else { + reusable_node_clear(&self->reusable_node); + LOG("new_parse"); + } + } + + uint32_t position = 0, last_position = 0, version_count = 0; + do { + for ( + StackVersion version = 0; + version_count = ts_stack_version_count(self->stack), + version < version_count; + version++ + ) { + bool allow_node_reuse = version_count == 1; + while (ts_stack_is_active(self->stack, version)) { + LOG( + "process version:%u, version_count:%u, state:%d, row:%u, col:%u", + version, + ts_stack_version_count(self->stack), + ts_stack_state(self->stack, version), + ts_stack_position(self->stack, version).extent.row, + ts_stack_position(self->stack, version).extent.column + ); + + if (!ts_parser__advance(self, version, allow_node_reuse)) { + if (self->has_scanner_error) goto exit; + return NULL; + } + + LOG_STACK(); + + position = ts_stack_position(self->stack, version).bytes; + if (position > last_position || (version > 0 && position == last_position)) { + last_position = position; + break; + } + } + } + + // After advancing each version of the stack, re-sort the versions by their cost, + // removing any versions that are no longer worth pursuing. + unsigned min_error_cost = ts_parser__condense_stack(self); + + // If there's already a finished parse tree that's better than any in-progress version, + // then terminate parsing. Clear the parse stack to remove any extra references to subtrees + // within the finished tree, ensuring that these subtrees can be safely mutated in-place + // for rebalancing. + if (self->finished_tree.ptr && ts_subtree_error_cost(self->finished_tree) < min_error_cost) { + ts_stack_clear(self->stack); + break; + } + + while (self->included_range_difference_index < self->included_range_differences.size) { + TSRange *range = array_get(&self->included_range_differences, self->included_range_difference_index); + if (range->end_byte <= position) { + self->included_range_difference_index++; + } else { + break; + } + } + } while (version_count != 0); + +balance: + ts_assert(self->finished_tree.ptr); + if (!ts_parser__balance_subtree(self)) { + self->canceled_balancing = true; + return false; + } + self->canceled_balancing = false; + LOG("done"); + LOG_TREE(self->finished_tree); + + result = ts_tree_new( + self->finished_tree, + self->language, + self->lexer.included_ranges, + self->lexer.included_range_count + ); + self->finished_tree = NULL_SUBTREE; + +exit: + ts_parser_reset(self); + return result; +} + +TSTree *ts_parser_parse_with_options( + TSParser *self, + const TSTree *old_tree, + TSInput input, + TSParseOptions parse_options +) { + self->parse_options = parse_options; + self->parse_state.payload = parse_options.payload; + TSTree *result = ts_parser_parse(self, old_tree, input); + // Reset parser options before further parse calls. + self->parse_options = (TSParseOptions) {0}; + return result; +} + +TSTree *ts_parser_parse_string( + TSParser *self, + const TSTree *old_tree, + const char *string, + uint32_t length +) { + return ts_parser_parse_string_encoding(self, old_tree, string, length, TSInputEncodingUTF8); +} + +TSTree *ts_parser_parse_string_encoding( + TSParser *self, + const TSTree *old_tree, + const char *string, + uint32_t length, + TSInputEncoding encoding +) { + TSStringInput input = {string, length}; + return ts_parser_parse(self, old_tree, (TSInput) { + &input, + ts_string_input_read, + encoding, + NULL, + }); +} + +void ts_parser_set_wasm_store(TSParser *self, TSWasmStore *store) { + if (self->language && ts_language_is_wasm(self->language)) { + // Copy the assigned language into the new store. + const TSLanguage *copy = ts_language_copy(self->language); + ts_parser_set_language(self, copy); + ts_language_delete(copy); + } + + ts_wasm_store_delete(self->wasm_store); + self->wasm_store = store; +} + +TSWasmStore *ts_parser_take_wasm_store(TSParser *self) { + if (self->language && ts_language_is_wasm(self->language)) { + ts_parser_set_language(self, NULL); + } + + TSWasmStore *result = self->wasm_store; + self->wasm_store = NULL; + return result; +} + +#undef LOG diff --git a/non-source/foreign/tree-sitter/lib/src/parser.h b/non-source/foreign/tree-sitter/lib/src/parser.h new file mode 100644 index 00000000..858107de --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/parser.h @@ -0,0 +1,286 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +typedef struct TSLanguageMetadata { + uint8_t major_version; + uint8_t minor_version; + uint8_t patch_version; +} TSLanguageMetadata; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +// Used to index the field and supertype maps. +typedef struct { + uint16_t index; + uint16_t length; +} TSMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); + void (*log)(const TSLexer *, const char *, ...); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; + uint16_t reserved_word_set_id; +} TSLexerMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t abi_version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexerMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; + const char *name; + const TSSymbol *reserved_words; + uint16_t max_reserved_word_set_size; + uint32_t supertype_count; + const TSSymbol *supertype_symbols; + const TSMapSlice *supertype_map_slices; + const TSSymbol *supertype_map_entries; + TSLanguageMetadata metadata; +}; + +static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + const TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + const TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/point.h b/non-source/foreign/tree-sitter/lib/src/point.h new file mode 100644 index 00000000..39581988 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/point.h @@ -0,0 +1,48 @@ +#ifndef TREE_SITTER_POINT_H_ +#define TREE_SITTER_POINT_H_ + +#include "tree_sitter/api.h" + +#define POINT_ZERO ((TSPoint) {0, 0}) +#define POINT_MAX ((TSPoint) {UINT32_MAX, UINT32_MAX}) + +static inline TSPoint point__new(unsigned row, unsigned column) { + TSPoint result = {row, column}; + return result; +} + +static inline TSPoint point_add(TSPoint a, TSPoint b) { + if (b.row > 0) + return point__new(a.row + b.row, b.column); + else + return point__new(a.row, a.column + b.column); +} + +static inline TSPoint point_sub(TSPoint a, TSPoint b) { + if (a.row > b.row) + return point__new(a.row - b.row, a.column); + else + return point__new(0, (a.column >= b.column) ? a.column - b.column : 0); +} + +static inline bool point_lte(TSPoint a, TSPoint b) { + return (a.row < b.row) || (a.row == b.row && a.column <= b.column); +} + +static inline bool point_lt(TSPoint a, TSPoint b) { + return (a.row < b.row) || (a.row == b.row && a.column < b.column); +} + +static inline bool point_gt(TSPoint a, TSPoint b) { + return (a.row > b.row) || (a.row == b.row && a.column > b.column); +} + +static inline bool point_gte(TSPoint a, TSPoint b) { + return (a.row > b.row) || (a.row == b.row && a.column >= b.column); +} + +static inline bool point_eq(TSPoint a, TSPoint b) { + return a.row == b.row && a.column == b.column; +} + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/portable/endian.h b/non-source/foreign/tree-sitter/lib/src/portable/endian.h new file mode 100644 index 00000000..f467ec53 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/portable/endian.h @@ -0,0 +1,239 @@ +// "License": Public Domain +// I, Mathias Panzenböck, place this file hereby into the public domain. Use it at your own risk for whatever you like. +// In case there are jurisdictions that don't support putting things in the public domain you can also consider it to +// be "dual licensed" under the BSD, MIT and Apache licenses, if you want to. This code is trivial anyway. Consider it +// an example on how to get the endian conversion functions on different platforms. + +// updates from https://github.com/mikepb/endian.h/issues/4 + +#ifndef ENDIAN_H +#define ENDIAN_H + +#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__WINDOWS__) + +# define __WINDOWS__ + +#endif + +#if defined(HAVE_ENDIAN_H) || \ + defined(__linux__) || \ + defined(__GNU__) || \ + defined(__illumos__) || \ + defined(__NetBSD__) || \ + defined(__OpenBSD__) || \ + defined(__CYGWIN__) || \ + defined(__MSYS__) || \ + defined(__EMSCRIPTEN__) || \ + defined(__wasi__) + +#if defined(__NetBSD__) +#define _NETBSD_SOURCE 1 +#endif + +# include + +#elif defined(HAVE_SYS_ENDIAN_H) || \ + defined(__FreeBSD__) || \ + defined(__DragonFly__) + +# include + +#elif defined(__APPLE__) +# define __BYTE_ORDER BYTE_ORDER +# define __BIG_ENDIAN BIG_ENDIAN +# define __LITTLE_ENDIAN LITTLE_ENDIAN +# define __PDP_ENDIAN PDP_ENDIAN + +# if !defined(_POSIX_C_SOURCE) +# include + +# define htobe16(x) OSSwapHostToBigInt16(x) +# define htole16(x) OSSwapHostToLittleInt16(x) +# define be16toh(x) OSSwapBigToHostInt16(x) +# define le16toh(x) OSSwapLittleToHostInt16(x) + +# define htobe32(x) OSSwapHostToBigInt32(x) +# define htole32(x) OSSwapHostToLittleInt32(x) +# define be32toh(x) OSSwapBigToHostInt32(x) +# define le32toh(x) OSSwapLittleToHostInt32(x) + +# define htobe64(x) OSSwapHostToBigInt64(x) +# define htole64(x) OSSwapHostToLittleInt64(x) +# define be64toh(x) OSSwapBigToHostInt64(x) +# define le64toh(x) OSSwapLittleToHostInt64(x) +# else +# if BYTE_ORDER == LITTLE_ENDIAN +# define htobe16(x) __builtin_bswap16(x) +# define htole16(x) (x) +# define be16toh(x) __builtin_bswap16(x) +# define le16toh(x) (x) + +# define htobe32(x) __builtin_bswap32(x) +# define htole32(x) (x) +# define be32toh(x) __builtin_bswap32(x) +# define le32toh(x) (x) + +# define htobe64(x) __builtin_bswap64(x) +# define htole64(x) (x) +# define be64toh(x) __builtin_bswap64(x) +# define le64toh(x) (x) +# elif BYTE_ORDER == BIG_ENDIAN +# define htobe16(x) (x) +# define htole16(x) __builtin_bswap16(x) +# define be16toh(x) (x) +# define le16toh(x) __builtin_bswap16(x) + +# define htobe32(x) (x) +# define htole32(x) __builtin_bswap32(x) +# define be32toh(x) (x) +# define le32toh(x) __builtin_bswap32(x) + +# define htobe64(x) (x) +# define htole64(x) __builtin_bswap64(x) +# define be64toh(x) (x) +# define le64toh(x) __builtin_bswap64(x) +# else +# error byte order not supported +# endif +# endif + +#elif defined(__WINDOWS__) + +# if defined(_MSC_VER) && !defined(__clang__) +# include +# define B_SWAP_16(x) _byteswap_ushort(x) +# define B_SWAP_32(x) _byteswap_ulong(x) +# define B_SWAP_64(x) _byteswap_uint64(x) +# else +# define B_SWAP_16(x) __builtin_bswap16(x) +# define B_SWAP_32(x) __builtin_bswap32(x) +# define B_SWAP_64(x) __builtin_bswap64(x) +# endif + +# if defined(__MINGW32__) || defined(HAVE_SYS_PARAM_H) +# include +# endif + +# ifndef BIG_ENDIAN +# ifdef __BIG_ENDIAN +# define BIG_ENDIAN __BIG_ENDIAN +# elif defined(__ORDER_BIG_ENDIAN__) +# define BIG_ENDIAN __ORDER_BIG_ENDIAN__ +# else +# define BIG_ENDIAN 4321 +# endif +# endif + +# ifndef LITTLE_ENDIAN +# ifdef __LITTLE_ENDIAN +# define LITTLE_ENDIAN __LITTLE_ENDIAN +# elif defined(__ORDER_LITTLE_ENDIAN__) +# define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ +# else +# define LITTLE_ENDIAN 1234 +# endif +# endif + +# ifndef BYTE_ORDER +# ifdef __BYTE_ORDER +# define BYTE_ORDER __BYTE_ORDER +# elif defined(__BYTE_ORDER__) +# define BYTE_ORDER __BYTE_ORDER__ +# else + /* assume LE on Windows if nothing was defined */ +# define BYTE_ORDER LITTLE_ENDIAN +# endif +# endif + +# if BYTE_ORDER == LITTLE_ENDIAN + +# define htobe16(x) B_SWAP_16(x) +# define htole16(x) (x) +# define be16toh(x) B_SWAP_16(x) +# define le16toh(x) (x) + +# define htobe32(x) B_SWAP_32(x) +# define htole32(x) (x) +# define be32toh(x) B_SWAP_32(x) +# define le32toh(x) (x) + +# define htobe64(x) B_SWAP_64(x) +# define htole64(x) (x) +# define be64toh(x) B_SWAP_64(x) +# define le64toh(x) (x) + +# elif BYTE_ORDER == BIG_ENDIAN + +# define htobe16(x) (x) +# define htole16(x) B_SWAP_16(x) +# define be16toh(x) (x) +# define le16toh(x) B_SWAP_16(x) + +# define htobe32(x) (x) +# define htole32(x) B_SWAP_32(x) +# define be32toh(x) (x) +# define le32toh(x) B_SWAP_32(x) + +# define htobe64(x) (x) +# define htole64(x) B_SWAP_64(x) +# define be64toh(x) (x) +# define le64toh(x) B_SWAP_64(x) + +# else + +# error byte order not supported + +# endif + +#elif defined(__QNXNTO__) + +# include + +# define __LITTLE_ENDIAN 1234 +# define __BIG_ENDIAN 4321 +# define __PDP_ENDIAN 3412 + +# if defined(__BIGENDIAN__) + +# define __BYTE_ORDER __BIG_ENDIAN + +# define htobe16(x) (x) +# define htobe32(x) (x) +# define htobe64(x) (x) + +# define htole16(x) ENDIAN_SWAP16(x) +# define htole32(x) ENDIAN_SWAP32(x) +# define htole64(x) ENDIAN_SWAP64(x) + +# elif defined(__LITTLEENDIAN__) + +# define __BYTE_ORDER __LITTLE_ENDIAN + +# define htole16(x) (x) +# define htole32(x) (x) +# define htole64(x) (x) + +# define htobe16(x) ENDIAN_SWAP16(x) +# define htobe32(x) ENDIAN_SWAP32(x) +# define htobe64(x) ENDIAN_SWAP64(x) + +# else + +# error byte order not supported + +# endif + +# define be16toh(x) ENDIAN_BE16(x) +# define be32toh(x) ENDIAN_BE32(x) +# define be64toh(x) ENDIAN_BE64(x) +# define le16toh(x) ENDIAN_LE16(x) +# define le32toh(x) ENDIAN_LE32(x) +# define le64toh(x) ENDIAN_LE64(x) + +#else + +# error platform not supported + +#endif + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/query.c b/non-source/foreign/tree-sitter/lib/src/query.c new file mode 100644 index 00000000..73c1e936 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/query.c @@ -0,0 +1,4353 @@ +/* + * On NetBSD, defining standard requirements like this removes symbols + * from the namespace; however, we need non-standard symbols for + * endian.h. + */ +#if defined(__NetBSD__) && defined(_POSIX_C_SOURCE) +#undef _POSIX_C_SOURCE +#endif + +#include "tree_sitter/api.h" +#include "./alloc.h" +#include "./array.h" +#include "./clock.h" +#include "./language.h" +#include "./point.h" +#include "./tree_cursor.h" +#include "./unicode.h" +#include + +// #define DEBUG_ANALYZE_QUERY +// #define DEBUG_EXECUTE_QUERY + +#define MAX_STEP_CAPTURE_COUNT 3 +#define MAX_NEGATED_FIELD_COUNT 8 +#define MAX_STATE_PREDECESSOR_COUNT 256 +#define MAX_ANALYSIS_STATE_DEPTH 8 +#define MAX_ANALYSIS_ITERATION_COUNT 256 + +/* + * Stream - A sequence of unicode characters derived from a UTF8 string. + * This struct is used in parsing queries from S-expressions. + */ +typedef struct { + const char *input; + const char *start; + const char *end; + int32_t next; + uint8_t next_size; +} Stream; + +/* + * QueryStep - A step in the process of matching a query. Each node within + * a query S-expression corresponds to one of these steps. An entire pattern + * is represented as a sequence of these steps. The basic properties of a + * node are represented by these fields: + * - `symbol` - The grammar symbol to match. A zero value represents the + * wildcard symbol, '_'. + * - `field` - The field name to match. A zero value means that a field name + * was not specified. + * - `capture_ids` - An array of integers representing the names of captures + * associated with this node in the pattern, terminated by a `NONE` value. + * - `depth` - The depth where this node occurs in the pattern. The root node + * of the pattern has depth zero. + * - `negated_field_list_id` - An id representing a set of fields that must + * not be present on a node matching this step. + * + * Steps have some additional fields in order to handle the `.` (or "anchor") operator, + * which forbids additional child nodes: + * - `is_immediate` - Indicates that the node matching this step cannot be preceded + * by other sibling nodes that weren't specified in the pattern. + * - `is_last_child` - Indicates that the node matching this step cannot have any + * subsequent named siblings. + * + * For simple patterns, steps are matched in sequential order. But in order to + * handle alternative/repeated/optional sub-patterns, query steps are not always + * structured as a linear sequence; they sometimes need to split and merge. This + * is done using the following fields: + * - `alternative_index` - The index of a different query step that serves as + * an alternative to this step. A `NONE` value represents no alternative. + * When a query state reaches a step with an alternative index, the state + * is duplicated, with one copy remaining at the original step, and one copy + * moving to the alternative step. The alternative may have its own alternative + * step, so this splitting is an iterative process. + * - `is_dead_end` - Indicates that this state cannot be passed directly, and + * exists only in order to redirect to an alternative index, with no splitting. + * - `is_pass_through` - Indicates that state has no matching logic of its own, + * and exists only to split a state. One copy of the state advances immediately + * to the next step, and one moves to the alternative step. + * - `alternative_is_immediate` - Indicates that this step's alternative step + * should be treated as if `is_immediate` is true. + * + * Steps also store some derived state that summarizes how they relate to other + * steps within the same pattern. This is used to optimize the matching process: + * - `contains_captures` - Indicates that this step or one of its child steps + * has a non-empty `capture_ids` list. + * - `parent_pattern_guaranteed` - Indicates that if this step is reached, then + * it and all of its subsequent sibling steps within the same parent pattern + * are guaranteed to match. + * - `root_pattern_guaranteed` - Similar to `parent_pattern_guaranteed`, but + * for the entire top-level pattern. When iterating through a query's + * captures using `ts_query_cursor_next_capture`, this field is used to + * detect that a capture can safely be returned from a match that has not + * even completed yet. + */ +typedef struct { + TSSymbol symbol; + TSSymbol supertype_symbol; + TSFieldId field; + uint16_t capture_ids[MAX_STEP_CAPTURE_COUNT]; + uint16_t depth; + uint16_t alternative_index; + uint16_t negated_field_list_id; + bool is_named: 1; + bool is_immediate: 1; + bool is_last_child: 1; + bool is_pass_through: 1; + bool is_dead_end: 1; + bool alternative_is_immediate: 1; + bool contains_captures: 1; + bool root_pattern_guaranteed: 1; + bool parent_pattern_guaranteed: 1; + bool is_missing: 1; +} QueryStep; + +/* + * Slice - A slice of an external array. Within a query, capture names, + * literal string values, and predicate step information are stored in three + * contiguous arrays. Individual captures, string values, and predicates are + * represented as slices of these three arrays. + */ +typedef struct { + uint32_t offset; + uint32_t length; +} Slice; + +/* + * SymbolTable - a two-way mapping of strings to ids. + */ +typedef struct { + Array(char) characters; + Array(Slice) slices; +} SymbolTable; + +/** + * CaptureQuantifiers - a data structure holding the quantifiers of pattern captures. + */ +typedef Array(uint8_t) CaptureQuantifiers; + +/* + * PatternEntry - Information about the starting point for matching a particular + * pattern. These entries are stored in a 'pattern map' - a sorted array that + * makes it possible to efficiently lookup patterns based on the symbol for their + * first step. The entry consists of the following fields: + * - `pattern_index` - the index of the pattern within the query + * - `step_index` - the index of the pattern's first step in the shared `steps` array + * - `is_rooted` - whether or not the pattern has a single root node. This property + * affects decisions about whether or not to start the pattern for nodes outside + * of a QueryCursor's range restriction. + */ +typedef struct { + uint16_t step_index; + uint16_t pattern_index; + bool is_rooted; +} PatternEntry; + +typedef struct { + Slice steps; + Slice predicate_steps; + uint32_t start_byte; + uint32_t end_byte; + bool is_non_local; +} QueryPattern; + +typedef struct { + uint32_t byte_offset; + uint16_t step_index; +} StepOffset; + +/* + * QueryState - The state of an in-progress match of a particular pattern + * in a query. While executing, a `TSQueryCursor` must keep track of a number + * of possible in-progress matches. Each of those possible matches is + * represented as one of these states. Fields: + * - `id` - A numeric id that is exposed to the public API. This allows the + * caller to remove a given match, preventing any more of its captures + * from being returned. + * - `start_depth` - The depth in the tree where the first step of the state's + * pattern was matched. + * - `pattern_index` - The pattern that the state is matching. + * - `consumed_capture_count` - The number of captures from this match that + * have already been returned. + * - `capture_list_id` - A numeric id that can be used to retrieve the state's + * list of captures from the `CaptureListPool`. + * - `seeking_immediate_match` - A flag that indicates that the state's next + * step must be matched by the very next sibling. This is used when + * processing repetitions, or when processing a wildcard node followed by + * an anchor. + * - `has_in_progress_alternatives` - A flag that indicates that there is are + * other states that have the same captures as this state, but are at + * different steps in their pattern. This means that in order to obey the + * 'longest-match' rule, this state should not be returned as a match until + * it is clear that there can be no other alternative match with more captures. + */ +typedef struct { + uint32_t id; + uint32_t capture_list_id; + uint16_t start_depth; + uint16_t step_index; + uint16_t pattern_index; + uint16_t consumed_capture_count: 12; + bool seeking_immediate_match: 1; + bool has_in_progress_alternatives: 1; + bool dead: 1; + bool needs_parent: 1; +} QueryState; + +typedef Array(TSQueryCapture) CaptureList; + +/* + * CaptureListPool - A collection of *lists* of captures. Each query state needs + * to maintain its own list of captures. To avoid repeated allocations, this struct + * maintains a fixed set of capture lists, and keeps track of which ones are + * currently in use by a query state. + */ +typedef struct { + Array(CaptureList) list; + CaptureList empty_list; + // The maximum number of capture lists that we are allowed to allocate. We + // never allow `list` to allocate more entries than this, dropping pending + // matches if needed to stay under the limit. + uint32_t max_capture_list_count; + // The number of capture lists allocated in `list` that are not currently in + // use. We reuse those existing-but-unused capture lists before trying to + // allocate any new ones. We use an invalid value (UINT32_MAX) for a capture + // list's length to indicate that it's not in use. + uint32_t free_capture_list_count; +} CaptureListPool; + +/* + * AnalysisState - The state needed for walking the parse table when analyzing + * a query pattern, to determine at which steps the pattern might fail to match. + */ +typedef struct { + TSStateId parse_state; + TSSymbol parent_symbol; + uint16_t child_index; + TSFieldId field_id: 15; + bool done: 1; +} AnalysisStateEntry; + +typedef struct { + AnalysisStateEntry stack[MAX_ANALYSIS_STATE_DEPTH]; + uint16_t depth; + uint16_t step_index; + TSSymbol root_symbol; +} AnalysisState; + +typedef Array(AnalysisState *) AnalysisStateSet; + +typedef struct { + AnalysisStateSet states; + AnalysisStateSet next_states; + AnalysisStateSet deeper_states; + AnalysisStateSet state_pool; + Array(uint16_t) final_step_indices; + Array(TSSymbol) finished_parent_symbols; + bool did_abort; +} QueryAnalysis; + +/* + * AnalysisSubgraph - A subset of the states in the parse table that are used + * in constructing nodes with a certain symbol. Each state is accompanied by + * some information about the possible node that could be produced in + * downstream states. + */ +typedef struct { + TSStateId state; + uint16_t production_id; + uint8_t child_index: 7; + bool done: 1; +} AnalysisSubgraphNode; + +typedef struct { + TSSymbol symbol; + Array(TSStateId) start_states; + Array(AnalysisSubgraphNode) nodes; +} AnalysisSubgraph; + +typedef Array(AnalysisSubgraph) AnalysisSubgraphArray; + +/* + * StatePredecessorMap - A map that stores the predecessors of each parse state. + * This is used during query analysis to determine which parse states can lead + * to which reduce actions. + */ +typedef struct { + TSStateId *contents; +} StatePredecessorMap; + +/* + * TSQuery - A tree query, compiled from a string of S-expressions. The query + * itself is immutable. The mutable state used in the process of executing the + * query is stored in a `TSQueryCursor`. + */ +struct TSQuery { + SymbolTable captures; + SymbolTable predicate_values; + Array(CaptureQuantifiers) capture_quantifiers; + Array(QueryStep) steps; + Array(PatternEntry) pattern_map; + Array(TSQueryPredicateStep) predicate_steps; + Array(QueryPattern) patterns; + Array(StepOffset) step_offsets; + Array(TSFieldId) negated_fields; + Array(char) string_buffer; + Array(TSSymbol) repeat_symbols_with_rootless_patterns; + const TSLanguage *language; + uint16_t wildcard_root_pattern_count; +}; + +/* + * TSQueryCursor - A stateful struct used to execute a query on a tree. + */ +struct TSQueryCursor { + const TSQuery *query; + TSTreeCursor cursor; + Array(QueryState) states; + Array(QueryState) finished_states; + CaptureListPool capture_list_pool; + uint32_t depth; + uint32_t max_start_depth; + uint32_t start_byte; + uint32_t end_byte; + TSPoint start_point; + TSPoint end_point; + uint32_t next_state_id; + TSClock end_clock; + TSDuration timeout_duration; + const TSQueryCursorOptions *query_options; + TSQueryCursorState query_state; + unsigned operation_count; + bool on_visible_node; + bool ascending; + bool halted; + bool did_exceed_match_limit; +}; + +static const TSQueryError PARENT_DONE = -1; +static const uint16_t PATTERN_DONE_MARKER = UINT16_MAX; +static const uint16_t NONE = UINT16_MAX; +static const TSSymbol WILDCARD_SYMBOL = 0; +static const unsigned OP_COUNT_PER_QUERY_TIMEOUT_CHECK = 100; + +/********** + * Stream + **********/ + +// Advance to the next unicode code point in the stream. +static bool stream_advance(Stream *self) { + self->input += self->next_size; + if (self->input < self->end) { + uint32_t size = ts_decode_utf8( + (const uint8_t *)self->input, + (uint32_t)(self->end - self->input), + &self->next + ); + if (size > 0) { + self->next_size = size; + return true; + } + } else { + self->next_size = 0; + self->next = '\0'; + } + return false; +} + +// Reset the stream to the given input position, represented as a pointer +// into the input string. +static void stream_reset(Stream *self, const char *input) { + self->input = input; + self->next_size = 0; + stream_advance(self); +} + +static Stream stream_new(const char *string, uint32_t length) { + Stream self = { + .next = 0, + .input = string, + .start = string, + .end = string + length, + }; + stream_advance(&self); + return self; +} + +static void stream_skip_whitespace(Stream *self) { + for (;;) { + if (iswspace(self->next)) { + stream_advance(self); + } else if (self->next == ';') { + // skip over comments + stream_advance(self); + while (self->next && self->next != '\n') { + if (!stream_advance(self)) break; + } + } else { + break; + } + } +} + +static bool stream_is_ident_start(Stream *self) { + return iswalnum(self->next) || self->next == '_' || self->next == '-'; +} + +static void stream_scan_identifier(Stream *stream) { + do { + stream_advance(stream); + } while ( + iswalnum(stream->next) || + stream->next == '_' || + stream->next == '-' || + stream->next == '.' + ); +} + +static uint32_t stream_offset(Stream *self) { + return (uint32_t)(self->input - self->start); +} + +/****************** + * CaptureListPool + ******************/ + +static CaptureListPool capture_list_pool_new(void) { + return (CaptureListPool) { + .list = array_new(), + .empty_list = array_new(), + .max_capture_list_count = UINT32_MAX, + .free_capture_list_count = 0, + }; +} + +static void capture_list_pool_reset(CaptureListPool *self) { + for (uint16_t i = 0; i < (uint16_t)self->list.size; i++) { + // This invalid size means that the list is not in use. + array_get(&self->list, i)->size = UINT32_MAX; + } + self->free_capture_list_count = self->list.size; +} + +static void capture_list_pool_delete(CaptureListPool *self) { + for (uint16_t i = 0; i < (uint16_t)self->list.size; i++) { + array_delete(array_get(&self->list, i)); + } + array_delete(&self->list); +} + +static const CaptureList *capture_list_pool_get(const CaptureListPool *self, uint16_t id) { + if (id >= self->list.size) return &self->empty_list; + return array_get(&self->list, id); +} + +static CaptureList *capture_list_pool_get_mut(CaptureListPool *self, uint16_t id) { + ts_assert(id < self->list.size); + return array_get(&self->list, id); +} + +static bool capture_list_pool_is_empty(const CaptureListPool *self) { + // The capture list pool is empty if all allocated lists are in use, and we + // have reached the maximum allowed number of allocated lists. + return self->free_capture_list_count == 0 && self->list.size >= self->max_capture_list_count; +} + +static uint16_t capture_list_pool_acquire(CaptureListPool *self) { + // First see if any already allocated capture list is currently unused. + if (self->free_capture_list_count > 0) { + for (uint16_t i = 0; i < (uint16_t)self->list.size; i++) { + if (array_get(&self->list, i)->size == UINT32_MAX) { + array_clear(array_get(&self->list, i)); + self->free_capture_list_count--; + return i; + } + } + } + + // Otherwise allocate and initialize a new capture list, as long as that + // doesn't put us over the requested maximum. + uint32_t i = self->list.size; + if (i >= self->max_capture_list_count) { + return NONE; + } + CaptureList list; + array_init(&list); + array_push(&self->list, list); + return i; +} + +static void capture_list_pool_release(CaptureListPool *self, uint16_t id) { + if (id >= self->list.size) return; + array_get(&self->list, id)->size = UINT32_MAX; + self->free_capture_list_count++; +} + +/************** + * Quantifiers + **************/ + +static TSQuantifier quantifier_mul( + TSQuantifier left, + TSQuantifier right +) { + switch (left) + { + case TSQuantifierZero: + return TSQuantifierZero; + case TSQuantifierZeroOrOne: + switch (right) { + case TSQuantifierZero: + return TSQuantifierZero; + case TSQuantifierZeroOrOne: + case TSQuantifierOne: + return TSQuantifierZeroOrOne; + case TSQuantifierZeroOrMore: + case TSQuantifierOneOrMore: + return TSQuantifierZeroOrMore; + }; + break; + case TSQuantifierZeroOrMore: + switch (right) { + case TSQuantifierZero: + return TSQuantifierZero; + case TSQuantifierZeroOrOne: + case TSQuantifierZeroOrMore: + case TSQuantifierOne: + case TSQuantifierOneOrMore: + return TSQuantifierZeroOrMore; + }; + break; + case TSQuantifierOne: + return right; + case TSQuantifierOneOrMore: + switch (right) { + case TSQuantifierZero: + return TSQuantifierZero; + case TSQuantifierZeroOrOne: + case TSQuantifierZeroOrMore: + return TSQuantifierZeroOrMore; + case TSQuantifierOne: + case TSQuantifierOneOrMore: + return TSQuantifierOneOrMore; + }; + break; + } + return TSQuantifierZero; // to make compiler happy, but all cases should be covered above! +} + +static TSQuantifier quantifier_join( + TSQuantifier left, + TSQuantifier right +) { + switch (left) + { + case TSQuantifierZero: + switch (right) { + case TSQuantifierZero: + return TSQuantifierZero; + case TSQuantifierZeroOrOne: + case TSQuantifierOne: + return TSQuantifierZeroOrOne; + case TSQuantifierZeroOrMore: + case TSQuantifierOneOrMore: + return TSQuantifierZeroOrMore; + }; + break; + case TSQuantifierZeroOrOne: + switch (right) { + case TSQuantifierZero: + case TSQuantifierZeroOrOne: + case TSQuantifierOne: + return TSQuantifierZeroOrOne; + break; + case TSQuantifierZeroOrMore: + case TSQuantifierOneOrMore: + return TSQuantifierZeroOrMore; + break; + }; + break; + case TSQuantifierZeroOrMore: + return TSQuantifierZeroOrMore; + case TSQuantifierOne: + switch (right) { + case TSQuantifierZero: + case TSQuantifierZeroOrOne: + return TSQuantifierZeroOrOne; + case TSQuantifierZeroOrMore: + return TSQuantifierZeroOrMore; + case TSQuantifierOne: + return TSQuantifierOne; + case TSQuantifierOneOrMore: + return TSQuantifierOneOrMore; + }; + break; + case TSQuantifierOneOrMore: + switch (right) { + case TSQuantifierZero: + case TSQuantifierZeroOrOne: + case TSQuantifierZeroOrMore: + return TSQuantifierZeroOrMore; + case TSQuantifierOne: + case TSQuantifierOneOrMore: + return TSQuantifierOneOrMore; + }; + break; + } + return TSQuantifierZero; // to make compiler happy, but all cases should be covered above! +} + +static TSQuantifier quantifier_add( + TSQuantifier left, + TSQuantifier right +) { + switch (left) + { + case TSQuantifierZero: + return right; + case TSQuantifierZeroOrOne: + switch (right) { + case TSQuantifierZero: + return TSQuantifierZeroOrOne; + case TSQuantifierZeroOrOne: + case TSQuantifierZeroOrMore: + return TSQuantifierZeroOrMore; + case TSQuantifierOne: + case TSQuantifierOneOrMore: + return TSQuantifierOneOrMore; + }; + break; + case TSQuantifierZeroOrMore: + switch (right) { + case TSQuantifierZero: + return TSQuantifierZeroOrMore; + case TSQuantifierZeroOrOne: + case TSQuantifierZeroOrMore: + return TSQuantifierZeroOrMore; + case TSQuantifierOne: + case TSQuantifierOneOrMore: + return TSQuantifierOneOrMore; + }; + break; + case TSQuantifierOne: + switch (right) { + case TSQuantifierZero: + return TSQuantifierOne; + case TSQuantifierZeroOrOne: + case TSQuantifierZeroOrMore: + case TSQuantifierOne: + case TSQuantifierOneOrMore: + return TSQuantifierOneOrMore; + }; + break; + case TSQuantifierOneOrMore: + return TSQuantifierOneOrMore; + } + return TSQuantifierZero; // to make compiler happy, but all cases should be covered above! +} + +// Create new capture quantifiers structure +static CaptureQuantifiers capture_quantifiers_new(void) { + return (CaptureQuantifiers) array_new(); +} + +// Delete capture quantifiers structure +static void capture_quantifiers_delete( + CaptureQuantifiers *self +) { + array_delete(self); +} + +// Clear capture quantifiers structure +static void capture_quantifiers_clear( + CaptureQuantifiers *self +) { + array_clear(self); +} + +// Replace capture quantifiers with the given quantifiers +static void capture_quantifiers_replace( + CaptureQuantifiers *self, + CaptureQuantifiers *quantifiers +) { + array_clear(self); + array_push_all(self, quantifiers); +} + +// Return capture quantifier for the given capture id +static TSQuantifier capture_quantifier_for_id( + const CaptureQuantifiers *self, + uint16_t id +) { + return (self->size <= id) ? TSQuantifierZero : (TSQuantifier) *array_get(self, id); +} + +// Add the given quantifier to the current value for id +static void capture_quantifiers_add_for_id( + CaptureQuantifiers *self, + uint16_t id, + TSQuantifier quantifier +) { + if (self->size <= id) { + array_grow_by(self, id + 1 - self->size); + } + uint8_t *own_quantifier = array_get(self, id); + *own_quantifier = (uint8_t) quantifier_add((TSQuantifier) *own_quantifier, quantifier); +} + +// Point-wise add the given quantifiers to the current values +static void capture_quantifiers_add_all( + CaptureQuantifiers *self, + CaptureQuantifiers *quantifiers +) { + if (self->size < quantifiers->size) { + array_grow_by(self, quantifiers->size - self->size); + } + for (uint16_t id = 0; id < (uint16_t)quantifiers->size; id++) { + uint8_t *quantifier = array_get(quantifiers, id); + uint8_t *own_quantifier = array_get(self, id); + *own_quantifier = (uint8_t) quantifier_add((TSQuantifier) *own_quantifier, (TSQuantifier) *quantifier); + } +} + +// Join the given quantifier with the current values +static void capture_quantifiers_mul( + CaptureQuantifiers *self, + TSQuantifier quantifier +) { + for (uint16_t id = 0; id < (uint16_t)self->size; id++) { + uint8_t *own_quantifier = array_get(self, id); + *own_quantifier = (uint8_t) quantifier_mul((TSQuantifier) *own_quantifier, quantifier); + } +} + +// Point-wise join the quantifiers from a list of alternatives with the current values +static void capture_quantifiers_join_all( + CaptureQuantifiers *self, + CaptureQuantifiers *quantifiers +) { + if (self->size < quantifiers->size) { + array_grow_by(self, quantifiers->size - self->size); + } + for (uint32_t id = 0; id < quantifiers->size; id++) { + uint8_t *quantifier = array_get(quantifiers, id); + uint8_t *own_quantifier = array_get(self, id); + *own_quantifier = (uint8_t) quantifier_join((TSQuantifier) *own_quantifier, (TSQuantifier) *quantifier); + } + for (uint32_t id = quantifiers->size; id < self->size; id++) { + uint8_t *own_quantifier = array_get(self, id); + *own_quantifier = (uint8_t) quantifier_join((TSQuantifier) *own_quantifier, TSQuantifierZero); + } +} + +/************** + * SymbolTable + **************/ + +static SymbolTable symbol_table_new(void) { + return (SymbolTable) { + .characters = array_new(), + .slices = array_new(), + }; +} + +static void symbol_table_delete(SymbolTable *self) { + array_delete(&self->characters); + array_delete(&self->slices); +} + +static int symbol_table_id_for_name( + const SymbolTable *self, + const char *name, + uint32_t length +) { + for (unsigned i = 0; i < self->slices.size; i++) { + Slice slice = *array_get(&self->slices, i); + if ( + slice.length == length && + !strncmp(array_get(&self->characters, slice.offset), name, length) + ) return i; + } + return -1; +} + +static const char *symbol_table_name_for_id( + const SymbolTable *self, + uint16_t id, + uint32_t *length +) { + Slice slice = *(array_get(&self->slices,id)); + *length = slice.length; + return array_get(&self->characters, slice.offset); +} + +static uint16_t symbol_table_insert_name( + SymbolTable *self, + const char *name, + uint32_t length +) { + int id = symbol_table_id_for_name(self, name, length); + if (id >= 0) return (uint16_t)id; + Slice slice = { + .offset = self->characters.size, + .length = length, + }; + array_grow_by(&self->characters, length + 1); + memcpy(array_get(&self->characters, slice.offset), name, length); + *array_get(&self->characters, self->characters.size - 1) = 0; + array_push(&self->slices, slice); + return self->slices.size - 1; +} + +/************ + * QueryStep + ************/ + +static QueryStep query_step__new( + TSSymbol symbol, + uint16_t depth, + bool is_immediate +) { + QueryStep step = { + .symbol = symbol, + .depth = depth, + .field = 0, + .alternative_index = NONE, + .negated_field_list_id = 0, + .contains_captures = false, + .is_last_child = false, + .is_named = false, + .is_pass_through = false, + .is_dead_end = false, + .root_pattern_guaranteed = false, + .is_immediate = is_immediate, + .alternative_is_immediate = false, + }; + for (unsigned i = 0; i < MAX_STEP_CAPTURE_COUNT; i++) { + step.capture_ids[i] = NONE; + } + return step; +} + +static void query_step__add_capture(QueryStep *self, uint16_t capture_id) { + for (unsigned i = 0; i < MAX_STEP_CAPTURE_COUNT; i++) { + if (self->capture_ids[i] == NONE) { + self->capture_ids[i] = capture_id; + break; + } + } +} + +static void query_step__remove_capture(QueryStep *self, uint16_t capture_id) { + for (unsigned i = 0; i < MAX_STEP_CAPTURE_COUNT; i++) { + if (self->capture_ids[i] == capture_id) { + self->capture_ids[i] = NONE; + while (i + 1 < MAX_STEP_CAPTURE_COUNT) { + if (self->capture_ids[i + 1] == NONE) break; + self->capture_ids[i] = self->capture_ids[i + 1]; + self->capture_ids[i + 1] = NONE; + i++; + } + break; + } + } +} + +/********************** + * StatePredecessorMap + **********************/ + +static inline StatePredecessorMap state_predecessor_map_new( + const TSLanguage *language +) { + return (StatePredecessorMap) { + .contents = ts_calloc( + (size_t)language->state_count * (MAX_STATE_PREDECESSOR_COUNT + 1), + sizeof(TSStateId) + ), + }; +} + +static inline void state_predecessor_map_delete(StatePredecessorMap *self) { + ts_free(self->contents); +} + +static inline void state_predecessor_map_add( + StatePredecessorMap *self, + TSStateId state, + TSStateId predecessor +) { + size_t index = (size_t)state * (MAX_STATE_PREDECESSOR_COUNT + 1); + TSStateId *count = &self->contents[index]; + if ( + *count == 0 || + (*count < MAX_STATE_PREDECESSOR_COUNT && self->contents[index + *count] != predecessor) + ) { + (*count)++; + self->contents[index + *count] = predecessor; + } +} + +static inline const TSStateId *state_predecessor_map_get( + const StatePredecessorMap *self, + TSStateId state, + unsigned *count +) { + size_t index = (size_t)state * (MAX_STATE_PREDECESSOR_COUNT + 1); + *count = self->contents[index]; + return &self->contents[index + 1]; +} + +/**************** + * AnalysisState + ****************/ + +static unsigned analysis_state__recursion_depth(const AnalysisState *self) { + unsigned result = 0; + for (unsigned i = 0; i < self->depth; i++) { + TSSymbol symbol = self->stack[i].parent_symbol; + for (unsigned j = 0; j < i; j++) { + if (self->stack[j].parent_symbol == symbol) { + result++; + break; + } + } + } + return result; +} + +static inline int analysis_state__compare_position( + AnalysisState *const *self, + AnalysisState *const *other +) { + for (unsigned i = 0; i < (*self)->depth; i++) { + if (i >= (*other)->depth) return -1; + if ((*self)->stack[i].child_index < (*other)->stack[i].child_index) return -1; + if ((*self)->stack[i].child_index > (*other)->stack[i].child_index) return 1; + } + if ((*self)->depth < (*other)->depth) return 1; + if ((*self)->step_index < (*other)->step_index) return -1; + if ((*self)->step_index > (*other)->step_index) return 1; + return 0; +} + +static inline int analysis_state__compare( + AnalysisState *const *self, + AnalysisState *const *other +) { + int result = analysis_state__compare_position(self, other); + if (result != 0) return result; + for (unsigned i = 0; i < (*self)->depth; i++) { + if ((*self)->stack[i].parent_symbol < (*other)->stack[i].parent_symbol) return -1; + if ((*self)->stack[i].parent_symbol > (*other)->stack[i].parent_symbol) return 1; + if ((*self)->stack[i].parse_state < (*other)->stack[i].parse_state) return -1; + if ((*self)->stack[i].parse_state > (*other)->stack[i].parse_state) return 1; + if ((*self)->stack[i].field_id < (*other)->stack[i].field_id) return -1; + if ((*self)->stack[i].field_id > (*other)->stack[i].field_id) return 1; + } + return 0; +} + +static inline AnalysisStateEntry *analysis_state__top(AnalysisState *self) { + if (self->depth == 0) { + return &self->stack[0]; + } + return &self->stack[self->depth - 1]; +} + +static inline bool analysis_state__has_supertype(AnalysisState *self, TSSymbol symbol) { + for (unsigned i = 0; i < self->depth; i++) { + if (self->stack[i].parent_symbol == symbol) return true; + } + return false; +} + +/****************** + * AnalysisStateSet + ******************/ + +// Obtains an `AnalysisState` instance, either by consuming one from this set's object pool, or by +// cloning one from scratch. +static inline AnalysisState *analysis_state_pool__clone_or_reuse( + AnalysisStateSet *self, + AnalysisState *borrowed_item +) { + AnalysisState *new_item; + if (self->size) { + new_item = array_pop(self); + } else { + new_item = ts_malloc(sizeof(AnalysisState)); + } + *new_item = *borrowed_item; + return new_item; +} + +// Inserts a clone of the passed-in item at the appropriate position to maintain ordering in this +// set. The set does not contain duplicates, so if the item is already present, it will not be +// inserted, and no clone will be made. +// +// The caller retains ownership of the passed-in memory. However, the clone that is created by this +// function will be managed by the state set. +static inline void analysis_state_set__insert_sorted( + AnalysisStateSet *self, + AnalysisStateSet *pool, + AnalysisState *borrowed_item +) { + unsigned index, exists; + array_search_sorted_with(self, analysis_state__compare, &borrowed_item, &index, &exists); + if (!exists) { + AnalysisState *new_item = analysis_state_pool__clone_or_reuse(pool, borrowed_item); + array_insert(self, index, new_item); + } +} + +// Inserts a clone of the passed-in item at the end position of this list. +// +// IMPORTANT: The caller MUST ENSURE that this item is larger (by the comparison function +// `analysis_state__compare`) than largest item already in this set. If items are inserted in the +// wrong order, the set will not function properly for future use. +// +// The caller retains ownership of the passed-in memory. However, the clone that is created by this +// function will be managed by the state set. +static inline void analysis_state_set__push( + AnalysisStateSet *self, + AnalysisStateSet *pool, + AnalysisState *borrowed_item +) { + AnalysisState *new_item = analysis_state_pool__clone_or_reuse(pool, borrowed_item); + array_push(self, new_item); +} + +// Removes all items from this set, returning it to an empty state. +static inline void analysis_state_set__clear(AnalysisStateSet *self, AnalysisStateSet *pool) { + array_push_all(pool, self); + array_clear(self); +} + +// Releases all memory that is managed with this state set, including any items currently present. +// After calling this function, the set is no longer suitable for use. +static inline void analysis_state_set__delete(AnalysisStateSet *self) { + for (unsigned i = 0; i < self->size; i++) { + ts_free(self->contents[i]); + } + array_delete(self); +} + +/**************** + * QueryAnalyzer + ****************/ + +static inline QueryAnalysis query_analysis__new(void) { + return (QueryAnalysis) { + .states = array_new(), + .next_states = array_new(), + .deeper_states = array_new(), + .state_pool = array_new(), + .final_step_indices = array_new(), + .finished_parent_symbols = array_new(), + .did_abort = false, + }; +} + +static inline void query_analysis__delete(QueryAnalysis *self) { + analysis_state_set__delete(&self->states); + analysis_state_set__delete(&self->next_states); + analysis_state_set__delete(&self->deeper_states); + analysis_state_set__delete(&self->state_pool); + array_delete(&self->final_step_indices); + array_delete(&self->finished_parent_symbols); +} + +/*********************** + * AnalysisSubgraphNode + ***********************/ + +static inline int analysis_subgraph_node__compare(const AnalysisSubgraphNode *self, const AnalysisSubgraphNode *other) { + if (self->state < other->state) return -1; + if (self->state > other->state) return 1; + if (self->child_index < other->child_index) return -1; + if (self->child_index > other->child_index) return 1; + if (self->done < other->done) return -1; + if (self->done > other->done) return 1; + if (self->production_id < other->production_id) return -1; + if (self->production_id > other->production_id) return 1; + return 0; +} + +/********* + * Query + *********/ + +// The `pattern_map` contains a mapping from TSSymbol values to indices in the +// `steps` array. For a given syntax node, the `pattern_map` makes it possible +// to quickly find the starting steps of all of the patterns whose root matches +// that node. Each entry has two fields: a `pattern_index`, which identifies one +// of the patterns in the query, and a `step_index`, which indicates the start +// offset of that pattern's steps within the `steps` array. +// +// The entries are sorted by the patterns' root symbols, and lookups use a +// binary search. This ensures that the cost of this initial lookup step +// scales logarithmically with the number of patterns in the query. +// +// This returns `true` if the symbol is present and `false` otherwise. +// If the symbol is not present `*result` is set to the index where the +// symbol should be inserted. +static inline bool ts_query__pattern_map_search( + const TSQuery *self, + TSSymbol needle, + uint32_t *result +) { + uint32_t base_index = self->wildcard_root_pattern_count; + uint32_t size = self->pattern_map.size - base_index; + if (size == 0) { + *result = base_index; + return false; + } + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = base_index + half_size; + TSSymbol mid_symbol = array_get(&self->steps, + array_get(&self->pattern_map, mid_index)->step_index + )->symbol; + if (needle > mid_symbol) base_index = mid_index; + size -= half_size; + } + + TSSymbol symbol = array_get(&self->steps, + array_get(&self->pattern_map, base_index)->step_index + )->symbol; + + if (needle > symbol) { + base_index++; + if (base_index < self->pattern_map.size) { + symbol = array_get(&self->steps, + array_get(&self->pattern_map, base_index)->step_index + )->symbol; + } + } + + *result = base_index; + return needle == symbol; +} + +// Insert a new pattern's start index into the pattern map, maintaining +// the pattern map's ordering invariant. +static inline void ts_query__pattern_map_insert( + TSQuery *self, + TSSymbol symbol, + PatternEntry new_entry +) { + uint32_t index; + ts_query__pattern_map_search(self, symbol, &index); + + // Ensure that the entries are sorted not only by symbol, but also + // by pattern_index. This way, states for earlier patterns will be + // initiated first, which allows the ordering of the states array + // to be maintained more efficiently. + while (index < self->pattern_map.size) { + PatternEntry *entry = array_get(&self->pattern_map, index); + if ( + array_get(&self->steps, entry->step_index)->symbol == symbol && + entry->pattern_index < new_entry.pattern_index + ) { + index++; + } else { + break; + } + } + + array_insert(&self->pattern_map, index, new_entry); +} + +// Walk the subgraph for this non-terminal, tracking all of the possible +// sequences of progress within the pattern. +static void ts_query__perform_analysis( + TSQuery *self, + const AnalysisSubgraphArray *subgraphs, + QueryAnalysis *analysis +) { + unsigned recursion_depth_limit = 0; + unsigned prev_final_step_count = 0; + array_clear(&analysis->final_step_indices); + array_clear(&analysis->finished_parent_symbols); + + for (unsigned iteration = 0;; iteration++) { + if (iteration == MAX_ANALYSIS_ITERATION_COUNT) { + analysis->did_abort = true; + break; + } + + #ifdef DEBUG_ANALYZE_QUERY + printf("Iteration: %u. Final step indices:", iteration); + for (unsigned j = 0; j < analysis->final_step_indices.size; j++) { + printf(" %4u", *array_get(&analysis->final_step_indices, j)); + } + printf("\n"); + for (unsigned j = 0; j < analysis->states.size; j++) { + AnalysisState *state = *array_get(&analysis->states, j); + printf(" %3u: step: %u, stack: [", j, state->step_index); + for (unsigned k = 0; k < state->depth; k++) { + printf( + " {%s, child: %u, state: %4u", + self->language->symbol_names[state->stack[k].parent_symbol], + state->stack[k].child_index, + state->stack[k].parse_state + ); + if (state->stack[k].field_id) printf(", field: %s", self->language->field_names[state->stack[k].field_id]); + if (state->stack[k].done) printf(", DONE"); + printf("}"); + } + printf(" ]\n"); + } + #endif + + // If no further progress can be made within the current recursion depth limit, then + // bump the depth limit by one, and continue to process the states the exceeded the + // limit. But only allow this if progress has been made since the last time the depth + // limit was increased. + if (analysis->states.size == 0) { + if ( + analysis->deeper_states.size > 0 && + analysis->final_step_indices.size > prev_final_step_count + ) { + #ifdef DEBUG_ANALYZE_QUERY + printf("Increase recursion depth limit to %u\n", recursion_depth_limit + 1); + #endif + + prev_final_step_count = analysis->final_step_indices.size; + recursion_depth_limit++; + AnalysisStateSet _states = analysis->states; + analysis->states = analysis->deeper_states; + analysis->deeper_states = _states; + continue; + } + + break; + } + + analysis_state_set__clear(&analysis->next_states, &analysis->state_pool); + for (unsigned j = 0; j < analysis->states.size; j++) { + AnalysisState * const state = *array_get(&analysis->states, j); + + // For efficiency, it's important to avoid processing the same analysis state more + // than once. To achieve this, keep the states in order of ascending position within + // their hypothetical syntax trees. In each iteration of this loop, start by advancing + // the states that have made the least progress. Avoid advancing states that have already + // made more progress. + if (analysis->next_states.size > 0) { + int comparison = analysis_state__compare_position( + &state, + array_back(&analysis->next_states) + ); + if (comparison == 0) { + analysis_state_set__insert_sorted(&analysis->next_states, &analysis->state_pool, state); + continue; + } else if (comparison > 0) { + #ifdef DEBUG_ANALYZE_QUERY + printf("Terminate iteration at state %u\n", j); + #endif + while (j < analysis->states.size) { + analysis_state_set__push( + &analysis->next_states, + &analysis->state_pool, + *array_get(&analysis->states, j) + ); + j++; + } + break; + } + } + + const TSStateId parse_state = analysis_state__top(state)->parse_state; + const TSSymbol parent_symbol = analysis_state__top(state)->parent_symbol; + const TSFieldId parent_field_id = analysis_state__top(state)->field_id; + const unsigned child_index = analysis_state__top(state)->child_index; + const QueryStep * const step = array_get(&self->steps, state->step_index); + + unsigned subgraph_index, exists; + array_search_sorted_by(subgraphs, .symbol, parent_symbol, &subgraph_index, &exists); + if (!exists) continue; + const AnalysisSubgraph *subgraph = array_get(subgraphs, subgraph_index); + + // Follow every possible path in the parse table, but only visit states that + // are part of the subgraph for the current symbol. + LookaheadIterator lookahead_iterator = ts_language_lookaheads(self->language, parse_state); + while (ts_lookahead_iterator__next(&lookahead_iterator)) { + TSSymbol sym = lookahead_iterator.symbol; + + AnalysisSubgraphNode successor = { + .state = parse_state, + .child_index = child_index, + }; + if (lookahead_iterator.action_count) { + const TSParseAction *action = &lookahead_iterator.actions[lookahead_iterator.action_count - 1]; + if (action->type == TSParseActionTypeShift) { + if (!action->shift.extra) { + successor.state = action->shift.state; + successor.child_index++; + } + } else { + continue; + } + } else if (lookahead_iterator.next_state != 0) { + successor.state = lookahead_iterator.next_state; + successor.child_index++; + } else { + continue; + } + + unsigned node_index; + array_search_sorted_with( + &subgraph->nodes, + analysis_subgraph_node__compare, &successor, + &node_index, &exists + ); + while (node_index < subgraph->nodes.size) { + AnalysisSubgraphNode *node = array_get(&subgraph->nodes, node_index); + node_index++; + if (node->state != successor.state || node->child_index != successor.child_index) break; + + // Use the subgraph to determine what alias and field will eventually be applied + // to this child node. + TSSymbol alias = ts_language_alias_at(self->language, node->production_id, child_index); + TSSymbol visible_symbol = alias + ? alias + : self->language->symbol_metadata[sym].visible + ? self->language->public_symbol_map[sym] + : 0; + TSFieldId field_id = parent_field_id; + if (!field_id) { + const TSFieldMapEntry *field_map, *field_map_end; + ts_language_field_map(self->language, node->production_id, &field_map, &field_map_end); + for (; field_map != field_map_end; field_map++) { + if (!field_map->inherited && field_map->child_index == child_index) { + field_id = field_map->field_id; + break; + } + } + } + + // Create a new state that has advanced past this hypothetical subtree. + AnalysisState next_state = *state; + AnalysisStateEntry *next_state_top = analysis_state__top(&next_state); + next_state_top->child_index = successor.child_index; + next_state_top->parse_state = successor.state; + if (node->done) next_state_top->done = true; + + // Determine if this hypothetical child node would match the current step + // of the query pattern. + bool does_match = false; + if (visible_symbol) { + does_match = true; + if (step->symbol == WILDCARD_SYMBOL) { + if ( + step->is_named && + !self->language->symbol_metadata[visible_symbol].named + ) does_match = false; + } else if (step->symbol != visible_symbol) { + does_match = false; + } + if (step->field && step->field != field_id) { + does_match = false; + } + if ( + step->supertype_symbol && + !analysis_state__has_supertype(state, step->supertype_symbol) + ) does_match = false; + } + + // If this child is hidden, then descend into it and walk through its children. + // If the top entry of the stack is at the end of its rule, then that entry can + // be replaced. Otherwise, push a new entry onto the stack. + else if (sym >= self->language->token_count) { + if (!next_state_top->done) { + if (next_state.depth + 1 >= MAX_ANALYSIS_STATE_DEPTH) { + #ifdef DEBUG_ANALYZE_QUERY + printf("Exceeded depth limit for state %u\n", j); + #endif + + analysis->did_abort = true; + continue; + } + + next_state.depth++; + next_state_top = analysis_state__top(&next_state); + } + + *next_state_top = (AnalysisStateEntry) { + .parse_state = parse_state, + .parent_symbol = sym, + .child_index = 0, + .field_id = field_id, + .done = false, + }; + + if (analysis_state__recursion_depth(&next_state) > recursion_depth_limit) { + analysis_state_set__insert_sorted( + &analysis->deeper_states, + &analysis->state_pool, + &next_state + ); + continue; + } + } + + // Pop from the stack when this state reached the end of its current syntax node. + while (next_state.depth > 0 && next_state_top->done) { + next_state.depth--; + next_state_top = analysis_state__top(&next_state); + } + + // If this hypothetical child did match the current step of the query pattern, + // then advance to the next step at the current depth. This involves skipping + // over any descendant steps of the current child. + const QueryStep *next_step = step; + if (does_match) { + for (;;) { + next_state.step_index++; + next_step = array_get(&self->steps, next_state.step_index); + if ( + next_step->depth == PATTERN_DONE_MARKER || + next_step->depth <= step->depth + ) break; + } + } else if (successor.state == parse_state) { + continue; + } + + for (;;) { + // Skip pass-through states. Although these states have alternatives, they are only + // used to implement repetitions, and query analysis does not need to process + // repetitions in order to determine whether steps are possible and definite. + if (next_step->is_pass_through) { + next_state.step_index++; + next_step++; + continue; + } + + // If the pattern is finished or hypothetical parent node is complete, then + // record that matching can terminate at this step of the pattern. Otherwise, + // add this state to the list of states to process on the next iteration. + if (!next_step->is_dead_end) { + bool did_finish_pattern = array_get(&self->steps, next_state.step_index)->depth != step->depth; + if (did_finish_pattern) { + array_insert_sorted_by(&analysis->finished_parent_symbols, , state->root_symbol); + } else if (next_state.depth == 0) { + array_insert_sorted_by(&analysis->final_step_indices, , next_state.step_index); + } else { + analysis_state_set__insert_sorted(&analysis->next_states, &analysis->state_pool, &next_state); + } + } + + // If the state has advanced to a step with an alternative step, then add another state + // at that alternative step. This process is simpler than the process of actually matching a + // pattern during query execution, because for the purposes of query analysis, there is no + // need to process repetitions. + if ( + does_match && + next_step->alternative_index != NONE && + next_step->alternative_index > next_state.step_index + ) { + next_state.step_index = next_step->alternative_index; + next_step = array_get(&self->steps, next_state.step_index); + } else { + break; + } + } + } + } + } + + AnalysisStateSet _states = analysis->states; + analysis->states = analysis->next_states; + analysis->next_states = _states; + } +} + +static bool ts_query__analyze_patterns(TSQuery *self, unsigned *error_offset) { + Array(uint16_t) non_rooted_pattern_start_steps = array_new(); + for (unsigned i = 0; i < self->pattern_map.size; i++) { + PatternEntry *pattern = array_get(&self->pattern_map, i); + if (!pattern->is_rooted) { + QueryStep *step = array_get(&self->steps, pattern->step_index); + if (step->symbol != WILDCARD_SYMBOL) { + array_push(&non_rooted_pattern_start_steps, i); + } + } + } + + // Walk forward through all of the steps in the query, computing some + // basic information about each step. Mark all of the steps that contain + // captures, and record the indices of all of the steps that have child steps. + Array(uint32_t) parent_step_indices = array_new(); + for (unsigned i = 0; i < self->steps.size; i++) { + QueryStep *step = array_get(&self->steps, i); + if (step->depth == PATTERN_DONE_MARKER) { + step->parent_pattern_guaranteed = true; + step->root_pattern_guaranteed = true; + continue; + } + + bool has_children = false; + bool is_wildcard = step->symbol == WILDCARD_SYMBOL; + step->contains_captures = step->capture_ids[0] != NONE; + for (unsigned j = i + 1; j < self->steps.size; j++) { + QueryStep *next_step = array_get(&self->steps, j); + if ( + next_step->depth == PATTERN_DONE_MARKER || + next_step->depth <= step->depth + ) break; + if (next_step->capture_ids[0] != NONE) { + step->contains_captures = true; + } + if (!is_wildcard) { + next_step->root_pattern_guaranteed = true; + next_step->parent_pattern_guaranteed = true; + } + has_children = true; + } + + if (has_children && !is_wildcard) { + array_push(&parent_step_indices, i); + } + } + + // For every parent symbol in the query, initialize an 'analysis subgraph'. + // This subgraph lists all of the states in the parse table that are directly + // involved in building subtrees for this symbol. + // + // In addition to the parent symbols in the query, construct subgraphs for all + // of the hidden symbols in the grammar, because these might occur within + // one of the parent nodes, such that their children appear to belong to the + // parent. + AnalysisSubgraphArray subgraphs = array_new(); + for (unsigned i = 0; i < parent_step_indices.size; i++) { + uint32_t parent_step_index = *array_get(&parent_step_indices, i); + TSSymbol parent_symbol = array_get(&self->steps, parent_step_index)->symbol; + AnalysisSubgraph subgraph = { .symbol = parent_symbol }; + array_insert_sorted_by(&subgraphs, .symbol, subgraph); + } + for (TSSymbol sym = (uint16_t)self->language->token_count; sym < (uint16_t)self->language->symbol_count; sym++) { + if (!ts_language_symbol_metadata(self->language, sym).visible) { + AnalysisSubgraph subgraph = { .symbol = sym }; + array_insert_sorted_by(&subgraphs, .symbol, subgraph); + } + } + + // Scan the parse table to find the data needed to populate these subgraphs. + // Collect three things during this scan: + // 1) All of the parse states where one of these symbols can start. + // 2) All of the parse states where one of these symbols can end, along + // with information about the node that would be created. + // 3) A list of predecessor states for each state. + StatePredecessorMap predecessor_map = state_predecessor_map_new(self->language); + for (TSStateId state = 1; state < (uint16_t)self->language->state_count; state++) { + unsigned subgraph_index, exists; + LookaheadIterator lookahead_iterator = ts_language_lookaheads(self->language, state); + while (ts_lookahead_iterator__next(&lookahead_iterator)) { + if (lookahead_iterator.action_count) { + for (unsigned i = 0; i < lookahead_iterator.action_count; i++) { + const TSParseAction *action = &lookahead_iterator.actions[i]; + if (action->type == TSParseActionTypeReduce) { + const TSSymbol *aliases, *aliases_end; + ts_language_aliases_for_symbol( + self->language, + action->reduce.symbol, + &aliases, + &aliases_end + ); + for (const TSSymbol *symbol = aliases; symbol < aliases_end; symbol++) { + array_search_sorted_by( + &subgraphs, + .symbol, + *symbol, + &subgraph_index, + &exists + ); + if (exists) { + AnalysisSubgraph *subgraph = array_get(&subgraphs, subgraph_index); + if (subgraph->nodes.size == 0 || array_back(&subgraph->nodes)->state != state) { + array_push(&subgraph->nodes, ((AnalysisSubgraphNode) { + .state = state, + .production_id = action->reduce.production_id, + .child_index = action->reduce.child_count, + .done = true, + })); + } + } + } + } else if (action->type == TSParseActionTypeShift && !action->shift.extra) { + TSStateId next_state = action->shift.state; + state_predecessor_map_add(&predecessor_map, next_state, state); + } + } + } else if (lookahead_iterator.next_state != 0) { + if (lookahead_iterator.next_state != state) { + state_predecessor_map_add(&predecessor_map, lookahead_iterator.next_state, state); + } + if (ts_language_state_is_primary(self->language, state)) { + const TSSymbol *aliases, *aliases_end; + ts_language_aliases_for_symbol( + self->language, + lookahead_iterator.symbol, + &aliases, + &aliases_end + ); + for (const TSSymbol *symbol = aliases; symbol < aliases_end; symbol++) { + array_search_sorted_by( + &subgraphs, + .symbol, + *symbol, + &subgraph_index, + &exists + ); + if (exists) { + AnalysisSubgraph *subgraph = array_get(&subgraphs, subgraph_index); + if ( + subgraph->start_states.size == 0 || + *array_back(&subgraph->start_states) != state + ) + array_push(&subgraph->start_states, state); + } + } + } + } + } + } + + // For each subgraph, compute the preceding states by walking backward + // from the end states using the predecessor map. + Array(AnalysisSubgraphNode) next_nodes = array_new(); + for (unsigned i = 0; i < subgraphs.size; i++) { + AnalysisSubgraph *subgraph = array_get(&subgraphs, i); + if (subgraph->nodes.size == 0) { + array_delete(&subgraph->start_states); + array_erase(&subgraphs, i); + i--; + continue; + } + array_assign(&next_nodes, &subgraph->nodes); + while (next_nodes.size > 0) { + AnalysisSubgraphNode node = array_pop(&next_nodes); + if (node.child_index > 1) { + unsigned predecessor_count; + const TSStateId *predecessors = state_predecessor_map_get( + &predecessor_map, + node.state, + &predecessor_count + ); + for (unsigned j = 0; j < predecessor_count; j++) { + AnalysisSubgraphNode predecessor_node = { + .state = predecessors[j], + .child_index = node.child_index - 1, + .production_id = node.production_id, + .done = false, + }; + unsigned index, exists; + array_search_sorted_with( + &subgraph->nodes, analysis_subgraph_node__compare, &predecessor_node, + &index, &exists + ); + if (!exists) { + array_insert(&subgraph->nodes, index, predecessor_node); + array_push(&next_nodes, predecessor_node); + } + } + } + } + } + + #ifdef DEBUG_ANALYZE_QUERY + printf("\nSubgraphs:\n"); + for (unsigned i = 0; i < subgraphs.size; i++) { + AnalysisSubgraph *subgraph = array_get(&subgraphs, i); + printf(" %u, %s:\n", subgraph->symbol, ts_language_symbol_name(self->language, subgraph->symbol)); + for (unsigned j = 0; j < subgraph->start_states.size; j++) { + printf( + " {state: %u}\n", + *array_get(&subgraph->start_states, j) + ); + } + for (unsigned j = 0; j < subgraph->nodes.size; j++) { + AnalysisSubgraphNode *node = array_get(&subgraph->nodes, j); + printf( + " {state: %u, child_index: %u, production_id: %u, done: %d}\n", + node->state, node->child_index, node->production_id, node->done + ); + } + printf("\n"); + } + #endif + + // For each non-terminal pattern, determine if the pattern can successfully match, + // and identify all of the possible children within the pattern where matching could fail. + bool all_patterns_are_valid = true; + QueryAnalysis analysis = query_analysis__new(); + for (unsigned i = 0; i < parent_step_indices.size; i++) { + uint16_t parent_step_index = *array_get(&parent_step_indices, i); + uint16_t parent_depth = array_get(&self->steps, parent_step_index)->depth; + TSSymbol parent_symbol = array_get(&self->steps, parent_step_index)->symbol; + if (parent_symbol == ts_builtin_sym_error) continue; + + // Find the subgraph that corresponds to this pattern's root symbol. If the pattern's + // root symbol is a terminal, then return an error. + unsigned subgraph_index, exists; + array_search_sorted_by(&subgraphs, .symbol, parent_symbol, &subgraph_index, &exists); + if (!exists) { + unsigned first_child_step_index = parent_step_index + 1; + uint32_t j, child_exists; + array_search_sorted_by(&self->step_offsets, .step_index, first_child_step_index, &j, &child_exists); + ts_assert(child_exists); + *error_offset = array_get(&self->step_offsets, j)->byte_offset; + all_patterns_are_valid = false; + break; + } + + // Initialize an analysis state at every parse state in the table where + // this parent symbol can occur. + AnalysisSubgraph *subgraph = array_get(&subgraphs, subgraph_index); + analysis_state_set__clear(&analysis.states, &analysis.state_pool); + analysis_state_set__clear(&analysis.deeper_states, &analysis.state_pool); + for (unsigned j = 0; j < subgraph->start_states.size; j++) { + TSStateId parse_state = *array_get(&subgraph->start_states, j); + analysis_state_set__push(&analysis.states, &analysis.state_pool, &((AnalysisState) { + .step_index = parent_step_index + 1, + .stack = { + [0] = { + .parse_state = parse_state, + .parent_symbol = parent_symbol, + .child_index = 0, + .field_id = 0, + .done = false, + }, + }, + .depth = 1, + .root_symbol = parent_symbol, + })); + } + + #ifdef DEBUG_ANALYZE_QUERY + printf( + "\nWalk states for %s:\n", + ts_language_symbol_name(self->language, (*array_get(&analysis.states, 0))->stack[0].parent_symbol) + ); + #endif + + analysis.did_abort = false; + ts_query__perform_analysis(self, &subgraphs, &analysis); + + // If this pattern could not be fully analyzed, then every step should + // be considered fallible. + if (analysis.did_abort) { + for (unsigned j = parent_step_index + 1; j < self->steps.size; j++) { + QueryStep *step = array_get(&self->steps, j); + if ( + step->depth <= parent_depth || + step->depth == PATTERN_DONE_MARKER + ) break; + if (!step->is_dead_end) { + step->parent_pattern_guaranteed = false; + step->root_pattern_guaranteed = false; + } + } + continue; + } + + // If this pattern cannot match, store the pattern index so that it can be + // returned to the caller. + if (analysis.finished_parent_symbols.size == 0) { + ts_assert(analysis.final_step_indices.size > 0); + uint16_t impossible_step_index = *array_back(&analysis.final_step_indices); + uint32_t j, impossible_exists; + array_search_sorted_by(&self->step_offsets, .step_index, impossible_step_index, &j, &impossible_exists); + if (j >= self->step_offsets.size) j = self->step_offsets.size - 1; + *error_offset = array_get(&self->step_offsets, j)->byte_offset; + all_patterns_are_valid = false; + break; + } + + // Mark as fallible any step where a match terminated. + // Later, this property will be propagated to all of the step's predecessors. + for (unsigned j = 0; j < analysis.final_step_indices.size; j++) { + uint32_t final_step_index = *array_get(&analysis.final_step_indices, j); + QueryStep *step = array_get(&self->steps, final_step_index); + if ( + step->depth != PATTERN_DONE_MARKER && + step->depth > parent_depth && + !step->is_dead_end + ) { + step->parent_pattern_guaranteed = false; + step->root_pattern_guaranteed = false; + } + } + } + + // Mark as indefinite any step with captures that are used in predicates. + Array(uint16_t) predicate_capture_ids = array_new(); + for (unsigned i = 0; i < self->patterns.size; i++) { + QueryPattern *pattern = array_get(&self->patterns, i); + + // Gather all of the captures that are used in predicates for this pattern. + array_clear(&predicate_capture_ids); + for ( + unsigned start = pattern->predicate_steps.offset, + end = start + pattern->predicate_steps.length, + j = start; j < end; j++ + ) { + TSQueryPredicateStep *step = array_get(&self->predicate_steps, j); + if (step->type == TSQueryPredicateStepTypeCapture) { + uint16_t value_id = step->value_id; + array_insert_sorted_by(&predicate_capture_ids, , value_id); + } + } + + // Find all of the steps that have these captures. + for ( + unsigned start = pattern->steps.offset, + end = start + pattern->steps.length, + j = start; j < end; j++ + ) { + QueryStep *step = array_get(&self->steps, j); + for (unsigned k = 0; k < MAX_STEP_CAPTURE_COUNT; k++) { + uint16_t capture_id = step->capture_ids[k]; + if (capture_id == NONE) break; + unsigned index, exists; + array_search_sorted_by(&predicate_capture_ids, , capture_id, &index, &exists); + if (exists) { + step->root_pattern_guaranteed = false; + break; + } + } + } + } + + // Propagate fallibility. If a pattern is fallible at a given step, then it is + // fallible at all of its preceding steps. + bool done = self->steps.size == 0; + while (!done) { + done = true; + for (unsigned i = self->steps.size - 1; i > 0; i--) { + QueryStep *step = array_get(&self->steps, i); + if (step->depth == PATTERN_DONE_MARKER) continue; + + // Determine if this step is definite or has definite alternatives. + bool parent_pattern_guaranteed = false; + for (;;) { + if (step->root_pattern_guaranteed) { + parent_pattern_guaranteed = true; + break; + } + if (step->alternative_index == NONE || step->alternative_index < i) { + break; + } + step = array_get(&self->steps, step->alternative_index); + } + + // If not, mark its predecessor as indefinite. + if (!parent_pattern_guaranteed) { + QueryStep *prev_step = array_get(&self->steps, i - 1); + if ( + !prev_step->is_dead_end && + prev_step->depth != PATTERN_DONE_MARKER && + prev_step->root_pattern_guaranteed + ) { + prev_step->root_pattern_guaranteed = false; + done = false; + } + } + } + } + + #ifdef DEBUG_ANALYZE_QUERY + printf("Steps:\n"); + for (unsigned i = 0; i < self->steps.size; i++) { + QueryStep *step = array_get(&self->steps, i); + if (step->depth == PATTERN_DONE_MARKER) { + printf(" %u: DONE\n", i); + } else { + printf( + " %u: {symbol: %s, field: %s, depth: %u, parent_pattern_guaranteed: %d, root_pattern_guaranteed: %d}\n", + i, + (step->symbol == WILDCARD_SYMBOL) + ? "ANY" + : ts_language_symbol_name(self->language, step->symbol), + (step->field ? ts_language_field_name_for_id(self->language, step->field) : "-"), + step->depth, + step->parent_pattern_guaranteed, + step->root_pattern_guaranteed + ); + } + } + #endif + + // Determine which repetition symbols in this language have the possibility + // of matching non-rooted patterns in this query. These repetition symbols + // prevent certain optimizations with range restrictions. + analysis.did_abort = false; + for (uint32_t i = 0; i < non_rooted_pattern_start_steps.size; i++) { + uint16_t pattern_entry_index = *array_get(&non_rooted_pattern_start_steps, i); + PatternEntry *pattern_entry = array_get(&self->pattern_map, pattern_entry_index); + + analysis_state_set__clear(&analysis.states, &analysis.state_pool); + analysis_state_set__clear(&analysis.deeper_states, &analysis.state_pool); + for (unsigned j = 0; j < subgraphs.size; j++) { + AnalysisSubgraph *subgraph = array_get(&subgraphs, j); + TSSymbolMetadata metadata = ts_language_symbol_metadata(self->language, subgraph->symbol); + if (metadata.visible || metadata.named) continue; + + for (uint32_t k = 0; k < subgraph->start_states.size; k++) { + TSStateId parse_state = *array_get(&subgraph->start_states, k); + analysis_state_set__push(&analysis.states, &analysis.state_pool, &((AnalysisState) { + .step_index = pattern_entry->step_index, + .stack = { + [0] = { + .parse_state = parse_state, + .parent_symbol = subgraph->symbol, + .child_index = 0, + .field_id = 0, + .done = false, + }, + }, + .root_symbol = subgraph->symbol, + .depth = 1, + })); + } + } + + #ifdef DEBUG_ANALYZE_QUERY + printf("\nWalk states for rootless pattern step %u:\n", pattern_entry->step_index); + #endif + + ts_query__perform_analysis( + self, + &subgraphs, + &analysis + ); + + if (analysis.finished_parent_symbols.size > 0) { + array_get(&self->patterns, pattern_entry->pattern_index)->is_non_local = true; + } + + for (unsigned k = 0; k < analysis.finished_parent_symbols.size; k++) { + TSSymbol symbol = *array_get(&analysis.finished_parent_symbols, k); + array_insert_sorted_by(&self->repeat_symbols_with_rootless_patterns, , symbol); + } + } + + #ifdef DEBUG_ANALYZE_QUERY + if (self->repeat_symbols_with_rootless_patterns.size > 0) { + printf("\nRepetition symbols with rootless patterns:\n"); + printf("aborted analysis: %d\n", analysis.did_abort); + for (unsigned i = 0; i < self->repeat_symbols_with_rootless_patterns.size; i++) { + TSSymbol symbol = *array_get(&self->repeat_symbols_with_rootless_patterns, i); + printf(" %u, %s\n", symbol, ts_language_symbol_name(self->language, symbol)); + } + printf("\n"); + } + #endif + + // Cleanup + for (unsigned i = 0; i < subgraphs.size; i++) { + array_delete(&array_get(&subgraphs, i)->start_states); + array_delete(&array_get(&subgraphs, i)->nodes); + } + array_delete(&subgraphs); + query_analysis__delete(&analysis); + array_delete(&next_nodes); + array_delete(&non_rooted_pattern_start_steps); + array_delete(&parent_step_indices); + array_delete(&predicate_capture_ids); + state_predecessor_map_delete(&predecessor_map); + + return all_patterns_are_valid; +} + +static void ts_query__add_negated_fields( + TSQuery *self, + uint16_t step_index, + TSFieldId *field_ids, + uint16_t field_count +) { + QueryStep *step = array_get(&self->steps, step_index); + + // The negated field array stores a list of field lists, separated by zeros. + // Try to find the start index of an existing list that matches this new list. + bool failed_match = false; + unsigned match_count = 0; + unsigned start_i = 0; + for (unsigned i = 0; i < self->negated_fields.size; i++) { + TSFieldId existing_field_id = *array_get(&self->negated_fields, i); + + // At each zero value, terminate the match attempt. If we've exactly + // matched the new field list, then reuse this index. Otherwise, + // start over the matching process. + if (existing_field_id == 0) { + if (match_count == field_count) { + step->negated_field_list_id = start_i; + return; + } else { + start_i = i + 1; + match_count = 0; + failed_match = false; + } + } + + // If the existing list matches our new list so far, then advance + // to the next element of the new list. + else if ( + match_count < field_count && + existing_field_id == field_ids[match_count] && + !failed_match + ) { + match_count++; + } + + // Otherwise, this existing list has failed to match. + else { + match_count = 0; + failed_match = true; + } + } + + step->negated_field_list_id = self->negated_fields.size; + array_extend(&self->negated_fields, field_count, field_ids); + array_push(&self->negated_fields, 0); +} + +static TSQueryError ts_query__parse_string_literal( + TSQuery *self, + Stream *stream +) { + const char *string_start = stream->input; + if (stream->next != '"') return TSQueryErrorSyntax; + stream_advance(stream); + const char *prev_position = stream->input; + + bool is_escaped = false; + array_clear(&self->string_buffer); + for (;;) { + if (is_escaped) { + is_escaped = false; + switch (stream->next) { + case 'n': + array_push(&self->string_buffer, '\n'); + break; + case 'r': + array_push(&self->string_buffer, '\r'); + break; + case 't': + array_push(&self->string_buffer, '\t'); + break; + case '0': + array_push(&self->string_buffer, '\0'); + break; + default: + array_extend(&self->string_buffer, stream->next_size, stream->input); + break; + } + prev_position = stream->input + stream->next_size; + } else { + if (stream->next == '\\') { + array_extend(&self->string_buffer, (uint32_t)(stream->input - prev_position), prev_position); + prev_position = stream->input + 1; + is_escaped = true; + } else if (stream->next == '"') { + array_extend(&self->string_buffer, (uint32_t)(stream->input - prev_position), prev_position); + stream_advance(stream); + return TSQueryErrorNone; + } else if (stream->next == '\n') { + stream_reset(stream, string_start); + return TSQueryErrorSyntax; + } + } + if (!stream_advance(stream)) { + stream_reset(stream, string_start); + return TSQueryErrorSyntax; + } + } +} + +// Parse a single predicate associated with a pattern, adding it to the +// query's internal `predicate_steps` array. Predicates are arbitrary +// S-expressions associated with a pattern which are meant to be handled at +// a higher level of abstraction, such as the Rust/JavaScript bindings. They +// can contain '@'-prefixed capture names, double-quoted strings, and bare +// symbols, which also represent strings. +static TSQueryError ts_query__parse_predicate( + TSQuery *self, + Stream *stream +) { + if (!stream_is_ident_start(stream)) return TSQueryErrorSyntax; + const char *predicate_name = stream->input; + stream_scan_identifier(stream); + if (stream->next != '?' && stream->next != '!') { + return TSQueryErrorSyntax; + } + stream_advance(stream); + uint32_t length = (uint32_t)(stream->input - predicate_name); + uint16_t id = symbol_table_insert_name( + &self->predicate_values, + predicate_name, + length + ); + array_push(&self->predicate_steps, ((TSQueryPredicateStep) { + .type = TSQueryPredicateStepTypeString, + .value_id = id, + })); + stream_skip_whitespace(stream); + + for (;;) { + if (stream->next == ')') { + stream_advance(stream); + stream_skip_whitespace(stream); + array_push(&self->predicate_steps, ((TSQueryPredicateStep) { + .type = TSQueryPredicateStepTypeDone, + .value_id = 0, + })); + break; + } + + // Parse an '@'-prefixed capture name + else if (stream->next == '@') { + stream_advance(stream); + + // Parse the capture name + if (!stream_is_ident_start(stream)) return TSQueryErrorSyntax; + const char *capture_name = stream->input; + stream_scan_identifier(stream); + uint32_t capture_length = (uint32_t)(stream->input - capture_name); + + // Add the capture id to the first step of the pattern + int capture_id = symbol_table_id_for_name( + &self->captures, + capture_name, + capture_length + ); + if (capture_id == -1) { + stream_reset(stream, capture_name); + return TSQueryErrorCapture; + } + + array_push(&self->predicate_steps, ((TSQueryPredicateStep) { + .type = TSQueryPredicateStepTypeCapture, + .value_id = capture_id, + })); + } + + // Parse a string literal + else if (stream->next == '"') { + TSQueryError e = ts_query__parse_string_literal(self, stream); + if (e) return e; + uint16_t query_id = symbol_table_insert_name( + &self->predicate_values, + self->string_buffer.contents, + self->string_buffer.size + ); + array_push(&self->predicate_steps, ((TSQueryPredicateStep) { + .type = TSQueryPredicateStepTypeString, + .value_id = query_id, + })); + } + + // Parse a bare symbol + else if (stream_is_ident_start(stream)) { + const char *symbol_start = stream->input; + stream_scan_identifier(stream); + uint32_t symbol_length = (uint32_t)(stream->input - symbol_start); + uint16_t query_id = symbol_table_insert_name( + &self->predicate_values, + symbol_start, + symbol_length + ); + array_push(&self->predicate_steps, ((TSQueryPredicateStep) { + .type = TSQueryPredicateStepTypeString, + .value_id = query_id, + })); + } + + else { + return TSQueryErrorSyntax; + } + + stream_skip_whitespace(stream); + } + + return 0; +} + +// Read one S-expression pattern from the stream, and incorporate it into +// the query's internal state machine representation. For nested patterns, +// this function calls itself recursively. +// +// The caller is responsible for passing in a dedicated CaptureQuantifiers. +// These should not be shared between different calls to ts_query__parse_pattern! +static TSQueryError ts_query__parse_pattern( + TSQuery *self, + Stream *stream, + uint32_t depth, + bool is_immediate, + CaptureQuantifiers *capture_quantifiers +) { + if (stream->next == 0) return TSQueryErrorSyntax; + if (stream->next == ')' || stream->next == ']') return PARENT_DONE; + + const uint32_t starting_step_index = self->steps.size; + + // Store the byte offset of each step in the query. + if ( + self->step_offsets.size == 0 || + array_back(&self->step_offsets)->step_index != starting_step_index + ) { + array_push(&self->step_offsets, ((StepOffset) { + .step_index = starting_step_index, + .byte_offset = stream_offset(stream), + })); + } + + // An open bracket is the start of an alternation. + if (stream->next == '[') { + stream_advance(stream); + stream_skip_whitespace(stream); + + // Parse each branch, and add a placeholder step in between the branches. + Array(uint32_t) branch_step_indices = array_new(); + CaptureQuantifiers branch_capture_quantifiers = capture_quantifiers_new(); + for (;;) { + uint32_t start_index = self->steps.size; + TSQueryError e = ts_query__parse_pattern( + self, + stream, + depth, + is_immediate, + &branch_capture_quantifiers + ); + + if (e == PARENT_DONE) { + if (stream->next == ']' && branch_step_indices.size > 0) { + stream_advance(stream); + break; + } + e = TSQueryErrorSyntax; + } + if (e) { + capture_quantifiers_delete(&branch_capture_quantifiers); + array_delete(&branch_step_indices); + return e; + } + + if (start_index == starting_step_index) { + capture_quantifiers_replace(capture_quantifiers, &branch_capture_quantifiers); + } else { + capture_quantifiers_join_all(capture_quantifiers, &branch_capture_quantifiers); + } + + array_push(&branch_step_indices, start_index); + array_push(&self->steps, query_step__new(0, depth, false)); + capture_quantifiers_clear(&branch_capture_quantifiers); + } + (void)array_pop(&self->steps); + + // For all of the branches except for the last one, add the subsequent branch as an + // alternative, and link the end of the branch to the current end of the steps. + for (unsigned i = 0; i < branch_step_indices.size - 1; i++) { + uint32_t step_index = *array_get(&branch_step_indices, i); + uint32_t next_step_index = *array_get(&branch_step_indices, i + 1); + QueryStep *start_step = array_get(&self->steps, step_index); + QueryStep *end_step = array_get(&self->steps, next_step_index - 1); + start_step->alternative_index = next_step_index; + end_step->alternative_index = self->steps.size; + end_step->is_dead_end = true; + } + + capture_quantifiers_delete(&branch_capture_quantifiers); + array_delete(&branch_step_indices); + } + + // An open parenthesis can be the start of three possible constructs: + // * A grouped sequence + // * A predicate + // * A named node + else if (stream->next == '(') { + stream_advance(stream); + stream_skip_whitespace(stream); + + // If this parenthesis is followed by a node, then it represents a grouped sequence. + if (stream->next == '(' || stream->next == '"' || stream->next == '[') { + bool child_is_immediate = is_immediate; + CaptureQuantifiers child_capture_quantifiers = capture_quantifiers_new(); + for (;;) { + if (stream->next == '.') { + child_is_immediate = true; + stream_advance(stream); + stream_skip_whitespace(stream); + } + TSQueryError e = ts_query__parse_pattern( + self, + stream, + depth, + child_is_immediate, + &child_capture_quantifiers + ); + if (e == PARENT_DONE) { + if (stream->next == ')') { + stream_advance(stream); + break; + } + e = TSQueryErrorSyntax; + } + if (e) { + capture_quantifiers_delete(&child_capture_quantifiers); + return e; + } + + capture_quantifiers_add_all(capture_quantifiers, &child_capture_quantifiers); + capture_quantifiers_clear(&child_capture_quantifiers); + child_is_immediate = false; + } + + capture_quantifiers_delete(&child_capture_quantifiers); + } + + // A dot/pound character indicates the start of a predicate. + else if (stream->next == '.' || stream->next == '#') { + stream_advance(stream); + return ts_query__parse_predicate(self, stream); + } + + // Otherwise, this parenthesis is the start of a named node. + else { + TSSymbol symbol; + bool is_missing = false; + const char *node_name = stream->input; + + // Parse a normal node name + if (stream_is_ident_start(stream)) { + stream_scan_identifier(stream); + uint32_t length = (uint32_t)(stream->input - node_name); + + // Parse the wildcard symbol + if (length == 1 && node_name[0] == '_') { + symbol = WILDCARD_SYMBOL; + } else if (!strncmp(node_name, "MISSING", length)) { + is_missing = true; + stream_skip_whitespace(stream); + + if (stream_is_ident_start(stream)) { + const char *missing_node_name = stream->input; + stream_scan_identifier(stream); + uint32_t missing_node_length = (uint32_t)(stream->input - missing_node_name); + symbol = ts_language_symbol_for_name( + self->language, + missing_node_name, + missing_node_length, + true + ); + if (!symbol) { + stream_reset(stream, missing_node_name); + return TSQueryErrorNodeType; + } + } + + else if (stream->next == '"') { + const char *string_start = stream->input; + TSQueryError e = ts_query__parse_string_literal(self, stream); + if (e) return e; + + symbol = ts_language_symbol_for_name( + self->language, + self->string_buffer.contents, + self->string_buffer.size, + false + ); + if (!symbol) { + stream_reset(stream, string_start + 1); + return TSQueryErrorNodeType; + } + } + + else if (stream->next == ')') { + symbol = WILDCARD_SYMBOL; + } + + else { + stream_reset(stream, stream->input); + return TSQueryErrorSyntax; + } + } + + else { + symbol = ts_language_symbol_for_name( + self->language, + node_name, + length, + true + ); + if (!symbol) { + stream_reset(stream, node_name); + return TSQueryErrorNodeType; + } + } + } else { + return TSQueryErrorSyntax; + } + + // Add a step for the node. + array_push(&self->steps, query_step__new(symbol, depth, is_immediate)); + QueryStep *step = array_back(&self->steps); + if (ts_language_symbol_metadata(self->language, symbol).supertype) { + step->supertype_symbol = step->symbol; + step->symbol = WILDCARD_SYMBOL; + } + if (is_missing) { + step->is_missing = true; + } + if (symbol == WILDCARD_SYMBOL) { + step->is_named = true; + } + + stream_skip_whitespace(stream); + + if (stream->next == '/') { + if (!step->supertype_symbol) { + stream_reset(stream, node_name - 1); // reset to the start of the node + return TSQueryErrorStructure; + } + + stream_advance(stream); + if (!stream_is_ident_start(stream)) { + return TSQueryErrorSyntax; + } + + const char *subtype_node_name = stream->input; + stream_scan_identifier(stream); + uint32_t length = (uint32_t)(stream->input - subtype_node_name); + + step->symbol = ts_language_symbol_for_name( + self->language, + subtype_node_name, + length, + true + ); + if (!step->symbol) { + stream_reset(stream, subtype_node_name); + return TSQueryErrorNodeType; + } + + // Get all the possible subtypes for the given supertype, + // and check if the given subtype is valid. + if (self->language->abi_version >= LANGUAGE_VERSION_WITH_RESERVED_WORDS) { + uint32_t subtype_length; + const TSSymbol *subtypes = ts_language_subtypes( + self->language, + step->supertype_symbol, + &subtype_length + ); + + bool subtype_is_valid = false; + for (uint32_t i = 0; i < subtype_length; i++) { + if (subtypes[i] == step->symbol) { + subtype_is_valid = true; + break; + } + } + + // This subtype is not valid for the given supertype. + if (!subtype_is_valid) { + stream_reset(stream, node_name - 1); // reset to the start of the node + return TSQueryErrorStructure; + } + } + + stream_skip_whitespace(stream); + } + + // Parse the child patterns + bool child_is_immediate = false; + uint16_t last_child_step_index = 0; + uint16_t negated_field_count = 0; + TSFieldId negated_field_ids[MAX_NEGATED_FIELD_COUNT]; + CaptureQuantifiers child_capture_quantifiers = capture_quantifiers_new(); + for (;;) { + // Parse a negated field assertion + if (stream->next == '!') { + stream_advance(stream); + stream_skip_whitespace(stream); + if (!stream_is_ident_start(stream)) { + capture_quantifiers_delete(&child_capture_quantifiers); + return TSQueryErrorSyntax; + } + const char *field_name = stream->input; + stream_scan_identifier(stream); + uint32_t length = (uint32_t)(stream->input - field_name); + stream_skip_whitespace(stream); + + TSFieldId field_id = ts_language_field_id_for_name( + self->language, + field_name, + length + ); + if (!field_id) { + stream->input = field_name; + capture_quantifiers_delete(&child_capture_quantifiers); + return TSQueryErrorField; + } + + // Keep the field ids sorted. + if (negated_field_count < MAX_NEGATED_FIELD_COUNT) { + negated_field_ids[negated_field_count] = field_id; + negated_field_count++; + } + + continue; + } + + // Parse a sibling anchor + if (stream->next == '.') { + child_is_immediate = true; + stream_advance(stream); + stream_skip_whitespace(stream); + } + + uint16_t step_index = self->steps.size; + TSQueryError e = ts_query__parse_pattern( + self, + stream, + depth + 1, + child_is_immediate, + &child_capture_quantifiers + ); + // In the event we only parsed a predicate, meaning no new steps were added, + // then subtract one so we're not indexing past the end of the array + if (step_index == self->steps.size) step_index--; + if (e == PARENT_DONE) { + if (stream->next == ')') { + if (child_is_immediate) { + if (last_child_step_index == 0) { + capture_quantifiers_delete(&child_capture_quantifiers); + return TSQueryErrorSyntax; + } + // Mark this step *and* its alternatives as the last child of the parent. + QueryStep *last_child_step = array_get(&self->steps, last_child_step_index); + last_child_step->is_last_child = true; + if ( + last_child_step->alternative_index != NONE && + last_child_step->alternative_index < self->steps.size + ) { + QueryStep *alternative_step = array_get(&self->steps, last_child_step->alternative_index); + alternative_step->is_last_child = true; + while ( + alternative_step->alternative_index != NONE && + alternative_step->alternative_index < self->steps.size + ) { + alternative_step = array_get(&self->steps, alternative_step->alternative_index); + alternative_step->is_last_child = true; + } + } + } + + if (negated_field_count) { + ts_query__add_negated_fields( + self, + starting_step_index, + negated_field_ids, + negated_field_count + ); + } + + stream_advance(stream); + break; + } + e = TSQueryErrorSyntax; + } + if (e) { + capture_quantifiers_delete(&child_capture_quantifiers); + return e; + } + + capture_quantifiers_add_all(capture_quantifiers, &child_capture_quantifiers); + + last_child_step_index = step_index; + child_is_immediate = false; + capture_quantifiers_clear(&child_capture_quantifiers); + } + capture_quantifiers_delete(&child_capture_quantifiers); + } + } + + // Parse a wildcard pattern + else if (stream->next == '_') { + stream_advance(stream); + stream_skip_whitespace(stream); + + // Add a step that matches any kind of node + array_push(&self->steps, query_step__new(WILDCARD_SYMBOL, depth, is_immediate)); + } + + // Parse a double-quoted anonymous leaf node expression + else if (stream->next == '"') { + const char *string_start = stream->input; + TSQueryError e = ts_query__parse_string_literal(self, stream); + if (e) return e; + + // Add a step for the node + TSSymbol symbol = ts_language_symbol_for_name( + self->language, + self->string_buffer.contents, + self->string_buffer.size, + false + ); + if (!symbol) { + stream_reset(stream, string_start + 1); + return TSQueryErrorNodeType; + } + array_push(&self->steps, query_step__new(symbol, depth, is_immediate)); + } + + // Parse a field-prefixed pattern + else if (stream_is_ident_start(stream)) { + // Parse the field name + const char *field_name = stream->input; + stream_scan_identifier(stream); + uint32_t length = (uint32_t)(stream->input - field_name); + stream_skip_whitespace(stream); + + if (stream->next != ':') { + stream_reset(stream, field_name); + return TSQueryErrorSyntax; + } + stream_advance(stream); + stream_skip_whitespace(stream); + + // Parse the pattern + CaptureQuantifiers field_capture_quantifiers = capture_quantifiers_new(); + TSQueryError e = ts_query__parse_pattern( + self, + stream, + depth, + is_immediate, + &field_capture_quantifiers + ); + if (e) { + capture_quantifiers_delete(&field_capture_quantifiers); + if (e == PARENT_DONE) e = TSQueryErrorSyntax; + return e; + } + + // Add the field name to the first step of the pattern + TSFieldId field_id = ts_language_field_id_for_name( + self->language, + field_name, + length + ); + if (!field_id) { + stream->input = field_name; + return TSQueryErrorField; + } + + uint32_t step_index = starting_step_index; + QueryStep *step = array_get(&self->steps, step_index); + for (;;) { + step->field = field_id; + if ( + step->alternative_index != NONE && + step->alternative_index > step_index && + step->alternative_index < self->steps.size + ) { + step_index = step->alternative_index; + step = array_get(&self->steps, step_index); + } else { + break; + } + } + + capture_quantifiers_add_all(capture_quantifiers, &field_capture_quantifiers); + capture_quantifiers_delete(&field_capture_quantifiers); + } + + else { + return TSQueryErrorSyntax; + } + + stream_skip_whitespace(stream); + + // Parse suffixes modifiers for this pattern + TSQuantifier quantifier = TSQuantifierOne; + for (;;) { + // Parse the one-or-more operator. + if (stream->next == '+') { + quantifier = quantifier_join(TSQuantifierOneOrMore, quantifier); + + stream_advance(stream); + stream_skip_whitespace(stream); + + QueryStep repeat_step = query_step__new(WILDCARD_SYMBOL, depth, false); + repeat_step.alternative_index = starting_step_index; + repeat_step.is_pass_through = true; + repeat_step.alternative_is_immediate = true; + array_push(&self->steps, repeat_step); + } + + // Parse the zero-or-more repetition operator. + else if (stream->next == '*') { + quantifier = quantifier_join(TSQuantifierZeroOrMore, quantifier); + + stream_advance(stream); + stream_skip_whitespace(stream); + + QueryStep repeat_step = query_step__new(WILDCARD_SYMBOL, depth, false); + repeat_step.alternative_index = starting_step_index; + repeat_step.is_pass_through = true; + repeat_step.alternative_is_immediate = true; + array_push(&self->steps, repeat_step); + + // Stop when `step->alternative_index` is `NONE` or it points to + // `repeat_step` or beyond. Note that having just been pushed, + // `repeat_step` occupies slot `self->steps.size - 1`. + QueryStep *step = array_get(&self->steps, starting_step_index); + while (step->alternative_index != NONE && step->alternative_index < self->steps.size - 1) { + step = array_get(&self->steps, step->alternative_index); + } + step->alternative_index = self->steps.size; + } + + // Parse the optional operator. + else if (stream->next == '?') { + quantifier = quantifier_join(TSQuantifierZeroOrOne, quantifier); + + stream_advance(stream); + stream_skip_whitespace(stream); + + QueryStep *step = array_get(&self->steps, starting_step_index); + while (step->alternative_index != NONE && step->alternative_index < self->steps.size) { + step = array_get(&self->steps, step->alternative_index); + } + step->alternative_index = self->steps.size; + } + + // Parse an '@'-prefixed capture pattern + else if (stream->next == '@') { + stream_advance(stream); + if (!stream_is_ident_start(stream)) return TSQueryErrorSyntax; + const char *capture_name = stream->input; + stream_scan_identifier(stream); + uint32_t length = (uint32_t)(stream->input - capture_name); + stream_skip_whitespace(stream); + + // Add the capture id to the first step of the pattern + uint16_t capture_id = symbol_table_insert_name( + &self->captures, + capture_name, + length + ); + + // Add the capture quantifier + capture_quantifiers_add_for_id(capture_quantifiers, capture_id, TSQuantifierOne); + + uint32_t step_index = starting_step_index; + for (;;) { + QueryStep *step = array_get(&self->steps, step_index); + query_step__add_capture(step, capture_id); + if ( + step->alternative_index != NONE && + step->alternative_index > step_index && + step->alternative_index < self->steps.size + ) { + step_index = step->alternative_index; + } else { + break; + } + } + } + + // No more suffix modifiers + else { + break; + } + } + + capture_quantifiers_mul(capture_quantifiers, quantifier); + + return 0; +} + +TSQuery *ts_query_new( + const TSLanguage *language, + const char *source, + uint32_t source_len, + uint32_t *error_offset, + TSQueryError *error_type +) { + if ( + !language || + language->abi_version > TREE_SITTER_LANGUAGE_VERSION || + language->abi_version < TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION + ) { + *error_type = TSQueryErrorLanguage; + return NULL; + } + + TSQuery *self = ts_malloc(sizeof(TSQuery)); + *self = (TSQuery) { + .steps = array_new(), + .pattern_map = array_new(), + .captures = symbol_table_new(), + .capture_quantifiers = array_new(), + .predicate_values = symbol_table_new(), + .predicate_steps = array_new(), + .patterns = array_new(), + .step_offsets = array_new(), + .string_buffer = array_new(), + .negated_fields = array_new(), + .repeat_symbols_with_rootless_patterns = array_new(), + .wildcard_root_pattern_count = 0, + .language = ts_language_copy(language), + }; + + array_push(&self->negated_fields, 0); + + // Parse all of the S-expressions in the given string. + Stream stream = stream_new(source, source_len); + stream_skip_whitespace(&stream); + while (stream.input < stream.end) { + uint32_t pattern_index = self->patterns.size; + uint32_t start_step_index = self->steps.size; + uint32_t start_predicate_step_index = self->predicate_steps.size; + array_push(&self->patterns, ((QueryPattern) { + .steps = (Slice) {.offset = start_step_index}, + .predicate_steps = (Slice) {.offset = start_predicate_step_index}, + .start_byte = stream_offset(&stream), + .is_non_local = false, + })); + CaptureQuantifiers capture_quantifiers = capture_quantifiers_new(); + *error_type = ts_query__parse_pattern(self, &stream, 0, false, &capture_quantifiers); + array_push(&self->steps, query_step__new(0, PATTERN_DONE_MARKER, false)); + + QueryPattern *pattern = array_back(&self->patterns); + pattern->steps.length = self->steps.size - start_step_index; + pattern->predicate_steps.length = self->predicate_steps.size - start_predicate_step_index; + pattern->end_byte = stream_offset(&stream); + + // If any pattern could not be parsed, then report the error information + // and terminate. + if (*error_type) { + if (*error_type == PARENT_DONE) *error_type = TSQueryErrorSyntax; + *error_offset = stream_offset(&stream); + capture_quantifiers_delete(&capture_quantifiers); + ts_query_delete(self); + return NULL; + } + + // Maintain a list of capture quantifiers for each pattern + array_push(&self->capture_quantifiers, capture_quantifiers); + + // Maintain a map that can look up patterns for a given root symbol. + uint16_t wildcard_root_alternative_index = NONE; + for (;;) { + QueryStep *step = array_get(&self->steps, start_step_index); + + // If a pattern has a wildcard at its root, but it has a non-wildcard child, + // then optimize the matching process by skipping matching the wildcard. + // Later, during the matching process, the query cursor will check that + // there is a parent node, and capture it if necessary. + if (step->symbol == WILDCARD_SYMBOL && step->depth == 0 && !step->field) { + QueryStep *second_step = array_get(&self->steps, start_step_index + 1); + if (second_step->symbol != WILDCARD_SYMBOL && second_step->depth == 1 && !second_step->is_immediate) { + wildcard_root_alternative_index = step->alternative_index; + start_step_index += 1; + step = second_step; + } + } + + // Determine whether the pattern has a single root node. This affects + // decisions about whether or not to start matching the pattern when + // a query cursor has a range restriction or when immediately within an + // error node. + uint32_t start_depth = step->depth; + bool is_rooted = start_depth == 0; + for (uint32_t step_index = start_step_index + 1; step_index < self->steps.size; step_index++) { + QueryStep *child_step = array_get(&self->steps, step_index); + if (child_step->is_dead_end) break; + if (child_step->depth == start_depth) { + is_rooted = false; + break; + } + } + + ts_query__pattern_map_insert(self, step->symbol, (PatternEntry) { + .step_index = start_step_index, + .pattern_index = pattern_index, + .is_rooted = is_rooted + }); + if (step->symbol == WILDCARD_SYMBOL) { + self->wildcard_root_pattern_count++; + } + + // If there are alternatives or options at the root of the pattern, + // then add multiple entries to the pattern map. + if (step->alternative_index != NONE) { + start_step_index = step->alternative_index; + } else if (wildcard_root_alternative_index != NONE) { + start_step_index = wildcard_root_alternative_index; + wildcard_root_alternative_index = NONE; + } else { + break; + } + } + } + + if (!ts_query__analyze_patterns(self, error_offset)) { + *error_type = TSQueryErrorStructure; + ts_query_delete(self); + return NULL; + } + + array_delete(&self->string_buffer); + return self; +} + +void ts_query_delete(TSQuery *self) { + if (self) { + array_delete(&self->steps); + array_delete(&self->pattern_map); + array_delete(&self->predicate_steps); + array_delete(&self->patterns); + array_delete(&self->step_offsets); + array_delete(&self->string_buffer); + array_delete(&self->negated_fields); + array_delete(&self->repeat_symbols_with_rootless_patterns); + ts_language_delete(self->language); + symbol_table_delete(&self->captures); + symbol_table_delete(&self->predicate_values); + for (uint32_t index = 0; index < self->capture_quantifiers.size; index++) { + CaptureQuantifiers *capture_quantifiers = array_get(&self->capture_quantifiers, index); + capture_quantifiers_delete(capture_quantifiers); + } + array_delete(&self->capture_quantifiers); + ts_free(self); + } +} + +uint32_t ts_query_pattern_count(const TSQuery *self) { + return self->patterns.size; +} + +uint32_t ts_query_capture_count(const TSQuery *self) { + return self->captures.slices.size; +} + +uint32_t ts_query_string_count(const TSQuery *self) { + return self->predicate_values.slices.size; +} + +const char *ts_query_capture_name_for_id( + const TSQuery *self, + uint32_t index, + uint32_t *length +) { + return symbol_table_name_for_id(&self->captures, index, length); +} + +TSQuantifier ts_query_capture_quantifier_for_id( + const TSQuery *self, + uint32_t pattern_index, + uint32_t capture_index +) { + CaptureQuantifiers *capture_quantifiers = array_get(&self->capture_quantifiers, pattern_index); + return capture_quantifier_for_id(capture_quantifiers, capture_index); +} + +const char *ts_query_string_value_for_id( + const TSQuery *self, + uint32_t index, + uint32_t *length +) { + return symbol_table_name_for_id(&self->predicate_values, index, length); +} + +const TSQueryPredicateStep *ts_query_predicates_for_pattern( + const TSQuery *self, + uint32_t pattern_index, + uint32_t *step_count +) { + Slice slice = array_get(&self->patterns, pattern_index)->predicate_steps; + *step_count = slice.length; + if (slice.length == 0) return NULL; + return array_get(&self->predicate_steps, slice.offset); +} + +uint32_t ts_query_start_byte_for_pattern( + const TSQuery *self, + uint32_t pattern_index +) { + return array_get(&self->patterns, pattern_index)->start_byte; +} + +uint32_t ts_query_end_byte_for_pattern( + const TSQuery *self, + uint32_t pattern_index +) { + return array_get(&self->patterns, pattern_index)->end_byte; +} + +bool ts_query_is_pattern_rooted( + const TSQuery *self, + uint32_t pattern_index +) { + for (unsigned i = 0; i < self->pattern_map.size; i++) { + PatternEntry *entry = array_get(&self->pattern_map, i); + if (entry->pattern_index == pattern_index) { + if (!entry->is_rooted) return false; + } + } + return true; +} + +bool ts_query_is_pattern_non_local( + const TSQuery *self, + uint32_t pattern_index +) { + if (pattern_index < self->patterns.size) { + return array_get(&self->patterns, pattern_index)->is_non_local; + } else { + return false; + } +} + +bool ts_query_is_pattern_guaranteed_at_step( + const TSQuery *self, + uint32_t byte_offset +) { + uint32_t step_index = UINT32_MAX; + for (unsigned i = 0; i < self->step_offsets.size; i++) { + StepOffset *step_offset = array_get(&self->step_offsets, i); + if (step_offset->byte_offset > byte_offset) break; + step_index = step_offset->step_index; + } + if (step_index < self->steps.size) { + return array_get(&self->steps, step_index)->root_pattern_guaranteed; + } else { + return false; + } +} + +bool ts_query__step_is_fallible( + const TSQuery *self, + uint16_t step_index +) { + ts_assert((uint32_t)step_index + 1 < self->steps.size); + QueryStep *step = array_get(&self->steps, step_index); + QueryStep *next_step = array_get(&self->steps, step_index + 1); + return ( + next_step->depth != PATTERN_DONE_MARKER && + next_step->depth > step->depth && + (!next_step->parent_pattern_guaranteed || step->symbol == WILDCARD_SYMBOL) + ); +} + +void ts_query_disable_capture( + TSQuery *self, + const char *name, + uint32_t length +) { + // Remove capture information for any pattern step that previously + // captured with the given name. + int id = symbol_table_id_for_name(&self->captures, name, length); + if (id != -1) { + for (unsigned i = 0; i < self->steps.size; i++) { + QueryStep *step = array_get(&self->steps, i); + query_step__remove_capture(step, id); + } + } +} + +void ts_query_disable_pattern( + TSQuery *self, + uint32_t pattern_index +) { + // Remove the given pattern from the pattern map. Its steps will still + // be in the `steps` array, but they will never be read. + for (unsigned i = 0; i < self->pattern_map.size; i++) { + PatternEntry *pattern = array_get(&self->pattern_map, i); + if (pattern->pattern_index == pattern_index) { + array_erase(&self->pattern_map, i); + i--; + } + } +} + +/*************** + * QueryCursor + ***************/ + +TSQueryCursor *ts_query_cursor_new(void) { + TSQueryCursor *self = ts_malloc(sizeof(TSQueryCursor)); + *self = (TSQueryCursor) { + .did_exceed_match_limit = false, + .ascending = false, + .halted = false, + .states = array_new(), + .finished_states = array_new(), + .capture_list_pool = capture_list_pool_new(), + .start_byte = 0, + .end_byte = UINT32_MAX, + .start_point = {0, 0}, + .end_point = POINT_MAX, + .max_start_depth = UINT32_MAX, + .timeout_duration = 0, + .end_clock = clock_null(), + .operation_count = 0, + }; + array_reserve(&self->states, 8); + array_reserve(&self->finished_states, 8); + return self; +} + +void ts_query_cursor_delete(TSQueryCursor *self) { + array_delete(&self->states); + array_delete(&self->finished_states); + ts_tree_cursor_delete(&self->cursor); + capture_list_pool_delete(&self->capture_list_pool); + ts_free(self); +} + +bool ts_query_cursor_did_exceed_match_limit(const TSQueryCursor *self) { + return self->did_exceed_match_limit; +} + +uint32_t ts_query_cursor_match_limit(const TSQueryCursor *self) { + return self->capture_list_pool.max_capture_list_count; +} + +void ts_query_cursor_set_match_limit(TSQueryCursor *self, uint32_t limit) { + self->capture_list_pool.max_capture_list_count = limit; +} + +uint64_t ts_query_cursor_timeout_micros(const TSQueryCursor *self) { + return duration_to_micros(self->timeout_duration); +} + +void ts_query_cursor_set_timeout_micros(TSQueryCursor *self, uint64_t timeout_micros) { + self->timeout_duration = duration_from_micros(timeout_micros); +} + +#ifdef DEBUG_EXECUTE_QUERY +#define LOG(...) fprintf(stderr, __VA_ARGS__) +#else +#define LOG(...) +#endif + +void ts_query_cursor_exec( + TSQueryCursor *self, + const TSQuery *query, + TSNode node +) { + if (query) { + LOG("query steps:\n"); + for (unsigned i = 0; i < query->steps.size; i++) { + QueryStep *step = array_get(&query->steps, i); + LOG(" %u: {", i); + if (step->depth == PATTERN_DONE_MARKER) { + LOG("DONE"); + } else if (step->is_dead_end) { + LOG("dead_end"); + } else if (step->is_pass_through) { + LOG("pass_through"); + } else if (step->symbol != WILDCARD_SYMBOL) { + LOG("symbol: %s", query->language->symbol_names[step->symbol]); + } else { + LOG("symbol: *"); + } + if (step->field) { + LOG(", field: %s", query->language->field_names[step->field]); + } + if (step->alternative_index != NONE) { + LOG(", alternative: %u", step->alternative_index); + } + LOG("},\n"); + } + } + + array_clear(&self->states); + array_clear(&self->finished_states); + ts_tree_cursor_reset(&self->cursor, node); + capture_list_pool_reset(&self->capture_list_pool); + self->on_visible_node = true; + self->next_state_id = 0; + self->depth = 0; + self->ascending = false; + self->halted = false; + self->query = query; + self->did_exceed_match_limit = false; + self->operation_count = 0; + if (self->timeout_duration) { + self->end_clock = clock_after(clock_now(), self->timeout_duration); + } else { + self->end_clock = clock_null(); + } + self->query_options = NULL; + self->query_state = (TSQueryCursorState) {0}; +} + +void ts_query_cursor_exec_with_options( + TSQueryCursor *self, + const TSQuery *query, + TSNode node, + const TSQueryCursorOptions *query_options +) { + ts_query_cursor_exec(self, query, node); + if (query_options) { + self->query_options = query_options; + self->query_state = (TSQueryCursorState) { + .payload = query_options->payload + }; + } +} + +bool ts_query_cursor_set_byte_range( + TSQueryCursor *self, + uint32_t start_byte, + uint32_t end_byte +) { + if (end_byte == 0) { + end_byte = UINT32_MAX; + } + if (start_byte > end_byte) { + return false; + } + self->start_byte = start_byte; + self->end_byte = end_byte; + return true; +} + +bool ts_query_cursor_set_point_range( + TSQueryCursor *self, + TSPoint start_point, + TSPoint end_point +) { + if (end_point.row == 0 && end_point.column == 0) { + end_point = POINT_MAX; + } + if (point_gt(start_point, end_point)) { + return false; + } + self->start_point = start_point; + self->end_point = end_point; + return true; +} + +// Search through all of the in-progress states, and find the captured +// node that occurs earliest in the document. +static bool ts_query_cursor__first_in_progress_capture( + TSQueryCursor *self, + uint32_t *state_index, + uint32_t *byte_offset, + uint32_t *pattern_index, + bool *is_definite +) { + bool result = false; + *state_index = UINT32_MAX; + *byte_offset = UINT32_MAX; + *pattern_index = UINT32_MAX; + for (unsigned i = 0; i < self->states.size; i++) { + QueryState *state = array_get(&self->states, i); + if (state->dead) continue; + + const CaptureList *captures = capture_list_pool_get( + &self->capture_list_pool, + state->capture_list_id + ); + if (state->consumed_capture_count >= captures->size) { + continue; + } + + TSNode node = array_get(captures, state->consumed_capture_count)->node; + if ( + ts_node_end_byte(node) <= self->start_byte || + point_lte(ts_node_end_point(node), self->start_point) + ) { + state->consumed_capture_count++; + i--; + continue; + } + + uint32_t node_start_byte = ts_node_start_byte(node); + if ( + !result || + node_start_byte < *byte_offset || + (node_start_byte == *byte_offset && state->pattern_index < *pattern_index) + ) { + QueryStep *step = array_get(&self->query->steps, state->step_index); + if (is_definite) { + // We're being a bit conservative here by asserting that the following step + // is not immediate, because this capture might end up being discarded if the + // following symbol in the tree isn't the required symbol for this step. + *is_definite = step->root_pattern_guaranteed && !step->is_immediate; + } else if (step->root_pattern_guaranteed) { + continue; + } + + result = true; + *state_index = i; + *byte_offset = node_start_byte; + *pattern_index = state->pattern_index; + } + } + return result; +} + +// Determine which node is first in a depth-first traversal +int ts_query_cursor__compare_nodes(TSNode left, TSNode right) { + if (left.id != right.id) { + uint32_t left_start = ts_node_start_byte(left); + uint32_t right_start = ts_node_start_byte(right); + if (left_start < right_start) return -1; + if (left_start > right_start) return 1; + uint32_t left_node_count = ts_node_end_byte(left); + uint32_t right_node_count = ts_node_end_byte(right); + if (left_node_count > right_node_count) return -1; + if (left_node_count < right_node_count) return 1; + } + return 0; +} + +// Determine if either state contains a superset of the other state's captures. +void ts_query_cursor__compare_captures( + TSQueryCursor *self, + QueryState *left_state, + QueryState *right_state, + bool *left_contains_right, + bool *right_contains_left +) { + const CaptureList *left_captures = capture_list_pool_get( + &self->capture_list_pool, + left_state->capture_list_id + ); + const CaptureList *right_captures = capture_list_pool_get( + &self->capture_list_pool, + right_state->capture_list_id + ); + *left_contains_right = true; + *right_contains_left = true; + unsigned i = 0, j = 0; + for (;;) { + if (i < left_captures->size) { + if (j < right_captures->size) { + TSQueryCapture *left = array_get(left_captures, i); + TSQueryCapture *right = array_get(right_captures, j); + if (left->node.id == right->node.id && left->index == right->index) { + i++; + j++; + } else { + switch (ts_query_cursor__compare_nodes(left->node, right->node)) { + case -1: + *right_contains_left = false; + i++; + break; + case 1: + *left_contains_right = false; + j++; + break; + default: + *right_contains_left = false; + *left_contains_right = false; + i++; + j++; + break; + } + } + } else { + *right_contains_left = false; + break; + } + } else { + if (j < right_captures->size) { + *left_contains_right = false; + } + break; + } + } +} + +static void ts_query_cursor__add_state( + TSQueryCursor *self, + const PatternEntry *pattern +) { + QueryStep *step = array_get(&self->query->steps, pattern->step_index); + uint32_t start_depth = self->depth - step->depth; + + // Keep the states array in ascending order of start_depth and pattern_index, + // so that it can be processed more efficiently elsewhere. Usually, there is + // no work to do here because of two facts: + // * States with lower start_depth are naturally added first due to the + // order in which nodes are visited. + // * Earlier patterns are naturally added first because of the ordering of the + // pattern_map data structure that's used to initiate matches. + // + // This loop is only needed in cases where two conditions hold: + // * A pattern consists of more than one sibling node, so that its states + // remain in progress after exiting the node that started the match. + // * The first node in the pattern matches against multiple nodes at the + // same depth. + // + // An example of this is the pattern '((comment)* (function))'. If multiple + // `comment` nodes appear in a row, then we may initiate a new state for this + // pattern while another state for the same pattern is already in progress. + // If there are multiple patterns like this in a query, then this loop will + // need to execute in order to keep the states ordered by pattern_index. + uint32_t index = self->states.size; + while (index > 0) { + QueryState *prev_state = array_get(&self->states, index - 1); + if (prev_state->start_depth < start_depth) break; + if (prev_state->start_depth == start_depth) { + // Avoid inserting an unnecessary duplicate state, which would be + // immediately pruned by the longest-match criteria. + if ( + prev_state->pattern_index == pattern->pattern_index && + prev_state->step_index == pattern->step_index + ) return; + if (prev_state->pattern_index <= pattern->pattern_index) break; + } + index--; + } + + LOG( + " start state. pattern:%u, step:%u\n", + pattern->pattern_index, + pattern->step_index + ); + array_insert(&self->states, index, ((QueryState) { + .id = UINT32_MAX, + .capture_list_id = NONE, + .step_index = pattern->step_index, + .pattern_index = pattern->pattern_index, + .start_depth = start_depth, + .consumed_capture_count = 0, + .seeking_immediate_match = true, + .has_in_progress_alternatives = false, + .needs_parent = step->depth == 1, + .dead = false, + })); +} + +// Acquire a capture list for this state. If there are no capture lists left in the +// pool, this will steal the capture list from another existing state, and mark that +// other state as 'dead'. +static CaptureList *ts_query_cursor__prepare_to_capture( + TSQueryCursor *self, + QueryState *state, + unsigned state_index_to_preserve +) { + if (state->capture_list_id == NONE) { + state->capture_list_id = capture_list_pool_acquire(&self->capture_list_pool); + + // If there are no capture lists left in the pool, then terminate whichever + // state has captured the earliest node in the document, and steal its + // capture list. + if (state->capture_list_id == NONE) { + self->did_exceed_match_limit = true; + uint32_t state_index, byte_offset, pattern_index; + if ( + ts_query_cursor__first_in_progress_capture( + self, + &state_index, + &byte_offset, + &pattern_index, + NULL + ) && + state_index != state_index_to_preserve + ) { + LOG( + " abandon state. index:%u, pattern:%u, offset:%u.\n", + state_index, pattern_index, byte_offset + ); + QueryState *other_state = array_get(&self->states, state_index); + state->capture_list_id = other_state->capture_list_id; + other_state->capture_list_id = NONE; + other_state->dead = true; + CaptureList *list = capture_list_pool_get_mut( + &self->capture_list_pool, + state->capture_list_id + ); + array_clear(list); + return list; + } else { + LOG(" ran out of capture lists"); + return NULL; + } + } + } + return capture_list_pool_get_mut(&self->capture_list_pool, state->capture_list_id); +} + +static void ts_query_cursor__capture( + TSQueryCursor *self, + QueryState *state, + QueryStep *step, + TSNode node +) { + if (state->dead) return; + CaptureList *capture_list = ts_query_cursor__prepare_to_capture(self, state, UINT32_MAX); + if (!capture_list) { + state->dead = true; + return; + } + + for (unsigned j = 0; j < MAX_STEP_CAPTURE_COUNT; j++) { + uint16_t capture_id = step->capture_ids[j]; + if (step->capture_ids[j] == NONE) break; + array_push(capture_list, ((TSQueryCapture) { node, capture_id })); + LOG( + " capture node. type:%s, pattern:%u, capture_id:%u, capture_count:%u\n", + ts_node_type(node), + state->pattern_index, + capture_id, + capture_list->size + ); + } +} + +// Duplicate the given state and insert the newly-created state immediately after +// the given state in the `states` array. Ensures that the given state reference is +// still valid, even if the states array is reallocated. +static QueryState *ts_query_cursor__copy_state( + TSQueryCursor *self, + QueryState **state_ref +) { + const QueryState *state = *state_ref; + uint32_t state_index = (uint32_t)(state - self->states.contents); + QueryState copy = *state; + copy.capture_list_id = NONE; + + // If the state has captures, copy its capture list. + if (state->capture_list_id != NONE) { + CaptureList *new_captures = ts_query_cursor__prepare_to_capture(self, ©, state_index); + if (!new_captures) return NULL; + const CaptureList *old_captures = capture_list_pool_get( + &self->capture_list_pool, + state->capture_list_id + ); + array_push_all(new_captures, old_captures); + } + + array_insert(&self->states, state_index + 1, copy); + *state_ref = array_get(&self->states, state_index); + return array_get(&self->states, state_index + 1); +} + +static inline bool ts_query_cursor__should_descend( + TSQueryCursor *self, + bool node_intersects_range +) { + + if (node_intersects_range && self->depth < self->max_start_depth) { + return true; + } + + // If there are in-progress matches whose remaining steps occur + // deeper in the tree, then descend. + for (unsigned i = 0; i < self->states.size; i++) { + QueryState *state = array_get(&self->states, i); + QueryStep *next_step = array_get(&self->query->steps, state->step_index); + if ( + next_step->depth != PATTERN_DONE_MARKER && + state->start_depth + next_step->depth > self->depth + ) { + return true; + } + } + + if (self->depth >= self->max_start_depth) { + return false; + } + + // If the current node is hidden, then a non-rooted pattern might match + // one if its roots inside of this node, and match another of its roots + // as part of a sibling node, so we may need to descend. + if (!self->on_visible_node) { + // Descending into a repetition node outside of the range can be + // expensive, because these nodes can have many visible children. + // Avoid descending into repetition nodes unless we have already + // determined that this query can match rootless patterns inside + // of this type of repetition node. + Subtree subtree = ts_tree_cursor_current_subtree(&self->cursor); + if (ts_subtree_is_repetition(subtree)) { + bool exists; + uint32_t index; + array_search_sorted_by( + &self->query->repeat_symbols_with_rootless_patterns,, + ts_subtree_symbol(subtree), + &index, + &exists + ); + return exists; + } + + return true; + } + + return false; +} + +// Walk the tree, processing patterns until at least one pattern finishes, +// If one or more patterns finish, return `true` and store their states in the +// `finished_states` array. Multiple patterns can finish on the same node. If +// there are no more matches, return `false`. +static inline bool ts_query_cursor__advance( + TSQueryCursor *self, + bool stop_on_definite_step +) { + bool did_match = false; + for (;;) { + if (self->halted) { + while (self->states.size > 0) { + QueryState state = array_pop(&self->states); + capture_list_pool_release( + &self->capture_list_pool, + state.capture_list_id + ); + } + } + + if (++self->operation_count == OP_COUNT_PER_QUERY_TIMEOUT_CHECK) { + self->operation_count = 0; + } + + if (self->query_options && self->query_options->progress_callback) { + self->query_state.current_byte_offset = ts_node_start_byte(ts_tree_cursor_current_node(&self->cursor)); + } + if ( + did_match || + self->halted || + ( + self->operation_count == 0 && + ( + (!clock_is_null(self->end_clock) && clock_is_gt(clock_now(), self->end_clock)) || + (self->query_options && self->query_options->progress_callback && self->query_options->progress_callback(&self->query_state)) + ) + ) + ) { + return did_match; + } + + // Exit the current node. + if (self->ascending) { + if (self->on_visible_node) { + LOG( + "leave node. depth:%u, type:%s\n", + self->depth, + ts_node_type(ts_tree_cursor_current_node(&self->cursor)) + ); + + // After leaving a node, remove any states that cannot make further progress. + uint32_t deleted_count = 0; + for (unsigned i = 0, n = self->states.size; i < n; i++) { + QueryState *state = array_get(&self->states, i); + QueryStep *step = array_get(&self->query->steps, state->step_index); + + // If a state completed its pattern inside of this node, but was deferred from finishing + // in order to search for longer matches, mark it as finished. + if ( + step->depth == PATTERN_DONE_MARKER && + (state->start_depth > self->depth || self->depth == 0) + ) { + LOG(" finish pattern %u\n", state->pattern_index); + array_push(&self->finished_states, *state); + did_match = true; + deleted_count++; + } + + // If a state needed to match something within this node, then remove that state + // as it has failed to match. + else if ( + step->depth != PATTERN_DONE_MARKER && + (uint32_t)state->start_depth + (uint32_t)step->depth > self->depth + ) { + LOG( + " failed to match. pattern:%u, step:%u\n", + state->pattern_index, + state->step_index + ); + capture_list_pool_release( + &self->capture_list_pool, + state->capture_list_id + ); + deleted_count++; + } + + else if (deleted_count > 0) { + *array_get(&self->states, i - deleted_count) = *state; + } + } + self->states.size -= deleted_count; + } + + // Leave this node by stepping to its next sibling or to its parent. + switch (ts_tree_cursor_goto_next_sibling_internal(&self->cursor)) { + case TreeCursorStepVisible: + if (!self->on_visible_node) { + self->depth++; + self->on_visible_node = true; + } + self->ascending = false; + break; + case TreeCursorStepHidden: + if (self->on_visible_node) { + self->depth--; + self->on_visible_node = false; + } + self->ascending = false; + break; + default: + if (ts_tree_cursor_goto_parent(&self->cursor)) { + self->depth--; + } else { + LOG("halt at root\n"); + self->halted = true; + } + } + } + + // Enter a new node. + else { + // Get the properties of the current node. + TSNode node = ts_tree_cursor_current_node(&self->cursor); + TSNode parent_node = ts_tree_cursor_parent_node(&self->cursor); + + uint32_t start_byte = ts_node_start_byte(node); + uint32_t end_byte = ts_node_end_byte(node); + TSPoint start_point = ts_node_start_point(node); + TSPoint end_point = ts_node_end_point(node); + bool is_empty = start_byte == end_byte; + + bool parent_precedes_range = !ts_node_is_null(parent_node) && ( + ts_node_end_byte(parent_node) <= self->start_byte || + point_lte(ts_node_end_point(parent_node), self->start_point) + ); + bool parent_follows_range = !ts_node_is_null(parent_node) && ( + ts_node_start_byte(parent_node) >= self->end_byte || + point_gte(ts_node_start_point(parent_node), self->end_point) + ); + bool node_precedes_range = + parent_precedes_range || + end_byte < self->start_byte || + point_lt(end_point, self->start_point) || + (!is_empty && end_byte == self->start_byte) || + (!is_empty && point_eq(end_point, self->start_point)); + + bool node_follows_range = parent_follows_range || ( + start_byte >= self->end_byte || + point_gte(start_point, self->end_point) + ); + bool parent_intersects_range = !parent_precedes_range && !parent_follows_range; + bool node_intersects_range = !node_precedes_range && !node_follows_range; + + if (self->on_visible_node) { + TSSymbol symbol = ts_node_symbol(node); + bool is_named = ts_node_is_named(node); + bool is_missing = ts_node_is_missing(node); + bool has_later_siblings; + bool has_later_named_siblings; + bool can_have_later_siblings_with_this_field; + TSFieldId field_id = 0; + TSSymbol supertypes[8] = {0}; + unsigned supertype_count = 8; + ts_tree_cursor_current_status( + &self->cursor, + &field_id, + &has_later_siblings, + &has_later_named_siblings, + &can_have_later_siblings_with_this_field, + supertypes, + &supertype_count + ); + LOG( + "enter node. depth:%u, type:%s, field:%s, row:%u state_count:%u, finished_state_count:%u\n", + self->depth, + ts_node_type(node), + ts_language_field_name_for_id(self->query->language, field_id), + ts_node_start_point(node).row, + self->states.size, + self->finished_states.size + ); + + bool node_is_error = symbol == ts_builtin_sym_error; + bool parent_is_error = + !ts_node_is_null(parent_node) && + ts_node_symbol(parent_node) == ts_builtin_sym_error; + + // Add new states for any patterns whose root node is a wildcard. + if (!node_is_error) { + for (unsigned i = 0; i < self->query->wildcard_root_pattern_count; i++) { + PatternEntry *pattern = array_get(&self->query->pattern_map, i); + + // If this node matches the first step of the pattern, then add a new + // state at the start of this pattern. + QueryStep *step = array_get(&self->query->steps, pattern->step_index); + uint32_t start_depth = self->depth - step->depth; + if ( + (pattern->is_rooted ? + node_intersects_range : + (parent_intersects_range && !parent_is_error)) && + (!step->field || field_id == step->field) && + (!step->supertype_symbol || supertype_count > 0) && + (start_depth <= self->max_start_depth) + ) { + ts_query_cursor__add_state(self, pattern); + } + } + } + + // Add new states for any patterns whose root node matches this node. + unsigned i; + if (ts_query__pattern_map_search(self->query, symbol, &i)) { + PatternEntry *pattern = array_get(&self->query->pattern_map, i); + + QueryStep *step = array_get(&self->query->steps, pattern->step_index); + uint32_t start_depth = self->depth - step->depth; + do { + // If this node matches the first step of the pattern, then add a new + // state at the start of this pattern. + if ( + (pattern->is_rooted ? + node_intersects_range : + (parent_intersects_range && !parent_is_error)) && + (!step->field || field_id == step->field) && + (start_depth <= self->max_start_depth) + ) { + ts_query_cursor__add_state(self, pattern); + } + + // Advance to the next pattern whose root node matches this node. + i++; + if (i == self->query->pattern_map.size) break; + pattern = array_get(&self->query->pattern_map, i); + step = array_get(&self->query->steps, pattern->step_index); + } while (step->symbol == symbol); + } + + // Update all of the in-progress states with current node. + for (unsigned j = 0, copy_count = 0; j < self->states.size; j += 1 + copy_count) { + QueryState *state = array_get(&self->states, j); + QueryStep *step = array_get(&self->query->steps, state->step_index); + state->has_in_progress_alternatives = false; + copy_count = 0; + + // Check that the node matches all of the criteria for the next + // step of the pattern. + if ((uint32_t)state->start_depth + (uint32_t)step->depth != self->depth) continue; + + // Determine if this node matches this step of the pattern, and also + // if this node can have later siblings that match this step of the + // pattern. + bool node_does_match = false; + if (step->symbol == WILDCARD_SYMBOL) { + if (step->is_missing) { + node_does_match = is_missing; + } else { + node_does_match = !node_is_error && (is_named || !step->is_named); + } + } else { + node_does_match = symbol == step->symbol && (!step->is_missing || is_missing); + } + bool later_sibling_can_match = has_later_siblings; + if ((step->is_immediate && is_named) || state->seeking_immediate_match) { + later_sibling_can_match = false; + } + if (step->is_last_child && has_later_named_siblings) { + node_does_match = false; + } + if (step->supertype_symbol) { + bool has_supertype = false; + for (unsigned k = 0; k < supertype_count; k++) { + if (supertypes[k] == step->supertype_symbol) { + has_supertype = true; + break; + } + } + if (!has_supertype) node_does_match = false; + } + if (step->field) { + if (step->field == field_id) { + if (!can_have_later_siblings_with_this_field) { + later_sibling_can_match = false; + } + } else { + node_does_match = false; + } + } + + if (step->negated_field_list_id) { + TSFieldId *negated_field_ids = array_get(&self->query->negated_fields, step->negated_field_list_id); + for (;;) { + TSFieldId negated_field_id = *negated_field_ids; + if (negated_field_id) { + negated_field_ids++; + if (ts_node_child_by_field_id(node, negated_field_id).id) { + node_does_match = false; + break; + } + } else { + break; + } + } + } + + // Remove states immediately if it is ever clear that they cannot match. + if (!node_does_match) { + if (!later_sibling_can_match) { + LOG( + " discard state. pattern:%u, step:%u\n", + state->pattern_index, + state->step_index + ); + capture_list_pool_release( + &self->capture_list_pool, + state->capture_list_id + ); + array_erase(&self->states, j); + j--; + } + continue; + } + + // Some patterns can match their root node in multiple ways, capturing different + // children. If this pattern step could match later children within the same + // parent, then this query state cannot simply be updated in place. It must be + // split into two states: one that matches this node, and one which skips over + // this node, to preserve the possibility of matching later siblings. + if (later_sibling_can_match && ( + step->contains_captures || + ts_query__step_is_fallible(self->query, state->step_index) + )) { + if (ts_query_cursor__copy_state(self, &state)) { + LOG( + " split state for capture. pattern:%u, step:%u\n", + state->pattern_index, + state->step_index + ); + copy_count++; + } + } + + // If this pattern started with a wildcard, such that the pattern map + // actually points to the *second* step of the pattern, then check + // that the node has a parent, and capture the parent node if necessary. + if (state->needs_parent) { + TSNode parent = ts_tree_cursor_parent_node(&self->cursor); + if (ts_node_is_null(parent)) { + LOG(" missing parent node\n"); + state->dead = true; + } else { + state->needs_parent = false; + QueryStep *skipped_wildcard_step = step; + do { + skipped_wildcard_step--; + } while ( + skipped_wildcard_step->is_dead_end || + skipped_wildcard_step->is_pass_through || + skipped_wildcard_step->depth > 0 + ); + if (skipped_wildcard_step->capture_ids[0] != NONE) { + LOG(" capture wildcard parent\n"); + ts_query_cursor__capture( + self, + state, + skipped_wildcard_step, + parent + ); + } + } + } + + // If the current node is captured in this pattern, add it to the capture list. + if (step->capture_ids[0] != NONE) { + ts_query_cursor__capture(self, state, step, node); + } + + if (state->dead) { + array_erase(&self->states, j); + j--; + continue; + } + + // Advance this state to the next step of its pattern. + state->step_index++; + LOG( + " advance state. pattern:%u, step:%u\n", + state->pattern_index, + state->step_index + ); + + QueryStep *next_step = array_get(&self->query->steps, state->step_index); + + // For a given step, if the current symbol is the wildcard symbol, `_`, and it is **not** + // named, meaning it should capture anonymous nodes, **and** the next step is immediate, + // we reuse the `seeking_immediate_match` flag to indicate that we are looking for an + // immediate match due to an unnamed wildcard symbol. + // + // The reason for this is that typically, anchors will not consider anonymous nodes, + // but we're special casing the wildcard symbol to allow for any immediate matches, + // regardless of whether they are named or not. + if (step->symbol == WILDCARD_SYMBOL && !step->is_named && next_step->is_immediate) { + state->seeking_immediate_match = true; + } else { + state->seeking_immediate_match = false; + } + + if (stop_on_definite_step && next_step->root_pattern_guaranteed) did_match = true; + + // If this state's next step has an alternative step, then copy the state in order + // to pursue both alternatives. The alternative step itself may have an alternative, + // so this is an interactive process. + unsigned end_index = j + 1; + for (unsigned k = j; k < end_index; k++) { + QueryState *child_state = array_get(&self->states, k); + QueryStep *child_step = array_get(&self->query->steps, child_state->step_index); + if (child_step->alternative_index != NONE) { + // A "dead-end" step exists only to add a non-sequential jump into the step sequence, + // via its alternative index. When a state reaches a dead-end step, it jumps straight + // to the step's alternative. + if (child_step->is_dead_end) { + child_state->step_index = child_step->alternative_index; + k--; + continue; + } + + // A "pass-through" step exists only to add a branch into the step sequence, + // via its alternative_index. When a state reaches a pass-through step, it splits + // in order to process the alternative step, and then it advances to the next step. + if (child_step->is_pass_through) { + child_state->step_index++; + k--; + } + + QueryState *copy = ts_query_cursor__copy_state(self, &child_state); + if (copy) { + LOG( + " split state for branch. pattern:%u, from_step:%u, to_step:%u, immediate:%d, capture_count: %u\n", + copy->pattern_index, + copy->step_index, + next_step->alternative_index, + next_step->alternative_is_immediate, + capture_list_pool_get(&self->capture_list_pool, copy->capture_list_id)->size + ); + end_index++; + copy_count++; + copy->step_index = child_step->alternative_index; + if (child_step->alternative_is_immediate) { + copy->seeking_immediate_match = true; + } + } + } + } + } + + for (unsigned j = 0; j < self->states.size; j++) { + QueryState *state = array_get(&self->states, j); + if (state->dead) { + array_erase(&self->states, j); + j--; + continue; + } + + // Enforce the longest-match criteria. When a query pattern contains optional or + // repeated nodes, this is necessary to avoid multiple redundant states, where + // one state has a strict subset of another state's captures. + bool did_remove = false; + for (unsigned k = j + 1; k < self->states.size; k++) { + QueryState *other_state = array_get(&self->states, k); + + // Query states are kept in ascending order of start_depth and pattern_index. + // Since the longest-match criteria is only used for deduping matches of the same + // pattern and root node, we only need to perform pairwise comparisons within a + // small slice of the states array. + if ( + other_state->start_depth != state->start_depth || + other_state->pattern_index != state->pattern_index + ) break; + + bool left_contains_right, right_contains_left; + ts_query_cursor__compare_captures( + self, + state, + other_state, + &left_contains_right, + &right_contains_left + ); + if (left_contains_right) { + if (state->step_index == other_state->step_index) { + LOG( + " drop shorter state. pattern: %u, step_index: %u\n", + state->pattern_index, + state->step_index + ); + capture_list_pool_release(&self->capture_list_pool, other_state->capture_list_id); + array_erase(&self->states, k); + k--; + continue; + } + other_state->has_in_progress_alternatives = true; + } + if (right_contains_left) { + if (state->step_index == other_state->step_index) { + LOG( + " drop shorter state. pattern: %u, step_index: %u\n", + state->pattern_index, + state->step_index + ); + capture_list_pool_release(&self->capture_list_pool, state->capture_list_id); + array_erase(&self->states, j); + j--; + did_remove = true; + break; + } + state->has_in_progress_alternatives = true; + } + } + + // If the state is at the end of its pattern, remove it from the list + // of in-progress states and add it to the list of finished states. + if (!did_remove) { + LOG( + " keep state. pattern: %u, start_depth: %u, step_index: %u, capture_count: %u\n", + state->pattern_index, + state->start_depth, + state->step_index, + capture_list_pool_get(&self->capture_list_pool, state->capture_list_id)->size + ); + QueryStep *next_step = array_get(&self->query->steps, state->step_index); + if (next_step->depth == PATTERN_DONE_MARKER) { + if (state->has_in_progress_alternatives) { + LOG(" defer finishing pattern %u\n", state->pattern_index); + } else { + LOG(" finish pattern %u\n", state->pattern_index); + array_push(&self->finished_states, *state); + array_erase(&self->states, (uint32_t)(state - self->states.contents)); + did_match = true; + j--; + } + } + } + } + } + + if (ts_query_cursor__should_descend(self, node_intersects_range)) { + switch (ts_tree_cursor_goto_first_child_internal(&self->cursor)) { + case TreeCursorStepVisible: + self->depth++; + self->on_visible_node = true; + continue; + case TreeCursorStepHidden: + self->on_visible_node = false; + continue; + default: + break; + } + } + + self->ascending = true; + } + } +} + +bool ts_query_cursor_next_match( + TSQueryCursor *self, + TSQueryMatch *match +) { + if (self->finished_states.size == 0) { + if (!ts_query_cursor__advance(self, false)) { + return false; + } + } + + QueryState *state = array_get(&self->finished_states, 0); + if (state->id == UINT32_MAX) state->id = self->next_state_id++; + match->id = state->id; + match->pattern_index = state->pattern_index; + const CaptureList *captures = capture_list_pool_get( + &self->capture_list_pool, + state->capture_list_id + ); + match->captures = captures->contents; + match->capture_count = captures->size; + capture_list_pool_release(&self->capture_list_pool, state->capture_list_id); + array_erase(&self->finished_states, 0); + return true; +} + +void ts_query_cursor_remove_match( + TSQueryCursor *self, + uint32_t match_id +) { + for (unsigned i = 0; i < self->finished_states.size; i++) { + const QueryState *state = array_get(&self->finished_states, i); + if (state->id == match_id) { + capture_list_pool_release( + &self->capture_list_pool, + state->capture_list_id + ); + array_erase(&self->finished_states, i); + return; + } + } + + // Remove unfinished query states as well to prevent future + // captures for a match being removed. + for (unsigned i = 0; i < self->states.size; i++) { + const QueryState *state = array_get(&self->states, i); + if (state->id == match_id) { + capture_list_pool_release( + &self->capture_list_pool, + state->capture_list_id + ); + array_erase(&self->states, i); + return; + } + } +} + +bool ts_query_cursor_next_capture( + TSQueryCursor *self, + TSQueryMatch *match, + uint32_t *capture_index +) { + // The goal here is to return captures in order, even though they may not + // be discovered in order, because patterns can overlap. Search for matches + // until there is a finished capture that is before any unfinished capture. + for (;;) { + // First, find the earliest capture in an unfinished match. + uint32_t first_unfinished_capture_byte; + uint32_t first_unfinished_pattern_index; + uint32_t first_unfinished_state_index; + bool first_unfinished_state_is_definite = false; + bool found_unfinished_state = ts_query_cursor__first_in_progress_capture( + self, + &first_unfinished_state_index, + &first_unfinished_capture_byte, + &first_unfinished_pattern_index, + &first_unfinished_state_is_definite + ); + + // Then find the earliest capture in a finished match. It must occur + // before the first capture in an *unfinished* match. + QueryState *first_finished_state = NULL; + uint32_t first_finished_capture_byte = first_unfinished_capture_byte; + uint32_t first_finished_pattern_index = first_unfinished_pattern_index; + for (unsigned i = 0; i < self->finished_states.size;) { + QueryState *state = array_get(&self->finished_states, i); + const CaptureList *captures = capture_list_pool_get( + &self->capture_list_pool, + state->capture_list_id + ); + + // Remove states whose captures are all consumed. + if (state->consumed_capture_count >= captures->size) { + capture_list_pool_release( + &self->capture_list_pool, + state->capture_list_id + ); + array_erase(&self->finished_states, i); + continue; + } + + TSNode node = array_get(captures, state->consumed_capture_count)->node; + + bool node_precedes_range = ( + ts_node_end_byte(node) <= self->start_byte || + point_lte(ts_node_end_point(node), self->start_point) + ); + bool node_follows_range = ( + ts_node_start_byte(node) >= self->end_byte || + point_gte(ts_node_start_point(node), self->end_point) + ); + bool node_outside_of_range = node_precedes_range || node_follows_range; + + // Skip captures that are outside of the cursor's range. + if (node_outside_of_range) { + state->consumed_capture_count++; + continue; + } + + uint32_t node_start_byte = ts_node_start_byte(node); + if ( + node_start_byte < first_finished_capture_byte || + ( + node_start_byte == first_finished_capture_byte && + state->pattern_index < first_finished_pattern_index + ) + ) { + first_finished_state = state; + first_finished_capture_byte = node_start_byte; + first_finished_pattern_index = state->pattern_index; + } + i++; + } + + // If there is finished capture that is clearly before any unfinished + // capture, then return its match, and its capture index. Internally + // record the fact that the capture has been 'consumed'. + QueryState *state; + if (first_finished_state) { + state = first_finished_state; + } else if (first_unfinished_state_is_definite) { + state = array_get(&self->states, first_unfinished_state_index); + } else { + state = NULL; + } + + if (state) { + if (state->id == UINT32_MAX) state->id = self->next_state_id++; + match->id = state->id; + match->pattern_index = state->pattern_index; + const CaptureList *captures = capture_list_pool_get( + &self->capture_list_pool, + state->capture_list_id + ); + match->captures = captures->contents; + match->capture_count = captures->size; + *capture_index = state->consumed_capture_count; + state->consumed_capture_count++; + return true; + } + + if (capture_list_pool_is_empty(&self->capture_list_pool) && found_unfinished_state) { + LOG( + " abandon state. index:%u, pattern:%u, offset:%u.\n", + first_unfinished_state_index, + first_unfinished_pattern_index, + first_unfinished_capture_byte + ); + capture_list_pool_release( + &self->capture_list_pool, + array_get(&self->states, first_unfinished_state_index)->capture_list_id + ); + array_erase(&self->states, first_unfinished_state_index); + } + + // If there are no finished matches that are ready to be returned, then + // continue finding more matches. + if ( + !ts_query_cursor__advance(self, true) && + self->finished_states.size == 0 + ) return false; + } +} + +void ts_query_cursor_set_max_start_depth( + TSQueryCursor *self, + uint32_t max_start_depth +) { + self->max_start_depth = max_start_depth; +} + +#undef LOG diff --git a/non-source/foreign/tree-sitter/lib/src/reduce_action.h b/non-source/foreign/tree-sitter/lib/src/reduce_action.h new file mode 100644 index 00000000..72aff08d --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/reduce_action.h @@ -0,0 +1,34 @@ +#ifndef TREE_SITTER_REDUCE_ACTION_H_ +#define TREE_SITTER_REDUCE_ACTION_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./array.h" +#include "tree_sitter/api.h" + +typedef struct { + uint32_t count; + TSSymbol symbol; + int dynamic_precedence; + unsigned short production_id; +} ReduceAction; + +typedef Array(ReduceAction) ReduceActionSet; + +static inline void ts_reduce_action_set_add(ReduceActionSet *self, + ReduceAction new_action) { + for (uint32_t i = 0; i < self->size; i++) { + ReduceAction action = self->contents[i]; + if (action.symbol == new_action.symbol && action.count == new_action.count) + return; + } + array_push(self, new_action); +} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_REDUCE_ACTION_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/reusable_node.h b/non-source/foreign/tree-sitter/lib/src/reusable_node.h new file mode 100644 index 00000000..63fe3c1a --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/reusable_node.h @@ -0,0 +1,95 @@ +#include "./subtree.h" + +typedef struct { + Subtree tree; + uint32_t child_index; + uint32_t byte_offset; +} StackEntry; + +typedef struct { + Array(StackEntry) stack; + Subtree last_external_token; +} ReusableNode; + +static inline ReusableNode reusable_node_new(void) { + return (ReusableNode) {array_new(), NULL_SUBTREE}; +} + +static inline void reusable_node_clear(ReusableNode *self) { + array_clear(&self->stack); + self->last_external_token = NULL_SUBTREE; +} + +static inline Subtree reusable_node_tree(ReusableNode *self) { + return self->stack.size > 0 + ? self->stack.contents[self->stack.size - 1].tree + : NULL_SUBTREE; +} + +static inline uint32_t reusable_node_byte_offset(ReusableNode *self) { + return self->stack.size > 0 + ? self->stack.contents[self->stack.size - 1].byte_offset + : UINT32_MAX; +} + +static inline void reusable_node_delete(ReusableNode *self) { + array_delete(&self->stack); +} + +static inline void reusable_node_advance(ReusableNode *self) { + StackEntry last_entry = *array_back(&self->stack); + uint32_t byte_offset = last_entry.byte_offset + ts_subtree_total_bytes(last_entry.tree); + if (ts_subtree_has_external_tokens(last_entry.tree)) { + self->last_external_token = ts_subtree_last_external_token(last_entry.tree); + } + + Subtree tree; + uint32_t next_index; + do { + StackEntry popped_entry = array_pop(&self->stack); + next_index = popped_entry.child_index + 1; + if (self->stack.size == 0) return; + tree = array_back(&self->stack)->tree; + } while (ts_subtree_child_count(tree) <= next_index); + + array_push(&self->stack, ((StackEntry) { + .tree = ts_subtree_children(tree)[next_index], + .child_index = next_index, + .byte_offset = byte_offset, + })); +} + +static inline bool reusable_node_descend(ReusableNode *self) { + StackEntry last_entry = *array_back(&self->stack); + if (ts_subtree_child_count(last_entry.tree) > 0) { + array_push(&self->stack, ((StackEntry) { + .tree = ts_subtree_children(last_entry.tree)[0], + .child_index = 0, + .byte_offset = last_entry.byte_offset, + })); + return true; + } else { + return false; + } +} + +static inline void reusable_node_advance_past_leaf(ReusableNode *self) { + while (reusable_node_descend(self)) {} + reusable_node_advance(self); +} + +static inline void reusable_node_reset(ReusableNode *self, Subtree tree) { + reusable_node_clear(self); + array_push(&self->stack, ((StackEntry) { + .tree = tree, + .child_index = 0, + .byte_offset = 0, + })); + + // Never reuse the root node, because it has a non-standard internal structure + // due to transformations that are applied when it is accepted: adding the EOF + // child and any extra children. + if (!reusable_node_descend(self)) { + reusable_node_clear(self); + } +} diff --git a/non-source/foreign/tree-sitter/lib/src/stack.c b/non-source/foreign/tree-sitter/lib/src/stack.c new file mode 100644 index 00000000..91420074 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/stack.c @@ -0,0 +1,912 @@ +#include "./alloc.h" +#include "./language.h" +#include "./subtree.h" +#include "./array.h" +#include "./stack.h" +#include "./length.h" +#include +#include +#include + +#define MAX_LINK_COUNT 8 +#define MAX_NODE_POOL_SIZE 50 +#define MAX_ITERATOR_COUNT 64 + +#if defined _WIN32 && !defined __GNUC__ +#define forceinline __forceinline +#else +#define forceinline static inline __attribute__((always_inline)) +#endif + +typedef struct StackNode StackNode; + +typedef struct { + StackNode *node; + Subtree subtree; + bool is_pending; +} StackLink; + +struct StackNode { + TSStateId state; + Length position; + StackLink links[MAX_LINK_COUNT]; + short unsigned int link_count; + uint32_t ref_count; + unsigned error_cost; + unsigned node_count; + int dynamic_precedence; +}; + +typedef struct { + StackNode *node; + SubtreeArray subtrees; + uint32_t subtree_count; + bool is_pending; +} StackIterator; + +typedef Array(StackNode *) StackNodeArray; + +typedef enum { + StackStatusActive, + StackStatusPaused, + StackStatusHalted, +} StackStatus; + +typedef struct { + StackNode *node; + StackSummary *summary; + unsigned node_count_at_last_error; + Subtree last_external_token; + Subtree lookahead_when_paused; + StackStatus status; +} StackHead; + +struct Stack { + Array(StackHead) heads; + StackSliceArray slices; + Array(StackIterator) iterators; + StackNodeArray node_pool; + StackNode *base_node; + SubtreePool *subtree_pool; +}; + +typedef unsigned StackAction; +enum { + StackActionNone, + StackActionStop = 1, + StackActionPop = 2, +}; + +typedef StackAction (*StackCallback)(void *, const StackIterator *); + +static void stack_node_retain(StackNode *self) { + if (!self) + return; + ts_assert(self->ref_count > 0); + self->ref_count++; + ts_assert(self->ref_count != 0); +} + +static void stack_node_release( + StackNode *self, + StackNodeArray *pool, + SubtreePool *subtree_pool +) { +recur: + ts_assert(self->ref_count != 0); + self->ref_count--; + if (self->ref_count > 0) return; + + StackNode *first_predecessor = NULL; + if (self->link_count > 0) { + for (unsigned i = self->link_count - 1; i > 0; i--) { + StackLink link = self->links[i]; + if (link.subtree.ptr) ts_subtree_release(subtree_pool, link.subtree); + stack_node_release(link.node, pool, subtree_pool); + } + StackLink link = self->links[0]; + if (link.subtree.ptr) ts_subtree_release(subtree_pool, link.subtree); + first_predecessor = self->links[0].node; + } + + if (pool->size < MAX_NODE_POOL_SIZE) { + array_push(pool, self); + } else { + ts_free(self); + } + + if (first_predecessor) { + self = first_predecessor; + goto recur; + } +} + +/// Get the number of nodes in the subtree, for the purpose of measuring +/// how much progress has been made by a given version of the stack. +static uint32_t stack__subtree_node_count(Subtree subtree) { + uint32_t count = ts_subtree_visible_descendant_count(subtree); + if (ts_subtree_visible(subtree)) count++; + + // Count intermediate error nodes even though they are not visible, + // because a stack version's node count is used to check whether it + // has made any progress since the last time it encountered an error. + if (ts_subtree_symbol(subtree) == ts_builtin_sym_error_repeat) count++; + + return count; +} + +static StackNode *stack_node_new( + StackNode *previous_node, + Subtree subtree, + bool is_pending, + TSStateId state, + StackNodeArray *pool +) { + StackNode *node = pool->size > 0 + ? array_pop(pool) + : ts_malloc(sizeof(StackNode)); + *node = (StackNode) { + .ref_count = 1, + .link_count = 0, + .state = state + }; + + if (previous_node) { + node->link_count = 1; + node->links[0] = (StackLink) { + .node = previous_node, + .subtree = subtree, + .is_pending = is_pending, + }; + + node->position = previous_node->position; + node->error_cost = previous_node->error_cost; + node->dynamic_precedence = previous_node->dynamic_precedence; + node->node_count = previous_node->node_count; + + if (subtree.ptr) { + node->error_cost += ts_subtree_error_cost(subtree); + node->position = length_add(node->position, ts_subtree_total_size(subtree)); + node->node_count += stack__subtree_node_count(subtree); + node->dynamic_precedence += ts_subtree_dynamic_precedence(subtree); + } + } else { + node->position = length_zero(); + node->error_cost = 0; + } + + return node; +} + +static bool stack__subtree_is_equivalent(Subtree left, Subtree right) { + if (left.ptr == right.ptr) return true; + if (!left.ptr || !right.ptr) return false; + + // Symbols must match + if (ts_subtree_symbol(left) != ts_subtree_symbol(right)) return false; + + // If both have errors, don't bother keeping both. + if (ts_subtree_error_cost(left) > 0 && ts_subtree_error_cost(right) > 0) return true; + + return ( + ts_subtree_padding(left).bytes == ts_subtree_padding(right).bytes && + ts_subtree_size(left).bytes == ts_subtree_size(right).bytes && + ts_subtree_child_count(left) == ts_subtree_child_count(right) && + ts_subtree_extra(left) == ts_subtree_extra(right) && + ts_subtree_external_scanner_state_eq(left, right) + ); +} + +static void stack_node_add_link( + StackNode *self, + StackLink link, + SubtreePool *subtree_pool +) { + if (link.node == self) return; + + for (int i = 0; i < self->link_count; i++) { + StackLink *existing_link = &self->links[i]; + if (stack__subtree_is_equivalent(existing_link->subtree, link.subtree)) { + // In general, we preserve ambiguities until they are removed from the stack + // during a pop operation where multiple paths lead to the same node. But in + // the special case where two links directly connect the same pair of nodes, + // we can safely remove the ambiguity ahead of time without changing behavior. + if (existing_link->node == link.node) { + if ( + ts_subtree_dynamic_precedence(link.subtree) > + ts_subtree_dynamic_precedence(existing_link->subtree) + ) { + ts_subtree_retain(link.subtree); + ts_subtree_release(subtree_pool, existing_link->subtree); + existing_link->subtree = link.subtree; + self->dynamic_precedence = + link.node->dynamic_precedence + ts_subtree_dynamic_precedence(link.subtree); + } + return; + } + + // If the previous nodes are mergeable, merge them recursively. + if ( + existing_link->node->state == link.node->state && + existing_link->node->position.bytes == link.node->position.bytes && + existing_link->node->error_cost == link.node->error_cost + ) { + for (int j = 0; j < link.node->link_count; j++) { + stack_node_add_link(existing_link->node, link.node->links[j], subtree_pool); + } + int32_t dynamic_precedence = link.node->dynamic_precedence; + if (link.subtree.ptr) { + dynamic_precedence += ts_subtree_dynamic_precedence(link.subtree); + } + if (dynamic_precedence > self->dynamic_precedence) { + self->dynamic_precedence = dynamic_precedence; + } + return; + } + } + } + + if (self->link_count == MAX_LINK_COUNT) return; + + stack_node_retain(link.node); + unsigned node_count = link.node->node_count; + int dynamic_precedence = link.node->dynamic_precedence; + self->links[self->link_count++] = link; + + if (link.subtree.ptr) { + ts_subtree_retain(link.subtree); + node_count += stack__subtree_node_count(link.subtree); + dynamic_precedence += ts_subtree_dynamic_precedence(link.subtree); + } + + if (node_count > self->node_count) self->node_count = node_count; + if (dynamic_precedence > self->dynamic_precedence) self->dynamic_precedence = dynamic_precedence; +} + +static void stack_head_delete( + StackHead *self, + StackNodeArray *pool, + SubtreePool *subtree_pool +) { + if (self->node) { + if (self->last_external_token.ptr) { + ts_subtree_release(subtree_pool, self->last_external_token); + } + if (self->lookahead_when_paused.ptr) { + ts_subtree_release(subtree_pool, self->lookahead_when_paused); + } + if (self->summary) { + array_delete(self->summary); + ts_free(self->summary); + } + stack_node_release(self->node, pool, subtree_pool); + } +} + +static StackVersion ts_stack__add_version( + Stack *self, + StackVersion original_version, + StackNode *node +) { + StackHead head = { + .node = node, + .node_count_at_last_error = array_get(&self->heads, original_version)->node_count_at_last_error, + .last_external_token = array_get(&self->heads, original_version)->last_external_token, + .status = StackStatusActive, + .lookahead_when_paused = NULL_SUBTREE, + }; + array_push(&self->heads, head); + stack_node_retain(node); + if (head.last_external_token.ptr) ts_subtree_retain(head.last_external_token); + return (StackVersion)(self->heads.size - 1); +} + +static void ts_stack__add_slice( + Stack *self, + StackVersion original_version, + StackNode *node, + SubtreeArray *subtrees +) { + for (uint32_t i = self->slices.size - 1; i + 1 > 0; i--) { + StackVersion version = array_get(&self->slices, i)->version; + if (array_get(&self->heads, version)->node == node) { + StackSlice slice = {*subtrees, version}; + array_insert(&self->slices, i + 1, slice); + return; + } + } + + StackVersion version = ts_stack__add_version(self, original_version, node); + StackSlice slice = { *subtrees, version }; + array_push(&self->slices, slice); +} + +static StackSliceArray stack__iter( + Stack *self, + StackVersion version, + StackCallback callback, + void *payload, + int goal_subtree_count +) { + array_clear(&self->slices); + array_clear(&self->iterators); + + StackHead *head = array_get(&self->heads, version); + StackIterator new_iterator = { + .node = head->node, + .subtrees = array_new(), + .subtree_count = 0, + .is_pending = true, + }; + + bool include_subtrees = false; + if (goal_subtree_count >= 0) { + include_subtrees = true; + array_reserve(&new_iterator.subtrees, (uint32_t)ts_subtree_alloc_size(goal_subtree_count) / sizeof(Subtree)); + } + + array_push(&self->iterators, new_iterator); + + while (self->iterators.size > 0) { + for (uint32_t i = 0, size = self->iterators.size; i < size; i++) { + StackIterator *iterator = array_get(&self->iterators, i); + StackNode *node = iterator->node; + + StackAction action = callback(payload, iterator); + bool should_pop = action & StackActionPop; + bool should_stop = action & StackActionStop || node->link_count == 0; + + if (should_pop) { + SubtreeArray subtrees = iterator->subtrees; + if (!should_stop) { + ts_subtree_array_copy(subtrees, &subtrees); + } + ts_subtree_array_reverse(&subtrees); + ts_stack__add_slice( + self, + version, + node, + &subtrees + ); + } + + if (should_stop) { + if (!should_pop) { + ts_subtree_array_delete(self->subtree_pool, &iterator->subtrees); + } + array_erase(&self->iterators, i); + i--, size--; + continue; + } + + for (uint32_t j = 1; j <= node->link_count; j++) { + StackIterator *next_iterator; + StackLink link; + if (j == node->link_count) { + link = node->links[0]; + next_iterator = array_get(&self->iterators, i); + } else { + if (self->iterators.size >= MAX_ITERATOR_COUNT) continue; + link = node->links[j]; + StackIterator current_iterator = *array_get(&self->iterators, i); + array_push(&self->iterators, current_iterator); + next_iterator = array_back(&self->iterators); + ts_subtree_array_copy(next_iterator->subtrees, &next_iterator->subtrees); + } + + next_iterator->node = link.node; + if (link.subtree.ptr) { + if (include_subtrees) { + array_push(&next_iterator->subtrees, link.subtree); + ts_subtree_retain(link.subtree); + } + + if (!ts_subtree_extra(link.subtree)) { + next_iterator->subtree_count++; + if (!link.is_pending) { + next_iterator->is_pending = false; + } + } + } else { + next_iterator->subtree_count++; + next_iterator->is_pending = false; + } + } + } + } + + return self->slices; +} + +Stack *ts_stack_new(SubtreePool *subtree_pool) { + Stack *self = ts_calloc(1, sizeof(Stack)); + + array_init(&self->heads); + array_init(&self->slices); + array_init(&self->iterators); + array_init(&self->node_pool); + array_reserve(&self->heads, 4); + array_reserve(&self->slices, 4); + array_reserve(&self->iterators, 4); + array_reserve(&self->node_pool, MAX_NODE_POOL_SIZE); + + self->subtree_pool = subtree_pool; + self->base_node = stack_node_new(NULL, NULL_SUBTREE, false, 1, &self->node_pool); + ts_stack_clear(self); + + return self; +} + +void ts_stack_delete(Stack *self) { + if (self->slices.contents) + array_delete(&self->slices); + if (self->iterators.contents) + array_delete(&self->iterators); + stack_node_release(self->base_node, &self->node_pool, self->subtree_pool); + for (uint32_t i = 0; i < self->heads.size; i++) { + stack_head_delete(array_get(&self->heads, i), &self->node_pool, self->subtree_pool); + } + array_clear(&self->heads); + if (self->node_pool.contents) { + for (uint32_t i = 0; i < self->node_pool.size; i++) + ts_free(*array_get(&self->node_pool, i)); + array_delete(&self->node_pool); + } + array_delete(&self->heads); + ts_free(self); +} + +uint32_t ts_stack_version_count(const Stack *self) { + return self->heads.size; +} + +uint32_t ts_stack_halted_version_count(Stack *self) { + uint32_t count = 0; + for (uint32_t i = 0; i < self->heads.size; i++) { + StackHead *head = array_get(&self->heads, i); + if (head->status == StackStatusHalted) { + count++; + } + } + return count; +} + +TSStateId ts_stack_state(const Stack *self, StackVersion version) { + return array_get(&self->heads, version)->node->state; +} + +Length ts_stack_position(const Stack *self, StackVersion version) { + return array_get(&self->heads, version)->node->position; +} + +Subtree ts_stack_last_external_token(const Stack *self, StackVersion version) { + return array_get(&self->heads, version)->last_external_token; +} + +void ts_stack_set_last_external_token(Stack *self, StackVersion version, Subtree token) { + StackHead *head = array_get(&self->heads, version); + if (token.ptr) ts_subtree_retain(token); + if (head->last_external_token.ptr) ts_subtree_release(self->subtree_pool, head->last_external_token); + head->last_external_token = token; +} + +unsigned ts_stack_error_cost(const Stack *self, StackVersion version) { + StackHead *head = array_get(&self->heads, version); + unsigned result = head->node->error_cost; + if ( + head->status == StackStatusPaused || + (head->node->state == ERROR_STATE && !head->node->links[0].subtree.ptr)) { + result += ERROR_COST_PER_RECOVERY; + } + return result; +} + +unsigned ts_stack_node_count_since_error(const Stack *self, StackVersion version) { + StackHead *head = array_get(&self->heads, version); + if (head->node->node_count < head->node_count_at_last_error) { + head->node_count_at_last_error = head->node->node_count; + } + return head->node->node_count - head->node_count_at_last_error; +} + +void ts_stack_push( + Stack *self, + StackVersion version, + Subtree subtree, + bool pending, + TSStateId state +) { + StackHead *head = array_get(&self->heads, version); + StackNode *new_node = stack_node_new(head->node, subtree, pending, state, &self->node_pool); + if (!subtree.ptr) head->node_count_at_last_error = new_node->node_count; + head->node = new_node; +} + +forceinline StackAction pop_count_callback(void *payload, const StackIterator *iterator) { + unsigned *goal_subtree_count = payload; + if (iterator->subtree_count == *goal_subtree_count) { + return StackActionPop | StackActionStop; + } else { + return StackActionNone; + } +} + +StackSliceArray ts_stack_pop_count(Stack *self, StackVersion version, uint32_t count) { + return stack__iter(self, version, pop_count_callback, &count, (int)count); +} + + +forceinline StackAction pop_pending_callback(void *payload, const StackIterator *iterator) { + (void)payload; + if (iterator->subtree_count >= 1) { + if (iterator->is_pending) { + return StackActionPop | StackActionStop; + } else { + return StackActionStop; + } + } else { + return StackActionNone; + } +} + +StackSliceArray ts_stack_pop_pending(Stack *self, StackVersion version) { + StackSliceArray pop = stack__iter(self, version, pop_pending_callback, NULL, 0); + if (pop.size > 0) { + ts_stack_renumber_version(self, array_get(&pop, 0)->version, version); + array_get(&pop, 0)->version = version; + } + return pop; +} + +forceinline StackAction pop_error_callback(void *payload, const StackIterator *iterator) { + if (iterator->subtrees.size > 0) { + bool *found_error = payload; + if (!*found_error && ts_subtree_is_error(*array_get(&iterator->subtrees, 0))) { + *found_error = true; + return StackActionPop | StackActionStop; + } else { + return StackActionStop; + } + } else { + return StackActionNone; + } +} + +SubtreeArray ts_stack_pop_error(Stack *self, StackVersion version) { + StackNode *node = array_get(&self->heads, version)->node; + for (unsigned i = 0; i < node->link_count; i++) { + if (node->links[i].subtree.ptr && ts_subtree_is_error(node->links[i].subtree)) { + bool found_error = false; + StackSliceArray pop = stack__iter(self, version, pop_error_callback, &found_error, 1); + if (pop.size > 0) { + ts_assert(pop.size == 1); + ts_stack_renumber_version(self, array_get(&pop, 0)->version, version); + return array_get(&pop, 0)->subtrees; + } + break; + } + } + return (SubtreeArray) {.size = 0}; +} + +forceinline StackAction pop_all_callback(void *payload, const StackIterator *iterator) { + (void)payload; + return iterator->node->link_count == 0 ? StackActionPop : StackActionNone; +} + +StackSliceArray ts_stack_pop_all(Stack *self, StackVersion version) { + return stack__iter(self, version, pop_all_callback, NULL, 0); +} + +typedef struct { + StackSummary *summary; + unsigned max_depth; +} SummarizeStackSession; + +forceinline StackAction summarize_stack_callback(void *payload, const StackIterator *iterator) { + SummarizeStackSession *session = payload; + TSStateId state = iterator->node->state; + unsigned depth = iterator->subtree_count; + if (depth > session->max_depth) return StackActionStop; + for (unsigned i = session->summary->size - 1; i + 1 > 0; i--) { + StackSummaryEntry entry = *array_get(session->summary, i); + if (entry.depth < depth) break; + if (entry.depth == depth && entry.state == state) return StackActionNone; + } + array_push(session->summary, ((StackSummaryEntry) { + .position = iterator->node->position, + .depth = depth, + .state = state, + })); + return StackActionNone; +} + +void ts_stack_record_summary(Stack *self, StackVersion version, unsigned max_depth) { + SummarizeStackSession session = { + .summary = ts_malloc(sizeof(StackSummary)), + .max_depth = max_depth + }; + array_init(session.summary); + stack__iter(self, version, summarize_stack_callback, &session, -1); + StackHead *head = array_get(&self->heads, version); + if (head->summary) { + array_delete(head->summary); + ts_free(head->summary); + } + head->summary = session.summary; +} + +StackSummary *ts_stack_get_summary(Stack *self, StackVersion version) { + return array_get(&self->heads, version)->summary; +} + +int ts_stack_dynamic_precedence(Stack *self, StackVersion version) { + return array_get(&self->heads, version)->node->dynamic_precedence; +} + +bool ts_stack_has_advanced_since_error(const Stack *self, StackVersion version) { + const StackHead *head = array_get(&self->heads, version); + const StackNode *node = head->node; + if (node->error_cost == 0) return true; + while (node) { + if (node->link_count > 0) { + Subtree subtree = node->links[0].subtree; + if (subtree.ptr) { + if (ts_subtree_total_bytes(subtree) > 0) { + return true; + } else if ( + node->node_count > head->node_count_at_last_error && + ts_subtree_error_cost(subtree) == 0 + ) { + node = node->links[0].node; + continue; + } + } + } + break; + } + return false; +} + +void ts_stack_remove_version(Stack *self, StackVersion version) { + stack_head_delete(array_get(&self->heads, version), &self->node_pool, self->subtree_pool); + array_erase(&self->heads, version); +} + +void ts_stack_renumber_version(Stack *self, StackVersion v1, StackVersion v2) { + if (v1 == v2) return; + ts_assert(v2 < v1); + ts_assert((uint32_t)v1 < self->heads.size); + StackHead *source_head = array_get(&self->heads, v1); + StackHead *target_head = array_get(&self->heads, v2); + if (target_head->summary && !source_head->summary) { + source_head->summary = target_head->summary; + target_head->summary = NULL; + } + stack_head_delete(target_head, &self->node_pool, self->subtree_pool); + *target_head = *source_head; + array_erase(&self->heads, v1); +} + +void ts_stack_swap_versions(Stack *self, StackVersion v1, StackVersion v2) { + StackHead temporary_head = *array_get(&self->heads, v1); + *array_get(&self->heads, v1) = *array_get(&self->heads, v2); + *array_get(&self->heads, v2) = temporary_head; +} + +StackVersion ts_stack_copy_version(Stack *self, StackVersion version) { + ts_assert(version < self->heads.size); + StackHead version_head = *array_get(&self->heads, version); + array_push(&self->heads, version_head); + StackHead *head = array_back(&self->heads); + stack_node_retain(head->node); + if (head->last_external_token.ptr) ts_subtree_retain(head->last_external_token); + head->summary = NULL; + return self->heads.size - 1; +} + +bool ts_stack_merge(Stack *self, StackVersion version1, StackVersion version2) { + if (!ts_stack_can_merge(self, version1, version2)) return false; + StackHead *head1 = array_get(&self->heads, version1); + StackHead *head2 = array_get(&self->heads, version2); + for (uint32_t i = 0; i < head2->node->link_count; i++) { + stack_node_add_link(head1->node, head2->node->links[i], self->subtree_pool); + } + if (head1->node->state == ERROR_STATE) { + head1->node_count_at_last_error = head1->node->node_count; + } + ts_stack_remove_version(self, version2); + return true; +} + +bool ts_stack_can_merge(Stack *self, StackVersion version1, StackVersion version2) { + StackHead *head1 = array_get(&self->heads, version1); + StackHead *head2 = array_get(&self->heads, version2); + return + head1->status == StackStatusActive && + head2->status == StackStatusActive && + head1->node->state == head2->node->state && + head1->node->position.bytes == head2->node->position.bytes && + head1->node->error_cost == head2->node->error_cost && + ts_subtree_external_scanner_state_eq(head1->last_external_token, head2->last_external_token); +} + +void ts_stack_halt(Stack *self, StackVersion version) { + array_get(&self->heads, version)->status = StackStatusHalted; +} + +void ts_stack_pause(Stack *self, StackVersion version, Subtree lookahead) { + StackHead *head = array_get(&self->heads, version); + head->status = StackStatusPaused; + head->lookahead_when_paused = lookahead; + head->node_count_at_last_error = head->node->node_count; +} + +bool ts_stack_is_active(const Stack *self, StackVersion version) { + return array_get(&self->heads, version)->status == StackStatusActive; +} + +bool ts_stack_is_halted(const Stack *self, StackVersion version) { + return array_get(&self->heads, version)->status == StackStatusHalted; +} + +bool ts_stack_is_paused(const Stack *self, StackVersion version) { + return array_get(&self->heads, version)->status == StackStatusPaused; +} + +Subtree ts_stack_resume(Stack *self, StackVersion version) { + StackHead *head = array_get(&self->heads, version); + ts_assert(head->status == StackStatusPaused); + Subtree result = head->lookahead_when_paused; + head->status = StackStatusActive; + head->lookahead_when_paused = NULL_SUBTREE; + return result; +} + +void ts_stack_clear(Stack *self) { + stack_node_retain(self->base_node); + for (uint32_t i = 0; i < self->heads.size; i++) { + stack_head_delete(array_get(&self->heads, i), &self->node_pool, self->subtree_pool); + } + array_clear(&self->heads); + array_push(&self->heads, ((StackHead) { + .node = self->base_node, + .status = StackStatusActive, + .last_external_token = NULL_SUBTREE, + .lookahead_when_paused = NULL_SUBTREE, + })); +} + +bool ts_stack_print_dot_graph(Stack *self, const TSLanguage *language, FILE *f) { + array_reserve(&self->iterators, 32); + if (!f) f = stderr; + + fprintf(f, "digraph stack {\n"); + fprintf(f, "rankdir=\"RL\";\n"); + fprintf(f, "edge [arrowhead=none]\n"); + + Array(StackNode *) visited_nodes = array_new(); + + array_clear(&self->iterators); + for (uint32_t i = 0; i < self->heads.size; i++) { + StackHead *head = array_get(&self->heads, i); + if (head->status == StackStatusHalted) continue; + + fprintf(f, "node_head_%u [shape=none, label=\"\"]\n", i); + fprintf(f, "node_head_%u -> node_%p [", i, (void *)head->node); + + if (head->status == StackStatusPaused) { + fprintf(f, "color=red "); + } + fprintf(f, + "label=%u, fontcolor=blue, weight=10000, labeltooltip=\"node_count: %u\nerror_cost: %u", + i, + ts_stack_node_count_since_error(self, i), + ts_stack_error_cost(self, i) + ); + + if (head->summary) { + fprintf(f, "\nsummary:"); + for (uint32_t j = 0; j < head->summary->size; j++) fprintf(f, " %u", array_get(head->summary, j)->state); + } + + if (head->last_external_token.ptr) { + const ExternalScannerState *state = &head->last_external_token.ptr->external_scanner_state; + const char *data = ts_external_scanner_state_data(state); + fprintf(f, "\nexternal_scanner_state:"); + for (uint32_t j = 0; j < state->length; j++) fprintf(f, " %2X", data[j]); + } + + fprintf(f, "\"]\n"); + array_push(&self->iterators, ((StackIterator) { + .node = head->node + })); + } + + bool all_iterators_done = false; + while (!all_iterators_done) { + all_iterators_done = true; + + for (uint32_t i = 0; i < self->iterators.size; i++) { + StackIterator iterator = *array_get(&self->iterators, i); + StackNode *node = iterator.node; + + for (uint32_t j = 0; j < visited_nodes.size; j++) { + if (*array_get(&visited_nodes, j) == node) { + node = NULL; + break; + } + } + + if (!node) continue; + all_iterators_done = false; + + fprintf(f, "node_%p [", (void *)node); + if (node->state == ERROR_STATE) { + fprintf(f, "label=\"?\""); + } else if ( + node->link_count == 1 && + node->links[0].subtree.ptr && + ts_subtree_extra(node->links[0].subtree) + ) { + fprintf(f, "shape=point margin=0 label=\"\""); + } else { + fprintf(f, "label=\"%d\"", node->state); + } + + fprintf( + f, + " tooltip=\"position: %u,%u\nnode_count:%u\nerror_cost: %u\ndynamic_precedence: %d\"];\n", + node->position.extent.row + 1, + node->position.extent.column, + node->node_count, + node->error_cost, + node->dynamic_precedence + ); + + for (int j = 0; j < node->link_count; j++) { + StackLink link = node->links[j]; + fprintf(f, "node_%p -> node_%p [", (void *)node, (void *)link.node); + if (link.is_pending) fprintf(f, "style=dashed "); + if (link.subtree.ptr && ts_subtree_extra(link.subtree)) fprintf(f, "fontcolor=gray "); + + if (!link.subtree.ptr) { + fprintf(f, "color=red"); + } else { + fprintf(f, "label=\""); + bool quoted = ts_subtree_visible(link.subtree) && !ts_subtree_named(link.subtree); + if (quoted) fprintf(f, "'"); + ts_language_write_symbol_as_dot_string(language, f, ts_subtree_symbol(link.subtree)); + if (quoted) fprintf(f, "'"); + fprintf(f, "\""); + fprintf( + f, + "labeltooltip=\"error_cost: %u\ndynamic_precedence: %" PRId32 "\"", + ts_subtree_error_cost(link.subtree), + ts_subtree_dynamic_precedence(link.subtree) + ); + } + + fprintf(f, "];\n"); + + StackIterator *next_iterator; + if (j == 0) { + next_iterator = array_get(&self->iterators, i); + } else { + array_push(&self->iterators, iterator); + next_iterator = array_back(&self->iterators); + } + next_iterator->node = link.node; + } + + array_push(&visited_nodes, node); + } + } + + fprintf(f, "}\n"); + + array_delete(&visited_nodes); + return true; +} + +#undef forceinline diff --git a/non-source/foreign/tree-sitter/lib/src/stack.h b/non-source/foreign/tree-sitter/lib/src/stack.h new file mode 100644 index 00000000..2619f1e8 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/stack.h @@ -0,0 +1,133 @@ +#ifndef TREE_SITTER_PARSE_STACK_H_ +#define TREE_SITTER_PARSE_STACK_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./array.h" +#include "./subtree.h" +#include + +typedef struct Stack Stack; + +typedef unsigned StackVersion; +#define STACK_VERSION_NONE ((StackVersion)-1) + +typedef struct { + SubtreeArray subtrees; + StackVersion version; +} StackSlice; +typedef Array(StackSlice) StackSliceArray; + +typedef struct { + Length position; + unsigned depth; + TSStateId state; +} StackSummaryEntry; +typedef Array(StackSummaryEntry) StackSummary; + +// Create a stack. +Stack *ts_stack_new(SubtreePool *subtree_pool); + +// Release the memory reserved for a given stack. +void ts_stack_delete(Stack *self); + +// Get the stack's current number of versions. +uint32_t ts_stack_version_count(const Stack *self); + +// Get the stack's current number of halted versions. +uint32_t ts_stack_halted_version_count(Stack *self); + +// Get the state at the top of the given version of the stack. If the stack is +// empty, this returns the initial state, 0. +TSStateId ts_stack_state(const Stack *self, StackVersion version); + +// Get the last external token associated with a given version of the stack. +Subtree ts_stack_last_external_token(const Stack *self, StackVersion version); + +// Set the last external token associated with a given version of the stack. +void ts_stack_set_last_external_token(Stack *self, StackVersion version, Subtree token); + +// Get the position of the given version of the stack within the document. +Length ts_stack_position(const Stack *, StackVersion); + +// Push a tree and state onto the given version of the stack. +// +// This transfers ownership of the tree to the Stack. Callers that +// need to retain ownership of the tree for their own purposes should +// first retain the tree. +void ts_stack_push(Stack *self, StackVersion version, Subtree subtree, bool pending, TSStateId state); + +// Pop the given number of entries from the given version of the stack. This +// operation can increase the number of stack versions by revealing multiple +// versions which had previously been merged. It returns an array that +// specifies the index of each revealed version and the trees that were +// removed from that version. +StackSliceArray ts_stack_pop_count(Stack *self, StackVersion version, uint32_t count); + +// Remove an error at the top of the given version of the stack. +SubtreeArray ts_stack_pop_error(Stack *self, StackVersion version); + +// Remove any pending trees from the top of the given version of the stack. +StackSliceArray ts_stack_pop_pending(Stack *self, StackVersion version); + +// Remove all trees from the given version of the stack. +StackSliceArray ts_stack_pop_all(Stack *self, StackVersion version); + +// Get the maximum number of tree nodes reachable from this version of the stack +// since the last error was detected. +unsigned ts_stack_node_count_since_error(const Stack *self, StackVersion version); + +int ts_stack_dynamic_precedence(Stack *self, StackVersion version); + +bool ts_stack_has_advanced_since_error(const Stack *self, StackVersion version); + +// Compute a summary of all the parse states near the top of the given +// version of the stack and store the summary for later retrieval. +void ts_stack_record_summary(Stack *self, StackVersion version, unsigned max_depth); + +// Retrieve a summary of all the parse states near the top of the +// given version of the stack. +StackSummary *ts_stack_get_summary(Stack *self, StackVersion version); + +// Get the total cost of all errors on the given version of the stack. +unsigned ts_stack_error_cost(const Stack *self, StackVersion version); + +// Merge the given two stack versions if possible, returning true +// if they were successfully merged and false otherwise. +bool ts_stack_merge(Stack *self, StackVersion version1, StackVersion version2); + +// Determine whether the given two stack versions can be merged. +bool ts_stack_can_merge(Stack *self, StackVersion version1, StackVersion version2); + +Subtree ts_stack_resume(Stack *self, StackVersion version); + +void ts_stack_pause(Stack *self, StackVersion version, Subtree lookahead); + +void ts_stack_halt(Stack *self, StackVersion version); + +bool ts_stack_is_active(const Stack *self, StackVersion version); + +bool ts_stack_is_paused(const Stack *self, StackVersion version); + +bool ts_stack_is_halted(const Stack *self, StackVersion version); + +void ts_stack_renumber_version(Stack *self, StackVersion v1, StackVersion v2); + +void ts_stack_swap_versions(Stack *, StackVersion v1, StackVersion v2); + +StackVersion ts_stack_copy_version(Stack *self, StackVersion version); + +// Remove the given version from the stack. +void ts_stack_remove_version(Stack *self, StackVersion version); + +void ts_stack_clear(Stack *self); + +bool ts_stack_print_dot_graph(Stack *self, const TSLanguage *language, FILE *f); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSE_STACK_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/subtree.c b/non-source/foreign/tree-sitter/lib/src/subtree.c new file mode 100644 index 00000000..97d55c86 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/subtree.c @@ -0,0 +1,1034 @@ +#include +#include +#include +#include +#include +#include "./alloc.h" +#include "./array.h" +#include "./atomic.h" +#include "./subtree.h" +#include "./length.h" +#include "./language.h" +#include "./error_costs.h" +#include "./ts_assert.h" +#include + +typedef struct { + Length start; + Length old_end; + Length new_end; +} Edit; + +#define TS_MAX_INLINE_TREE_LENGTH UINT8_MAX +#define TS_MAX_TREE_POOL_SIZE 32 + +// ExternalScannerState + +void ts_external_scanner_state_init(ExternalScannerState *self, const char *data, unsigned length) { + self->length = length; + if (length > sizeof(self->short_data)) { + self->long_data = ts_malloc(length); + memcpy(self->long_data, data, length); + } else { + memcpy(self->short_data, data, length); + } +} + +ExternalScannerState ts_external_scanner_state_copy(const ExternalScannerState *self) { + ExternalScannerState result = *self; + if (self->length > sizeof(self->short_data)) { + result.long_data = ts_malloc(self->length); + memcpy(result.long_data, self->long_data, self->length); + } + return result; +} + +void ts_external_scanner_state_delete(ExternalScannerState *self) { + if (self->length > sizeof(self->short_data)) { + ts_free(self->long_data); + } +} + +const char *ts_external_scanner_state_data(const ExternalScannerState *self) { + if (self->length > sizeof(self->short_data)) { + return self->long_data; + } else { + return self->short_data; + } +} + +bool ts_external_scanner_state_eq(const ExternalScannerState *self, const char *buffer, unsigned length) { + return + self->length == length && + memcmp(ts_external_scanner_state_data(self), buffer, length) == 0; +} + +// SubtreeArray + +void ts_subtree_array_copy(SubtreeArray self, SubtreeArray *dest) { + dest->size = self.size; + dest->capacity = self.capacity; + dest->contents = self.contents; + if (self.capacity > 0) { + dest->contents = ts_calloc(self.capacity, sizeof(Subtree)); + memcpy(dest->contents, self.contents, self.size * sizeof(Subtree)); + for (uint32_t i = 0; i < self.size; i++) { + ts_subtree_retain(*array_get(dest, i)); + } + } +} + +void ts_subtree_array_clear(SubtreePool *pool, SubtreeArray *self) { + for (uint32_t i = 0; i < self->size; i++) { + ts_subtree_release(pool, *array_get(self, i)); + } + array_clear(self); +} + +void ts_subtree_array_delete(SubtreePool *pool, SubtreeArray *self) { + ts_subtree_array_clear(pool, self); + array_delete(self); +} + +void ts_subtree_array_remove_trailing_extras( + SubtreeArray *self, + SubtreeArray *destination +) { + array_clear(destination); + while (self->size > 0) { + Subtree last = *array_get(self, self->size - 1); + if (ts_subtree_extra(last)) { + self->size--; + array_push(destination, last); + } else { + break; + } + } + ts_subtree_array_reverse(destination); +} + +void ts_subtree_array_reverse(SubtreeArray *self) { + for (uint32_t i = 0, limit = self->size / 2; i < limit; i++) { + size_t reverse_index = self->size - 1 - i; + Subtree swap = *array_get(self, i); + *array_get(self, i) = *array_get(self, reverse_index); + *array_get(self, reverse_index) = swap; + } +} + +// SubtreePool + +SubtreePool ts_subtree_pool_new(uint32_t capacity) { + SubtreePool self = {array_new(), array_new()}; + array_reserve(&self.free_trees, capacity); + return self; +} + +void ts_subtree_pool_delete(SubtreePool *self) { + if (self->free_trees.contents) { + for (unsigned i = 0; i < self->free_trees.size; i++) { + ts_free(array_get(&self->free_trees, i)->ptr); + } + array_delete(&self->free_trees); + } + if (self->tree_stack.contents) array_delete(&self->tree_stack); +} + +static SubtreeHeapData *ts_subtree_pool_allocate(SubtreePool *self) { + if (self->free_trees.size > 0) { + return array_pop(&self->free_trees).ptr; + } else { + return ts_malloc(sizeof(SubtreeHeapData)); + } +} + +static void ts_subtree_pool_free(SubtreePool *self, SubtreeHeapData *tree) { + if (self->free_trees.capacity > 0 && self->free_trees.size + 1 <= TS_MAX_TREE_POOL_SIZE) { + array_push(&self->free_trees, (MutableSubtree) {.ptr = tree}); + } else { + ts_free(tree); + } +} + +// Subtree + +static inline bool ts_subtree_can_inline(Length padding, Length size, uint32_t lookahead_bytes) { + return + padding.bytes < TS_MAX_INLINE_TREE_LENGTH && + padding.extent.row < 16 && + padding.extent.column < TS_MAX_INLINE_TREE_LENGTH && + size.bytes < TS_MAX_INLINE_TREE_LENGTH && + size.extent.row == 0 && + size.extent.column < TS_MAX_INLINE_TREE_LENGTH && + lookahead_bytes < 16; +} + +Subtree ts_subtree_new_leaf( + SubtreePool *pool, TSSymbol symbol, Length padding, Length size, + uint32_t lookahead_bytes, TSStateId parse_state, + bool has_external_tokens, bool depends_on_column, + bool is_keyword, const TSLanguage *language +) { + TSSymbolMetadata metadata = ts_language_symbol_metadata(language, symbol); + bool extra = symbol == ts_builtin_sym_end; + + bool is_inline = ( + symbol <= UINT8_MAX && + !has_external_tokens && + ts_subtree_can_inline(padding, size, lookahead_bytes) + ); + + if (is_inline) { + return (Subtree) {{ + .parse_state = parse_state, + .symbol = symbol, + .padding_bytes = padding.bytes, + .padding_rows = padding.extent.row, + .padding_columns = padding.extent.column, + .size_bytes = size.bytes, + .lookahead_bytes = lookahead_bytes, + .visible = metadata.visible, + .named = metadata.named, + .extra = extra, + .has_changes = false, + .is_missing = false, + .is_keyword = is_keyword, + .is_inline = true, + }}; + } else { + SubtreeHeapData *data = ts_subtree_pool_allocate(pool); + *data = (SubtreeHeapData) { + .ref_count = 1, + .padding = padding, + .size = size, + .lookahead_bytes = lookahead_bytes, + .error_cost = 0, + .child_count = 0, + .symbol = symbol, + .parse_state = parse_state, + .visible = metadata.visible, + .named = metadata.named, + .extra = extra, + .fragile_left = false, + .fragile_right = false, + .has_changes = false, + .has_external_tokens = has_external_tokens, + .has_external_scanner_state_change = false, + .depends_on_column = depends_on_column, + .is_missing = false, + .is_keyword = is_keyword, + {{.first_leaf = {.symbol = 0, .parse_state = 0}}} + }; + return (Subtree) {.ptr = data}; + } +} + +void ts_subtree_set_symbol( + MutableSubtree *self, + TSSymbol symbol, + const TSLanguage *language +) { + TSSymbolMetadata metadata = ts_language_symbol_metadata(language, symbol); + if (self->data.is_inline) { + ts_assert(symbol < UINT8_MAX); + self->data.symbol = symbol; + self->data.named = metadata.named; + self->data.visible = metadata.visible; + } else { + self->ptr->symbol = symbol; + self->ptr->named = metadata.named; + self->ptr->visible = metadata.visible; + } +} + +Subtree ts_subtree_new_error( + SubtreePool *pool, int32_t lookahead_char, Length padding, Length size, + uint32_t bytes_scanned, TSStateId parse_state, const TSLanguage *language +) { + Subtree result = ts_subtree_new_leaf( + pool, ts_builtin_sym_error, padding, size, bytes_scanned, + parse_state, false, false, false, language + ); + SubtreeHeapData *data = (SubtreeHeapData *)result.ptr; + data->fragile_left = true; + data->fragile_right = true; + data->lookahead_char = lookahead_char; + return result; +} + +// Clone a subtree. +MutableSubtree ts_subtree_clone(Subtree self) { + size_t alloc_size = ts_subtree_alloc_size(self.ptr->child_count); + Subtree *new_children = ts_malloc(alloc_size); + Subtree *old_children = ts_subtree_children(self); + memcpy(new_children, old_children, alloc_size); + SubtreeHeapData *result = (SubtreeHeapData *)&new_children[self.ptr->child_count]; + if (self.ptr->child_count > 0) { + for (uint32_t i = 0; i < self.ptr->child_count; i++) { + ts_subtree_retain(new_children[i]); + } + } else if (self.ptr->has_external_tokens) { + result->external_scanner_state = ts_external_scanner_state_copy( + &self.ptr->external_scanner_state + ); + } + result->ref_count = 1; + return (MutableSubtree) {.ptr = result}; +} + +// Get mutable version of a subtree. +// +// This takes ownership of the subtree. If the subtree has only one owner, +// this will directly convert it into a mutable version. Otherwise, it will +// perform a copy. +MutableSubtree ts_subtree_make_mut(SubtreePool *pool, Subtree self) { + if (self.data.is_inline) return (MutableSubtree) {self.data}; + if (self.ptr->ref_count == 1) return ts_subtree_to_mut_unsafe(self); + MutableSubtree result = ts_subtree_clone(self); + ts_subtree_release(pool, self); + return result; +} + +void ts_subtree_compress( + MutableSubtree self, + unsigned count, + const TSLanguage *language, + MutableSubtreeArray *stack +) { + unsigned initial_stack_size = stack->size; + + MutableSubtree tree = self; + TSSymbol symbol = tree.ptr->symbol; + for (unsigned i = 0; i < count; i++) { + if (tree.ptr->ref_count > 1 || tree.ptr->child_count < 2) break; + + MutableSubtree child = ts_subtree_to_mut_unsafe(ts_subtree_children(tree)[0]); + if ( + child.data.is_inline || + child.ptr->child_count < 2 || + child.ptr->ref_count > 1 || + child.ptr->symbol != symbol + ) break; + + MutableSubtree grandchild = ts_subtree_to_mut_unsafe(ts_subtree_children(child)[0]); + if ( + grandchild.data.is_inline || + grandchild.ptr->child_count < 2 || + grandchild.ptr->ref_count > 1 || + grandchild.ptr->symbol != symbol + ) break; + + ts_subtree_children(tree)[0] = ts_subtree_from_mut(grandchild); + ts_subtree_children(child)[0] = ts_subtree_children(grandchild)[grandchild.ptr->child_count - 1]; + ts_subtree_children(grandchild)[grandchild.ptr->child_count - 1] = ts_subtree_from_mut(child); + array_push(stack, tree); + tree = grandchild; + } + + while (stack->size > initial_stack_size) { + tree = array_pop(stack); + MutableSubtree child = ts_subtree_to_mut_unsafe(ts_subtree_children(tree)[0]); + MutableSubtree grandchild = ts_subtree_to_mut_unsafe(ts_subtree_children(child)[child.ptr->child_count - 1]); + ts_subtree_summarize_children(grandchild, language); + ts_subtree_summarize_children(child, language); + ts_subtree_summarize_children(tree, language); + } +} + +// Assign all of the node's properties that depend on its children. +void ts_subtree_summarize_children( + MutableSubtree self, + const TSLanguage *language +) { + ts_assert(!self.data.is_inline); + + self.ptr->named_child_count = 0; + self.ptr->visible_child_count = 0; + self.ptr->error_cost = 0; + self.ptr->repeat_depth = 0; + self.ptr->visible_descendant_count = 0; + self.ptr->has_external_tokens = false; + self.ptr->depends_on_column = false; + self.ptr->has_external_scanner_state_change = false; + self.ptr->dynamic_precedence = 0; + + uint32_t structural_index = 0; + const TSSymbol *alias_sequence = ts_language_alias_sequence(language, self.ptr->production_id); + uint32_t lookahead_end_byte = 0; + + const Subtree *children = ts_subtree_children(self); + for (uint32_t i = 0; i < self.ptr->child_count; i++) { + Subtree child = children[i]; + + if ( + self.ptr->size.extent.row == 0 && + ts_subtree_depends_on_column(child) + ) { + self.ptr->depends_on_column = true; + } + + if (ts_subtree_has_external_scanner_state_change(child)) { + self.ptr->has_external_scanner_state_change = true; + } + + if (i == 0) { + self.ptr->padding = ts_subtree_padding(child); + self.ptr->size = ts_subtree_size(child); + } else { + self.ptr->size = length_add(self.ptr->size, ts_subtree_total_size(child)); + } + + uint32_t child_lookahead_end_byte = + self.ptr->padding.bytes + + self.ptr->size.bytes + + ts_subtree_lookahead_bytes(child); + if (child_lookahead_end_byte > lookahead_end_byte) { + lookahead_end_byte = child_lookahead_end_byte; + } + + if (ts_subtree_symbol(child) != ts_builtin_sym_error_repeat) { + self.ptr->error_cost += ts_subtree_error_cost(child); + } + + uint32_t grandchild_count = ts_subtree_child_count(child); + if ( + self.ptr->symbol == ts_builtin_sym_error || + self.ptr->symbol == ts_builtin_sym_error_repeat + ) { + if (!ts_subtree_extra(child) && !(ts_subtree_is_error(child) && grandchild_count == 0)) { + if (ts_subtree_visible(child)) { + self.ptr->error_cost += ERROR_COST_PER_SKIPPED_TREE; + } else if (grandchild_count > 0) { + self.ptr->error_cost += ERROR_COST_PER_SKIPPED_TREE * child.ptr->visible_child_count; + } + } + } + + self.ptr->dynamic_precedence += ts_subtree_dynamic_precedence(child); + self.ptr->visible_descendant_count += ts_subtree_visible_descendant_count(child); + + if ( + !ts_subtree_extra(child) && + ts_subtree_symbol(child) != 0 && + alias_sequence && + alias_sequence[structural_index] != 0 + ) { + self.ptr->visible_descendant_count++; + self.ptr->visible_child_count++; + if (ts_language_symbol_metadata(language, alias_sequence[structural_index]).named) { + self.ptr->named_child_count++; + } + } else if (ts_subtree_visible(child)) { + self.ptr->visible_descendant_count++; + self.ptr->visible_child_count++; + if (ts_subtree_named(child)) self.ptr->named_child_count++; + } else if (grandchild_count > 0) { + self.ptr->visible_child_count += child.ptr->visible_child_count; + self.ptr->named_child_count += child.ptr->named_child_count; + } + + if (ts_subtree_has_external_tokens(child)) self.ptr->has_external_tokens = true; + + if (ts_subtree_is_error(child)) { + self.ptr->fragile_left = self.ptr->fragile_right = true; + self.ptr->parse_state = TS_TREE_STATE_NONE; + } + + if (!ts_subtree_extra(child)) structural_index++; + } + + self.ptr->lookahead_bytes = lookahead_end_byte - self.ptr->size.bytes - self.ptr->padding.bytes; + + if ( + self.ptr->symbol == ts_builtin_sym_error || + self.ptr->symbol == ts_builtin_sym_error_repeat + ) { + self.ptr->error_cost += + ERROR_COST_PER_RECOVERY + + ERROR_COST_PER_SKIPPED_CHAR * self.ptr->size.bytes + + ERROR_COST_PER_SKIPPED_LINE * self.ptr->size.extent.row; + } + + if (self.ptr->child_count > 0) { + Subtree first_child = children[0]; + Subtree last_child = children[self.ptr->child_count - 1]; + + self.ptr->first_leaf.symbol = ts_subtree_leaf_symbol(first_child); + self.ptr->first_leaf.parse_state = ts_subtree_leaf_parse_state(first_child); + + if (ts_subtree_fragile_left(first_child)) self.ptr->fragile_left = true; + if (ts_subtree_fragile_right(last_child)) self.ptr->fragile_right = true; + + if ( + self.ptr->child_count >= 2 && + !self.ptr->visible && + !self.ptr->named && + ts_subtree_symbol(first_child) == self.ptr->symbol + ) { + if (ts_subtree_repeat_depth(first_child) > ts_subtree_repeat_depth(last_child)) { + self.ptr->repeat_depth = ts_subtree_repeat_depth(first_child) + 1; + } else { + self.ptr->repeat_depth = ts_subtree_repeat_depth(last_child) + 1; + } + } + } +} + +// Create a new parent node with the given children. +// +// This takes ownership of the children array. +MutableSubtree ts_subtree_new_node( + TSSymbol symbol, + SubtreeArray *children, + unsigned production_id, + const TSLanguage *language +) { + TSSymbolMetadata metadata = ts_language_symbol_metadata(language, symbol); + bool fragile = symbol == ts_builtin_sym_error || symbol == ts_builtin_sym_error_repeat; + + // Allocate the node's data at the end of the array of children. + size_t new_byte_size = ts_subtree_alloc_size(children->size); + if (children->capacity * sizeof(Subtree) < new_byte_size) { + children->contents = ts_realloc(children->contents, new_byte_size); + children->capacity = (uint32_t)(new_byte_size / sizeof(Subtree)); + } + SubtreeHeapData *data = (SubtreeHeapData *)&children->contents[children->size]; + + *data = (SubtreeHeapData) { + .ref_count = 1, + .symbol = symbol, + .child_count = children->size, + .visible = metadata.visible, + .named = metadata.named, + .has_changes = false, + .has_external_scanner_state_change = false, + .fragile_left = fragile, + .fragile_right = fragile, + .is_keyword = false, + {{ + .visible_descendant_count = 0, + .production_id = production_id, + .first_leaf = {.symbol = 0, .parse_state = 0}, + }} + }; + MutableSubtree result = {.ptr = data}; + ts_subtree_summarize_children(result, language); + return result; +} + +// Create a new error node containing the given children. +// +// This node is treated as 'extra'. Its children are prevented from having +// having any effect on the parse state. +Subtree ts_subtree_new_error_node( + SubtreeArray *children, + bool extra, + const TSLanguage *language +) { + MutableSubtree result = ts_subtree_new_node( + ts_builtin_sym_error, children, 0, language + ); + result.ptr->extra = extra; + return ts_subtree_from_mut(result); +} + +// Create a new 'missing leaf' node. +// +// This node is treated as 'extra'. Its children are prevented from having +// having any effect on the parse state. +Subtree ts_subtree_new_missing_leaf( + SubtreePool *pool, + TSSymbol symbol, + Length padding, + uint32_t lookahead_bytes, + const TSLanguage *language +) { + Subtree result = ts_subtree_new_leaf( + pool, symbol, padding, length_zero(), lookahead_bytes, + 0, false, false, false, language + ); + if (result.data.is_inline) { + result.data.is_missing = true; + } else { + ((SubtreeHeapData *)result.ptr)->is_missing = true; + } + return result; +} + +void ts_subtree_retain(Subtree self) { + if (self.data.is_inline) return; + ts_assert(self.ptr->ref_count > 0); + atomic_inc((volatile uint32_t *)&self.ptr->ref_count); + ts_assert(self.ptr->ref_count != 0); +} + +void ts_subtree_release(SubtreePool *pool, Subtree self) { + if (self.data.is_inline) return; + array_clear(&pool->tree_stack); + + ts_assert(self.ptr->ref_count > 0); + if (atomic_dec((volatile uint32_t *)&self.ptr->ref_count) == 0) { + array_push(&pool->tree_stack, ts_subtree_to_mut_unsafe(self)); + } + + while (pool->tree_stack.size > 0) { + MutableSubtree tree = array_pop(&pool->tree_stack); + if (tree.ptr->child_count > 0) { + Subtree *children = ts_subtree_children(tree); + for (uint32_t i = 0; i < tree.ptr->child_count; i++) { + Subtree child = children[i]; + if (child.data.is_inline) continue; + ts_assert(child.ptr->ref_count > 0); + if (atomic_dec((volatile uint32_t *)&child.ptr->ref_count) == 0) { + array_push(&pool->tree_stack, ts_subtree_to_mut_unsafe(child)); + } + } + ts_free(children); + } else { + if (tree.ptr->has_external_tokens) { + ts_external_scanner_state_delete(&tree.ptr->external_scanner_state); + } + ts_subtree_pool_free(pool, tree.ptr); + } + } +} + +int ts_subtree_compare(Subtree left, Subtree right, SubtreePool *pool) { + array_push(&pool->tree_stack, ts_subtree_to_mut_unsafe(left)); + array_push(&pool->tree_stack, ts_subtree_to_mut_unsafe(right)); + + while (pool->tree_stack.size > 0) { + right = ts_subtree_from_mut(array_pop(&pool->tree_stack)); + left = ts_subtree_from_mut(array_pop(&pool->tree_stack)); + + int result = 0; + if (ts_subtree_symbol(left) < ts_subtree_symbol(right)) result = -1; + else if (ts_subtree_symbol(right) < ts_subtree_symbol(left)) result = 1; + else if (ts_subtree_child_count(left) < ts_subtree_child_count(right)) result = -1; + else if (ts_subtree_child_count(right) < ts_subtree_child_count(left)) result = 1; + if (result != 0) { + array_clear(&pool->tree_stack); + return result; + } + + for (uint32_t i = ts_subtree_child_count(left); i > 0; i--) { + Subtree left_child = ts_subtree_children(left)[i - 1]; + Subtree right_child = ts_subtree_children(right)[i - 1]; + array_push(&pool->tree_stack, ts_subtree_to_mut_unsafe(left_child)); + array_push(&pool->tree_stack, ts_subtree_to_mut_unsafe(right_child)); + } + } + + return 0; +} + +static inline void ts_subtree_set_has_changes(MutableSubtree *self) { + if (self->data.is_inline) { + self->data.has_changes = true; + } else { + self->ptr->has_changes = true; + } +} + +Subtree ts_subtree_edit(Subtree self, const TSInputEdit *input_edit, SubtreePool *pool) { + typedef struct { + Subtree *tree; + Edit edit; + } EditEntry; + + Array(EditEntry) stack = array_new(); + array_push(&stack, ((EditEntry) { + .tree = &self, + .edit = (Edit) { + .start = {input_edit->start_byte, input_edit->start_point}, + .old_end = {input_edit->old_end_byte, input_edit->old_end_point}, + .new_end = {input_edit->new_end_byte, input_edit->new_end_point}, + }, + })); + + while (stack.size) { + EditEntry entry = array_pop(&stack); + Edit edit = entry.edit; + bool is_noop = edit.old_end.bytes == edit.start.bytes && edit.new_end.bytes == edit.start.bytes; + bool is_pure_insertion = edit.old_end.bytes == edit.start.bytes; + bool parent_depends_on_column = ts_subtree_depends_on_column(*entry.tree); + bool column_shifted = edit.new_end.extent.column != edit.old_end.extent.column; + + Length size = ts_subtree_size(*entry.tree); + Length padding = ts_subtree_padding(*entry.tree); + Length total_size = length_add(padding, size); + uint32_t lookahead_bytes = ts_subtree_lookahead_bytes(*entry.tree); + uint32_t end_byte = total_size.bytes + lookahead_bytes; + if (edit.start.bytes > end_byte || (is_noop && edit.start.bytes == end_byte)) continue; + + // If the edit is entirely within the space before this subtree, then shift this + // subtree over according to the edit without changing its size. + if (edit.old_end.bytes <= padding.bytes) { + padding = length_add(edit.new_end, length_sub(padding, edit.old_end)); + } + + // If the edit starts in the space before this subtree and extends into this subtree, + // shrink the subtree's content to compensate for the change in the space before it. + else if (edit.start.bytes < padding.bytes) { + size = length_saturating_sub(size, length_sub(edit.old_end, padding)); + padding = edit.new_end; + } + + // If the edit is within this subtree, resize the subtree to reflect the edit. + else if ( + edit.start.bytes < total_size.bytes || + (edit.start.bytes == total_size.bytes && is_pure_insertion) + ) { + size = length_add( + length_sub(edit.new_end, padding), + length_saturating_sub(total_size, edit.old_end) + ); + } + + MutableSubtree result = ts_subtree_make_mut(pool, *entry.tree); + + if (result.data.is_inline) { + if (ts_subtree_can_inline(padding, size, lookahead_bytes)) { + result.data.padding_bytes = padding.bytes; + result.data.padding_rows = padding.extent.row; + result.data.padding_columns = padding.extent.column; + result.data.size_bytes = size.bytes; + } else { + SubtreeHeapData *data = ts_subtree_pool_allocate(pool); + data->ref_count = 1; + data->padding = padding; + data->size = size; + data->lookahead_bytes = lookahead_bytes; + data->error_cost = 0; + data->child_count = 0; + data->symbol = result.data.symbol; + data->parse_state = result.data.parse_state; + data->visible = result.data.visible; + data->named = result.data.named; + data->extra = result.data.extra; + data->fragile_left = false; + data->fragile_right = false; + data->has_changes = false; + data->has_external_tokens = false; + data->depends_on_column = false; + data->is_missing = result.data.is_missing; + data->is_keyword = result.data.is_keyword; + result.ptr = data; + } + } else { + result.ptr->padding = padding; + result.ptr->size = size; + } + + ts_subtree_set_has_changes(&result); + *entry.tree = ts_subtree_from_mut(result); + + Length child_left, child_right = length_zero(); + for (uint32_t i = 0, n = ts_subtree_child_count(*entry.tree); i < n; i++) { + Subtree *child = &ts_subtree_children(*entry.tree)[i]; + Length child_size = ts_subtree_total_size(*child); + child_left = child_right; + child_right = length_add(child_left, child_size); + + // If this child ends before the edit, it is not affected. + if (child_right.bytes + ts_subtree_lookahead_bytes(*child) < edit.start.bytes) continue; + + // Keep editing child nodes until a node is reached that starts after the edit. + // Also, if this node's validity depends on its column position, then continue + // invalidating child nodes until reaching a line break. + if (( + (child_left.bytes > edit.old_end.bytes) || + (child_left.bytes == edit.old_end.bytes && child_size.bytes > 0 && i > 0) + ) && ( + !parent_depends_on_column || + child_left.extent.row > padding.extent.row + ) && ( + !ts_subtree_depends_on_column(*child) || + !column_shifted || + child_left.extent.row > edit.old_end.extent.row + )) { + break; + } + + // Transform edit into the child's coordinate space. + Edit child_edit = { + .start = length_saturating_sub(edit.start, child_left), + .old_end = length_saturating_sub(edit.old_end, child_left), + .new_end = length_saturating_sub(edit.new_end, child_left), + }; + + // Interpret all inserted text as applying to the *first* child that touches the edit. + // Subsequent children are only never have any text inserted into them; they are only + // shrunk to compensate for the edit. + if ( + child_right.bytes > edit.start.bytes || + (child_right.bytes == edit.start.bytes && is_pure_insertion) + ) { + edit.new_end = edit.start; + } + + // Children that occur before the edit are not reshaped by the edit. + else { + child_edit.old_end = child_edit.start; + child_edit.new_end = child_edit.start; + } + + // Queue processing of this child's subtree. + array_push(&stack, ((EditEntry) { + .tree = child, + .edit = child_edit, + })); + } + } + + array_delete(&stack); + return self; +} + +Subtree ts_subtree_last_external_token(Subtree tree) { + if (!ts_subtree_has_external_tokens(tree)) return NULL_SUBTREE; + while (tree.ptr->child_count > 0) { + for (uint32_t i = tree.ptr->child_count - 1; i + 1 > 0; i--) { + Subtree child = ts_subtree_children(tree)[i]; + if (ts_subtree_has_external_tokens(child)) { + tree = child; + break; + } + } + } + return tree; +} + +static size_t ts_subtree__write_char_to_string(char *str, size_t n, int32_t chr) { + if (chr == -1) + return snprintf(str, n, "INVALID"); + else if (chr == '\0') + return snprintf(str, n, "'\\0'"); + else if (chr == '\n') + return snprintf(str, n, "'\\n'"); + else if (chr == '\t') + return snprintf(str, n, "'\\t'"); + else if (chr == '\r') + return snprintf(str, n, "'\\r'"); + else if (0 < chr && chr < 128 && isprint(chr)) + return snprintf(str, n, "'%c'", chr); + else + return snprintf(str, n, "%d", chr); +} + +static const char *const ROOT_FIELD = "__ROOT__"; + +static size_t ts_subtree__write_to_string( + Subtree self, char *string, size_t limit, + const TSLanguage *language, bool include_all, + TSSymbol alias_symbol, bool alias_is_named, const char *field_name +) { + if (!self.ptr) return snprintf(string, limit, "(NULL)"); + + char *cursor = string; + char **writer = (limit > 1) ? &cursor : &string; + bool is_root = field_name == ROOT_FIELD; + bool is_visible = + include_all || + ts_subtree_missing(self) || + ( + alias_symbol + ? alias_is_named + : ts_subtree_visible(self) && ts_subtree_named(self) + ); + + if (is_visible) { + if (!is_root) { + cursor += snprintf(*writer, limit, " "); + if (field_name) { + cursor += snprintf(*writer, limit, "%s: ", field_name); + } + } + + if (ts_subtree_is_error(self) && ts_subtree_child_count(self) == 0 && self.ptr->size.bytes > 0) { + cursor += snprintf(*writer, limit, "(UNEXPECTED "); + cursor += ts_subtree__write_char_to_string(*writer, limit, self.ptr->lookahead_char); + } else { + TSSymbol symbol = alias_symbol ? alias_symbol : ts_subtree_symbol(self); + const char *symbol_name = ts_language_symbol_name(language, symbol); + if (ts_subtree_missing(self)) { + cursor += snprintf(*writer, limit, "(MISSING "); + if (alias_is_named || ts_subtree_named(self)) { + cursor += snprintf(*writer, limit, "%s", symbol_name); + } else { + cursor += snprintf(*writer, limit, "\"%s\"", symbol_name); + } + } else { + cursor += snprintf(*writer, limit, "(%s", symbol_name); + } + } + } else if (is_root) { + TSSymbol symbol = alias_symbol ? alias_symbol : ts_subtree_symbol(self); + const char *symbol_name = ts_language_symbol_name(language, symbol); + if (ts_subtree_child_count(self) > 0) { + cursor += snprintf(*writer, limit, "(%s", symbol_name); + } else if (ts_subtree_named(self)) { + cursor += snprintf(*writer, limit, "(%s)", symbol_name); + } else { + cursor += snprintf(*writer, limit, "(\"%s\")", symbol_name); + } + } + + if (ts_subtree_child_count(self)) { + const TSSymbol *alias_sequence = ts_language_alias_sequence(language, self.ptr->production_id); + const TSFieldMapEntry *field_map, *field_map_end; + ts_language_field_map( + language, + self.ptr->production_id, + &field_map, + &field_map_end + ); + + uint32_t structural_child_index = 0; + for (uint32_t i = 0; i < self.ptr->child_count; i++) { + Subtree child = ts_subtree_children(self)[i]; + if (ts_subtree_extra(child)) { + cursor += ts_subtree__write_to_string( + child, *writer, limit, + language, include_all, + 0, false, NULL + ); + } else { + TSSymbol subtree_alias_symbol = alias_sequence + ? alias_sequence[structural_child_index] + : 0; + bool subtree_alias_is_named = subtree_alias_symbol + ? ts_language_symbol_metadata(language, subtree_alias_symbol).named + : false; + + const char *child_field_name = is_visible ? NULL : field_name; + for (const TSFieldMapEntry *map = field_map; map < field_map_end; map++) { + if (!map->inherited && map->child_index == structural_child_index) { + child_field_name = language->field_names[map->field_id]; + break; + } + } + + cursor += ts_subtree__write_to_string( + child, *writer, limit, + language, include_all, + subtree_alias_symbol, subtree_alias_is_named, child_field_name + ); + structural_child_index++; + } + } + } + + if (is_visible) cursor += snprintf(*writer, limit, ")"); + + return cursor - string; +} + +char *ts_subtree_string( + Subtree self, + TSSymbol alias_symbol, + bool alias_is_named, + const TSLanguage *language, + bool include_all +) { + char scratch_string[1]; + size_t size = ts_subtree__write_to_string( + self, scratch_string, 1, + language, include_all, + alias_symbol, alias_is_named, ROOT_FIELD + ) + 1; + char *result = ts_malloc(size * sizeof(char)); + ts_subtree__write_to_string( + self, result, size, + language, include_all, + alias_symbol, alias_is_named, ROOT_FIELD + ); + return result; +} + +void ts_subtree__print_dot_graph(const Subtree *self, uint32_t start_offset, + const TSLanguage *language, TSSymbol alias_symbol, + FILE *f) { + TSSymbol subtree_symbol = ts_subtree_symbol(*self); + TSSymbol symbol = alias_symbol ? alias_symbol : subtree_symbol; + uint32_t end_offset = start_offset + ts_subtree_total_bytes(*self); + fprintf(f, "tree_%p [label=\"", (void *)self); + ts_language_write_symbol_as_dot_string(language, f, symbol); + fprintf(f, "\""); + + if (ts_subtree_child_count(*self) == 0) fprintf(f, ", shape=plaintext"); + if (ts_subtree_extra(*self)) fprintf(f, ", fontcolor=gray"); + if (ts_subtree_has_changes(*self)) fprintf(f, ", color=green, penwidth=2"); + + fprintf(f, ", tooltip=\"" + "range: %u - %u\n" + "state: %d\n" + "error-cost: %u\n" + "has-changes: %u\n" + "depends-on-column: %u\n" + "descendant-count: %u\n" + "repeat-depth: %u\n" + "lookahead-bytes: %u", + start_offset, end_offset, + ts_subtree_parse_state(*self), + ts_subtree_error_cost(*self), + ts_subtree_has_changes(*self), + ts_subtree_depends_on_column(*self), + ts_subtree_visible_descendant_count(*self), + ts_subtree_repeat_depth(*self), + ts_subtree_lookahead_bytes(*self) + ); + + if (ts_subtree_is_error(*self) && ts_subtree_child_count(*self) == 0 && self->ptr->lookahead_char != 0) { + fprintf(f, "\ncharacter: '%c'", self->ptr->lookahead_char); + } + + fprintf(f, "\"]\n"); + + uint32_t child_start_offset = start_offset; + uint32_t child_info_offset = + language->max_alias_sequence_length * + ts_subtree_production_id(*self); + for (uint32_t i = 0, n = ts_subtree_child_count(*self); i < n; i++) { + const Subtree *child = &ts_subtree_children(*self)[i]; + TSSymbol subtree_alias_symbol = 0; + if (!ts_subtree_extra(*child) && child_info_offset) { + subtree_alias_symbol = language->alias_sequences[child_info_offset]; + child_info_offset++; + } + ts_subtree__print_dot_graph(child, child_start_offset, language, subtree_alias_symbol, f); + fprintf(f, "tree_%p -> tree_%p [tooltip=%u]\n", (void *)self, (void *)child, i); + child_start_offset += ts_subtree_total_bytes(*child); + } +} + +void ts_subtree_print_dot_graph(Subtree self, const TSLanguage *language, FILE *f) { + fprintf(f, "digraph tree {\n"); + fprintf(f, "edge [arrowhead=none]\n"); + ts_subtree__print_dot_graph(&self, 0, language, 0, f); + fprintf(f, "}\n"); +} + +const ExternalScannerState *ts_subtree_external_scanner_state(Subtree self) { + static const ExternalScannerState empty_state = {{.short_data = {0}}, .length = 0}; + if ( + self.ptr && + !self.data.is_inline && + self.ptr->has_external_tokens && + self.ptr->child_count == 0 + ) { + return &self.ptr->external_scanner_state; + } else { + return &empty_state; + } +} + +bool ts_subtree_external_scanner_state_eq(Subtree self, Subtree other) { + const ExternalScannerState *state_self = ts_subtree_external_scanner_state(self); + const ExternalScannerState *state_other = ts_subtree_external_scanner_state(other); + return ts_external_scanner_state_eq( + state_self, + ts_external_scanner_state_data(state_other), + state_other->length + ); +} diff --git a/non-source/foreign/tree-sitter/lib/src/subtree.h b/non-source/foreign/tree-sitter/lib/src/subtree.h new file mode 100644 index 00000000..ffc5fb7a --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/subtree.h @@ -0,0 +1,399 @@ +#ifndef TREE_SITTER_SUBTREE_H_ +#define TREE_SITTER_SUBTREE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include "./length.h" +#include "./array.h" +#include "./error_costs.h" +#include "./host.h" +#include "tree_sitter/api.h" +#include "./parser.h" + +#define TS_TREE_STATE_NONE USHRT_MAX +#define NULL_SUBTREE ((Subtree) {.ptr = NULL}) + +// The serialized state of an external scanner. +// +// Every time an external token subtree is created after a call to an +// external scanner, the scanner's `serialize` function is called to +// retrieve a serialized copy of its state. The bytes are then copied +// onto the subtree itself so that the scanner's state can later be +// restored using its `deserialize` function. +// +// Small byte arrays are stored inline, and long ones are allocated +// separately on the heap. +typedef struct { + union { + char *long_data; + char short_data[24]; + }; + uint32_t length; +} ExternalScannerState; + +// A compact representation of a subtree. +// +// This representation is used for small leaf nodes that are not +// errors, and were not created by an external scanner. +// +// The idea behind the layout of this struct is that the `is_inline` +// bit will fall exactly into the same location as the least significant +// bit of the pointer in `Subtree` or `MutableSubtree`, respectively. +// Because of alignment, for any valid pointer this will be 0, giving +// us the opportunity to make use of this bit to signify whether to use +// the pointer or the inline struct. +typedef struct SubtreeInlineData SubtreeInlineData; + +#define SUBTREE_BITS \ + bool visible : 1; \ + bool named : 1; \ + bool extra : 1; \ + bool has_changes : 1; \ + bool is_missing : 1; \ + bool is_keyword : 1; + +#define SUBTREE_SIZE \ + uint8_t padding_columns; \ + uint8_t padding_rows : 4; \ + uint8_t lookahead_bytes : 4; \ + uint8_t padding_bytes; \ + uint8_t size_bytes; + +#if TS_BIG_ENDIAN +#if TS_PTR_SIZE == 32 + +struct SubtreeInlineData { + uint16_t parse_state; + uint8_t symbol; + SUBTREE_BITS + bool unused : 1; + bool is_inline : 1; + SUBTREE_SIZE +}; + +#else + +struct SubtreeInlineData { + SUBTREE_SIZE + uint16_t parse_state; + uint8_t symbol; + SUBTREE_BITS + bool unused : 1; + bool is_inline : 1; +}; + +#endif +#else + +struct SubtreeInlineData { + bool is_inline : 1; + SUBTREE_BITS + uint8_t symbol; + uint16_t parse_state; + SUBTREE_SIZE +}; + +#endif + +#undef SUBTREE_BITS +#undef SUBTREE_SIZE + +// A heap-allocated representation of a subtree. +// +// This representation is used for parent nodes, external tokens, +// errors, and other leaf nodes whose data is too large to fit into +// the inline representation. +typedef struct { + volatile uint32_t ref_count; + Length padding; + Length size; + uint32_t lookahead_bytes; + uint32_t error_cost; + uint32_t child_count; + TSSymbol symbol; + TSStateId parse_state; + + bool visible : 1; + bool named : 1; + bool extra : 1; + bool fragile_left : 1; + bool fragile_right : 1; + bool has_changes : 1; + bool has_external_tokens : 1; + bool has_external_scanner_state_change : 1; + bool depends_on_column: 1; + bool is_missing : 1; + bool is_keyword : 1; + + union { + // Non-terminal subtrees (`child_count > 0`) + struct { + uint32_t visible_child_count; + uint32_t named_child_count; + uint32_t visible_descendant_count; + int32_t dynamic_precedence; + uint16_t repeat_depth; + uint16_t production_id; + struct { + TSSymbol symbol; + TSStateId parse_state; + } first_leaf; + }; + + // External terminal subtrees (`child_count == 0 && has_external_tokens`) + ExternalScannerState external_scanner_state; + + // Error terminal subtrees (`child_count == 0 && symbol == ts_builtin_sym_error`) + int32_t lookahead_char; + }; +} SubtreeHeapData; + +// The fundamental building block of a syntax tree. +typedef union { + SubtreeInlineData data; + const SubtreeHeapData *ptr; +} Subtree; + +// Like Subtree, but mutable. +typedef union { + SubtreeInlineData data; + SubtreeHeapData *ptr; +} MutableSubtree; + +typedef Array(Subtree) SubtreeArray; +typedef Array(MutableSubtree) MutableSubtreeArray; + +typedef struct { + MutableSubtreeArray free_trees; + MutableSubtreeArray tree_stack; +} SubtreePool; + +void ts_external_scanner_state_init(ExternalScannerState *self, const char *data, unsigned length); +const char *ts_external_scanner_state_data(const ExternalScannerState *self); +bool ts_external_scanner_state_eq(const ExternalScannerState *self, const char *buffer, unsigned length); +void ts_external_scanner_state_delete(ExternalScannerState *self); + +void ts_subtree_array_copy(SubtreeArray self, SubtreeArray *dest); +void ts_subtree_array_clear(SubtreePool *pool, SubtreeArray *self); +void ts_subtree_array_delete(SubtreePool *pool, SubtreeArray *self); +void ts_subtree_array_remove_trailing_extras(SubtreeArray *self, SubtreeArray *destination); +void ts_subtree_array_reverse(SubtreeArray *self); + +SubtreePool ts_subtree_pool_new(uint32_t capacity); +void ts_subtree_pool_delete(SubtreePool *self); + +Subtree ts_subtree_new_leaf( + SubtreePool *pool, TSSymbol symbol, Length padding, Length size, + uint32_t lookahead_bytes, TSStateId parse_state, + bool has_external_tokens, bool depends_on_column, + bool is_keyword, const TSLanguage *language +); +Subtree ts_subtree_new_error( + SubtreePool *pool, int32_t lookahead_char, Length padding, Length size, + uint32_t bytes_scanned, TSStateId parse_state, const TSLanguage *language +); +MutableSubtree ts_subtree_new_node( + TSSymbol symbol, + SubtreeArray *chiildren, + unsigned production_id, + const TSLanguage *language +); +Subtree ts_subtree_new_error_node( + SubtreeArray *children, + bool extra, + const TSLanguage * language +); +Subtree ts_subtree_new_missing_leaf( + SubtreePool *pool, + TSSymbol symbol, + Length padding, + uint32_t lookahead_bytes, + const TSLanguage *language +); +MutableSubtree ts_subtree_make_mut(SubtreePool *pool, Subtree self); +void ts_subtree_retain(Subtree self); +void ts_subtree_release(SubtreePool *pool, Subtree self); +int ts_subtree_compare(Subtree left, Subtree right, SubtreePool *pool); +void ts_subtree_set_symbol(MutableSubtree *self, TSSymbol symbol, const TSLanguage *language); +void ts_subtree_compress(MutableSubtree self, unsigned count, const TSLanguage *language, MutableSubtreeArray *stack); +void ts_subtree_summarize_children(MutableSubtree self, const TSLanguage *language); +Subtree ts_subtree_edit(Subtree self, const TSInputEdit *edit, SubtreePool *pool); +char *ts_subtree_string(Subtree self, TSSymbol alias_symbol, bool alias_is_named, const TSLanguage *language, bool include_all); +void ts_subtree_print_dot_graph(Subtree self, const TSLanguage *language, FILE *f); +Subtree ts_subtree_last_external_token(Subtree tree); +const ExternalScannerState *ts_subtree_external_scanner_state(Subtree self); +bool ts_subtree_external_scanner_state_eq(Subtree self, Subtree other); + +#define SUBTREE_GET(self, name) ((self).data.is_inline ? (self).data.name : (self).ptr->name) + +static inline TSSymbol ts_subtree_symbol(Subtree self) { return SUBTREE_GET(self, symbol); } +static inline bool ts_subtree_visible(Subtree self) { return SUBTREE_GET(self, visible); } +static inline bool ts_subtree_named(Subtree self) { return SUBTREE_GET(self, named); } +static inline bool ts_subtree_extra(Subtree self) { return SUBTREE_GET(self, extra); } +static inline bool ts_subtree_has_changes(Subtree self) { return SUBTREE_GET(self, has_changes); } +static inline bool ts_subtree_missing(Subtree self) { return SUBTREE_GET(self, is_missing); } +static inline bool ts_subtree_is_keyword(Subtree self) { return SUBTREE_GET(self, is_keyword); } +static inline TSStateId ts_subtree_parse_state(Subtree self) { return SUBTREE_GET(self, parse_state); } +static inline uint32_t ts_subtree_lookahead_bytes(Subtree self) { return SUBTREE_GET(self, lookahead_bytes); } + +#undef SUBTREE_GET + +// Get the size needed to store a heap-allocated subtree with the given +// number of children. +static inline size_t ts_subtree_alloc_size(uint32_t child_count) { + return child_count * sizeof(Subtree) + sizeof(SubtreeHeapData); +} + +// Get a subtree's children, which are allocated immediately before the +// tree's own heap data. +#define ts_subtree_children(self) \ + ((self).data.is_inline ? NULL : (Subtree *)((self).ptr) - (self).ptr->child_count) + +static inline void ts_subtree_set_extra(MutableSubtree *self, bool is_extra) { + if (self->data.is_inline) { + self->data.extra = is_extra; + } else { + self->ptr->extra = is_extra; + } +} + +static inline TSSymbol ts_subtree_leaf_symbol(Subtree self) { + if (self.data.is_inline) return self.data.symbol; + if (self.ptr->child_count == 0) return self.ptr->symbol; + return self.ptr->first_leaf.symbol; +} + +static inline TSStateId ts_subtree_leaf_parse_state(Subtree self) { + if (self.data.is_inline) return self.data.parse_state; + if (self.ptr->child_count == 0) return self.ptr->parse_state; + return self.ptr->first_leaf.parse_state; +} + +static inline Length ts_subtree_padding(Subtree self) { + if (self.data.is_inline) { + Length result = {self.data.padding_bytes, {self.data.padding_rows, self.data.padding_columns}}; + return result; + } else { + return self.ptr->padding; + } +} + +static inline Length ts_subtree_size(Subtree self) { + if (self.data.is_inline) { + Length result = {self.data.size_bytes, {0, self.data.size_bytes}}; + return result; + } else { + return self.ptr->size; + } +} + +static inline Length ts_subtree_total_size(Subtree self) { + return length_add(ts_subtree_padding(self), ts_subtree_size(self)); +} + +static inline uint32_t ts_subtree_total_bytes(Subtree self) { + return ts_subtree_total_size(self).bytes; +} + +static inline uint32_t ts_subtree_child_count(Subtree self) { + return self.data.is_inline ? 0 : self.ptr->child_count; +} + +static inline uint32_t ts_subtree_repeat_depth(Subtree self) { + return self.data.is_inline ? 0 : self.ptr->repeat_depth; +} + +static inline uint32_t ts_subtree_is_repetition(Subtree self) { + return self.data.is_inline + ? 0 + : !self.ptr->named && !self.ptr->visible && self.ptr->child_count != 0; +} + +static inline uint32_t ts_subtree_visible_descendant_count(Subtree self) { + return (self.data.is_inline || self.ptr->child_count == 0) + ? 0 + : self.ptr->visible_descendant_count; +} + +static inline uint32_t ts_subtree_visible_child_count(Subtree self) { + if (ts_subtree_child_count(self) > 0) { + return self.ptr->visible_child_count; + } else { + return 0; + } +} + +static inline uint32_t ts_subtree_error_cost(Subtree self) { + if (ts_subtree_missing(self)) { + return ERROR_COST_PER_MISSING_TREE + ERROR_COST_PER_RECOVERY; + } else { + return self.data.is_inline ? 0 : self.ptr->error_cost; + } +} + +static inline int32_t ts_subtree_dynamic_precedence(Subtree self) { + return (self.data.is_inline || self.ptr->child_count == 0) ? 0 : self.ptr->dynamic_precedence; +} + +static inline uint16_t ts_subtree_production_id(Subtree self) { + if (ts_subtree_child_count(self) > 0) { + return self.ptr->production_id; + } else { + return 0; + } +} + +static inline bool ts_subtree_fragile_left(Subtree self) { + return self.data.is_inline ? false : self.ptr->fragile_left; +} + +static inline bool ts_subtree_fragile_right(Subtree self) { + return self.data.is_inline ? false : self.ptr->fragile_right; +} + +static inline bool ts_subtree_has_external_tokens(Subtree self) { + return self.data.is_inline ? false : self.ptr->has_external_tokens; +} + +static inline bool ts_subtree_has_external_scanner_state_change(Subtree self) { + return self.data.is_inline ? false : self.ptr->has_external_scanner_state_change; +} + +static inline bool ts_subtree_depends_on_column(Subtree self) { + return self.data.is_inline ? false : self.ptr->depends_on_column; +} + +static inline bool ts_subtree_is_fragile(Subtree self) { + return self.data.is_inline ? false : (self.ptr->fragile_left || self.ptr->fragile_right); +} + +static inline bool ts_subtree_is_error(Subtree self) { + return ts_subtree_symbol(self) == ts_builtin_sym_error; +} + +static inline bool ts_subtree_is_eof(Subtree self) { + return ts_subtree_symbol(self) == ts_builtin_sym_end; +} + +static inline Subtree ts_subtree_from_mut(MutableSubtree self) { + Subtree result; + result.data = self.data; + return result; +} + +static inline MutableSubtree ts_subtree_to_mut_unsafe(Subtree self) { + MutableSubtree result; + result.data = self.data; + return result; +} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_SUBTREE_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/tree.c b/non-source/foreign/tree-sitter/lib/src/tree.c new file mode 100644 index 00000000..bb451180 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/tree.c @@ -0,0 +1,170 @@ +#include "tree_sitter/api.h" +#include "./array.h" +#include "./get_changed_ranges.h" +#include "./length.h" +#include "./subtree.h" +#include "./tree_cursor.h" +#include "./tree.h" + +TSTree *ts_tree_new( + Subtree root, const TSLanguage *language, + const TSRange *included_ranges, unsigned included_range_count +) { + TSTree *result = ts_malloc(sizeof(TSTree)); + result->root = root; + result->language = ts_language_copy(language); + result->included_ranges = ts_calloc(included_range_count, sizeof(TSRange)); + memcpy(result->included_ranges, included_ranges, included_range_count * sizeof(TSRange)); + result->included_range_count = included_range_count; + return result; +} + +TSTree *ts_tree_copy(const TSTree *self) { + ts_subtree_retain(self->root); + return ts_tree_new(self->root, self->language, self->included_ranges, self->included_range_count); +} + +void ts_tree_delete(TSTree *self) { + if (!self) return; + + SubtreePool pool = ts_subtree_pool_new(0); + ts_subtree_release(&pool, self->root); + ts_subtree_pool_delete(&pool); + ts_language_delete(self->language); + ts_free(self->included_ranges); + ts_free(self); +} + +TSNode ts_tree_root_node(const TSTree *self) { + return ts_node_new(self, &self->root, ts_subtree_padding(self->root), 0); +} + +TSNode ts_tree_root_node_with_offset( + const TSTree *self, + uint32_t offset_bytes, + TSPoint offset_extent +) { + Length offset = {offset_bytes, offset_extent}; + return ts_node_new(self, &self->root, length_add(offset, ts_subtree_padding(self->root)), 0); +} + +const TSLanguage *ts_tree_language(const TSTree *self) { + return self->language; +} + +void ts_tree_edit(TSTree *self, const TSInputEdit *edit) { + for (unsigned i = 0; i < self->included_range_count; i++) { + TSRange *range = &self->included_ranges[i]; + if (range->end_byte >= edit->old_end_byte) { + if (range->end_byte != UINT32_MAX) { + range->end_byte = edit->new_end_byte + (range->end_byte - edit->old_end_byte); + range->end_point = point_add( + edit->new_end_point, + point_sub(range->end_point, edit->old_end_point) + ); + if (range->end_byte < edit->new_end_byte) { + range->end_byte = UINT32_MAX; + range->end_point = POINT_MAX; + } + } + } else if (range->end_byte > edit->start_byte) { + range->end_byte = edit->start_byte; + range->end_point = edit->start_point; + } + if (range->start_byte >= edit->old_end_byte) { + range->start_byte = edit->new_end_byte + (range->start_byte - edit->old_end_byte); + range->start_point = point_add( + edit->new_end_point, + point_sub(range->start_point, edit->old_end_point) + ); + if (range->start_byte < edit->new_end_byte) { + range->start_byte = UINT32_MAX; + range->start_point = POINT_MAX; + } + } else if (range->start_byte > edit->start_byte) { + range->start_byte = edit->start_byte; + range->start_point = edit->start_point; + } + } + + SubtreePool pool = ts_subtree_pool_new(0); + self->root = ts_subtree_edit(self->root, edit, &pool); + ts_subtree_pool_delete(&pool); +} + +TSRange *ts_tree_included_ranges(const TSTree *self, uint32_t *length) { + *length = self->included_range_count; + TSRange *ranges = ts_calloc(self->included_range_count, sizeof(TSRange)); + memcpy(ranges, self->included_ranges, self->included_range_count * sizeof(TSRange)); + return ranges; +} + +TSRange *ts_tree_get_changed_ranges(const TSTree *old_tree, const TSTree *new_tree, uint32_t *length) { + TreeCursor cursor1 = {NULL, array_new(), 0}; + TreeCursor cursor2 = {NULL, array_new(), 0}; + ts_tree_cursor_init(&cursor1, ts_tree_root_node(old_tree)); + ts_tree_cursor_init(&cursor2, ts_tree_root_node(new_tree)); + + TSRangeArray included_range_differences = array_new(); + ts_range_array_get_changed_ranges( + old_tree->included_ranges, old_tree->included_range_count, + new_tree->included_ranges, new_tree->included_range_count, + &included_range_differences + ); + + TSRange *result; + *length = ts_subtree_get_changed_ranges( + &old_tree->root, &new_tree->root, &cursor1, &cursor2, + old_tree->language, &included_range_differences, &result + ); + + array_delete(&included_range_differences); + array_delete(&cursor1.stack); + array_delete(&cursor2.stack); + return result; +} + +#ifdef _WIN32 + +#include +#include + +int _ts_dup(HANDLE handle) { + HANDLE dup_handle; + if (!DuplicateHandle( + GetCurrentProcess(), handle, + GetCurrentProcess(), &dup_handle, + 0, FALSE, DUPLICATE_SAME_ACCESS + )) return -1; + + return _open_osfhandle((intptr_t)dup_handle, 0); +} + +void ts_tree_print_dot_graph(const TSTree *self, int fd) { + FILE *file = _fdopen(_ts_dup((HANDLE)_get_osfhandle(fd)), "a"); + ts_subtree_print_dot_graph(self->root, self->language, file); + fclose(file); +} + +#elif !defined(__wasi__) // WASI doesn't support dup + +#include + +int _ts_dup(int file_descriptor) { + return dup(file_descriptor); +} + +void ts_tree_print_dot_graph(const TSTree *self, int file_descriptor) { + FILE *file = fdopen(_ts_dup(file_descriptor), "a"); + ts_subtree_print_dot_graph(self->root, self->language, file); + fclose(file); +} + +#else + +void ts_tree_print_dot_graph(const TSTree *self, int file_descriptor) { + (void)self; + (void)file_descriptor; +} + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/tree.h b/non-source/foreign/tree-sitter/lib/src/tree.h new file mode 100644 index 00000000..9328f55a --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/tree.h @@ -0,0 +1,31 @@ +#ifndef TREE_SITTER_TREE_H_ +#define TREE_SITTER_TREE_H_ + +#include "./subtree.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + const Subtree *child; + const Subtree *parent; + Length position; + TSSymbol alias_symbol; +} ParentCacheEntry; + +struct TSTree { + Subtree root; + const TSLanguage *language; + TSRange *included_ranges; + unsigned included_range_count; +}; + +TSTree *ts_tree_new(Subtree root, const TSLanguage *language, const TSRange *included_ranges, unsigned included_range_count); +TSNode ts_node_new(const TSTree *tree, const Subtree *subtree, Length position, TSSymbol alias); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_TREE_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/tree_cursor.c b/non-source/foreign/tree-sitter/lib/src/tree_cursor.c new file mode 100644 index 00000000..70ef5e39 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/tree_cursor.c @@ -0,0 +1,716 @@ +#include "tree_sitter/api.h" +#include "./tree_cursor.h" +#include "./language.h" +#include "./tree.h" + +typedef struct { + Subtree parent; + const TSTree *tree; + Length position; + uint32_t child_index; + uint32_t structural_child_index; + uint32_t descendant_index; + const TSSymbol *alias_sequence; +} CursorChildIterator; + +// CursorChildIterator + +static inline bool ts_tree_cursor_is_entry_visible(const TreeCursor *self, uint32_t index) { + TreeCursorEntry *entry = array_get(&self->stack, index); + if (index == 0 || ts_subtree_visible(*entry->subtree)) { + return true; + } else if (!ts_subtree_extra(*entry->subtree)) { + TreeCursorEntry *parent_entry = array_get(&self->stack, index - 1); + return ts_language_alias_at( + self->tree->language, + parent_entry->subtree->ptr->production_id, + entry->structural_child_index + ); + } else { + return false; + } +} + +static inline CursorChildIterator ts_tree_cursor_iterate_children(const TreeCursor *self) { + TreeCursorEntry *last_entry = array_back(&self->stack); + if (ts_subtree_child_count(*last_entry->subtree) == 0) { + return (CursorChildIterator) {NULL_SUBTREE, self->tree, length_zero(), 0, 0, 0, NULL}; + } + const TSSymbol *alias_sequence = ts_language_alias_sequence( + self->tree->language, + last_entry->subtree->ptr->production_id + ); + + uint32_t descendant_index = last_entry->descendant_index; + if (ts_tree_cursor_is_entry_visible(self, self->stack.size - 1)) { + descendant_index += 1; + } + + return (CursorChildIterator) { + .tree = self->tree, + .parent = *last_entry->subtree, + .position = last_entry->position, + .child_index = 0, + .structural_child_index = 0, + .descendant_index = descendant_index, + .alias_sequence = alias_sequence, + }; +} + +static inline bool ts_tree_cursor_child_iterator_next( + CursorChildIterator *self, + TreeCursorEntry *result, + bool *visible +) { + if (!self->parent.ptr || self->child_index == self->parent.ptr->child_count) return false; + const Subtree *child = &ts_subtree_children(self->parent)[self->child_index]; + *result = (TreeCursorEntry) { + .subtree = child, + .position = self->position, + .child_index = self->child_index, + .structural_child_index = self->structural_child_index, + .descendant_index = self->descendant_index, + }; + *visible = ts_subtree_visible(*child); + bool extra = ts_subtree_extra(*child); + if (!extra) { + if (self->alias_sequence) { + *visible |= self->alias_sequence[self->structural_child_index]; + } + self->structural_child_index++; + } + + self->descendant_index += ts_subtree_visible_descendant_count(*child); + if (*visible) { + self->descendant_index += 1; + } + + self->position = length_add(self->position, ts_subtree_size(*child)); + self->child_index++; + + if (self->child_index < self->parent.ptr->child_count) { + Subtree next_child = ts_subtree_children(self->parent)[self->child_index]; + self->position = length_add(self->position, ts_subtree_padding(next_child)); + } + + return true; +} + +// Return a position that, when `b` is added to it, yields `a`. This +// can only be computed if `b` has zero rows. Otherwise, this function +// returns `LENGTH_UNDEFINED`, and the caller needs to recompute +// the position some other way. +static inline Length length_backtrack(Length a, Length b) { + if (length_is_undefined(a) || b.extent.row != 0) { + return LENGTH_UNDEFINED; + } + + Length result; + result.bytes = a.bytes - b.bytes; + result.extent.row = a.extent.row; + result.extent.column = a.extent.column - b.extent.column; + return result; +} + +static inline bool ts_tree_cursor_child_iterator_previous( + CursorChildIterator *self, + TreeCursorEntry *result, + bool *visible +) { + // this is mostly a reverse `ts_tree_cursor_child_iterator_next` taking into + // account unsigned underflow + if (!self->parent.ptr || (int8_t)self->child_index == -1) return false; + const Subtree *child = &ts_subtree_children(self->parent)[self->child_index]; + *result = (TreeCursorEntry) { + .subtree = child, + .position = self->position, + .child_index = self->child_index, + .structural_child_index = self->structural_child_index, + }; + *visible = ts_subtree_visible(*child); + bool extra = ts_subtree_extra(*child); + + self->position = length_backtrack(self->position, ts_subtree_padding(*child)); + self->child_index--; + + if (!extra && self->alias_sequence) { + *visible |= self->alias_sequence[self->structural_child_index]; + if (self->structural_child_index > 0) { + self->structural_child_index--; + } + } + + // unsigned can underflow so compare it to child_count + if (self->child_index < self->parent.ptr->child_count) { + Subtree previous_child = ts_subtree_children(self->parent)[self->child_index]; + Length size = ts_subtree_size(previous_child); + self->position = length_backtrack(self->position, size); + } + + return true; +} + +// TSTreeCursor - lifecycle + +TSTreeCursor ts_tree_cursor_new(TSNode node) { + TSTreeCursor self = {NULL, NULL, {0, 0, 0}}; + ts_tree_cursor_init((TreeCursor *)&self, node); + return self; +} + +void ts_tree_cursor_reset(TSTreeCursor *_self, TSNode node) { + ts_tree_cursor_init((TreeCursor *)_self, node); +} + +void ts_tree_cursor_init(TreeCursor *self, TSNode node) { + self->tree = node.tree; + self->root_alias_symbol = node.context[3]; + array_clear(&self->stack); + array_push(&self->stack, ((TreeCursorEntry) { + .subtree = (const Subtree *)node.id, + .position = { + ts_node_start_byte(node), + ts_node_start_point(node) + }, + .child_index = 0, + .structural_child_index = 0, + .descendant_index = 0, + })); +} + +void ts_tree_cursor_delete(TSTreeCursor *_self) { + TreeCursor *self = (TreeCursor *)_self; + array_delete(&self->stack); +} + +// TSTreeCursor - walking the tree + +TreeCursorStep ts_tree_cursor_goto_first_child_internal(TSTreeCursor *_self) { + TreeCursor *self = (TreeCursor *)_self; + bool visible; + TreeCursorEntry entry; + CursorChildIterator iterator = ts_tree_cursor_iterate_children(self); + while (ts_tree_cursor_child_iterator_next(&iterator, &entry, &visible)) { + if (visible) { + array_push(&self->stack, entry); + return TreeCursorStepVisible; + } + if (ts_subtree_visible_child_count(*entry.subtree) > 0) { + array_push(&self->stack, entry); + return TreeCursorStepHidden; + } + } + return TreeCursorStepNone; +} + +bool ts_tree_cursor_goto_first_child(TSTreeCursor *self) { + for (;;) { + switch (ts_tree_cursor_goto_first_child_internal(self)) { + case TreeCursorStepHidden: + continue; + case TreeCursorStepVisible: + return true; + default: + return false; + } + } +} + +TreeCursorStep ts_tree_cursor_goto_last_child_internal(TSTreeCursor *_self) { + TreeCursor *self = (TreeCursor *)_self; + bool visible; + TreeCursorEntry entry; + CursorChildIterator iterator = ts_tree_cursor_iterate_children(self); + if (!iterator.parent.ptr || iterator.parent.ptr->child_count == 0) return TreeCursorStepNone; + + TreeCursorEntry last_entry = {0}; + TreeCursorStep last_step = TreeCursorStepNone; + while (ts_tree_cursor_child_iterator_next(&iterator, &entry, &visible)) { + if (visible) { + last_entry = entry; + last_step = TreeCursorStepVisible; + } + else if (ts_subtree_visible_child_count(*entry.subtree) > 0) { + last_entry = entry; + last_step = TreeCursorStepHidden; + } + } + if (last_entry.subtree) { + array_push(&self->stack, last_entry); + return last_step; + } + + return TreeCursorStepNone; +} + +bool ts_tree_cursor_goto_last_child(TSTreeCursor *self) { + for (;;) { + switch (ts_tree_cursor_goto_last_child_internal(self)) { + case TreeCursorStepHidden: + continue; + case TreeCursorStepVisible: + return true; + default: + return false; + } + } +} + +static inline int64_t ts_tree_cursor_goto_first_child_for_byte_and_point( + TSTreeCursor *_self, + uint32_t goal_byte, + TSPoint goal_point +) { + TreeCursor *self = (TreeCursor *)_self; + uint32_t initial_size = self->stack.size; + uint32_t visible_child_index = 0; + + bool did_descend; + do { + did_descend = false; + + bool visible; + TreeCursorEntry entry; + CursorChildIterator iterator = ts_tree_cursor_iterate_children(self); + while (ts_tree_cursor_child_iterator_next(&iterator, &entry, &visible)) { + Length entry_end = length_add(entry.position, ts_subtree_size(*entry.subtree)); + bool at_goal = entry_end.bytes > goal_byte && point_gt(entry_end.extent, goal_point); + uint32_t visible_child_count = ts_subtree_visible_child_count(*entry.subtree); + if (at_goal) { + if (visible) { + array_push(&self->stack, entry); + return visible_child_index; + } + if (visible_child_count > 0) { + array_push(&self->stack, entry); + did_descend = true; + break; + } + } else if (visible) { + visible_child_index++; + } else { + visible_child_index += visible_child_count; + } + } + } while (did_descend); + + self->stack.size = initial_size; + return -1; +} + +int64_t ts_tree_cursor_goto_first_child_for_byte(TSTreeCursor *self, uint32_t goal_byte) { + return ts_tree_cursor_goto_first_child_for_byte_and_point(self, goal_byte, POINT_ZERO); +} + +int64_t ts_tree_cursor_goto_first_child_for_point(TSTreeCursor *self, TSPoint goal_point) { + return ts_tree_cursor_goto_first_child_for_byte_and_point(self, 0, goal_point); +} + +TreeCursorStep ts_tree_cursor_goto_sibling_internal( + TSTreeCursor *_self, + bool (*advance)(CursorChildIterator *, TreeCursorEntry *, bool *) +) { + TreeCursor *self = (TreeCursor *)_self; + uint32_t initial_size = self->stack.size; + + while (self->stack.size > 1) { + TreeCursorEntry entry = array_pop(&self->stack); + CursorChildIterator iterator = ts_tree_cursor_iterate_children(self); + iterator.child_index = entry.child_index; + iterator.structural_child_index = entry.structural_child_index; + iterator.position = entry.position; + iterator.descendant_index = entry.descendant_index; + + bool visible = false; + advance(&iterator, &entry, &visible); + if (visible && self->stack.size + 1 < initial_size) break; + + while (advance(&iterator, &entry, &visible)) { + if (visible) { + array_push(&self->stack, entry); + return TreeCursorStepVisible; + } + + if (ts_subtree_visible_child_count(*entry.subtree)) { + array_push(&self->stack, entry); + return TreeCursorStepHidden; + } + } + } + + self->stack.size = initial_size; + return TreeCursorStepNone; +} + +TreeCursorStep ts_tree_cursor_goto_next_sibling_internal(TSTreeCursor *_self) { + return ts_tree_cursor_goto_sibling_internal(_self, ts_tree_cursor_child_iterator_next); +} + +bool ts_tree_cursor_goto_next_sibling(TSTreeCursor *self) { + switch (ts_tree_cursor_goto_next_sibling_internal(self)) { + case TreeCursorStepHidden: + ts_tree_cursor_goto_first_child(self); + return true; + case TreeCursorStepVisible: + return true; + default: + return false; + } +} + +TreeCursorStep ts_tree_cursor_goto_previous_sibling_internal(TSTreeCursor *_self) { + // since subtracting across row loses column information, we may have to + // restore it + TreeCursor *self = (TreeCursor *)_self; + + // for that, save current position before traversing + TreeCursorStep step = ts_tree_cursor_goto_sibling_internal( + _self, ts_tree_cursor_child_iterator_previous); + if (step == TreeCursorStepNone) + return step; + + // if length is already valid, there's no need to recompute it + if (!length_is_undefined(array_back(&self->stack)->position)) + return step; + + // restore position from the parent node + const TreeCursorEntry *parent = array_get(&self->stack, self->stack.size - 2); + Length position = parent->position; + uint32_t child_index = array_back(&self->stack)->child_index; + const Subtree *children = ts_subtree_children((*(parent->subtree))); + + if (child_index > 0) { + // skip first child padding since its position should match the position of the parent + position = length_add(position, ts_subtree_size(children[0])); + for (uint32_t i = 1; i < child_index; ++i) { + position = length_add(position, ts_subtree_total_size(children[i])); + } + position = length_add(position, ts_subtree_padding(children[child_index])); + } + + array_back(&self->stack)->position = position; + + return step; +} + +bool ts_tree_cursor_goto_previous_sibling(TSTreeCursor *self) { + switch (ts_tree_cursor_goto_previous_sibling_internal(self)) { + case TreeCursorStepHidden: + ts_tree_cursor_goto_last_child(self); + return true; + case TreeCursorStepVisible: + return true; + default: + return false; + } +} + +bool ts_tree_cursor_goto_parent(TSTreeCursor *_self) { + TreeCursor *self = (TreeCursor *)_self; + for (unsigned i = self->stack.size - 2; i + 1 > 0; i--) { + if (ts_tree_cursor_is_entry_visible(self, i)) { + self->stack.size = i + 1; + return true; + } + } + return false; +} + +void ts_tree_cursor_goto_descendant( + TSTreeCursor *_self, + uint32_t goal_descendant_index +) { + TreeCursor *self = (TreeCursor *)_self; + + // Ascend to the lowest ancestor that contains the goal node. + for (;;) { + uint32_t i = self->stack.size - 1; + TreeCursorEntry *entry = array_get(&self->stack, i); + uint32_t next_descendant_index = + entry->descendant_index + + (ts_tree_cursor_is_entry_visible(self, i) ? 1 : 0) + + ts_subtree_visible_descendant_count(*entry->subtree); + if ( + (entry->descendant_index <= goal_descendant_index) && + (next_descendant_index > goal_descendant_index) + ) { + break; + } else if (self->stack.size <= 1) { + return; + } else { + self->stack.size--; + } + } + + // Descend to the goal node. + bool did_descend = true; + do { + did_descend = false; + bool visible; + TreeCursorEntry entry; + CursorChildIterator iterator = ts_tree_cursor_iterate_children(self); + if (iterator.descendant_index > goal_descendant_index) { + return; + } + + while (ts_tree_cursor_child_iterator_next(&iterator, &entry, &visible)) { + if (iterator.descendant_index > goal_descendant_index) { + array_push(&self->stack, entry); + if (visible && entry.descendant_index == goal_descendant_index) { + return; + } else { + did_descend = true; + break; + } + } + } + } while (did_descend); +} + +uint32_t ts_tree_cursor_current_descendant_index(const TSTreeCursor *_self) { + const TreeCursor *self = (const TreeCursor *)_self; + TreeCursorEntry *last_entry = array_back(&self->stack); + return last_entry->descendant_index; +} + +TSNode ts_tree_cursor_current_node(const TSTreeCursor *_self) { + const TreeCursor *self = (const TreeCursor *)_self; + TreeCursorEntry *last_entry = array_back(&self->stack); + bool is_extra = ts_subtree_extra(*last_entry->subtree); + TSSymbol alias_symbol = is_extra ? 0 : self->root_alias_symbol; + if (self->stack.size > 1 && !is_extra) { + TreeCursorEntry *parent_entry = array_get(&self->stack, self->stack.size - 2); + alias_symbol = ts_language_alias_at( + self->tree->language, + parent_entry->subtree->ptr->production_id, + last_entry->structural_child_index + ); + } + return ts_node_new( + self->tree, + last_entry->subtree, + last_entry->position, + alias_symbol + ); +} + +// Private - Get various facts about the current node that are needed +// when executing tree queries. +void ts_tree_cursor_current_status( + const TSTreeCursor *_self, + TSFieldId *field_id, + bool *has_later_siblings, + bool *has_later_named_siblings, + bool *can_have_later_siblings_with_this_field, + TSSymbol *supertypes, + unsigned *supertype_count +) { + const TreeCursor *self = (const TreeCursor *)_self; + unsigned max_supertypes = *supertype_count; + *field_id = 0; + *supertype_count = 0; + *has_later_siblings = false; + *has_later_named_siblings = false; + *can_have_later_siblings_with_this_field = false; + + // Walk up the tree, visiting the current node and its invisible ancestors, + // because fields can refer to nodes through invisible *wrapper* nodes, + for (unsigned i = self->stack.size - 1; i > 0; i--) { + TreeCursorEntry *entry = array_get(&self->stack, i); + TreeCursorEntry *parent_entry = array_get(&self->stack, i - 1); + + const TSSymbol *alias_sequence = ts_language_alias_sequence( + self->tree->language, + parent_entry->subtree->ptr->production_id + ); + + #define subtree_symbol(subtree, structural_child_index) \ + (( \ + !ts_subtree_extra(subtree) && \ + alias_sequence && \ + alias_sequence[structural_child_index] \ + ) ? \ + alias_sequence[structural_child_index] : \ + ts_subtree_symbol(subtree)) + + // Stop walking up when a visible ancestor is found. + TSSymbol entry_symbol = subtree_symbol( + *entry->subtree, + entry->structural_child_index + ); + TSSymbolMetadata entry_metadata = ts_language_symbol_metadata( + self->tree->language, + entry_symbol + ); + if (i != self->stack.size - 1 && entry_metadata.visible) break; + + // Record any supertypes + if (entry_metadata.supertype && *supertype_count < max_supertypes) { + supertypes[*supertype_count] = entry_symbol; + (*supertype_count)++; + } + + // Determine if the current node has later siblings. + if (!*has_later_siblings) { + unsigned sibling_count = parent_entry->subtree->ptr->child_count; + unsigned structural_child_index = entry->structural_child_index; + if (!ts_subtree_extra(*entry->subtree)) structural_child_index++; + for (unsigned j = entry->child_index + 1; j < sibling_count; j++) { + Subtree sibling = ts_subtree_children(*parent_entry->subtree)[j]; + TSSymbolMetadata sibling_metadata = ts_language_symbol_metadata( + self->tree->language, + subtree_symbol(sibling, structural_child_index) + ); + if (sibling_metadata.visible) { + *has_later_siblings = true; + if (*has_later_named_siblings) break; + if (sibling_metadata.named) { + *has_later_named_siblings = true; + break; + } + } else if (ts_subtree_visible_child_count(sibling) > 0) { + *has_later_siblings = true; + if (*has_later_named_siblings) break; + if (sibling.ptr->named_child_count > 0) { + *has_later_named_siblings = true; + break; + } + } + if (!ts_subtree_extra(sibling)) structural_child_index++; + } + } + + #undef subtree_symbol + + if (!ts_subtree_extra(*entry->subtree)) { + const TSFieldMapEntry *field_map, *field_map_end; + ts_language_field_map( + self->tree->language, + parent_entry->subtree->ptr->production_id, + &field_map, &field_map_end + ); + + // Look for a field name associated with the current node. + if (!*field_id) { + for (const TSFieldMapEntry *map = field_map; map < field_map_end; map++) { + if (!map->inherited && map->child_index == entry->structural_child_index) { + *field_id = map->field_id; + break; + } + } + } + + // Determine if the current node can have later siblings with the same field name. + if (*field_id) { + for (const TSFieldMapEntry *map = field_map; map < field_map_end; map++) { + if ( + map->field_id == *field_id && + map->child_index > entry->structural_child_index + ) { + *can_have_later_siblings_with_this_field = true; + break; + } + } + } + } + } +} + +uint32_t ts_tree_cursor_current_depth(const TSTreeCursor *_self) { + const TreeCursor *self = (const TreeCursor *)_self; + uint32_t depth = 0; + for (unsigned i = 1; i < self->stack.size; i++) { + if (ts_tree_cursor_is_entry_visible(self, i)) { + depth++; + } + } + return depth; +} + +TSNode ts_tree_cursor_parent_node(const TSTreeCursor *_self) { + const TreeCursor *self = (const TreeCursor *)_self; + for (int i = (int)self->stack.size - 2; i >= 0; i--) { + TreeCursorEntry *entry = array_get(&self->stack, i); + bool is_visible = true; + TSSymbol alias_symbol = 0; + if (i > 0) { + TreeCursorEntry *parent_entry = array_get(&self->stack, i - 1); + alias_symbol = ts_language_alias_at( + self->tree->language, + parent_entry->subtree->ptr->production_id, + entry->structural_child_index + ); + is_visible = (alias_symbol != 0) || ts_subtree_visible(*entry->subtree); + } + if (is_visible) { + return ts_node_new( + self->tree, + entry->subtree, + entry->position, + alias_symbol + ); + } + } + return ts_node_new(NULL, NULL, length_zero(), 0); +} + +TSFieldId ts_tree_cursor_current_field_id(const TSTreeCursor *_self) { + const TreeCursor *self = (const TreeCursor *)_self; + + // Walk up the tree, visiting the current node and its invisible ancestors. + for (unsigned i = self->stack.size - 1; i > 0; i--) { + TreeCursorEntry *entry = array_get(&self->stack, i); + TreeCursorEntry *parent_entry = array_get(&self->stack, i - 1); + + // Stop walking up when another visible node is found. + if ( + i != self->stack.size - 1 && + ts_tree_cursor_is_entry_visible(self, i) + ) break; + + if (ts_subtree_extra(*entry->subtree)) break; + + const TSFieldMapEntry *field_map, *field_map_end; + ts_language_field_map( + self->tree->language, + parent_entry->subtree->ptr->production_id, + &field_map, &field_map_end + ); + for (const TSFieldMapEntry *map = field_map; map < field_map_end; map++) { + if (!map->inherited && map->child_index == entry->structural_child_index) { + return map->field_id; + } + } + } + return 0; +} + +const char *ts_tree_cursor_current_field_name(const TSTreeCursor *_self) { + TSFieldId id = ts_tree_cursor_current_field_id(_self); + if (id) { + const TreeCursor *self = (const TreeCursor *)_self; + return self->tree->language->field_names[id]; + } else { + return NULL; + } +} + +TSTreeCursor ts_tree_cursor_copy(const TSTreeCursor *_cursor) { + const TreeCursor *cursor = (const TreeCursor *)_cursor; + TSTreeCursor res = {NULL, NULL, {0, 0}}; + TreeCursor *copy = (TreeCursor *)&res; + copy->tree = cursor->tree; + copy->root_alias_symbol = cursor->root_alias_symbol; + array_init(©->stack); + array_push_all(©->stack, &cursor->stack); + return res; +} + +void ts_tree_cursor_reset_to(TSTreeCursor *_dst, const TSTreeCursor *_src) { + const TreeCursor *cursor = (const TreeCursor *)_src; + TreeCursor *copy = (TreeCursor *)_dst; + copy->tree = cursor->tree; + copy->root_alias_symbol = cursor->root_alias_symbol; + array_clear(©->stack); + array_push_all(©->stack, &cursor->stack); +} diff --git a/non-source/foreign/tree-sitter/lib/src/tree_cursor.h b/non-source/foreign/tree-sitter/lib/src/tree_cursor.h new file mode 100644 index 00000000..7d4e7ef0 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/tree_cursor.h @@ -0,0 +1,48 @@ +#ifndef TREE_SITTER_TREE_CURSOR_H_ +#define TREE_SITTER_TREE_CURSOR_H_ + +#include "./subtree.h" + +typedef struct { + const Subtree *subtree; + Length position; + uint32_t child_index; + uint32_t structural_child_index; + uint32_t descendant_index; +} TreeCursorEntry; + +typedef struct { + const TSTree *tree; + Array(TreeCursorEntry) stack; + TSSymbol root_alias_symbol; +} TreeCursor; + +typedef enum { + TreeCursorStepNone, + TreeCursorStepHidden, + TreeCursorStepVisible, +} TreeCursorStep; + +void ts_tree_cursor_init(TreeCursor *self, TSNode node); +void ts_tree_cursor_current_status( + const TSTreeCursor *_self, + TSFieldId *field_id, + bool *has_later_siblings, + bool *has_later_named_siblings, + bool *can_have_later_siblings_with_this_field, + TSSymbol *supertypes, + unsigned *supertype_count +); + +TreeCursorStep ts_tree_cursor_goto_first_child_internal(TSTreeCursor *_self); +TreeCursorStep ts_tree_cursor_goto_next_sibling_internal(TSTreeCursor *_self); + +static inline Subtree ts_tree_cursor_current_subtree(const TSTreeCursor *_self) { + const TreeCursor *self = (const TreeCursor *)_self; + TreeCursorEntry *last_entry = array_back(&self->stack); + return *last_entry->subtree; +} + +TSNode ts_tree_cursor_parent_node(const TSTreeCursor *_self); + +#endif // TREE_SITTER_TREE_CURSOR_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/ts_assert.h b/non-source/foreign/tree-sitter/lib/src/ts_assert.h new file mode 100644 index 00000000..4cb8f36a --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/ts_assert.h @@ -0,0 +1,11 @@ +#ifndef TREE_SITTER_ASSERT_H_ +#define TREE_SITTER_ASSERT_H_ + +#ifdef NDEBUG +#define ts_assert(e) ((void)(e)) +#else +#include +#define ts_assert(e) assert(e) +#endif + +#endif // TREE_SITTER_ASSERT_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/unicode.h b/non-source/foreign/tree-sitter/lib/src/unicode.h new file mode 100644 index 00000000..0fba3f29 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode.h @@ -0,0 +1,75 @@ +#ifndef TREE_SITTER_UNICODE_H_ +#define TREE_SITTER_UNICODE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define U_EXPORT +#define U_EXPORT2 +#include "unicode/utf8.h" +#include "unicode/utf16.h" +#include "portable/endian.h" + +#define U16_NEXT_LE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ + (c)=le16toh((s)[(i)++]); \ + if(U16_IS_LEAD(c)) { \ + uint16_t __c2; \ + if((i)!=(length) && U16_IS_TRAIL(__c2=(s)[(i)])) { \ + ++(i); \ + (c)=U16_GET_SUPPLEMENTARY((c), __c2); \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +#define U16_NEXT_BE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \ + (c)=be16toh((s)[(i)++]); \ + if(U16_IS_LEAD(c)) { \ + uint16_t __c2; \ + if((i)!=(length) && U16_IS_TRAIL(__c2=(s)[(i)])) { \ + ++(i); \ + (c)=U16_GET_SUPPLEMENTARY((c), __c2); \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +static const int32_t TS_DECODE_ERROR = U_SENTINEL; + +static inline uint32_t ts_decode_utf8( + const uint8_t *string, + uint32_t length, + int32_t *code_point +) { + uint32_t i = 0; + U8_NEXT(string, i, length, *code_point); + return i; +} + +static inline uint32_t ts_decode_utf16_le( + const uint8_t *string, + uint32_t length, + int32_t *code_point +) { + uint32_t i = 0; + U16_NEXT_LE(((uint16_t *)string), i, length, *code_point); + return i * 2; +} + +static inline uint32_t ts_decode_utf16_be( + const uint8_t *string, + uint32_t length, + int32_t *code_point +) { + uint32_t i = 0; + U16_NEXT_BE(((uint16_t *)string), i, length, *code_point); + return i * 2; +} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_UNICODE_H_ diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/ICU_SHA b/non-source/foreign/tree-sitter/lib/src/unicode/ICU_SHA new file mode 100644 index 00000000..3622283b --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/ICU_SHA @@ -0,0 +1 @@ +552b01f61127d30d6589aa4bf99468224979b661 diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/LICENSE b/non-source/foreign/tree-sitter/lib/src/unicode/LICENSE new file mode 100644 index 00000000..2e01e368 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/LICENSE @@ -0,0 +1,414 @@ +COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later) + +Copyright © 1991-2019 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. ICU License - ICU 1.8.1 to ICU 57.1 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyright (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +6. Google double-conversion + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/README.md b/non-source/foreign/tree-sitter/lib/src/unicode/README.md new file mode 100644 index 00000000..623b8e38 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/README.md @@ -0,0 +1,29 @@ +# ICU Parts + +This directory contains a small subset of files from the Unicode organization's [ICU repository](https://github.com/unicode-org/icu). + +### License + +The license for these files is contained in the `LICENSE` file within this directory. + +### Contents + +* Source files taken from the [`icu4c/source/common/unicode`](https://github.com/unicode-org/icu/tree/552b01f61127d30d6589aa4bf99468224979b661/icu4c/source/common/unicode) directory: + * `utf8.h` + * `utf16.h` + * `umachine.h` +* Empty source files that are referenced by the above source files, but whose original contents in `libicu` are not needed: + * `ptypes.h` + * `urename.h` + * `utf.h` +* `ICU_SHA` - File containing the Git SHA of the commit in the `icu` repository from which the files were obtained. +* `LICENSE` - The license file from the [`icu4c`](https://github.com/unicode-org/icu/tree/552b01f61127d30d6589aa4bf99468224979b661/icu4c) directory of the `icu` repository. +* `README.md` - This text file. + +### Updating ICU + +To incorporate changes from the upstream `icu` repository: + +* Update `ICU_SHA` with the new Git SHA. +* Update `LICENSE` with the license text from the directory mentioned above. +* Update `utf8.h`, `utf16.h`, and `umachine.h` with their new contents in the `icu` repository. diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/ptypes.h b/non-source/foreign/tree-sitter/lib/src/unicode/ptypes.h new file mode 100644 index 00000000..ac79ad0f --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/ptypes.h @@ -0,0 +1 @@ +// This file must exist in order for `utf8.h` and `utf16.h` to be used. diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/umachine.h b/non-source/foreign/tree-sitter/lib/src/unicode/umachine.h new file mode 100644 index 00000000..9195824d --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/umachine.h @@ -0,0 +1,448 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +/* +****************************************************************************** +* +* Copyright (C) 1999-2015, International Business Machines +* Corporation and others. All Rights Reserved. +* +****************************************************************************** +* file name: umachine.h +* encoding: UTF-8 +* tab size: 8 (not used) +* indentation:4 +* +* created on: 1999sep13 +* created by: Markus W. Scherer +* +* This file defines basic types and constants for ICU to be +* platform-independent. umachine.h and utf.h are included into +* utypes.h to provide all the general definitions for ICU. +* All of these definitions used to be in utypes.h before +* the UTF-handling macros made this unmaintainable. +*/ + +#ifndef __UMACHINE_H__ +#define __UMACHINE_H__ + + +/** + * \file + * \brief Basic types and constants for UTF + * + *

Basic types and constants for UTF

+ * This file defines basic types and constants for utf.h to be + * platform-independent. umachine.h and utf.h are included into + * utypes.h to provide all the general definitions for ICU. + * All of these definitions used to be in utypes.h before + * the UTF-handling macros made this unmaintainable. + * + */ +/*==========================================================================*/ +/* Include platform-dependent definitions */ +/* which are contained in the platform-specific file platform.h */ +/*==========================================================================*/ + +#include "unicode/ptypes.h" /* platform.h is included in ptypes.h */ + +/* + * ANSI C headers: + * stddef.h defines wchar_t + */ +#include + +/*==========================================================================*/ +/* For C wrappers, we use the symbol U_STABLE. */ +/* This works properly if the includer is C or C++. */ +/* Functions are declared U_STABLE return-type U_EXPORT2 function-name()... */ +/*==========================================================================*/ + +/** + * \def U_CFUNC + * This is used in a declaration of a library private ICU C function. + * @stable ICU 2.4 + */ + +/** + * \def U_CDECL_BEGIN + * This is used to begin a declaration of a library private ICU C API. + * @stable ICU 2.4 + */ + +/** + * \def U_CDECL_END + * This is used to end a declaration of a library private ICU C API + * @stable ICU 2.4 + */ + +#ifdef __cplusplus +# define U_CFUNC extern "C" +# define U_CDECL_BEGIN extern "C" { +# define U_CDECL_END } +#else +# define U_CFUNC extern +# define U_CDECL_BEGIN +# define U_CDECL_END +#endif + +#ifndef U_ATTRIBUTE_DEPRECATED +/** + * \def U_ATTRIBUTE_DEPRECATED + * This is used for GCC specific attributes + * @internal + */ +#if U_GCC_MAJOR_MINOR >= 302 +# define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated)) +/** + * \def U_ATTRIBUTE_DEPRECATED + * This is used for Visual C++ specific attributes + * @internal + */ +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) +# define U_ATTRIBUTE_DEPRECATED __declspec(deprecated) +#else +# define U_ATTRIBUTE_DEPRECATED +#endif +#endif + +/** This is used to declare a function as a public ICU C API @stable ICU 2.0*/ +#define U_CAPI U_CFUNC U_EXPORT +/** This is used to declare a function as a stable public ICU C API*/ +#define U_STABLE U_CAPI +/** This is used to declare a function as a draft public ICU C API */ +#define U_DRAFT U_CAPI +/** This is used to declare a function as a deprecated public ICU C API */ +#define U_DEPRECATED U_CAPI U_ATTRIBUTE_DEPRECATED +/** This is used to declare a function as an obsolete public ICU C API */ +#define U_OBSOLETE U_CAPI +/** This is used to declare a function as an internal ICU C API */ +#define U_INTERNAL U_CAPI + +/** + * \def U_OVERRIDE + * Defined to the C++11 "override" keyword if available. + * Denotes a class or member which is an override of the base class. + * May result in an error if it applied to something not an override. + * @internal + */ +#ifndef U_OVERRIDE +#define U_OVERRIDE override +#endif + +/** + * \def U_FINAL + * Defined to the C++11 "final" keyword if available. + * Denotes a class or member which may not be overridden in subclasses. + * May result in an error if subclasses attempt to override. + * @internal + */ +#if !defined(U_FINAL) || defined(U_IN_DOXYGEN) +#define U_FINAL final +#endif + +// Before ICU 65, function-like, multi-statement ICU macros were just defined as +// series of statements wrapped in { } blocks and the caller could choose to +// either treat them as if they were actual functions and end the invocation +// with a trailing ; creating an empty statement after the block or else omit +// this trailing ; using the knowledge that the macro would expand to { }. +// +// But doing so doesn't work well with macros that look like functions and +// compiler warnings about empty statements (ICU-20601) and ICU 65 therefore +// switches to the standard solution of wrapping such macros in do { } while. +// +// This will however break existing code that depends on being able to invoke +// these macros without a trailing ; so to be able to remain compatible with +// such code the wrapper is itself defined as macros so that it's possible to +// build ICU 65 and later with the old macro behaviour, like this: +// +// CPPFLAGS='-DUPRV_BLOCK_MACRO_BEGIN="" -DUPRV_BLOCK_MACRO_END=""' +// runConfigureICU ... + +/** + * \def UPRV_BLOCK_MACRO_BEGIN + * Defined as the "do" keyword by default. + * @internal + */ +#ifndef UPRV_BLOCK_MACRO_BEGIN +#define UPRV_BLOCK_MACRO_BEGIN do +#endif + +/** + * \def UPRV_BLOCK_MACRO_END + * Defined as "while (FALSE)" by default. + * @internal + */ +#ifndef UPRV_BLOCK_MACRO_END +#define UPRV_BLOCK_MACRO_END while (FALSE) +#endif + +/*==========================================================================*/ +/* limits for int32_t etc., like in POSIX inttypes.h */ +/*==========================================================================*/ + +#ifndef INT8_MIN +/** The smallest value an 8 bit signed integer can hold @stable ICU 2.0 */ +# define INT8_MIN ((int8_t)(-128)) +#endif +#ifndef INT16_MIN +/** The smallest value a 16 bit signed integer can hold @stable ICU 2.0 */ +# define INT16_MIN ((int16_t)(-32767-1)) +#endif +#ifndef INT32_MIN +/** The smallest value a 32 bit signed integer can hold @stable ICU 2.0 */ +# define INT32_MIN ((int32_t)(-2147483647-1)) +#endif + +#ifndef INT8_MAX +/** The largest value an 8 bit signed integer can hold @stable ICU 2.0 */ +# define INT8_MAX ((int8_t)(127)) +#endif +#ifndef INT16_MAX +/** The largest value a 16 bit signed integer can hold @stable ICU 2.0 */ +# define INT16_MAX ((int16_t)(32767)) +#endif +#ifndef INT32_MAX +/** The largest value a 32 bit signed integer can hold @stable ICU 2.0 */ +# define INT32_MAX ((int32_t)(2147483647)) +#endif + +#ifndef UINT8_MAX +/** The largest value an 8 bit unsigned integer can hold @stable ICU 2.0 */ +# define UINT8_MAX ((uint8_t)(255U)) +#endif +#ifndef UINT16_MAX +/** The largest value a 16 bit unsigned integer can hold @stable ICU 2.0 */ +# define UINT16_MAX ((uint16_t)(65535U)) +#endif +#ifndef UINT32_MAX +/** The largest value a 32 bit unsigned integer can hold @stable ICU 2.0 */ +# define UINT32_MAX ((uint32_t)(4294967295U)) +#endif + +#if defined(U_INT64_T_UNAVAILABLE) +# error int64_t is required for decimal format and rule-based number format. +#else +# ifndef INT64_C +/** + * Provides a platform independent way to specify a signed 64-bit integer constant. + * note: may be wrong for some 64 bit platforms - ensure your compiler provides INT64_C + * @stable ICU 2.8 + */ +# define INT64_C(c) c ## LL +# endif +# ifndef UINT64_C +/** + * Provides a platform independent way to specify an unsigned 64-bit integer constant. + * note: may be wrong for some 64 bit platforms - ensure your compiler provides UINT64_C + * @stable ICU 2.8 + */ +# define UINT64_C(c) c ## ULL +# endif +# ifndef U_INT64_MIN +/** The smallest value a 64 bit signed integer can hold @stable ICU 2.8 */ +# define U_INT64_MIN ((int64_t)(INT64_C(-9223372036854775807)-1)) +# endif +# ifndef U_INT64_MAX +/** The largest value a 64 bit signed integer can hold @stable ICU 2.8 */ +# define U_INT64_MAX ((int64_t)(INT64_C(9223372036854775807))) +# endif +# ifndef U_UINT64_MAX +/** The largest value a 64 bit unsigned integer can hold @stable ICU 2.8 */ +# define U_UINT64_MAX ((uint64_t)(UINT64_C(18446744073709551615))) +# endif +#endif + +/*==========================================================================*/ +/* Boolean data type */ +/*==========================================================================*/ + +/** The ICU boolean type @stable ICU 2.0 */ +typedef int8_t UBool; + +#ifndef TRUE +/** The TRUE value of a UBool @stable ICU 2.0 */ +# define TRUE 1 +#endif +#ifndef FALSE +/** The FALSE value of a UBool @stable ICU 2.0 */ +# define FALSE 0 +#endif + + +/*==========================================================================*/ +/* Unicode data types */ +/*==========================================================================*/ + +/* wchar_t-related definitions -------------------------------------------- */ + +/* + * \def U_WCHAR_IS_UTF16 + * Defined if wchar_t uses UTF-16. + * + * @stable ICU 2.0 + */ +/* + * \def U_WCHAR_IS_UTF32 + * Defined if wchar_t uses UTF-32. + * + * @stable ICU 2.0 + */ +#if !defined(U_WCHAR_IS_UTF16) && !defined(U_WCHAR_IS_UTF32) +# ifdef __STDC_ISO_10646__ +# if (U_SIZEOF_WCHAR_T==2) +# define U_WCHAR_IS_UTF16 +# elif (U_SIZEOF_WCHAR_T==4) +# define U_WCHAR_IS_UTF32 +# endif +# elif defined __UCS2__ +# if (U_PF_OS390 <= U_PLATFORM && U_PLATFORM <= U_PF_OS400) && (U_SIZEOF_WCHAR_T==2) +# define U_WCHAR_IS_UTF16 +# endif +# elif defined(__UCS4__) || (U_PLATFORM == U_PF_OS400 && defined(__UTF32__)) +# if (U_SIZEOF_WCHAR_T==4) +# define U_WCHAR_IS_UTF32 +# endif +# elif U_PLATFORM_IS_DARWIN_BASED || (U_SIZEOF_WCHAR_T==4 && U_PLATFORM_IS_LINUX_BASED) +# define U_WCHAR_IS_UTF32 +# elif U_PLATFORM_HAS_WIN32_API +# define U_WCHAR_IS_UTF16 +# endif +#endif + +/* UChar and UChar32 definitions -------------------------------------------- */ + +/** Number of bytes in a UChar. @stable ICU 2.0 */ +#define U_SIZEOF_UCHAR 2 + +/** + * \def U_CHAR16_IS_TYPEDEF + * If 1, then char16_t is a typedef and not a real type (yet) + * @internal + */ +#if (U_PLATFORM == U_PF_AIX) && defined(__cplusplus) &&(U_CPLUSPLUS_VERSION < 11) +// for AIX, uchar.h needs to be included +# include +# define U_CHAR16_IS_TYPEDEF 1 +#elif defined(_MSC_VER) && (_MSC_VER < 1900) +// Versions of Visual Studio/MSVC below 2015 do not support char16_t as a real type, +// and instead use a typedef. https://msdn.microsoft.com/library/bb531344.aspx +# define U_CHAR16_IS_TYPEDEF 1 +#else +# define U_CHAR16_IS_TYPEDEF 0 +#endif + + +/** + * \var UChar + * + * The base type for UTF-16 code units and pointers. + * Unsigned 16-bit integer. + * Starting with ICU 59, C++ API uses char16_t directly, while C API continues to use UChar. + * + * UChar is configurable by defining the macro UCHAR_TYPE + * on the preprocessor or compiler command line: + * -DUCHAR_TYPE=uint16_t or -DUCHAR_TYPE=wchar_t (if U_SIZEOF_WCHAR_T==2) etc. + * (The UCHAR_TYPE can also be \#defined earlier in this file, for outside the ICU library code.) + * This is for transitional use from application code that uses uint16_t or wchar_t for UTF-16. + * + * The default is UChar=char16_t. + * + * C++11 defines char16_t as bit-compatible with uint16_t, but as a distinct type. + * + * In C, char16_t is a simple typedef of uint_least16_t. + * ICU requires uint_least16_t=uint16_t for data memory mapping. + * On macOS, char16_t is not available because the uchar.h standard header is missing. + * + * @stable ICU 4.4 + */ + +#if 1 + // #if 1 is normal. UChar defaults to char16_t in C++. + // For configuration testing of UChar=uint16_t temporarily change this to #if 0. + // The intltest Makefile #defines UCHAR_TYPE=char16_t, + // so we only #define it to uint16_t if it is undefined so far. +#elif !defined(UCHAR_TYPE) +# define UCHAR_TYPE uint16_t +#endif + +#if defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || \ + defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION) + // Inside the ICU library code, never configurable. + typedef char16_t UChar; +#elif defined(UCHAR_TYPE) + typedef UCHAR_TYPE UChar; +#elif defined(__cplusplus) + typedef char16_t UChar; +#else + typedef uint16_t UChar; +#endif + +/** + * \var OldUChar + * Default ICU 58 definition of UChar. + * A base type for UTF-16 code units and pointers. + * Unsigned 16-bit integer. + * + * Define OldUChar to be wchar_t if that is 16 bits wide. + * If wchar_t is not 16 bits wide, then define UChar to be uint16_t. + * + * This makes the definition of OldUChar platform-dependent + * but allows direct string type compatibility with platforms with + * 16-bit wchar_t types. + * + * This is how UChar was defined in ICU 58, for transition convenience. + * Exception: ICU 58 UChar was defined to UCHAR_TYPE if that macro was defined. + * The current UChar responds to UCHAR_TYPE but OldUChar does not. + * + * @stable ICU 59 + */ +#if U_SIZEOF_WCHAR_T==2 + typedef wchar_t OldUChar; +#elif defined(__CHAR16_TYPE__) + typedef __CHAR16_TYPE__ OldUChar; +#else + typedef uint16_t OldUChar; +#endif + +/** + * Define UChar32 as a type for single Unicode code points. + * UChar32 is a signed 32-bit integer (same as int32_t). + * + * The Unicode code point range is 0..0x10ffff. + * All other values (negative or >=0x110000) are illegal as Unicode code points. + * They may be used as sentinel values to indicate "done", "error" + * or similar non-code point conditions. + * + * Before ICU 2.4 (Jitterbug 2146), UChar32 was defined + * to be wchar_t if that is 32 bits wide (wchar_t may be signed or unsigned) + * or else to be uint32_t. + * That is, the definition of UChar32 was platform-dependent. + * + * @see U_SENTINEL + * @stable ICU 2.4 + */ +typedef int32_t UChar32; + +/** + * This value is intended for sentinel values for APIs that + * (take or) return single code points (UChar32). + * It is outside of the Unicode code point range 0..0x10ffff. + * + * For example, a "done" or "error" value in a new API + * could be indicated with U_SENTINEL. + * + * ICU APIs designed before ICU 2.4 usually define service-specific "done" + * values, mostly 0xffff. + * Those may need to be distinguished from + * actual U+ffff text contents by calling functions like + * CharacterIterator::hasNext() or UnicodeString::length(). + * + * @return -1 + * @see UChar32 + * @stable ICU 2.4 + */ +#define U_SENTINEL (-1) + +#include "unicode/urename.h" + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/urename.h b/non-source/foreign/tree-sitter/lib/src/unicode/urename.h new file mode 100644 index 00000000..ac79ad0f --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/urename.h @@ -0,0 +1 @@ +// This file must exist in order for `utf8.h` and `utf16.h` to be used. diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/utf.h b/non-source/foreign/tree-sitter/lib/src/unicode/utf.h new file mode 100644 index 00000000..ac79ad0f --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/utf.h @@ -0,0 +1 @@ +// This file must exist in order for `utf8.h` and `utf16.h` to be used. diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/utf16.h b/non-source/foreign/tree-sitter/lib/src/unicode/utf16.h new file mode 100644 index 00000000..9fd7d5c8 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/utf16.h @@ -0,0 +1,733 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +/* +******************************************************************************* +* +* Copyright (C) 1999-2012, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* +* file name: utf16.h +* encoding: UTF-8 +* tab size: 8 (not used) +* indentation:4 +* +* created on: 1999sep09 +* created by: Markus W. Scherer +*/ + +/** + * \file + * \brief C API: 16-bit Unicode handling macros + * + * This file defines macros to deal with 16-bit Unicode (UTF-16) code units and strings. + * + * For more information see utf.h and the ICU User Guide Strings chapter + * (http://userguide.icu-project.org/strings). + * + * Usage: + * ICU coding guidelines for if() statements should be followed when using these macros. + * Compound statements (curly braces {}) must be used for if-else-while... + * bodies and all macro statements should be terminated with semicolon. + */ + +#ifndef __UTF16_H__ +#define __UTF16_H__ + +#include "unicode/umachine.h" +#ifndef __UTF_H__ +# include "unicode/utf.h" +#endif + +/* single-code point definitions -------------------------------------------- */ + +/** + * Does this code unit alone encode a code point (BMP, not a surrogate)? + * @param c 16-bit code unit + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U16_IS_SINGLE(c) !U_IS_SURROGATE(c) + +/** + * Is this code unit a lead surrogate (U+d800..U+dbff)? + * @param c 16-bit code unit + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U16_IS_LEAD(c) (((c)&0xfffffc00)==0xd800) + +/** + * Is this code unit a trail surrogate (U+dc00..U+dfff)? + * @param c 16-bit code unit + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U16_IS_TRAIL(c) (((c)&0xfffffc00)==0xdc00) + +/** + * Is this code unit a surrogate (U+d800..U+dfff)? + * @param c 16-bit code unit + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U16_IS_SURROGATE(c) U_IS_SURROGATE(c) + +/** + * Assuming c is a surrogate code point (U16_IS_SURROGATE(c)), + * is it a lead surrogate? + * @param c 16-bit code unit + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U16_IS_SURROGATE_LEAD(c) (((c)&0x400)==0) + +/** + * Assuming c is a surrogate code point (U16_IS_SURROGATE(c)), + * is it a trail surrogate? + * @param c 16-bit code unit + * @return TRUE or FALSE + * @stable ICU 4.2 + */ +#define U16_IS_SURROGATE_TRAIL(c) (((c)&0x400)!=0) + +/** + * Helper constant for U16_GET_SUPPLEMENTARY. + * @internal + */ +#define U16_SURROGATE_OFFSET ((0xd800<<10UL)+0xdc00-0x10000) + +/** + * Get a supplementary code point value (U+10000..U+10ffff) + * from its lead and trail surrogates. + * The result is undefined if the input values are not + * lead and trail surrogates. + * + * @param lead lead surrogate (U+d800..U+dbff) + * @param trail trail surrogate (U+dc00..U+dfff) + * @return supplementary code point (U+10000..U+10ffff) + * @stable ICU 2.4 + */ +#define U16_GET_SUPPLEMENTARY(lead, trail) \ + (((UChar32)(lead)<<10UL)+(UChar32)(trail)-U16_SURROGATE_OFFSET) + + +/** + * Get the lead surrogate (0xd800..0xdbff) for a + * supplementary code point (0x10000..0x10ffff). + * @param supplementary 32-bit code point (U+10000..U+10ffff) + * @return lead surrogate (U+d800..U+dbff) for supplementary + * @stable ICU 2.4 + */ +#define U16_LEAD(supplementary) (UChar)(((supplementary)>>10)+0xd7c0) + +/** + * Get the trail surrogate (0xdc00..0xdfff) for a + * supplementary code point (0x10000..0x10ffff). + * @param supplementary 32-bit code point (U+10000..U+10ffff) + * @return trail surrogate (U+dc00..U+dfff) for supplementary + * @stable ICU 2.4 + */ +#define U16_TRAIL(supplementary) (UChar)(((supplementary)&0x3ff)|0xdc00) + +/** + * How many 16-bit code units are used to encode this Unicode code point? (1 or 2) + * The result is not defined if c is not a Unicode code point (U+0000..U+10ffff). + * @param c 32-bit code point + * @return 1 or 2 + * @stable ICU 2.4 + */ +#define U16_LENGTH(c) ((uint32_t)(c)<=0xffff ? 1 : 2) + +/** + * The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff). + * @return 2 + * @stable ICU 2.4 + */ +#define U16_MAX_LENGTH 2 + +/** + * Get a code point from a string at a random-access offset, + * without changing the offset. + * "Unsafe" macro, assumes well-formed UTF-16. + * + * The offset may point to either the lead or trail surrogate unit + * for a supplementary code point, in which case the macro will read + * the adjacent matching surrogate as well. + * The result is undefined if the offset points to a single, unpaired surrogate. + * Iteration through a string is more efficient with U16_NEXT_UNSAFE or U16_NEXT. + * + * @param s const UChar * string + * @param i string offset + * @param c output UChar32 variable + * @see U16_GET + * @stable ICU 2.4 + */ +#define U16_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ + (c)=(s)[i]; \ + if(U16_IS_SURROGATE(c)) { \ + if(U16_IS_SURROGATE_LEAD(c)) { \ + (c)=U16_GET_SUPPLEMENTARY((c), (s)[(i)+1]); \ + } else { \ + (c)=U16_GET_SUPPLEMENTARY((s)[(i)-1], (c)); \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Get a code point from a string at a random-access offset, + * without changing the offset. + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The offset may point to either the lead or trail surrogate unit + * for a supplementary code point, in which case the macro will read + * the adjacent matching surrogate as well. + * + * The length can be negative for a NUL-terminated string. + * + * If the offset points to a single, unpaired surrogate, then + * c is set to that unpaired surrogate. + * Iteration through a string is more efficient with U16_NEXT_UNSAFE or U16_NEXT. + * + * @param s const UChar * string + * @param start starting string offset (usually 0) + * @param i string offset, must be start<=i(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \ + (c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \ + } \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Get a code point from a string at a random-access offset, + * without changing the offset. + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The offset may point to either the lead or trail surrogate unit + * for a supplementary code point, in which case the macro will read + * the adjacent matching surrogate as well. + * + * The length can be negative for a NUL-terminated string. + * + * If the offset points to a single, unpaired surrogate, then + * c is set to U+FFFD. + * Iteration through a string is more efficient with U16_NEXT_UNSAFE or U16_NEXT_OR_FFFD. + * + * @param s const UChar * string + * @param start starting string offset (usually 0) + * @param i string offset, must be start<=i(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \ + (c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \ + } else { \ + (c)=0xfffd; \ + } \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/* definitions with forward iteration --------------------------------------- */ + +/** + * Get a code point from a string at a code point boundary offset, + * and advance the offset to the next code point boundary. + * (Post-incrementing forward iteration.) + * "Unsafe" macro, assumes well-formed UTF-16. + * + * The offset may point to the lead surrogate unit + * for a supplementary code point, in which case the macro will read + * the following trail surrogate as well. + * If the offset points to a trail surrogate, then that itself + * will be returned as the code point. + * The result is undefined if the offset points to a single, unpaired lead surrogate. + * + * @param s const UChar * string + * @param i string offset + * @param c output UChar32 variable + * @see U16_NEXT + * @stable ICU 2.4 + */ +#define U16_NEXT_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ + (c)=(s)[(i)++]; \ + if(U16_IS_LEAD(c)) { \ + (c)=U16_GET_SUPPLEMENTARY((c), (s)[(i)++]); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Get a code point from a string at a code point boundary offset, + * and advance the offset to the next code point boundary. + * (Post-incrementing forward iteration.) + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The length can be negative for a NUL-terminated string. + * + * The offset may point to the lead surrogate unit + * for a supplementary code point, in which case the macro will read + * the following trail surrogate as well. + * If the offset points to a trail surrogate or + * to a single, unpaired lead surrogate, then c is set to that unpaired surrogate. + * + * @param s const UChar * string + * @param i string offset, must be i>10)+0xd7c0); \ + (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Append a code point to a string, overwriting 1 or 2 code units. + * The offset points to the current end of the string contents + * and is advanced (post-increment). + * "Safe" macro, checks for a valid code point. + * If a surrogate pair is written, checks for sufficient space in the string. + * If the code point is not valid or a trail surrogate does not fit, + * then isError is set to TRUE. + * + * @param s const UChar * string buffer + * @param i string offset, must be i>10)+0xd7c0); \ + (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \ + } else /* c>0x10ffff or not enough space */ { \ + (isError)=TRUE; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Advance the string offset from one code point boundary to the next. + * (Post-incrementing iteration.) + * "Unsafe" macro, assumes well-formed UTF-16. + * + * @param s const UChar * string + * @param i string offset + * @see U16_FWD_1 + * @stable ICU 2.4 + */ +#define U16_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ + if(U16_IS_LEAD((s)[(i)++])) { \ + ++(i); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Advance the string offset from one code point boundary to the next. + * (Post-incrementing iteration.) + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The length can be negative for a NUL-terminated string. + * + * @param s const UChar * string + * @param i string offset, must be i0) { \ + U16_FWD_1_UNSAFE(s, i); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Advance the string offset from one code point boundary to the n-th next one, + * i.e., move forward by n code points. + * (Post-incrementing iteration.) + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The length can be negative for a NUL-terminated string. + * + * @param s const UChar * string + * @param i int32_t string offset, must be i0 && ((i)<(length) || ((length)<0 && (s)[i]!=0))) { \ + U16_FWD_1(s, i, length); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary + * at the start of a code point. + * If the offset points to the trail surrogate of a surrogate pair, + * then the offset is decremented. + * Otherwise, it is not modified. + * "Unsafe" macro, assumes well-formed UTF-16. + * + * @param s const UChar * string + * @param i string offset + * @see U16_SET_CP_START + * @stable ICU 2.4 + */ +#define U16_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ + if(U16_IS_TRAIL((s)[i])) { \ + --(i); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary + * at the start of a code point. + * If the offset points to the trail surrogate of a surrogate pair, + * then the offset is decremented. + * Otherwise, it is not modified. + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * @param s const UChar * string + * @param start starting string offset (usually 0) + * @param i string offset, must be start<=i + * @see U16_SET_CP_START_UNSAFE + * @stable ICU 2.4 + */ +#define U16_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ + if(U16_IS_TRAIL((s)[i]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \ + --(i); \ + } \ +} UPRV_BLOCK_MACRO_END + +/* definitions with backward iteration -------------------------------------- */ + +/** + * Move the string offset from one code point boundary to the previous one + * and get the code point between them. + * (Pre-decrementing backward iteration.) + * "Unsafe" macro, assumes well-formed UTF-16. + * + * The input offset may be the same as the string length. + * If the offset is behind a trail surrogate unit + * for a supplementary code point, then the macro will read + * the preceding lead surrogate as well. + * If the offset is behind a lead surrogate, then that itself + * will be returned as the code point. + * The result is undefined if the offset is behind a single, unpaired trail surrogate. + * + * @param s const UChar * string + * @param i string offset + * @param c output UChar32 variable + * @see U16_PREV + * @stable ICU 2.4 + */ +#define U16_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ + (c)=(s)[--(i)]; \ + if(U16_IS_TRAIL(c)) { \ + (c)=U16_GET_SUPPLEMENTARY((s)[--(i)], (c)); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the previous one + * and get the code point between them. + * (Pre-decrementing backward iteration.) + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The input offset may be the same as the string length. + * If the offset is behind a trail surrogate unit + * for a supplementary code point, then the macro will read + * the preceding lead surrogate as well. + * If the offset is behind a lead surrogate or behind a single, unpaired + * trail surrogate, then c is set to that unpaired surrogate. + * + * @param s const UChar * string + * @param start starting string offset (usually 0) + * @param i string offset, must be start(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \ + --(i); \ + (c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the previous one + * and get the code point between them. + * (Pre-decrementing backward iteration.) + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The input offset may be the same as the string length. + * If the offset is behind a trail surrogate unit + * for a supplementary code point, then the macro will read + * the preceding lead surrogate as well. + * If the offset is behind a lead surrogate or behind a single, unpaired + * trail surrogate, then c is set to U+FFFD. + * + * @param s const UChar * string + * @param start starting string offset (usually 0) + * @param i string offset, must be start(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \ + --(i); \ + (c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \ + } else { \ + (c)=0xfffd; \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the previous one. + * (Pre-decrementing backward iteration.) + * The input offset may be the same as the string length. + * "Unsafe" macro, assumes well-formed UTF-16. + * + * @param s const UChar * string + * @param i string offset + * @see U16_BACK_1 + * @stable ICU 2.4 + */ +#define U16_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ + if(U16_IS_TRAIL((s)[--(i)])) { \ + --(i); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the previous one. + * (Pre-decrementing backward iteration.) + * The input offset may be the same as the string length. + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * @param s const UChar * string + * @param start starting string offset (usually 0) + * @param i string offset, must be start(start) && U16_IS_LEAD((s)[(i)-1])) { \ + --(i); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the n-th one before it, + * i.e., move backward by n code points. + * (Pre-decrementing backward iteration.) + * The input offset may be the same as the string length. + * "Unsafe" macro, assumes well-formed UTF-16. + * + * @param s const UChar * string + * @param i string offset + * @param n number of code points to skip + * @see U16_BACK_N + * @stable ICU 2.4 + */ +#define U16_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ + int32_t __N=(n); \ + while(__N>0) { \ + U16_BACK_1_UNSAFE(s, i); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the n-th one before it, + * i.e., move backward by n code points. + * (Pre-decrementing backward iteration.) + * The input offset may be the same as the string length. + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * @param s const UChar * string + * @param start start of string + * @param i string offset, must be start0 && (i)>(start)) { \ + U16_BACK_1(s, start, i); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary after a code point. + * If the offset is behind the lead surrogate of a surrogate pair, + * then the offset is incremented. + * Otherwise, it is not modified. + * The input offset may be the same as the string length. + * "Unsafe" macro, assumes well-formed UTF-16. + * + * @param s const UChar * string + * @param i string offset + * @see U16_SET_CP_LIMIT + * @stable ICU 2.4 + */ +#define U16_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ + if(U16_IS_LEAD((s)[(i)-1])) { \ + ++(i); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary after a code point. + * If the offset is behind the lead surrogate of a surrogate pair, + * then the offset is incremented. + * Otherwise, it is not modified. + * The input offset may be the same as the string length. + * "Safe" macro, handles unpaired surrogates and checks for string boundaries. + * + * The length can be negative for a NUL-terminated string. + * + * @param s const UChar * string + * @param start int32_t starting string offset (usually 0) + * @param i int32_t string offset, start<=i<=length + * @param length int32_t string length + * @see U16_SET_CP_LIMIT_UNSAFE + * @stable ICU 2.4 + */ +#define U16_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \ + if((start)<(i) && ((i)<(length) || (length)<0) && U16_IS_LEAD((s)[(i)-1]) && U16_IS_TRAIL((s)[i])) { \ + ++(i); \ + } \ +} UPRV_BLOCK_MACRO_END + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/unicode/utf8.h b/non-source/foreign/tree-sitter/lib/src/unicode/utf8.h new file mode 100644 index 00000000..bb001303 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/unicode/utf8.h @@ -0,0 +1,881 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +/* +******************************************************************************* +* +* Copyright (C) 1999-2015, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* +* file name: utf8.h +* encoding: UTF-8 +* tab size: 8 (not used) +* indentation:4 +* +* created on: 1999sep13 +* created by: Markus W. Scherer +*/ + +/** + * \file + * \brief C API: 8-bit Unicode handling macros + * + * This file defines macros to deal with 8-bit Unicode (UTF-8) code units (bytes) and strings. + * + * For more information see utf.h and the ICU User Guide Strings chapter + * (http://userguide.icu-project.org/strings). + * + * Usage: + * ICU coding guidelines for if() statements should be followed when using these macros. + * Compound statements (curly braces {}) must be used for if-else-while... + * bodies and all macro statements should be terminated with semicolon. + */ + +#ifndef __UTF8_H__ +#define __UTF8_H__ + +#include "unicode/umachine.h" +#ifndef __UTF_H__ +# include "unicode/utf.h" +#endif + +/* internal definitions ----------------------------------------------------- */ + +/** + * Counts the trail bytes for a UTF-8 lead byte. + * Returns 0 for 0..0xc1 as well as for 0xf5..0xff. + * leadByte might be evaluated multiple times. + * + * This is internal since it is not meant to be called directly by external clients; + * however it is called by public macros in this file and thus must remain stable. + * + * @param leadByte The first byte of a UTF-8 sequence. Must be 0..0xff. + * @internal + */ +#define U8_COUNT_TRAIL_BYTES(leadByte) \ + (U8_IS_LEAD(leadByte) ? \ + ((uint8_t)(leadByte)>=0xe0)+((uint8_t)(leadByte)>=0xf0)+1 : 0) + +/** + * Counts the trail bytes for a UTF-8 lead byte of a valid UTF-8 sequence. + * Returns 0 for 0..0xc1. Undefined for 0xf5..0xff. + * leadByte might be evaluated multiple times. + * + * This is internal since it is not meant to be called directly by external clients; + * however it is called by public macros in this file and thus must remain stable. + * + * @param leadByte The first byte of a UTF-8 sequence. Must be 0..0xff. + * @internal + */ +#define U8_COUNT_TRAIL_BYTES_UNSAFE(leadByte) \ + (((uint8_t)(leadByte)>=0xc2)+((uint8_t)(leadByte)>=0xe0)+((uint8_t)(leadByte)>=0xf0)) + +/** + * Mask a UTF-8 lead byte, leave only the lower bits that form part of the code point value. + * + * This is internal since it is not meant to be called directly by external clients; + * however it is called by public macros in this file and thus must remain stable. + * @internal + */ +#define U8_MASK_LEAD_BYTE(leadByte, countTrailBytes) ((leadByte)&=(1<<(6-(countTrailBytes)))-1) + +/** + * Internal bit vector for 3-byte UTF-8 validity check, for use in U8_IS_VALID_LEAD3_AND_T1. + * Each bit indicates whether one lead byte + first trail byte pair starts a valid sequence. + * Lead byte E0..EF bits 3..0 are used as byte index, + * first trail byte bits 7..5 are used as bit index into that byte. + * @see U8_IS_VALID_LEAD3_AND_T1 + * @internal + */ +#define U8_LEAD3_T1_BITS "\x20\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x10\x30\x30" + +/** + * Internal 3-byte UTF-8 validity check. + * Non-zero if lead byte E0..EF and first trail byte 00..FF start a valid sequence. + * @internal + */ +#define U8_IS_VALID_LEAD3_AND_T1(lead, t1) (U8_LEAD3_T1_BITS[(lead)&0xf]&(1<<((uint8_t)(t1)>>5))) + +/** + * Internal bit vector for 4-byte UTF-8 validity check, for use in U8_IS_VALID_LEAD4_AND_T1. + * Each bit indicates whether one lead byte + first trail byte pair starts a valid sequence. + * First trail byte bits 7..4 are used as byte index, + * lead byte F0..F4 bits 2..0 are used as bit index into that byte. + * @see U8_IS_VALID_LEAD4_AND_T1 + * @internal + */ +#define U8_LEAD4_T1_BITS "\x00\x00\x00\x00\x00\x00\x00\x00\x1E\x0F\x0F\x0F\x00\x00\x00\x00" + +/** + * Internal 4-byte UTF-8 validity check. + * Non-zero if lead byte F0..F4 and first trail byte 00..FF start a valid sequence. + * @internal + */ +#define U8_IS_VALID_LEAD4_AND_T1(lead, t1) (U8_LEAD4_T1_BITS[(uint8_t)(t1)>>4]&(1<<((lead)&7))) + +/** + * Function for handling "next code point" with error-checking. + * + * This is internal since it is not meant to be called directly by external clients; + * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this + * file and thus must remain stable, and should not be hidden when other internal + * functions are hidden (otherwise public macros would fail to compile). + * @internal + */ +U_STABLE UChar32 U_EXPORT2 +utf8_nextCharSafeBody(const uint8_t *s, int32_t *pi, int32_t length, UChar32 c, UBool strict); + +/** + * Function for handling "append code point" with error-checking. + * + * This is internal since it is not meant to be called directly by external clients; + * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this + * file and thus must remain stable, and should not be hidden when other internal + * functions are hidden (otherwise public macros would fail to compile). + * @internal + */ +U_STABLE int32_t U_EXPORT2 +utf8_appendCharSafeBody(uint8_t *s, int32_t i, int32_t length, UChar32 c, UBool *pIsError); + +/** + * Function for handling "previous code point" with error-checking. + * + * This is internal since it is not meant to be called directly by external clients; + * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this + * file and thus must remain stable, and should not be hidden when other internal + * functions are hidden (otherwise public macros would fail to compile). + * @internal + */ +U_STABLE UChar32 U_EXPORT2 +utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, UBool strict); + +/** + * Function for handling "skip backward one code point" with error-checking. + * + * This is internal since it is not meant to be called directly by external clients; + * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this + * file and thus must remain stable, and should not be hidden when other internal + * functions are hidden (otherwise public macros would fail to compile). + * @internal + */ +U_STABLE int32_t U_EXPORT2 +utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i); + +/* single-code point definitions -------------------------------------------- */ + +/** + * Does this code unit (byte) encode a code point by itself (US-ASCII 0..0x7f)? + * @param c 8-bit code unit (byte) + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U8_IS_SINGLE(c) (((c)&0x80)==0) + +/** + * Is this code unit (byte) a UTF-8 lead byte? (0xC2..0xF4) + * @param c 8-bit code unit (byte) + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U8_IS_LEAD(c) ((uint8_t)((c)-0xc2)<=0x32) +// 0x32=0xf4-0xc2 + +/** + * Is this code unit (byte) a UTF-8 trail byte? (0x80..0xBF) + * @param c 8-bit code unit (byte) + * @return TRUE or FALSE + * @stable ICU 2.4 + */ +#define U8_IS_TRAIL(c) ((int8_t)(c)<-0x40) + +/** + * How many code units (bytes) are used for the UTF-8 encoding + * of this Unicode code point? + * @param c 32-bit code point + * @return 1..4, or 0 if c is a surrogate or not a Unicode code point + * @stable ICU 2.4 + */ +#define U8_LENGTH(c) \ + ((uint32_t)(c)<=0x7f ? 1 : \ + ((uint32_t)(c)<=0x7ff ? 2 : \ + ((uint32_t)(c)<=0xd7ff ? 3 : \ + ((uint32_t)(c)<=0xdfff || (uint32_t)(c)>0x10ffff ? 0 : \ + ((uint32_t)(c)<=0xffff ? 3 : 4)\ + ) \ + ) \ + ) \ + ) + +/** + * The maximum number of UTF-8 code units (bytes) per Unicode code point (U+0000..U+10ffff). + * @return 4 + * @stable ICU 2.4 + */ +#define U8_MAX_LENGTH 4 + +/** + * Get a code point from a string at a random-access offset, + * without changing the offset. + * The offset may point to either the lead byte or one of the trail bytes + * for a code point, in which case the macro will read all of the bytes + * for the code point. + * The result is undefined if the offset points to an illegal UTF-8 + * byte sequence. + * Iteration through a string is more efficient with U8_NEXT_UNSAFE or U8_NEXT. + * + * @param s const uint8_t * string + * @param i string offset + * @param c output UChar32 variable + * @see U8_GET + * @stable ICU 2.4 + */ +#define U8_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ + int32_t _u8_get_unsafe_index=(int32_t)(i); \ + U8_SET_CP_START_UNSAFE(s, _u8_get_unsafe_index); \ + U8_NEXT_UNSAFE(s, _u8_get_unsafe_index, c); \ +} UPRV_BLOCK_MACRO_END + +/** + * Get a code point from a string at a random-access offset, + * without changing the offset. + * The offset may point to either the lead byte or one of the trail bytes + * for a code point, in which case the macro will read all of the bytes + * for the code point. + * + * The length can be negative for a NUL-terminated string. + * + * If the offset points to an illegal UTF-8 byte sequence, then + * c is set to a negative value. + * Iteration through a string is more efficient with U8_NEXT_UNSAFE or U8_NEXT. + * + * @param s const uint8_t * string + * @param start int32_t starting string offset + * @param i int32_t string offset, must be start<=i=0xe0 ? \ + ((c)<0xf0 ? /* U+0800..U+FFFF except surrogates */ \ + U8_LEAD3_T1_BITS[(c)&=0xf]&(1<<((__t=(s)[i])>>5)) && \ + (__t&=0x3f, 1) \ + : /* U+10000..U+10FFFF */ \ + ((c)-=0xf0)<=4 && \ + U8_LEAD4_T1_BITS[(__t=(s)[i])>>4]&(1<<(c)) && \ + ((c)=((c)<<6)|(__t&0x3f), ++(i)!=(length)) && \ + (__t=(s)[i]-0x80)<=0x3f) && \ + /* valid second-to-last trail byte */ \ + ((c)=((c)<<6)|__t, ++(i)!=(length)) \ + : /* U+0080..U+07FF */ \ + (c)>=0xc2 && ((c)&=0x1f, 1)) && \ + /* last trail byte */ \ + (__t=(s)[i]-0x80)<=0x3f && \ + ((c)=((c)<<6)|__t, ++(i), 1)) { \ + } else { \ + (c)=(sub); /* ill-formed*/ \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Append a code point to a string, overwriting 1 to 4 bytes. + * The offset points to the current end of the string contents + * and is advanced (post-increment). + * "Unsafe" macro, assumes a valid code point and sufficient space in the string. + * Otherwise, the result is undefined. + * + * @param s const uint8_t * string buffer + * @param i string offset + * @param c code point to append + * @see U8_APPEND + * @stable ICU 2.4 + */ +#define U8_APPEND_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ + uint32_t __uc=(c); \ + if(__uc<=0x7f) { \ + (s)[(i)++]=(uint8_t)__uc; \ + } else { \ + if(__uc<=0x7ff) { \ + (s)[(i)++]=(uint8_t)((__uc>>6)|0xc0); \ + } else { \ + if(__uc<=0xffff) { \ + (s)[(i)++]=(uint8_t)((__uc>>12)|0xe0); \ + } else { \ + (s)[(i)++]=(uint8_t)((__uc>>18)|0xf0); \ + (s)[(i)++]=(uint8_t)(((__uc>>12)&0x3f)|0x80); \ + } \ + (s)[(i)++]=(uint8_t)(((__uc>>6)&0x3f)|0x80); \ + } \ + (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Append a code point to a string, overwriting 1 to 4 bytes. + * The offset points to the current end of the string contents + * and is advanced (post-increment). + * "Safe" macro, checks for a valid code point. + * If a non-ASCII code point is written, checks for sufficient space in the string. + * If the code point is not valid or trail bytes do not fit, + * then isError is set to TRUE. + * + * @param s const uint8_t * string buffer + * @param i int32_t string offset, must be i>6)|0xc0); \ + (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \ + } else if((__uc<=0xd7ff || (0xe000<=__uc && __uc<=0xffff)) && (i)+2<(capacity)) { \ + (s)[(i)++]=(uint8_t)((__uc>>12)|0xe0); \ + (s)[(i)++]=(uint8_t)(((__uc>>6)&0x3f)|0x80); \ + (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \ + } else if(0xffff<__uc && __uc<=0x10ffff && (i)+3<(capacity)) { \ + (s)[(i)++]=(uint8_t)((__uc>>18)|0xf0); \ + (s)[(i)++]=(uint8_t)(((__uc>>12)&0x3f)|0x80); \ + (s)[(i)++]=(uint8_t)(((__uc>>6)&0x3f)|0x80); \ + (s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \ + } else { \ + (isError)=TRUE; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Advance the string offset from one code point boundary to the next. + * (Post-incrementing iteration.) + * "Unsafe" macro, assumes well-formed UTF-8. + * + * @param s const uint8_t * string + * @param i string offset + * @see U8_FWD_1 + * @stable ICU 2.4 + */ +#define U8_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ + (i)+=1+U8_COUNT_TRAIL_BYTES_UNSAFE((s)[i]); \ +} UPRV_BLOCK_MACRO_END + +/** + * Advance the string offset from one code point boundary to the next. + * (Post-incrementing iteration.) + * "Safe" macro, checks for illegal sequences and for string boundaries. + * + * The length can be negative for a NUL-terminated string. + * + * @param s const uint8_t * string + * @param i int32_t string offset, must be i=0xf0 */ { \ + if(U8_IS_VALID_LEAD4_AND_T1(__b, __t1) && \ + ++(i)!=(length) && U8_IS_TRAIL((s)[i]) && \ + ++(i)!=(length) && U8_IS_TRAIL((s)[i])) { \ + ++(i); \ + } \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Advance the string offset from one code point boundary to the n-th next one, + * i.e., move forward by n code points. + * (Post-incrementing iteration.) + * "Unsafe" macro, assumes well-formed UTF-8. + * + * @param s const uint8_t * string + * @param i string offset + * @param n number of code points to skip + * @see U8_FWD_N + * @stable ICU 2.4 + */ +#define U8_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \ + int32_t __N=(n); \ + while(__N>0) { \ + U8_FWD_1_UNSAFE(s, i); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Advance the string offset from one code point boundary to the n-th next one, + * i.e., move forward by n code points. + * (Post-incrementing iteration.) + * "Safe" macro, checks for illegal sequences and for string boundaries. + * + * The length can be negative for a NUL-terminated string. + * + * @param s const uint8_t * string + * @param i int32_t string offset, must be i0 && ((i)<(length) || ((length)<0 && (s)[i]!=0))) { \ + U8_FWD_1(s, i, length); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary + * at the start of a code point. + * If the offset points to a UTF-8 trail byte, + * then the offset is moved backward to the corresponding lead byte. + * Otherwise, it is not modified. + * "Unsafe" macro, assumes well-formed UTF-8. + * + * @param s const uint8_t * string + * @param i string offset + * @see U8_SET_CP_START + * @stable ICU 2.4 + */ +#define U8_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ + while(U8_IS_TRAIL((s)[i])) { --(i); } \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary + * at the start of a code point. + * If the offset points to a UTF-8 trail byte, + * then the offset is moved backward to the corresponding lead byte. + * Otherwise, it is not modified. + * + * "Safe" macro, checks for illegal sequences and for string boundaries. + * Unlike U8_TRUNCATE_IF_INCOMPLETE(), this macro always reads s[i]. + * + * @param s const uint8_t * string + * @param start int32_t starting string offset (usually 0) + * @param i int32_t string offset, must be start<=i + * @see U8_SET_CP_START_UNSAFE + * @see U8_TRUNCATE_IF_INCOMPLETE + * @stable ICU 2.4 + */ +#define U8_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \ + if(U8_IS_TRAIL((s)[(i)])) { \ + (i)=utf8_back1SafeBody(s, start, (i)); \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * If the string ends with a UTF-8 byte sequence that is valid so far + * but incomplete, then reduce the length of the string to end before + * the lead byte of that incomplete sequence. + * For example, if the string ends with E1 80, the length is reduced by 2. + * + * In all other cases (the string ends with a complete sequence, or it is not + * possible for any further trail byte to extend the trailing sequence) + * the length remains unchanged. + * + * Useful for processing text split across multiple buffers + * (save the incomplete sequence for later) + * and for optimizing iteration + * (check for string length only once per character). + * + * "Safe" macro, checks for illegal sequences and for string boundaries. + * Unlike U8_SET_CP_START(), this macro never reads s[length]. + * + * (In UTF-16, simply check for U16_IS_LEAD(last code unit).) + * + * @param s const uint8_t * string + * @param start int32_t starting string offset (usually 0) + * @param length int32_t string length (usually start<=length) + * @see U8_SET_CP_START + * @stable ICU 61 + */ +#define U8_TRUNCATE_IF_INCOMPLETE(s, start, length) UPRV_BLOCK_MACRO_BEGIN { \ + if((length)>(start)) { \ + uint8_t __b1=s[(length)-1]; \ + if(U8_IS_SINGLE(__b1)) { \ + /* common ASCII character */ \ + } else if(U8_IS_LEAD(__b1)) { \ + --(length); \ + } else if(U8_IS_TRAIL(__b1) && ((length)-2)>=(start)) { \ + uint8_t __b2=s[(length)-2]; \ + if(0xe0<=__b2 && __b2<=0xf4) { \ + if(__b2<0xf0 ? U8_IS_VALID_LEAD3_AND_T1(__b2, __b1) : \ + U8_IS_VALID_LEAD4_AND_T1(__b2, __b1)) { \ + (length)-=2; \ + } \ + } else if(U8_IS_TRAIL(__b2) && ((length)-3)>=(start)) { \ + uint8_t __b3=s[(length)-3]; \ + if(0xf0<=__b3 && __b3<=0xf4 && U8_IS_VALID_LEAD4_AND_T1(__b3, __b2)) { \ + (length)-=3; \ + } \ + } \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/* definitions with backward iteration -------------------------------------- */ + +/** + * Move the string offset from one code point boundary to the previous one + * and get the code point between them. + * (Pre-decrementing backward iteration.) + * "Unsafe" macro, assumes well-formed UTF-8. + * + * The input offset may be the same as the string length. + * If the offset is behind a multi-byte sequence, then the macro will read + * the whole sequence. + * If the offset is behind a lead byte, then that itself + * will be returned as the code point. + * The result is undefined if the offset is behind an illegal UTF-8 sequence. + * + * @param s const uint8_t * string + * @param i string offset + * @param c output UChar32 variable + * @see U8_PREV + * @stable ICU 2.4 + */ +#define U8_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \ + (c)=(uint8_t)(s)[--(i)]; \ + if(U8_IS_TRAIL(c)) { \ + uint8_t __b, __count=1, __shift=6; \ +\ + /* c is a trail byte */ \ + (c)&=0x3f; \ + for(;;) { \ + __b=(s)[--(i)]; \ + if(__b>=0xc0) { \ + U8_MASK_LEAD_BYTE(__b, __count); \ + (c)|=(UChar32)__b<<__shift; \ + break; \ + } else { \ + (c)|=(UChar32)(__b&0x3f)<<__shift; \ + ++__count; \ + __shift+=6; \ + } \ + } \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the previous one + * and get the code point between them. + * (Pre-decrementing backward iteration.) + * "Safe" macro, checks for illegal sequences and for string boundaries. + * + * The input offset may be the same as the string length. + * If the offset is behind a multi-byte sequence, then the macro will read + * the whole sequence. + * If the offset is behind a lead byte, then that itself + * will be returned as the code point. + * If the offset is behind an illegal UTF-8 sequence, then c is set to a negative value. + * + * @param s const uint8_t * string + * @param start int32_t starting string offset (usually 0) + * @param i int32_t string offset, must be start0) { \ + U8_BACK_1_UNSAFE(s, i); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Move the string offset from one code point boundary to the n-th one before it, + * i.e., move backward by n code points. + * (Pre-decrementing backward iteration.) + * The input offset may be the same as the string length. + * "Safe" macro, checks for illegal sequences and for string boundaries. + * + * @param s const uint8_t * string + * @param start int32_t index of the start of the string + * @param i int32_t string offset, must be start0 && (i)>(start)) { \ + U8_BACK_1(s, start, i); \ + --__N; \ + } \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary after a code point. + * If the offset is behind a partial multi-byte sequence, + * then the offset is incremented to behind the whole sequence. + * Otherwise, it is not modified. + * The input offset may be the same as the string length. + * "Unsafe" macro, assumes well-formed UTF-8. + * + * @param s const uint8_t * string + * @param i string offset + * @see U8_SET_CP_LIMIT + * @stable ICU 2.4 + */ +#define U8_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \ + U8_BACK_1_UNSAFE(s, i); \ + U8_FWD_1_UNSAFE(s, i); \ +} UPRV_BLOCK_MACRO_END + +/** + * Adjust a random-access offset to a code point boundary after a code point. + * If the offset is behind a partial multi-byte sequence, + * then the offset is incremented to behind the whole sequence. + * Otherwise, it is not modified. + * The input offset may be the same as the string length. + * "Safe" macro, checks for illegal sequences and for string boundaries. + * + * The length can be negative for a NUL-terminated string. + * + * @param s const uint8_t * string + * @param start int32_t starting string offset (usually 0) + * @param i int32_t string offset, must be start<=i<=length + * @param length int32_t string length + * @see U8_SET_CP_LIMIT_UNSAFE + * @stable ICU 2.4 + */ +#define U8_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \ + if((start)<(i) && ((i)<(length) || (length)<0)) { \ + U8_BACK_1(s, start, i); \ + U8_FWD_1(s, i, length); \ + } \ +} UPRV_BLOCK_MACRO_END + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/wasm/stdlib-symbols.txt b/non-source/foreign/tree-sitter/lib/src/wasm/stdlib-symbols.txt new file mode 100644 index 00000000..1b6d789e --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/wasm/stdlib-symbols.txt @@ -0,0 +1,24 @@ +"calloc", +"free", +"iswalnum", +"iswalpha", +"iswblank", +"iswdigit", +"iswlower", +"iswspace", +"iswupper", +"iswxdigit", +"malloc", +"memchr", +"memcmp", +"memcpy", +"memmove", +"memset", +"realloc", +"strcmp", +"strlen", +"strncat", +"strncmp", +"strncpy", +"towlower", +"towupper", diff --git a/non-source/foreign/tree-sitter/lib/src/wasm/stdlib.c b/non-source/foreign/tree-sitter/lib/src/wasm/stdlib.c new file mode 100644 index 00000000..e3e59f5d --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/wasm/stdlib.c @@ -0,0 +1,113 @@ +// This file implements a very simple allocator for external scanners running +// in WASM. Allocation is just bumping a static pointer and growing the heap +// as needed, and freeing is mostly a noop. But in the special case of freeing +// the last-allocated pointer, we'll reuse that pointer again. + +#ifdef TREE_SITTER_FEATURE_WASM + +#include +#include +#include +#include + +extern void tree_sitter_debug_message(const char *, size_t); + +#define PAGESIZE 0x10000 +#define MAX_HEAP_SIZE (4 * 1024 * 1024) + +typedef struct { + size_t size; + char data[0]; +} Region; + +static Region *heap_end = NULL; +static Region *heap_start = NULL; +static Region *next = NULL; + +// Get the region metadata for the given heap pointer. +static inline Region *region_for_ptr(void *ptr) { + return ((Region *)ptr) - 1; +} + +// Get the location of the next region after the given region, +// if the given region had the given size. +static inline Region *region_after(Region *self, size_t len) { + char *address = self->data + len; + char *aligned = (char *)((uintptr_t)(address + 3) & ~0x3); + return (Region *)aligned; +} + +static void *get_heap_end() { + return (void *)(__builtin_wasm_memory_size(0) * PAGESIZE); +} + +static int grow_heap(size_t size) { + size_t new_page_count = ((size - 1) / PAGESIZE) + 1; + return __builtin_wasm_memory_grow(0, new_page_count) != SIZE_MAX; +} + +// Clear out the heap, and move it to the given address. +void reset_heap(void *new_heap_start) { + heap_start = new_heap_start; + next = new_heap_start; + heap_end = get_heap_end(); +} + +void *malloc(size_t size) { + Region *region_end = region_after(next, size); + + if (region_end > heap_end) { + if ((char *)region_end - (char *)heap_start > MAX_HEAP_SIZE) { + return NULL; + } + if (!grow_heap(size)) return NULL; + heap_end = get_heap_end(); + } + + void *result = &next->data; + next->size = size; + next = region_end; + + return result; +} + +void free(void *ptr) { + if (ptr == NULL) return; + + Region *region = region_for_ptr(ptr); + Region *region_end = region_after(region, region->size); + + // When freeing the last allocated pointer, re-use that + // pointer for the next allocation. + if (region_end == next) { + next = region; + } +} + +void *calloc(size_t count, size_t size) { + void *result = malloc(count * size); + memset(result, 0, count * size); + return result; +} + +void *realloc(void *ptr, size_t new_size) { + if (ptr == NULL) { + return malloc(new_size); + } + + Region *region = region_for_ptr(ptr); + Region *region_end = region_after(region, region->size); + + // When reallocating the last allocated region, return + // the same pointer, and skip copying the data. + if (region_end == next) { + next = region; + return malloc(new_size); + } + + void *result = malloc(new_size); + memcpy(result, ®ion->data, region->size); + return result; +} + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/wasm/wasm-stdlib.h b/non-source/foreign/tree-sitter/lib/src/wasm/wasm-stdlib.h new file mode 100644 index 00000000..a9d241d7 --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/wasm/wasm-stdlib.h @@ -0,0 +1,1314 @@ +#ifdef TREE_SITTER_FEATURE_WASM + +unsigned char STDLIB_WASM[] = { + 0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x06, 0x60, + 0x02, 0x7f, 0x7f, 0x01, 0x7f, 0x60, 0x01, 0x7f, 0x00, 0x60, 0x00, 0x00, + 0x60, 0x01, 0x7f, 0x01, 0x7f, 0x60, 0x00, 0x01, 0x7f, 0x60, 0x03, 0x7f, + 0x7f, 0x7f, 0x01, 0x7f, 0x02, 0x9e, 0x01, 0x05, 0x03, 0x65, 0x6e, 0x76, + 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x02, 0x00, 0x02, 0x03, 0x65, + 0x6e, 0x76, 0x19, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x01, 0x70, 0x00, 0x01, 0x16, 0x77, 0x61, 0x73, + 0x69, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x31, 0x08, 0x61, 0x72, 0x67, 0x73, + 0x5f, 0x67, 0x65, 0x74, 0x00, 0x00, 0x16, 0x77, 0x61, 0x73, 0x69, 0x5f, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x31, 0x0e, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x73, 0x5f, 0x67, 0x65, 0x74, 0x00, 0x00, 0x16, 0x77, + 0x61, 0x73, 0x69, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x31, 0x09, 0x70, 0x72, + 0x6f, 0x63, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x00, 0x01, 0x03, 0x2a, 0x29, + 0x02, 0x00, 0x02, 0x02, 0x01, 0x03, 0x01, 0x00, 0x00, 0x01, 0x04, 0x00, + 0x00, 0x01, 0x02, 0x02, 0x05, 0x05, 0x03, 0x03, 0x05, 0x05, 0x00, 0x03, + 0x00, 0x03, 0x05, 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x05, 0x05, 0x05, + 0x03, 0x03, 0x00, 0x03, 0x03, 0x06, 0x0d, 0x02, 0x7f, 0x01, 0x41, 0x80, + 0x80, 0x04, 0x0b, 0x7f, 0x00, 0x41, 0x00, 0x0b, 0x07, 0xad, 0x02, 0x1c, + 0x11, 0x5f, 0x5f, 0x77, 0x61, 0x73, 0x6d, 0x5f, 0x63, 0x61, 0x6c, 0x6c, + 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x00, 0x03, 0x0f, 0x5f, 0x5f, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x03, 0x00, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x00, 0x06, 0x0a, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x00, 0x07, + 0x06, 0x6d, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x00, 0x08, 0x04, 0x66, 0x72, + 0x65, 0x65, 0x00, 0x09, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x00, + 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x73, 0x65, 0x74, 0x00, 0x14, 0x07, 0x72, + 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x00, 0x0b, 0x06, 0x6d, 0x65, 0x6d, + 0x63, 0x70, 0x79, 0x00, 0x13, 0x06, 0x73, 0x74, 0x72, 0x6c, 0x65, 0x6e, + 0x00, 0x15, 0x08, 0x69, 0x73, 0x77, 0x61, 0x6c, 0x6e, 0x75, 0x6d, 0x00, + 0x2b, 0x08, 0x69, 0x73, 0x77, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x16, + 0x08, 0x69, 0x73, 0x77, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x00, 0x22, 0x08, + 0x69, 0x73, 0x77, 0x64, 0x69, 0x67, 0x69, 0x74, 0x00, 0x23, 0x08, 0x69, + 0x73, 0x77, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x00, 0x20, 0x08, 0x69, 0x73, + 0x77, 0x73, 0x70, 0x61, 0x63, 0x65, 0x00, 0x2a, 0x08, 0x69, 0x73, 0x77, + 0x75, 0x70, 0x70, 0x65, 0x72, 0x00, 0x1e, 0x09, 0x69, 0x73, 0x77, 0x78, + 0x64, 0x69, 0x67, 0x69, 0x74, 0x00, 0x27, 0x08, 0x74, 0x6f, 0x77, 0x6c, + 0x6f, 0x77, 0x65, 0x72, 0x00, 0x1a, 0x08, 0x74, 0x6f, 0x77, 0x75, 0x70, + 0x70, 0x65, 0x72, 0x00, 0x1c, 0x06, 0x6d, 0x65, 0x6d, 0x63, 0x68, 0x72, + 0x00, 0x18, 0x06, 0x6d, 0x65, 0x6d, 0x63, 0x6d, 0x70, 0x00, 0x17, 0x07, + 0x6d, 0x65, 0x6d, 0x6d, 0x6f, 0x76, 0x65, 0x00, 0x1f, 0x06, 0x73, 0x74, + 0x72, 0x63, 0x6d, 0x70, 0x00, 0x19, 0x07, 0x73, 0x74, 0x72, 0x6e, 0x63, + 0x61, 0x74, 0x00, 0x24, 0x07, 0x73, 0x74, 0x72, 0x6e, 0x63, 0x6d, 0x70, + 0x00, 0x1d, 0x07, 0x73, 0x74, 0x72, 0x6e, 0x63, 0x70, 0x79, 0x00, 0x26, + 0x08, 0x01, 0x05, 0x0a, 0xff, 0x2b, 0x29, 0x02, 0x00, 0x0b, 0x03, 0x00, + 0x00, 0x0b, 0x0d, 0x00, 0x41, 0xe8, 0xc2, 0x04, 0x41, 0x00, 0x41, 0x10, + 0xfc, 0x0b, 0x00, 0x0b, 0x51, 0x01, 0x01, 0x7f, 0x02, 0x40, 0x02, 0x40, + 0x23, 0x81, 0x80, 0x80, 0x80, 0x00, 0x41, 0xe8, 0xc2, 0x84, 0x80, 0x00, + 0x6a, 0x28, 0x02, 0x00, 0x0d, 0x00, 0x23, 0x81, 0x80, 0x80, 0x80, 0x00, + 0x41, 0xe8, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x41, 0x01, 0x36, 0x02, 0x00, + 0x10, 0x83, 0x80, 0x80, 0x80, 0x00, 0x10, 0x8d, 0x80, 0x80, 0x80, 0x00, + 0x21, 0x00, 0x10, 0x92, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0x0d, 0x01, + 0x0f, 0x0b, 0x00, 0x0b, 0x20, 0x00, 0x10, 0x90, 0x80, 0x80, 0x80, 0x00, + 0x00, 0x0b, 0x37, 0x01, 0x01, 0x7f, 0x23, 0x81, 0x80, 0x80, 0x80, 0x00, + 0x22, 0x01, 0x41, 0xf0, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x20, 0x00, 0x36, + 0x02, 0x00, 0x20, 0x01, 0x41, 0xec, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x20, + 0x00, 0x36, 0x02, 0x00, 0x20, 0x01, 0x41, 0xf4, 0xc2, 0x84, 0x80, 0x00, + 0x6a, 0x3f, 0x00, 0x41, 0x10, 0x74, 0x36, 0x02, 0x00, 0x0b, 0xb4, 0x01, + 0x01, 0x03, 0x7f, 0x02, 0x40, 0x02, 0x40, 0x23, 0x81, 0x80, 0x80, 0x80, + 0x00, 0x22, 0x01, 0x41, 0xf4, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x28, 0x02, + 0x00, 0x20, 0x01, 0x41, 0xf0, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x28, 0x02, + 0x00, 0x22, 0x01, 0x20, 0x00, 0x6a, 0x41, 0x07, 0x6a, 0x41, 0x7c, 0x71, + 0x22, 0x02, 0x4f, 0x0d, 0x00, 0x41, 0x00, 0x21, 0x01, 0x20, 0x02, 0x23, + 0x81, 0x80, 0x80, 0x80, 0x00, 0x41, 0xec, 0xc2, 0x84, 0x80, 0x00, 0x6a, + 0x28, 0x02, 0x00, 0x6b, 0x41, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x0d, 0x01, + 0x20, 0x00, 0x41, 0x7f, 0x6a, 0x41, 0x10, 0x76, 0x41, 0x01, 0x6a, 0x40, + 0x00, 0x41, 0x7f, 0x46, 0x0d, 0x01, 0x3f, 0x00, 0x21, 0x01, 0x23, 0x81, + 0x80, 0x80, 0x80, 0x00, 0x22, 0x03, 0x41, 0xf4, 0xc2, 0x84, 0x80, 0x00, + 0x6a, 0x20, 0x01, 0x41, 0x10, 0x74, 0x36, 0x02, 0x00, 0x20, 0x03, 0x41, + 0xf0, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x28, 0x02, 0x00, 0x21, 0x01, 0x0b, + 0x20, 0x01, 0x20, 0x00, 0x36, 0x02, 0x00, 0x23, 0x81, 0x80, 0x80, 0x80, + 0x00, 0x41, 0xf0, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x20, 0x02, 0x36, 0x02, + 0x00, 0x20, 0x01, 0x41, 0x04, 0x6a, 0x21, 0x01, 0x0b, 0x20, 0x01, 0x0b, + 0x48, 0x01, 0x02, 0x7f, 0x02, 0x40, 0x20, 0x00, 0x45, 0x0d, 0x00, 0x20, + 0x00, 0x41, 0x7c, 0x6a, 0x22, 0x01, 0x28, 0x02, 0x00, 0x21, 0x02, 0x23, + 0x81, 0x80, 0x80, 0x80, 0x00, 0x41, 0xf0, 0xc2, 0x84, 0x80, 0x00, 0x6a, + 0x28, 0x02, 0x00, 0x20, 0x00, 0x20, 0x02, 0x6a, 0x41, 0x03, 0x6a, 0x41, + 0x7c, 0x71, 0x47, 0x0d, 0x00, 0x23, 0x81, 0x80, 0x80, 0x80, 0x00, 0x41, + 0xf0, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x20, 0x01, 0x36, 0x02, 0x00, 0x0b, + 0x0b, 0x19, 0x00, 0x20, 0x01, 0x20, 0x00, 0x6c, 0x22, 0x00, 0x10, 0x88, + 0x80, 0x80, 0x80, 0x00, 0x41, 0x00, 0x20, 0x00, 0x10, 0x94, 0x80, 0x80, + 0x80, 0x00, 0x0b, 0x6b, 0x01, 0x02, 0x7f, 0x02, 0x40, 0x20, 0x00, 0x45, + 0x0d, 0x00, 0x20, 0x00, 0x41, 0x7c, 0x6a, 0x22, 0x02, 0x28, 0x02, 0x00, + 0x21, 0x03, 0x02, 0x40, 0x23, 0x81, 0x80, 0x80, 0x80, 0x00, 0x41, 0xf0, + 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x28, 0x02, 0x00, 0x20, 0x00, 0x20, 0x03, + 0x6a, 0x41, 0x03, 0x6a, 0x41, 0x7c, 0x71, 0x47, 0x0d, 0x00, 0x23, 0x81, + 0x80, 0x80, 0x80, 0x00, 0x41, 0xf0, 0xc2, 0x84, 0x80, 0x00, 0x6a, 0x20, + 0x02, 0x36, 0x02, 0x00, 0x0c, 0x01, 0x0b, 0x20, 0x01, 0x10, 0x88, 0x80, + 0x80, 0x80, 0x00, 0x20, 0x00, 0x20, 0x02, 0x28, 0x02, 0x00, 0x10, 0x93, + 0x80, 0x80, 0x80, 0x00, 0x0f, 0x0b, 0x20, 0x01, 0x10, 0x88, 0x80, 0x80, + 0x80, 0x00, 0x0b, 0x0b, 0x00, 0x20, 0x00, 0x10, 0x90, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x0b, 0xd5, 0x01, 0x01, 0x03, 0x7f, 0x23, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x00, 0x24, 0x80, 0x80, 0x80, 0x80, + 0x00, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x20, + 0x00, 0x41, 0x08, 0x6a, 0x20, 0x00, 0x41, 0x0c, 0x6a, 0x10, 0x8f, 0x80, + 0x80, 0x80, 0x00, 0x0d, 0x00, 0x20, 0x00, 0x28, 0x02, 0x08, 0x41, 0x01, + 0x6a, 0x22, 0x01, 0x45, 0x0d, 0x01, 0x20, 0x00, 0x28, 0x02, 0x0c, 0x10, + 0x88, 0x80, 0x80, 0x80, 0x00, 0x22, 0x02, 0x45, 0x0d, 0x02, 0x20, 0x01, + 0x41, 0x04, 0x10, 0x8a, 0x80, 0x80, 0x80, 0x00, 0x22, 0x01, 0x45, 0x0d, + 0x03, 0x20, 0x01, 0x20, 0x02, 0x10, 0x8e, 0x80, 0x80, 0x80, 0x00, 0x0d, + 0x04, 0x20, 0x00, 0x28, 0x02, 0x08, 0x20, 0x01, 0x10, 0x84, 0x80, 0x80, + 0x80, 0x00, 0x21, 0x01, 0x20, 0x00, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80, + 0x80, 0x80, 0x00, 0x20, 0x01, 0x0f, 0x0b, 0x41, 0xc7, 0x00, 0x10, 0x8c, + 0x80, 0x80, 0x80, 0x00, 0x00, 0x0b, 0x41, 0xc6, 0x00, 0x10, 0x8c, 0x80, + 0x80, 0x80, 0x00, 0x00, 0x0b, 0x41, 0xc6, 0x00, 0x10, 0x8c, 0x80, 0x80, + 0x80, 0x00, 0x00, 0x0b, 0x20, 0x02, 0x10, 0x89, 0x80, 0x80, 0x80, 0x00, + 0x41, 0xc6, 0x00, 0x10, 0x8c, 0x80, 0x80, 0x80, 0x00, 0x00, 0x0b, 0x20, + 0x02, 0x10, 0x89, 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x10, 0x89, 0x80, + 0x80, 0x80, 0x00, 0x41, 0xc7, 0x00, 0x10, 0x8c, 0x80, 0x80, 0x80, 0x00, + 0x00, 0x0b, 0x11, 0x00, 0x20, 0x00, 0x20, 0x01, 0x10, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x41, 0xff, 0xff, 0x03, 0x71, 0x0b, 0x11, 0x00, 0x20, 0x00, + 0x20, 0x01, 0x10, 0x81, 0x80, 0x80, 0x80, 0x00, 0x41, 0xff, 0xff, 0x03, + 0x71, 0x0b, 0x0b, 0x00, 0x20, 0x00, 0x10, 0x82, 0x80, 0x80, 0x80, 0x00, + 0x00, 0x0b, 0x02, 0x00, 0x0b, 0x0e, 0x00, 0x10, 0x91, 0x80, 0x80, 0x80, + 0x00, 0x10, 0x91, 0x80, 0x80, 0x80, 0x00, 0x0b, 0xee, 0x07, 0x01, 0x04, + 0x7f, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x20, 0x02, 0x41, 0x20, 0x4b, + 0x0d, 0x00, 0x20, 0x01, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x01, 0x20, 0x02, + 0x45, 0x0d, 0x01, 0x20, 0x00, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x3a, 0x00, + 0x00, 0x20, 0x02, 0x41, 0x7f, 0x6a, 0x21, 0x03, 0x20, 0x00, 0x41, 0x01, + 0x6a, 0x21, 0x04, 0x20, 0x01, 0x41, 0x01, 0x6a, 0x22, 0x05, 0x41, 0x03, + 0x71, 0x45, 0x0d, 0x02, 0x20, 0x03, 0x45, 0x0d, 0x02, 0x20, 0x00, 0x20, + 0x01, 0x2d, 0x00, 0x01, 0x3a, 0x00, 0x01, 0x20, 0x02, 0x41, 0x7e, 0x6a, + 0x21, 0x03, 0x20, 0x00, 0x41, 0x02, 0x6a, 0x21, 0x04, 0x20, 0x01, 0x41, + 0x02, 0x6a, 0x22, 0x05, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x02, 0x20, 0x03, + 0x45, 0x0d, 0x02, 0x20, 0x00, 0x20, 0x01, 0x2d, 0x00, 0x02, 0x3a, 0x00, + 0x02, 0x20, 0x02, 0x41, 0x7d, 0x6a, 0x21, 0x03, 0x20, 0x00, 0x41, 0x03, + 0x6a, 0x21, 0x04, 0x20, 0x01, 0x41, 0x03, 0x6a, 0x22, 0x05, 0x41, 0x03, + 0x71, 0x45, 0x0d, 0x02, 0x20, 0x03, 0x45, 0x0d, 0x02, 0x20, 0x00, 0x20, + 0x01, 0x2d, 0x00, 0x03, 0x3a, 0x00, 0x03, 0x20, 0x02, 0x41, 0x7c, 0x6a, + 0x21, 0x03, 0x20, 0x00, 0x41, 0x04, 0x6a, 0x21, 0x04, 0x20, 0x01, 0x41, + 0x04, 0x6a, 0x21, 0x05, 0x0c, 0x02, 0x0b, 0x20, 0x00, 0x20, 0x01, 0x20, + 0x02, 0xfc, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x0f, 0x0b, 0x20, 0x02, 0x21, + 0x03, 0x20, 0x00, 0x21, 0x04, 0x20, 0x01, 0x21, 0x05, 0x0b, 0x02, 0x40, + 0x02, 0x40, 0x20, 0x04, 0x41, 0x03, 0x71, 0x22, 0x02, 0x0d, 0x00, 0x02, + 0x40, 0x02, 0x40, 0x20, 0x03, 0x41, 0x10, 0x4f, 0x0d, 0x00, 0x20, 0x03, + 0x21, 0x02, 0x0c, 0x01, 0x0b, 0x02, 0x40, 0x20, 0x03, 0x41, 0x70, 0x6a, + 0x22, 0x02, 0x41, 0x10, 0x71, 0x0d, 0x00, 0x20, 0x04, 0x20, 0x05, 0x29, + 0x02, 0x00, 0x37, 0x02, 0x00, 0x20, 0x04, 0x20, 0x05, 0x29, 0x02, 0x08, + 0x37, 0x02, 0x08, 0x20, 0x04, 0x41, 0x10, 0x6a, 0x21, 0x04, 0x20, 0x05, + 0x41, 0x10, 0x6a, 0x21, 0x05, 0x20, 0x02, 0x21, 0x03, 0x0b, 0x20, 0x02, + 0x41, 0x10, 0x49, 0x0d, 0x00, 0x20, 0x03, 0x21, 0x02, 0x03, 0x40, 0x20, + 0x04, 0x20, 0x05, 0x29, 0x02, 0x00, 0x37, 0x02, 0x00, 0x20, 0x04, 0x20, + 0x05, 0x29, 0x02, 0x08, 0x37, 0x02, 0x08, 0x20, 0x04, 0x20, 0x05, 0x29, + 0x02, 0x10, 0x37, 0x02, 0x10, 0x20, 0x04, 0x20, 0x05, 0x29, 0x02, 0x18, + 0x37, 0x02, 0x18, 0x20, 0x04, 0x41, 0x20, 0x6a, 0x21, 0x04, 0x20, 0x05, + 0x41, 0x20, 0x6a, 0x21, 0x05, 0x20, 0x02, 0x41, 0x60, 0x6a, 0x22, 0x02, + 0x41, 0x0f, 0x4b, 0x0d, 0x00, 0x0b, 0x0b, 0x02, 0x40, 0x20, 0x02, 0x41, + 0x08, 0x49, 0x0d, 0x00, 0x20, 0x04, 0x20, 0x05, 0x29, 0x02, 0x00, 0x37, + 0x02, 0x00, 0x20, 0x05, 0x41, 0x08, 0x6a, 0x21, 0x05, 0x20, 0x04, 0x41, + 0x08, 0x6a, 0x21, 0x04, 0x0b, 0x02, 0x40, 0x20, 0x02, 0x41, 0x04, 0x71, + 0x45, 0x0d, 0x00, 0x20, 0x04, 0x20, 0x05, 0x28, 0x02, 0x00, 0x36, 0x02, + 0x00, 0x20, 0x05, 0x41, 0x04, 0x6a, 0x21, 0x05, 0x20, 0x04, 0x41, 0x04, + 0x6a, 0x21, 0x04, 0x0b, 0x02, 0x40, 0x20, 0x02, 0x41, 0x02, 0x71, 0x45, + 0x0d, 0x00, 0x20, 0x04, 0x20, 0x05, 0x2f, 0x00, 0x00, 0x3b, 0x00, 0x00, + 0x20, 0x04, 0x41, 0x02, 0x6a, 0x21, 0x04, 0x20, 0x05, 0x41, 0x02, 0x6a, + 0x21, 0x05, 0x0b, 0x20, 0x02, 0x41, 0x01, 0x71, 0x45, 0x0d, 0x01, 0x20, + 0x04, 0x20, 0x05, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x20, 0x00, 0x0f, + 0x0b, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x20, + 0x03, 0x41, 0x20, 0x49, 0x0d, 0x00, 0x20, 0x04, 0x20, 0x05, 0x28, 0x02, + 0x00, 0x22, 0x03, 0x3a, 0x00, 0x00, 0x02, 0x40, 0x02, 0x40, 0x20, 0x02, + 0x41, 0x7f, 0x6a, 0x0e, 0x03, 0x03, 0x00, 0x01, 0x03, 0x0b, 0x20, 0x04, + 0x20, 0x03, 0x41, 0x08, 0x76, 0x3a, 0x00, 0x01, 0x20, 0x04, 0x20, 0x05, + 0x41, 0x06, 0x6a, 0x29, 0x01, 0x00, 0x37, 0x02, 0x06, 0x20, 0x04, 0x20, + 0x05, 0x28, 0x02, 0x04, 0x41, 0x10, 0x74, 0x20, 0x03, 0x41, 0x10, 0x76, + 0x72, 0x36, 0x02, 0x02, 0x20, 0x04, 0x41, 0x12, 0x6a, 0x21, 0x02, 0x20, + 0x05, 0x41, 0x12, 0x6a, 0x21, 0x01, 0x41, 0x0e, 0x21, 0x06, 0x20, 0x05, + 0x41, 0x0e, 0x6a, 0x28, 0x01, 0x00, 0x21, 0x05, 0x41, 0x0e, 0x21, 0x03, + 0x0c, 0x03, 0x0b, 0x20, 0x04, 0x20, 0x05, 0x41, 0x05, 0x6a, 0x29, 0x00, + 0x00, 0x37, 0x02, 0x05, 0x20, 0x04, 0x20, 0x05, 0x28, 0x02, 0x04, 0x41, + 0x18, 0x74, 0x20, 0x03, 0x41, 0x08, 0x76, 0x72, 0x36, 0x02, 0x01, 0x20, + 0x04, 0x41, 0x11, 0x6a, 0x21, 0x02, 0x20, 0x05, 0x41, 0x11, 0x6a, 0x21, + 0x01, 0x41, 0x0d, 0x21, 0x06, 0x20, 0x05, 0x41, 0x0d, 0x6a, 0x28, 0x00, + 0x00, 0x21, 0x05, 0x41, 0x0f, 0x21, 0x03, 0x0c, 0x02, 0x0b, 0x02, 0x40, + 0x02, 0x40, 0x20, 0x03, 0x41, 0x10, 0x4f, 0x0d, 0x00, 0x20, 0x04, 0x21, + 0x02, 0x20, 0x05, 0x21, 0x01, 0x0c, 0x01, 0x0b, 0x20, 0x04, 0x20, 0x05, + 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x20, 0x04, 0x20, 0x05, 0x28, 0x00, + 0x01, 0x36, 0x00, 0x01, 0x20, 0x04, 0x20, 0x05, 0x29, 0x00, 0x05, 0x37, + 0x00, 0x05, 0x20, 0x04, 0x20, 0x05, 0x2f, 0x00, 0x0d, 0x3b, 0x00, 0x0d, + 0x20, 0x04, 0x20, 0x05, 0x2d, 0x00, 0x0f, 0x3a, 0x00, 0x0f, 0x20, 0x04, + 0x41, 0x10, 0x6a, 0x21, 0x02, 0x20, 0x05, 0x41, 0x10, 0x6a, 0x21, 0x01, + 0x0b, 0x20, 0x03, 0x41, 0x08, 0x71, 0x0d, 0x02, 0x0c, 0x03, 0x0b, 0x20, + 0x04, 0x20, 0x03, 0x41, 0x10, 0x76, 0x3a, 0x00, 0x02, 0x20, 0x04, 0x20, + 0x03, 0x41, 0x08, 0x76, 0x3a, 0x00, 0x01, 0x20, 0x04, 0x20, 0x05, 0x41, + 0x07, 0x6a, 0x29, 0x00, 0x00, 0x37, 0x02, 0x07, 0x20, 0x04, 0x20, 0x05, + 0x28, 0x02, 0x04, 0x41, 0x08, 0x74, 0x20, 0x03, 0x41, 0x18, 0x76, 0x72, + 0x36, 0x02, 0x03, 0x20, 0x04, 0x41, 0x13, 0x6a, 0x21, 0x02, 0x20, 0x05, + 0x41, 0x13, 0x6a, 0x21, 0x01, 0x41, 0x0f, 0x21, 0x06, 0x20, 0x05, 0x41, + 0x0f, 0x6a, 0x28, 0x00, 0x00, 0x21, 0x05, 0x41, 0x0d, 0x21, 0x03, 0x0b, + 0x20, 0x04, 0x20, 0x06, 0x6a, 0x20, 0x05, 0x36, 0x02, 0x00, 0x0b, 0x20, + 0x02, 0x20, 0x01, 0x29, 0x00, 0x00, 0x37, 0x00, 0x00, 0x20, 0x02, 0x41, + 0x08, 0x6a, 0x21, 0x02, 0x20, 0x01, 0x41, 0x08, 0x6a, 0x21, 0x01, 0x0b, + 0x02, 0x40, 0x20, 0x03, 0x41, 0x04, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x02, + 0x20, 0x01, 0x28, 0x00, 0x00, 0x36, 0x00, 0x00, 0x20, 0x02, 0x41, 0x04, + 0x6a, 0x21, 0x02, 0x20, 0x01, 0x41, 0x04, 0x6a, 0x21, 0x01, 0x0b, 0x02, + 0x40, 0x20, 0x03, 0x41, 0x02, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x02, 0x20, + 0x01, 0x2f, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x20, 0x02, 0x41, 0x02, 0x6a, + 0x21, 0x02, 0x20, 0x01, 0x41, 0x02, 0x6a, 0x21, 0x01, 0x0b, 0x20, 0x03, + 0x41, 0x01, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x02, 0x20, 0x01, 0x2d, 0x00, + 0x00, 0x3a, 0x00, 0x00, 0x0b, 0x20, 0x00, 0x0b, 0x88, 0x03, 0x02, 0x03, + 0x7f, 0x01, 0x7e, 0x02, 0x40, 0x20, 0x02, 0x41, 0x21, 0x49, 0x0d, 0x00, + 0x20, 0x00, 0x20, 0x01, 0x20, 0x02, 0xfc, 0x0b, 0x00, 0x20, 0x00, 0x0f, + 0x0b, 0x02, 0x40, 0x20, 0x02, 0x45, 0x0d, 0x00, 0x20, 0x00, 0x20, 0x01, + 0x3a, 0x00, 0x00, 0x20, 0x00, 0x20, 0x02, 0x6a, 0x22, 0x03, 0x41, 0x7f, + 0x6a, 0x20, 0x01, 0x3a, 0x00, 0x00, 0x20, 0x02, 0x41, 0x03, 0x49, 0x0d, + 0x00, 0x20, 0x00, 0x20, 0x01, 0x3a, 0x00, 0x02, 0x20, 0x00, 0x20, 0x01, + 0x3a, 0x00, 0x01, 0x20, 0x03, 0x41, 0x7d, 0x6a, 0x20, 0x01, 0x3a, 0x00, + 0x00, 0x20, 0x03, 0x41, 0x7e, 0x6a, 0x20, 0x01, 0x3a, 0x00, 0x00, 0x20, + 0x02, 0x41, 0x07, 0x49, 0x0d, 0x00, 0x20, 0x00, 0x20, 0x01, 0x3a, 0x00, + 0x03, 0x20, 0x03, 0x41, 0x7c, 0x6a, 0x20, 0x01, 0x3a, 0x00, 0x00, 0x20, + 0x02, 0x41, 0x09, 0x49, 0x0d, 0x00, 0x20, 0x00, 0x41, 0x00, 0x20, 0x00, + 0x6b, 0x41, 0x03, 0x71, 0x22, 0x04, 0x6a, 0x22, 0x05, 0x20, 0x01, 0x41, + 0xff, 0x01, 0x71, 0x41, 0x81, 0x82, 0x84, 0x08, 0x6c, 0x22, 0x03, 0x36, + 0x02, 0x00, 0x20, 0x05, 0x20, 0x02, 0x20, 0x04, 0x6b, 0x41, 0x3c, 0x71, + 0x22, 0x01, 0x6a, 0x22, 0x02, 0x41, 0x7c, 0x6a, 0x20, 0x03, 0x36, 0x02, + 0x00, 0x20, 0x01, 0x41, 0x09, 0x49, 0x0d, 0x00, 0x20, 0x05, 0x20, 0x03, + 0x36, 0x02, 0x08, 0x20, 0x05, 0x20, 0x03, 0x36, 0x02, 0x04, 0x20, 0x02, + 0x41, 0x78, 0x6a, 0x20, 0x03, 0x36, 0x02, 0x00, 0x20, 0x02, 0x41, 0x74, + 0x6a, 0x20, 0x03, 0x36, 0x02, 0x00, 0x20, 0x01, 0x41, 0x19, 0x49, 0x0d, + 0x00, 0x20, 0x05, 0x20, 0x03, 0x36, 0x02, 0x18, 0x20, 0x05, 0x20, 0x03, + 0x36, 0x02, 0x14, 0x20, 0x05, 0x20, 0x03, 0x36, 0x02, 0x10, 0x20, 0x05, + 0x20, 0x03, 0x36, 0x02, 0x0c, 0x20, 0x02, 0x41, 0x70, 0x6a, 0x20, 0x03, + 0x36, 0x02, 0x00, 0x20, 0x02, 0x41, 0x6c, 0x6a, 0x20, 0x03, 0x36, 0x02, + 0x00, 0x20, 0x02, 0x41, 0x68, 0x6a, 0x20, 0x03, 0x36, 0x02, 0x00, 0x20, + 0x02, 0x41, 0x64, 0x6a, 0x20, 0x03, 0x36, 0x02, 0x00, 0x20, 0x01, 0x20, + 0x05, 0x41, 0x04, 0x71, 0x41, 0x18, 0x72, 0x22, 0x02, 0x6b, 0x22, 0x01, + 0x41, 0x20, 0x49, 0x0d, 0x00, 0x20, 0x03, 0xad, 0x42, 0x81, 0x80, 0x80, + 0x80, 0x10, 0x7e, 0x21, 0x06, 0x20, 0x05, 0x20, 0x02, 0x6a, 0x21, 0x02, + 0x03, 0x40, 0x20, 0x02, 0x20, 0x06, 0x37, 0x03, 0x18, 0x20, 0x02, 0x20, + 0x06, 0x37, 0x03, 0x10, 0x20, 0x02, 0x20, 0x06, 0x37, 0x03, 0x08, 0x20, + 0x02, 0x20, 0x06, 0x37, 0x03, 0x00, 0x20, 0x02, 0x41, 0x20, 0x6a, 0x21, + 0x02, 0x20, 0x01, 0x41, 0x60, 0x6a, 0x22, 0x01, 0x41, 0x1f, 0x4b, 0x0d, + 0x00, 0x0b, 0x0b, 0x20, 0x00, 0x0b, 0xcf, 0x01, 0x01, 0x03, 0x7f, 0x20, + 0x00, 0x21, 0x01, 0x02, 0x40, 0x02, 0x40, 0x20, 0x00, 0x41, 0x03, 0x71, + 0x45, 0x0d, 0x00, 0x02, 0x40, 0x20, 0x00, 0x2d, 0x00, 0x00, 0x0d, 0x00, + 0x20, 0x00, 0x20, 0x00, 0x6b, 0x0f, 0x0b, 0x20, 0x00, 0x41, 0x01, 0x6a, + 0x22, 0x01, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x01, 0x2d, 0x00, + 0x00, 0x45, 0x0d, 0x01, 0x20, 0x00, 0x41, 0x02, 0x6a, 0x22, 0x01, 0x41, + 0x03, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x45, 0x0d, + 0x01, 0x20, 0x00, 0x41, 0x03, 0x6a, 0x22, 0x01, 0x41, 0x03, 0x71, 0x45, + 0x0d, 0x00, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x45, 0x0d, 0x01, 0x20, 0x00, + 0x41, 0x04, 0x6a, 0x22, 0x01, 0x41, 0x03, 0x71, 0x0d, 0x01, 0x0b, 0x20, + 0x01, 0x41, 0x7c, 0x6a, 0x21, 0x02, 0x20, 0x01, 0x41, 0x7b, 0x6a, 0x21, + 0x01, 0x03, 0x40, 0x20, 0x01, 0x41, 0x04, 0x6a, 0x21, 0x01, 0x41, 0x80, + 0x82, 0x84, 0x08, 0x20, 0x02, 0x41, 0x04, 0x6a, 0x22, 0x02, 0x28, 0x02, + 0x00, 0x22, 0x03, 0x6b, 0x20, 0x03, 0x72, 0x41, 0x80, 0x81, 0x82, 0x84, + 0x78, 0x71, 0x41, 0x80, 0x81, 0x82, 0x84, 0x78, 0x46, 0x0d, 0x00, 0x0b, + 0x03, 0x40, 0x20, 0x01, 0x41, 0x01, 0x6a, 0x21, 0x01, 0x20, 0x02, 0x2d, + 0x00, 0x00, 0x21, 0x03, 0x20, 0x02, 0x41, 0x01, 0x6a, 0x21, 0x02, 0x20, + 0x03, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x01, 0x20, 0x00, 0x6b, 0x0b, 0x44, + 0x00, 0x02, 0x40, 0x20, 0x00, 0x41, 0xff, 0xff, 0x07, 0x4b, 0x0d, 0x00, + 0x20, 0x00, 0x41, 0x08, 0x76, 0x41, 0x80, 0x80, 0x84, 0x80, 0x00, 0x6a, + 0x2d, 0x00, 0x00, 0x41, 0x05, 0x74, 0x20, 0x00, 0x41, 0x03, 0x76, 0x41, + 0x1f, 0x71, 0x72, 0x41, 0x80, 0x80, 0x84, 0x80, 0x00, 0x6a, 0x2d, 0x00, + 0x00, 0x20, 0x00, 0x41, 0x07, 0x71, 0x76, 0x41, 0x01, 0x71, 0x0f, 0x0b, + 0x20, 0x00, 0x41, 0xfe, 0xff, 0x0b, 0x49, 0x0b, 0x49, 0x01, 0x03, 0x7f, + 0x41, 0x00, 0x21, 0x03, 0x02, 0x40, 0x20, 0x02, 0x45, 0x0d, 0x00, 0x02, + 0x40, 0x03, 0x40, 0x20, 0x00, 0x2d, 0x00, 0x00, 0x22, 0x04, 0x20, 0x01, + 0x2d, 0x00, 0x00, 0x22, 0x05, 0x47, 0x0d, 0x01, 0x20, 0x01, 0x41, 0x01, + 0x6a, 0x21, 0x01, 0x20, 0x00, 0x41, 0x01, 0x6a, 0x21, 0x00, 0x20, 0x02, + 0x41, 0x7f, 0x6a, 0x22, 0x02, 0x0d, 0x00, 0x0c, 0x02, 0x0b, 0x0b, 0x20, + 0x04, 0x20, 0x05, 0x6b, 0x21, 0x03, 0x0b, 0x20, 0x03, 0x0b, 0xf6, 0x02, + 0x01, 0x03, 0x7f, 0x20, 0x02, 0x41, 0x00, 0x47, 0x21, 0x03, 0x02, 0x40, + 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x20, 0x00, 0x41, 0x03, 0x71, 0x45, + 0x0d, 0x00, 0x20, 0x02, 0x45, 0x0d, 0x00, 0x02, 0x40, 0x20, 0x00, 0x2d, + 0x00, 0x00, 0x20, 0x01, 0x41, 0xff, 0x01, 0x71, 0x47, 0x0d, 0x00, 0x20, + 0x00, 0x21, 0x04, 0x20, 0x02, 0x21, 0x05, 0x0c, 0x03, 0x0b, 0x20, 0x02, + 0x41, 0x7f, 0x6a, 0x22, 0x05, 0x41, 0x00, 0x47, 0x21, 0x03, 0x20, 0x00, + 0x41, 0x01, 0x6a, 0x22, 0x04, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x01, 0x20, + 0x05, 0x45, 0x0d, 0x01, 0x20, 0x04, 0x2d, 0x00, 0x00, 0x20, 0x01, 0x41, + 0xff, 0x01, 0x71, 0x46, 0x0d, 0x02, 0x20, 0x02, 0x41, 0x7e, 0x6a, 0x22, + 0x05, 0x41, 0x00, 0x47, 0x21, 0x03, 0x20, 0x00, 0x41, 0x02, 0x6a, 0x22, + 0x04, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x01, 0x20, 0x05, 0x45, 0x0d, 0x01, + 0x20, 0x04, 0x2d, 0x00, 0x00, 0x20, 0x01, 0x41, 0xff, 0x01, 0x71, 0x46, + 0x0d, 0x02, 0x20, 0x02, 0x41, 0x7d, 0x6a, 0x22, 0x05, 0x41, 0x00, 0x47, + 0x21, 0x03, 0x20, 0x00, 0x41, 0x03, 0x6a, 0x22, 0x04, 0x41, 0x03, 0x71, + 0x45, 0x0d, 0x01, 0x20, 0x05, 0x45, 0x0d, 0x01, 0x20, 0x04, 0x2d, 0x00, + 0x00, 0x20, 0x01, 0x41, 0xff, 0x01, 0x71, 0x46, 0x0d, 0x02, 0x20, 0x00, + 0x41, 0x04, 0x6a, 0x21, 0x04, 0x20, 0x02, 0x41, 0x7c, 0x6a, 0x22, 0x05, + 0x41, 0x00, 0x47, 0x21, 0x03, 0x0c, 0x01, 0x0b, 0x20, 0x02, 0x21, 0x05, + 0x20, 0x00, 0x21, 0x04, 0x0b, 0x20, 0x03, 0x45, 0x0d, 0x01, 0x02, 0x40, + 0x20, 0x04, 0x2d, 0x00, 0x00, 0x20, 0x01, 0x41, 0xff, 0x01, 0x71, 0x46, + 0x0d, 0x00, 0x20, 0x05, 0x41, 0x04, 0x49, 0x0d, 0x00, 0x20, 0x01, 0x41, + 0xff, 0x01, 0x71, 0x41, 0x81, 0x82, 0x84, 0x08, 0x6c, 0x21, 0x00, 0x03, + 0x40, 0x41, 0x80, 0x82, 0x84, 0x08, 0x20, 0x04, 0x28, 0x02, 0x00, 0x20, + 0x00, 0x73, 0x22, 0x02, 0x6b, 0x20, 0x02, 0x72, 0x41, 0x80, 0x81, 0x82, + 0x84, 0x78, 0x71, 0x41, 0x80, 0x81, 0x82, 0x84, 0x78, 0x47, 0x0d, 0x02, + 0x20, 0x04, 0x41, 0x04, 0x6a, 0x21, 0x04, 0x20, 0x05, 0x41, 0x7c, 0x6a, + 0x22, 0x05, 0x41, 0x03, 0x4b, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x05, 0x45, + 0x0d, 0x01, 0x0b, 0x20, 0x01, 0x41, 0xff, 0x01, 0x71, 0x21, 0x02, 0x03, + 0x40, 0x02, 0x40, 0x20, 0x04, 0x2d, 0x00, 0x00, 0x20, 0x02, 0x47, 0x0d, + 0x00, 0x20, 0x04, 0x0f, 0x0b, 0x20, 0x04, 0x41, 0x01, 0x6a, 0x21, 0x04, + 0x20, 0x05, 0x41, 0x7f, 0x6a, 0x22, 0x05, 0x0d, 0x00, 0x0b, 0x0b, 0x41, + 0x00, 0x0b, 0x67, 0x01, 0x02, 0x7f, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x21, + 0x02, 0x02, 0x40, 0x20, 0x00, 0x2d, 0x00, 0x00, 0x22, 0x03, 0x45, 0x0d, + 0x00, 0x20, 0x03, 0x20, 0x02, 0x41, 0xff, 0x01, 0x71, 0x47, 0x0d, 0x00, + 0x20, 0x00, 0x41, 0x01, 0x6a, 0x21, 0x00, 0x20, 0x01, 0x41, 0x01, 0x6a, + 0x21, 0x01, 0x03, 0x40, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x21, 0x02, 0x20, + 0x00, 0x2d, 0x00, 0x00, 0x22, 0x03, 0x45, 0x0d, 0x01, 0x20, 0x00, 0x41, + 0x01, 0x6a, 0x21, 0x00, 0x20, 0x01, 0x41, 0x01, 0x6a, 0x21, 0x01, 0x20, + 0x03, 0x20, 0x02, 0x41, 0xff, 0x01, 0x71, 0x46, 0x0d, 0x00, 0x0b, 0x0b, + 0x20, 0x03, 0x20, 0x02, 0x41, 0xff, 0x01, 0x71, 0x6b, 0x0b, 0x0c, 0x00, + 0x20, 0x00, 0x41, 0x00, 0x10, 0x9b, 0x80, 0x80, 0x80, 0x00, 0x0b, 0xb4, + 0x02, 0x01, 0x07, 0x7f, 0x02, 0x40, 0x20, 0x00, 0x41, 0xff, 0xff, 0x07, + 0x4b, 0x0d, 0x00, 0x20, 0x00, 0x20, 0x00, 0x41, 0xff, 0x01, 0x71, 0x22, + 0x02, 0x41, 0x03, 0x6e, 0x22, 0x03, 0x41, 0x03, 0x6c, 0x6b, 0x41, 0xff, + 0x01, 0x71, 0x41, 0x02, 0x74, 0x41, 0xc0, 0x9e, 0x84, 0x80, 0x00, 0x6a, + 0x28, 0x02, 0x00, 0x20, 0x00, 0x41, 0x08, 0x76, 0x22, 0x04, 0x41, 0xa0, + 0xa9, 0x84, 0x80, 0x00, 0x6a, 0x2d, 0x00, 0x00, 0x41, 0xd6, 0x00, 0x6c, + 0x20, 0x03, 0x6a, 0x41, 0xa0, 0xa9, 0x84, 0x80, 0x00, 0x6a, 0x2d, 0x00, + 0x00, 0x6c, 0x41, 0x0b, 0x76, 0x41, 0x06, 0x70, 0x20, 0x04, 0x41, 0x90, + 0xbe, 0x84, 0x80, 0x00, 0x6a, 0x2d, 0x00, 0x00, 0x6a, 0x41, 0x02, 0x74, + 0x41, 0xd0, 0x9e, 0x84, 0x80, 0x00, 0x6a, 0x28, 0x02, 0x00, 0x22, 0x03, + 0x41, 0x08, 0x75, 0x21, 0x04, 0x02, 0x40, 0x20, 0x03, 0x41, 0xff, 0x01, + 0x71, 0x22, 0x03, 0x41, 0x01, 0x4b, 0x0d, 0x00, 0x20, 0x04, 0x41, 0x00, + 0x20, 0x03, 0x20, 0x01, 0x73, 0x6b, 0x71, 0x20, 0x00, 0x6a, 0x0f, 0x0b, + 0x20, 0x04, 0x41, 0xff, 0x01, 0x71, 0x22, 0x03, 0x45, 0x0d, 0x00, 0x20, + 0x04, 0x41, 0x08, 0x76, 0x21, 0x04, 0x03, 0x40, 0x02, 0x40, 0x20, 0x02, + 0x20, 0x03, 0x41, 0x01, 0x76, 0x22, 0x05, 0x20, 0x04, 0x6a, 0x22, 0x06, + 0x41, 0x01, 0x74, 0x41, 0x90, 0xa6, 0x84, 0x80, 0x00, 0x6a, 0x22, 0x07, + 0x2d, 0x00, 0x00, 0x22, 0x08, 0x47, 0x0d, 0x00, 0x02, 0x40, 0x20, 0x07, + 0x2d, 0x00, 0x01, 0x41, 0x02, 0x74, 0x41, 0xd0, 0x9e, 0x84, 0x80, 0x00, + 0x6a, 0x28, 0x02, 0x00, 0x22, 0x03, 0x41, 0xff, 0x01, 0x71, 0x22, 0x04, + 0x41, 0x01, 0x4b, 0x0d, 0x00, 0x20, 0x03, 0x41, 0x08, 0x75, 0x41, 0x00, + 0x20, 0x04, 0x20, 0x01, 0x73, 0x6b, 0x71, 0x20, 0x00, 0x6a, 0x0f, 0x0b, + 0x41, 0x7f, 0x41, 0x01, 0x20, 0x01, 0x1b, 0x20, 0x00, 0x6a, 0x0f, 0x0b, + 0x20, 0x04, 0x20, 0x06, 0x20, 0x02, 0x20, 0x08, 0x49, 0x22, 0x08, 0x1b, + 0x21, 0x04, 0x20, 0x05, 0x20, 0x03, 0x20, 0x05, 0x6b, 0x20, 0x08, 0x1b, + 0x22, 0x03, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x00, 0x0b, 0x0c, 0x00, 0x20, + 0x00, 0x41, 0x01, 0x10, 0x9b, 0x80, 0x80, 0x80, 0x00, 0x0b, 0x87, 0x01, + 0x01, 0x02, 0x7f, 0x02, 0x40, 0x20, 0x02, 0x0d, 0x00, 0x41, 0x00, 0x0f, + 0x0b, 0x02, 0x40, 0x02, 0x40, 0x20, 0x00, 0x2d, 0x00, 0x00, 0x22, 0x03, + 0x0d, 0x00, 0x41, 0x00, 0x21, 0x03, 0x0c, 0x01, 0x0b, 0x20, 0x00, 0x41, + 0x01, 0x6a, 0x21, 0x00, 0x20, 0x02, 0x41, 0x7f, 0x6a, 0x21, 0x02, 0x02, + 0x40, 0x03, 0x40, 0x20, 0x03, 0x41, 0xff, 0x01, 0x71, 0x20, 0x01, 0x2d, + 0x00, 0x00, 0x22, 0x04, 0x47, 0x0d, 0x01, 0x20, 0x04, 0x45, 0x0d, 0x01, + 0x20, 0x02, 0x41, 0x00, 0x46, 0x0d, 0x01, 0x20, 0x02, 0x41, 0x7f, 0x6a, + 0x21, 0x02, 0x20, 0x01, 0x41, 0x01, 0x6a, 0x21, 0x01, 0x20, 0x00, 0x2d, + 0x00, 0x00, 0x21, 0x03, 0x20, 0x00, 0x41, 0x01, 0x6a, 0x21, 0x00, 0x20, + 0x03, 0x0d, 0x00, 0x0b, 0x41, 0x00, 0x21, 0x03, 0x0b, 0x20, 0x03, 0x41, + 0xff, 0x01, 0x71, 0x21, 0x03, 0x0b, 0x20, 0x03, 0x20, 0x01, 0x2d, 0x00, + 0x00, 0x6b, 0x0b, 0x0d, 0x00, 0x20, 0x00, 0x10, 0x9a, 0x80, 0x80, 0x80, + 0x00, 0x20, 0x00, 0x47, 0x0b, 0xbf, 0x09, 0x01, 0x04, 0x7f, 0x02, 0x40, + 0x02, 0x40, 0x02, 0x40, 0x20, 0x02, 0x41, 0x21, 0x4f, 0x0d, 0x00, 0x20, + 0x00, 0x20, 0x01, 0x46, 0x0d, 0x02, 0x20, 0x01, 0x20, 0x00, 0x20, 0x02, + 0x6a, 0x22, 0x03, 0x6b, 0x41, 0x00, 0x20, 0x02, 0x41, 0x01, 0x74, 0x6b, + 0x4b, 0x0d, 0x01, 0x0b, 0x20, 0x00, 0x20, 0x01, 0x20, 0x02, 0xfc, 0x0a, + 0x00, 0x00, 0x0c, 0x01, 0x0b, 0x20, 0x01, 0x20, 0x00, 0x73, 0x41, 0x03, + 0x71, 0x21, 0x04, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x20, 0x00, 0x20, + 0x01, 0x4f, 0x0d, 0x00, 0x02, 0x40, 0x20, 0x04, 0x45, 0x0d, 0x00, 0x20, + 0x02, 0x21, 0x05, 0x20, 0x00, 0x21, 0x03, 0x0c, 0x03, 0x0b, 0x02, 0x40, + 0x20, 0x00, 0x41, 0x03, 0x71, 0x0d, 0x00, 0x20, 0x02, 0x21, 0x05, 0x20, + 0x00, 0x21, 0x03, 0x0c, 0x02, 0x0b, 0x20, 0x02, 0x45, 0x0d, 0x03, 0x20, + 0x00, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x20, 0x02, 0x41, + 0x7f, 0x6a, 0x21, 0x05, 0x02, 0x40, 0x20, 0x00, 0x41, 0x01, 0x6a, 0x22, + 0x03, 0x41, 0x03, 0x71, 0x0d, 0x00, 0x20, 0x01, 0x41, 0x01, 0x6a, 0x21, + 0x01, 0x0c, 0x02, 0x0b, 0x20, 0x05, 0x45, 0x0d, 0x03, 0x20, 0x00, 0x20, + 0x01, 0x2d, 0x00, 0x01, 0x3a, 0x00, 0x01, 0x20, 0x02, 0x41, 0x7e, 0x6a, + 0x21, 0x05, 0x02, 0x40, 0x20, 0x00, 0x41, 0x02, 0x6a, 0x22, 0x03, 0x41, + 0x03, 0x71, 0x0d, 0x00, 0x20, 0x01, 0x41, 0x02, 0x6a, 0x21, 0x01, 0x0c, + 0x02, 0x0b, 0x20, 0x05, 0x45, 0x0d, 0x03, 0x20, 0x00, 0x20, 0x01, 0x2d, + 0x00, 0x02, 0x3a, 0x00, 0x02, 0x20, 0x02, 0x41, 0x7d, 0x6a, 0x21, 0x05, + 0x02, 0x40, 0x20, 0x00, 0x41, 0x03, 0x6a, 0x22, 0x03, 0x41, 0x03, 0x71, + 0x0d, 0x00, 0x20, 0x01, 0x41, 0x03, 0x6a, 0x21, 0x01, 0x0c, 0x02, 0x0b, + 0x20, 0x05, 0x45, 0x0d, 0x03, 0x20, 0x00, 0x20, 0x01, 0x2d, 0x00, 0x03, + 0x3a, 0x00, 0x03, 0x20, 0x00, 0x41, 0x04, 0x6a, 0x21, 0x03, 0x20, 0x01, + 0x41, 0x04, 0x6a, 0x21, 0x01, 0x20, 0x02, 0x41, 0x7c, 0x6a, 0x21, 0x05, + 0x0c, 0x01, 0x0b, 0x02, 0x40, 0x20, 0x04, 0x0d, 0x00, 0x02, 0x40, 0x20, + 0x03, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x02, 0x45, 0x0d, 0x04, + 0x20, 0x00, 0x20, 0x02, 0x41, 0x7f, 0x6a, 0x22, 0x03, 0x6a, 0x22, 0x04, + 0x20, 0x01, 0x20, 0x03, 0x6a, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x02, + 0x40, 0x20, 0x04, 0x41, 0x03, 0x71, 0x0d, 0x00, 0x20, 0x03, 0x21, 0x02, + 0x0c, 0x01, 0x0b, 0x20, 0x03, 0x45, 0x0d, 0x04, 0x20, 0x00, 0x20, 0x02, + 0x41, 0x7e, 0x6a, 0x22, 0x03, 0x6a, 0x22, 0x04, 0x20, 0x01, 0x20, 0x03, + 0x6a, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x02, 0x40, 0x20, 0x04, 0x41, + 0x03, 0x71, 0x0d, 0x00, 0x20, 0x03, 0x21, 0x02, 0x0c, 0x01, 0x0b, 0x20, + 0x03, 0x45, 0x0d, 0x04, 0x20, 0x00, 0x20, 0x02, 0x41, 0x7d, 0x6a, 0x22, + 0x03, 0x6a, 0x22, 0x04, 0x20, 0x01, 0x20, 0x03, 0x6a, 0x2d, 0x00, 0x00, + 0x3a, 0x00, 0x00, 0x02, 0x40, 0x20, 0x04, 0x41, 0x03, 0x71, 0x0d, 0x00, + 0x20, 0x03, 0x21, 0x02, 0x0c, 0x01, 0x0b, 0x20, 0x03, 0x45, 0x0d, 0x04, + 0x20, 0x00, 0x20, 0x02, 0x41, 0x7c, 0x6a, 0x22, 0x02, 0x6a, 0x20, 0x01, + 0x20, 0x02, 0x6a, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x0b, 0x20, 0x02, + 0x41, 0x04, 0x49, 0x0d, 0x00, 0x02, 0x40, 0x20, 0x02, 0x41, 0x7c, 0x6a, + 0x22, 0x06, 0x41, 0x02, 0x76, 0x41, 0x01, 0x6a, 0x41, 0x03, 0x71, 0x22, + 0x03, 0x45, 0x0d, 0x00, 0x20, 0x01, 0x41, 0x7c, 0x6a, 0x21, 0x04, 0x20, + 0x00, 0x41, 0x7c, 0x6a, 0x21, 0x05, 0x03, 0x40, 0x20, 0x05, 0x20, 0x02, + 0x6a, 0x20, 0x04, 0x20, 0x02, 0x6a, 0x28, 0x02, 0x00, 0x36, 0x02, 0x00, + 0x20, 0x02, 0x41, 0x7c, 0x6a, 0x21, 0x02, 0x20, 0x03, 0x41, 0x7f, 0x6a, + 0x22, 0x03, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x06, 0x41, 0x0c, 0x49, 0x0d, + 0x00, 0x20, 0x01, 0x41, 0x70, 0x6a, 0x21, 0x05, 0x20, 0x00, 0x41, 0x70, + 0x6a, 0x21, 0x06, 0x03, 0x40, 0x20, 0x06, 0x20, 0x02, 0x6a, 0x22, 0x03, + 0x41, 0x0c, 0x6a, 0x20, 0x05, 0x20, 0x02, 0x6a, 0x22, 0x04, 0x41, 0x0c, + 0x6a, 0x28, 0x02, 0x00, 0x36, 0x02, 0x00, 0x20, 0x03, 0x41, 0x08, 0x6a, + 0x20, 0x04, 0x41, 0x08, 0x6a, 0x28, 0x02, 0x00, 0x36, 0x02, 0x00, 0x20, + 0x03, 0x41, 0x04, 0x6a, 0x20, 0x04, 0x41, 0x04, 0x6a, 0x28, 0x02, 0x00, + 0x36, 0x02, 0x00, 0x20, 0x03, 0x20, 0x04, 0x28, 0x02, 0x00, 0x36, 0x02, + 0x00, 0x20, 0x02, 0x41, 0x70, 0x6a, 0x22, 0x02, 0x41, 0x03, 0x4b, 0x0d, + 0x00, 0x0b, 0x0b, 0x20, 0x02, 0x45, 0x0d, 0x02, 0x20, 0x02, 0x21, 0x03, + 0x02, 0x40, 0x20, 0x02, 0x41, 0x03, 0x71, 0x22, 0x04, 0x45, 0x0d, 0x00, + 0x20, 0x01, 0x41, 0x7f, 0x6a, 0x21, 0x05, 0x20, 0x00, 0x41, 0x7f, 0x6a, + 0x21, 0x06, 0x20, 0x02, 0x21, 0x03, 0x03, 0x40, 0x20, 0x06, 0x20, 0x03, + 0x6a, 0x20, 0x05, 0x20, 0x03, 0x6a, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, + 0x20, 0x03, 0x41, 0x7f, 0x6a, 0x21, 0x03, 0x20, 0x04, 0x41, 0x7f, 0x6a, + 0x22, 0x04, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x02, 0x41, 0x04, 0x49, 0x0d, + 0x02, 0x20, 0x01, 0x41, 0x7c, 0x6a, 0x21, 0x04, 0x20, 0x00, 0x41, 0x7c, + 0x6a, 0x21, 0x05, 0x03, 0x40, 0x20, 0x05, 0x20, 0x03, 0x6a, 0x22, 0x01, + 0x41, 0x03, 0x6a, 0x20, 0x04, 0x20, 0x03, 0x6a, 0x22, 0x02, 0x41, 0x03, + 0x6a, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x20, 0x01, 0x41, 0x02, 0x6a, + 0x20, 0x02, 0x41, 0x02, 0x6a, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x20, + 0x01, 0x41, 0x01, 0x6a, 0x20, 0x02, 0x41, 0x01, 0x6a, 0x2d, 0x00, 0x00, + 0x3a, 0x00, 0x00, 0x20, 0x01, 0x20, 0x02, 0x2d, 0x00, 0x00, 0x3a, 0x00, + 0x00, 0x20, 0x03, 0x41, 0x7c, 0x6a, 0x22, 0x03, 0x0d, 0x00, 0x0c, 0x03, + 0x0b, 0x0b, 0x20, 0x05, 0x41, 0x04, 0x49, 0x0d, 0x00, 0x02, 0x40, 0x20, + 0x05, 0x41, 0x7c, 0x6a, 0x22, 0x04, 0x41, 0x02, 0x76, 0x41, 0x01, 0x6a, + 0x41, 0x07, 0x71, 0x22, 0x02, 0x45, 0x0d, 0x00, 0x20, 0x05, 0x20, 0x02, + 0x41, 0x02, 0x74, 0x6b, 0x21, 0x05, 0x03, 0x40, 0x20, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x00, 0x36, 0x02, 0x00, 0x20, 0x01, 0x41, 0x04, 0x6a, 0x21, + 0x01, 0x20, 0x03, 0x41, 0x04, 0x6a, 0x21, 0x03, 0x20, 0x02, 0x41, 0x7f, + 0x6a, 0x22, 0x02, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x04, 0x41, 0x1c, 0x49, + 0x0d, 0x00, 0x03, 0x40, 0x20, 0x03, 0x20, 0x01, 0x28, 0x02, 0x00, 0x36, + 0x02, 0x00, 0x20, 0x03, 0x20, 0x01, 0x28, 0x02, 0x04, 0x36, 0x02, 0x04, + 0x20, 0x03, 0x20, 0x01, 0x28, 0x02, 0x08, 0x36, 0x02, 0x08, 0x20, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x0c, 0x36, 0x02, 0x0c, 0x20, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x10, 0x36, 0x02, 0x10, 0x20, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x14, 0x36, 0x02, 0x14, 0x20, 0x03, 0x20, 0x01, 0x28, 0x02, 0x18, 0x36, + 0x02, 0x18, 0x20, 0x03, 0x20, 0x01, 0x28, 0x02, 0x1c, 0x36, 0x02, 0x1c, + 0x20, 0x01, 0x41, 0x20, 0x6a, 0x21, 0x01, 0x20, 0x03, 0x41, 0x20, 0x6a, + 0x21, 0x03, 0x20, 0x05, 0x41, 0x60, 0x6a, 0x22, 0x05, 0x41, 0x03, 0x4b, + 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x05, 0x45, 0x0d, 0x00, 0x02, 0x40, 0x02, + 0x40, 0x20, 0x05, 0x41, 0x07, 0x71, 0x22, 0x02, 0x0d, 0x00, 0x20, 0x05, + 0x21, 0x04, 0x0c, 0x01, 0x0b, 0x20, 0x05, 0x41, 0x78, 0x71, 0x21, 0x04, + 0x03, 0x40, 0x20, 0x03, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, + 0x20, 0x03, 0x41, 0x01, 0x6a, 0x21, 0x03, 0x20, 0x01, 0x41, 0x01, 0x6a, + 0x21, 0x01, 0x20, 0x02, 0x41, 0x7f, 0x6a, 0x22, 0x02, 0x0d, 0x00, 0x0b, + 0x0b, 0x20, 0x05, 0x41, 0x08, 0x49, 0x0d, 0x00, 0x03, 0x40, 0x20, 0x03, + 0x20, 0x01, 0x2d, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x20, 0x03, 0x20, 0x01, + 0x2d, 0x00, 0x01, 0x3a, 0x00, 0x01, 0x20, 0x03, 0x20, 0x01, 0x2d, 0x00, + 0x02, 0x3a, 0x00, 0x02, 0x20, 0x03, 0x20, 0x01, 0x2d, 0x00, 0x03, 0x3a, + 0x00, 0x03, 0x20, 0x03, 0x20, 0x01, 0x2d, 0x00, 0x04, 0x3a, 0x00, 0x04, + 0x20, 0x03, 0x20, 0x01, 0x2d, 0x00, 0x05, 0x3a, 0x00, 0x05, 0x20, 0x03, + 0x20, 0x01, 0x2d, 0x00, 0x06, 0x3a, 0x00, 0x06, 0x20, 0x03, 0x20, 0x01, + 0x2d, 0x00, 0x07, 0x3a, 0x00, 0x07, 0x20, 0x03, 0x41, 0x08, 0x6a, 0x21, + 0x03, 0x20, 0x01, 0x41, 0x08, 0x6a, 0x21, 0x01, 0x20, 0x04, 0x41, 0x78, + 0x6a, 0x22, 0x04, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x00, 0x0b, 0x0d, 0x00, + 0x20, 0x00, 0x10, 0x9c, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0x47, 0x0b, + 0x0d, 0x00, 0x20, 0x00, 0x41, 0x20, 0x46, 0x20, 0x00, 0x41, 0x09, 0x46, + 0x72, 0x0b, 0x0a, 0x00, 0x20, 0x00, 0x10, 0xa1, 0x80, 0x80, 0x80, 0x00, + 0x0b, 0x0a, 0x00, 0x20, 0x00, 0x41, 0x50, 0x6a, 0x41, 0x0a, 0x49, 0x0b, + 0x4d, 0x01, 0x02, 0x7f, 0x20, 0x00, 0x20, 0x00, 0x10, 0x95, 0x80, 0x80, + 0x80, 0x00, 0x6a, 0x21, 0x03, 0x02, 0x40, 0x20, 0x02, 0x45, 0x0d, 0x00, + 0x03, 0x40, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x22, 0x04, 0x45, 0x0d, 0x01, + 0x20, 0x03, 0x20, 0x04, 0x3a, 0x00, 0x00, 0x20, 0x03, 0x41, 0x01, 0x6a, + 0x21, 0x03, 0x20, 0x01, 0x41, 0x01, 0x6a, 0x21, 0x01, 0x20, 0x02, 0x41, + 0x7f, 0x6a, 0x22, 0x02, 0x0d, 0x00, 0x0b, 0x0b, 0x20, 0x03, 0x41, 0x00, + 0x3a, 0x00, 0x00, 0x20, 0x00, 0x0b, 0xf3, 0x03, 0x01, 0x04, 0x7f, 0x02, + 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x20, 0x01, 0x20, + 0x00, 0x73, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x00, 0x21, 0x03, + 0x0c, 0x01, 0x0b, 0x20, 0x02, 0x41, 0x00, 0x47, 0x21, 0x04, 0x02, 0x40, + 0x02, 0x40, 0x20, 0x01, 0x41, 0x03, 0x71, 0x0d, 0x00, 0x20, 0x00, 0x21, + 0x03, 0x0c, 0x01, 0x0b, 0x02, 0x40, 0x20, 0x02, 0x0d, 0x00, 0x20, 0x00, + 0x21, 0x03, 0x0c, 0x01, 0x0b, 0x20, 0x00, 0x20, 0x01, 0x2d, 0x00, 0x00, + 0x22, 0x03, 0x3a, 0x00, 0x00, 0x02, 0x40, 0x20, 0x03, 0x0d, 0x00, 0x20, + 0x00, 0x21, 0x03, 0x20, 0x02, 0x21, 0x05, 0x0c, 0x05, 0x0b, 0x20, 0x00, + 0x41, 0x01, 0x6a, 0x21, 0x03, 0x20, 0x02, 0x41, 0x7f, 0x6a, 0x22, 0x05, + 0x41, 0x00, 0x47, 0x21, 0x04, 0x02, 0x40, 0x20, 0x01, 0x41, 0x01, 0x6a, + 0x22, 0x06, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x00, 0x20, 0x05, 0x45, 0x0d, + 0x00, 0x20, 0x03, 0x20, 0x06, 0x2d, 0x00, 0x00, 0x22, 0x04, 0x3a, 0x00, + 0x00, 0x20, 0x04, 0x45, 0x0d, 0x05, 0x20, 0x00, 0x41, 0x02, 0x6a, 0x21, + 0x03, 0x20, 0x02, 0x41, 0x7e, 0x6a, 0x22, 0x05, 0x41, 0x00, 0x47, 0x21, + 0x04, 0x02, 0x40, 0x20, 0x01, 0x41, 0x02, 0x6a, 0x22, 0x06, 0x41, 0x03, + 0x71, 0x45, 0x0d, 0x00, 0x20, 0x05, 0x45, 0x0d, 0x00, 0x20, 0x03, 0x20, + 0x06, 0x2d, 0x00, 0x00, 0x22, 0x04, 0x3a, 0x00, 0x00, 0x20, 0x04, 0x45, + 0x0d, 0x06, 0x20, 0x00, 0x41, 0x03, 0x6a, 0x21, 0x03, 0x20, 0x02, 0x41, + 0x7d, 0x6a, 0x22, 0x05, 0x41, 0x00, 0x47, 0x21, 0x04, 0x02, 0x40, 0x20, + 0x01, 0x41, 0x03, 0x6a, 0x22, 0x06, 0x41, 0x03, 0x71, 0x45, 0x0d, 0x00, + 0x20, 0x05, 0x45, 0x0d, 0x00, 0x20, 0x03, 0x20, 0x06, 0x2d, 0x00, 0x00, + 0x22, 0x04, 0x3a, 0x00, 0x00, 0x20, 0x04, 0x45, 0x0d, 0x07, 0x20, 0x00, + 0x41, 0x04, 0x6a, 0x21, 0x03, 0x20, 0x01, 0x41, 0x04, 0x6a, 0x21, 0x01, + 0x20, 0x02, 0x41, 0x7c, 0x6a, 0x22, 0x02, 0x41, 0x00, 0x47, 0x21, 0x04, + 0x0c, 0x03, 0x0b, 0x20, 0x06, 0x21, 0x01, 0x20, 0x05, 0x21, 0x02, 0x0c, + 0x02, 0x0b, 0x20, 0x06, 0x21, 0x01, 0x20, 0x05, 0x21, 0x02, 0x0c, 0x01, + 0x0b, 0x20, 0x06, 0x21, 0x01, 0x20, 0x05, 0x21, 0x02, 0x0b, 0x20, 0x04, + 0x45, 0x0d, 0x02, 0x02, 0x40, 0x20, 0x01, 0x2d, 0x00, 0x00, 0x0d, 0x00, + 0x20, 0x02, 0x21, 0x05, 0x0c, 0x04, 0x0b, 0x20, 0x02, 0x41, 0x04, 0x49, + 0x0d, 0x00, 0x03, 0x40, 0x41, 0x80, 0x82, 0x84, 0x08, 0x20, 0x01, 0x28, + 0x02, 0x00, 0x22, 0x00, 0x6b, 0x20, 0x00, 0x72, 0x41, 0x80, 0x81, 0x82, + 0x84, 0x78, 0x71, 0x41, 0x80, 0x81, 0x82, 0x84, 0x78, 0x47, 0x0d, 0x02, + 0x20, 0x03, 0x20, 0x00, 0x36, 0x02, 0x00, 0x20, 0x03, 0x41, 0x04, 0x6a, + 0x21, 0x03, 0x20, 0x01, 0x41, 0x04, 0x6a, 0x21, 0x01, 0x20, 0x02, 0x41, + 0x7c, 0x6a, 0x22, 0x02, 0x41, 0x03, 0x4b, 0x0d, 0x00, 0x0b, 0x0b, 0x20, + 0x02, 0x45, 0x0d, 0x01, 0x0b, 0x03, 0x40, 0x20, 0x03, 0x20, 0x01, 0x2d, + 0x00, 0x00, 0x22, 0x00, 0x3a, 0x00, 0x00, 0x02, 0x40, 0x20, 0x00, 0x0d, + 0x00, 0x20, 0x02, 0x21, 0x05, 0x0c, 0x03, 0x0b, 0x20, 0x03, 0x41, 0x01, + 0x6a, 0x21, 0x03, 0x20, 0x01, 0x41, 0x01, 0x6a, 0x21, 0x01, 0x20, 0x02, + 0x41, 0x7f, 0x6a, 0x22, 0x02, 0x0d, 0x00, 0x0b, 0x0b, 0x41, 0x00, 0x21, + 0x05, 0x0b, 0x20, 0x03, 0x41, 0x00, 0x20, 0x05, 0x10, 0x94, 0x80, 0x80, + 0x80, 0x00, 0x0b, 0x11, 0x00, 0x20, 0x00, 0x20, 0x01, 0x20, 0x02, 0x10, + 0xa5, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x20, 0x00, 0x0b, 0x17, 0x00, 0x20, + 0x00, 0x41, 0x50, 0x6a, 0x41, 0x0a, 0x49, 0x20, 0x00, 0x41, 0x20, 0x72, + 0x41, 0x9f, 0x7f, 0x6a, 0x41, 0x06, 0x49, 0x72, 0x0b, 0x2a, 0x01, 0x03, + 0x7f, 0x41, 0x00, 0x21, 0x01, 0x03, 0x40, 0x20, 0x00, 0x20, 0x01, 0x6a, + 0x21, 0x02, 0x20, 0x01, 0x41, 0x04, 0x6a, 0x22, 0x03, 0x21, 0x01, 0x20, + 0x02, 0x28, 0x02, 0x00, 0x0d, 0x00, 0x0b, 0x20, 0x03, 0x41, 0x7c, 0x6a, + 0x41, 0x02, 0x75, 0x0b, 0x45, 0x01, 0x01, 0x7f, 0x02, 0x40, 0x20, 0x01, + 0x45, 0x0d, 0x00, 0x20, 0x00, 0x41, 0x7c, 0x6a, 0x21, 0x00, 0x02, 0x40, + 0x03, 0x40, 0x20, 0x00, 0x41, 0x04, 0x6a, 0x22, 0x00, 0x28, 0x02, 0x00, + 0x22, 0x02, 0x45, 0x0d, 0x01, 0x20, 0x02, 0x20, 0x01, 0x47, 0x0d, 0x00, + 0x0b, 0x0b, 0x20, 0x00, 0x41, 0x00, 0x20, 0x02, 0x1b, 0x0f, 0x0b, 0x20, + 0x00, 0x20, 0x00, 0x10, 0xa8, 0x80, 0x80, 0x80, 0x00, 0x41, 0x02, 0x74, + 0x6a, 0x0b, 0x1d, 0x00, 0x02, 0x40, 0x20, 0x00, 0x0d, 0x00, 0x41, 0x00, + 0x0f, 0x0b, 0x41, 0x90, 0xc2, 0x84, 0x80, 0x00, 0x20, 0x00, 0x10, 0xa9, + 0x80, 0x80, 0x80, 0x00, 0x41, 0x00, 0x47, 0x0b, 0x24, 0x01, 0x01, 0x7f, + 0x41, 0x01, 0x21, 0x01, 0x02, 0x40, 0x20, 0x00, 0x41, 0x50, 0x6a, 0x41, + 0x0a, 0x49, 0x0d, 0x00, 0x20, 0x00, 0x10, 0x96, 0x80, 0x80, 0x80, 0x00, + 0x41, 0x00, 0x47, 0x21, 0x01, 0x0b, 0x20, 0x01, 0x0b, 0x0b, 0xf1, 0x42, + 0x01, 0x00, 0x41, 0x80, 0x80, 0x04, 0x0b, 0xe8, 0x42, 0x12, 0x11, 0x13, + 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x20, 0x21, 0x11, 0x22, 0x23, 0x24, 0x11, 0x25, 0x26, 0x27, 0x28, 0x29, + 0x2a, 0x2b, 0x2c, 0x11, 0x2d, 0x2e, 0x2f, 0x10, 0x10, 0x30, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x31, 0x32, 0x33, 0x10, 0x34, 0x35, 0x10, + 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x36, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x37, 0x11, 0x11, 0x11, 0x11, 0x38, 0x11, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, + 0x3e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x3f, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x40, 0x41, 0x11, 0x42, 0x43, + 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x11, 0x4b, 0x4c, 0x4d, 0x4e, + 0x4f, 0x50, 0x51, 0x10, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, + 0x5a, 0x5b, 0x5c, 0x5d, 0x10, 0x5e, 0x5f, 0x60, 0x10, 0x11, 0x11, 0x11, + 0x61, 0x62, 0x63, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x11, 0x11, 0x11, 0x11, 0x64, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x65, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x66, + 0x67, 0x10, 0x10, 0x68, 0x69, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x11, 0x6a, 0x11, 0x11, 0x6b, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x6c, 0x6d, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x6e, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x6f, 0x70, 0x71, + 0x72, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x73, 0x74, 0x75, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x76, 0x77, 0x10, 0x10, 0x10, 0x10, 0x78, + 0x10, 0x10, 0x79, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x04, 0xff, 0xff, 0x7f, + 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0x03, 0x00, 0x1f, 0x50, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xdf, 0xbc, 0x40, 0xd7, 0xff, 0xff, 0xfb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x03, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0x7f, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xbf, 0xb6, 0x00, 0xff, 0xff, 0xff, 0x87, 0x07, + 0x00, 0x00, 0x00, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xef, 0x1f, 0xfe, 0xe1, 0xff, 0x9f, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x07, 0x30, 0x04, 0xff, 0xff, 0xff, 0xfc, 0xff, 0x1f, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xdf, 0x3f, 0x00, 0x00, 0xf0, 0xff, 0xf8, 0x03, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xdf, 0xe1, + 0xff, 0xcf, 0xff, 0xfe, 0xff, 0xef, 0x9f, 0xf9, 0xff, 0xff, 0xfd, 0xc5, + 0xe3, 0x9f, 0x59, 0x80, 0xb0, 0xcf, 0xff, 0x03, 0x10, 0xee, 0x87, 0xf9, + 0xff, 0xff, 0xfd, 0x6d, 0xc3, 0x87, 0x19, 0x02, 0x5e, 0xc0, 0xff, 0x3f, + 0x00, 0xee, 0xbf, 0xfb, 0xff, 0xff, 0xfd, 0xed, 0xe3, 0xbf, 0x1b, 0x01, + 0x00, 0xcf, 0xff, 0x00, 0x1e, 0xee, 0x9f, 0xf9, 0xff, 0xff, 0xfd, 0xed, + 0xe3, 0x9f, 0x19, 0xc0, 0xb0, 0xcf, 0xff, 0x02, 0x00, 0xec, 0xc7, 0x3d, + 0xd6, 0x18, 0xc7, 0xff, 0xc3, 0xc7, 0x1d, 0x81, 0x00, 0xc0, 0xff, 0x00, + 0x00, 0xef, 0xdf, 0xfd, 0xff, 0xff, 0xfd, 0xff, 0xe3, 0xdf, 0x1d, 0x60, + 0x07, 0xcf, 0xff, 0x00, 0x00, 0xef, 0xdf, 0xfd, 0xff, 0xff, 0xfd, 0xef, + 0xe3, 0xdf, 0x1d, 0x60, 0x40, 0xcf, 0xff, 0x06, 0x00, 0xef, 0xdf, 0xfd, + 0xff, 0xff, 0xff, 0xff, 0xe7, 0xdf, 0x5d, 0xf0, 0x80, 0xcf, 0xff, 0x00, + 0xfc, 0xec, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xfb, 0x2f, 0x7f, 0x80, 0x5f, + 0xff, 0xc0, 0xff, 0x0c, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, + 0x07, 0x3f, 0x20, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xd6, 0xf7, 0xff, + 0xff, 0xaf, 0xff, 0xff, 0x3b, 0x5f, 0x20, 0xff, 0xf3, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0xff, 0xfe, 0xff, + 0xff, 0xff, 0x1f, 0xfe, 0xff, 0x03, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0xf9, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x20, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x3d, 0x7f, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xff, + 0xff, 0xff, 0xff, 0x3d, 0x7f, 0x3d, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x07, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xfe, 0xff, 0xff, + 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, + 0x01, 0xff, 0xdf, 0x0f, 0x00, 0xff, 0xff, 0x0f, 0x00, 0xff, 0xff, 0x0f, + 0x00, 0xff, 0xdf, 0x0d, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, + 0xff, 0xff, 0x01, 0x80, 0x10, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x0f, 0xff, + 0x01, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x1f, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7f, 0xfe, 0xff, 0x1f, 0x00, 0xff, 0x03, 0xff, 0x03, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xef, 0xff, 0xef, 0x0f, 0xff, 0x03, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xbf, 0xff, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0x00, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0x01, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0x6f, + 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x1f, 0x00, 0xff, 0xff, 0x3f, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0xff, 0xaa, 0xff, 0xff, 0xff, + 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x5f, 0xdc, 0x1f, 0xcf, + 0x0f, 0xff, 0x1f, 0xdc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0xff, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x84, 0xfc, 0x2f, 0x3e, 0x50, 0xbd, 0xff, 0xf3, 0xe0, 0x43, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x78, 0x0c, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xbf, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x00, 0x7f, 0x7f, 0x7f, + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x3e, + 0x1f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0x1f, 0xff, + 0xff, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xfc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x0f, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x2f, 0x00, 0xff, 0x03, 0x00, 0x00, 0xfc, 0xe8, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0x00, 0x80, 0xff, + 0x03, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0x00, 0xff, 0x3f, 0xff, 0x03, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x7f, 0x05, 0x00, 0x00, 0x38, 0xff, 0xff, 0x3c, + 0x00, 0x7e, 0x7e, 0x7e, 0x00, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf7, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0xff, 0x03, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0xff, 0xff, 0x7f, 0xf8, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0x00, 0xf8, 0xe0, 0xff, 0xfd, 0x7f, 0x5f, 0xdb, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, + 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0x00, 0x00, 0xff, 0x03, 0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, + 0x07, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x7f, 0xfc, 0xfc, 0xfc, 0x1c, 0x00, 0x00, 0x00, 0x00, 0xff, 0xef, 0xff, + 0xff, 0x7f, 0xff, 0xff, 0xb7, 0xff, 0x3f, 0xff, 0x3f, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x07, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0x3e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x3f, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0x00, 0xff, 0xff, 0x3f, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xbf, + 0x91, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x7f, 0x00, 0xff, 0xff, 0xff, + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x37, + 0x00, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf0, 0xef, + 0xfe, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x1f, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, + 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, + 0x00, 0xff, 0xff, 0x3f, 0x00, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x80, 0x00, 0xff, + 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7f, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, + 0x00, 0xc0, 0xff, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0xff, 0x03, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xc7, 0xff, 0x70, 0x00, 0xff, 0xff, 0xff, 0xff, 0x47, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1e, 0x00, 0xff, + 0x17, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0x9f, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xbd, 0xff, + 0xbf, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, + 0x03, 0xef, 0x9f, 0xf9, 0xff, 0xff, 0xfd, 0xed, 0xe3, 0x9f, 0x19, 0x81, + 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0x07, 0xff, 0x83, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x00, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x3f, 0x7f, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x11, 0x00, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, + 0x01, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xe7, 0xff, 0x07, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x1a, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe7, 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0x7f, 0x01, 0x00, 0xff, 0x03, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xfc, + 0xff, 0xff, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xb4, 0xcb, 0x00, 0xff, + 0x03, 0xbf, 0xfd, 0xff, 0xff, 0xff, 0x7f, 0x7b, 0x01, 0xff, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x7f, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x0f, 0x00, 0xff, 0x03, 0xf8, 0xff, 0xff, 0xe0, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0b, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff, + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xf0, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x07, 0xff, 0x1f, 0xff, 0x01, 0xff, 0x43, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xdf, 0x64, 0xde, 0xff, 0xeb, 0xef, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xe7, 0xdf, 0xdf, 0xff, 0xff, 0xff, + 0x7b, 0x5f, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xdf, + 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xf7, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xf9, 0xdb, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x80, 0x3f, 0xff, 0x43, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0f, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x08, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, + 0xff, 0x96, 0xfe, 0xf7, 0x0a, 0x84, 0xea, 0x96, 0xaa, 0x96, 0xf7, 0xf7, + 0x5e, 0xff, 0xfb, 0xff, 0x0f, 0xee, 0xfb, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x56, 0x01, 0x00, 0x00, 0x39, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, + 0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xbf, 0x1d, 0x00, 0x00, 0xe7, 0x02, + 0x00, 0x00, 0x79, 0x00, 0x00, 0x02, 0x24, 0x00, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, + 0x00, 0x00, 0xfe, 0xff, 0xff, 0x01, 0x39, 0xff, 0xff, 0x00, 0x18, 0xff, + 0xff, 0x01, 0x87, 0xff, 0xff, 0x00, 0xd4, 0xfe, 0xff, 0x00, 0xc3, 0x00, + 0x00, 0x01, 0xd2, 0x00, 0x00, 0x01, 0xce, 0x00, 0x00, 0x01, 0xcd, 0x00, + 0x00, 0x01, 0x4f, 0x00, 0x00, 0x01, 0xca, 0x00, 0x00, 0x01, 0xcb, 0x00, + 0x00, 0x01, 0xcf, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x01, 0xd3, 0x00, + 0x00, 0x01, 0xd1, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x01, 0xd5, 0x00, + 0x00, 0x00, 0x82, 0x00, 0x00, 0x01, 0xd6, 0x00, 0x00, 0x01, 0xda, 0x00, + 0x00, 0x01, 0xd9, 0x00, 0x00, 0x01, 0xdb, 0x00, 0x00, 0x00, 0x38, 0x00, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xb1, 0xff, 0xff, 0x01, 0x9f, 0xff, + 0xff, 0x01, 0xc8, 0xff, 0xff, 0x02, 0x28, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x33, 0xff, + 0xff, 0x00, 0x26, 0xff, 0xff, 0x01, 0x7e, 0xff, 0xff, 0x01, 0x2b, 0x2a, + 0x00, 0x01, 0x5d, 0xff, 0xff, 0x01, 0x28, 0x2a, 0x00, 0x00, 0x3f, 0x2a, + 0x00, 0x01, 0x3d, 0xff, 0xff, 0x01, 0x45, 0x00, 0x00, 0x01, 0x47, 0x00, + 0x00, 0x00, 0x1f, 0x2a, 0x00, 0x00, 0x1c, 0x2a, 0x00, 0x00, 0x1e, 0x2a, + 0x00, 0x00, 0x2e, 0xff, 0xff, 0x00, 0x32, 0xff, 0xff, 0x00, 0x36, 0xff, + 0xff, 0x00, 0x35, 0xff, 0xff, 0x00, 0x4f, 0xa5, 0x00, 0x00, 0x4b, 0xa5, + 0x00, 0x00, 0x31, 0xff, 0xff, 0x00, 0x28, 0xa5, 0x00, 0x00, 0x44, 0xa5, + 0x00, 0x00, 0x2f, 0xff, 0xff, 0x00, 0x2d, 0xff, 0xff, 0x00, 0xf7, 0x29, + 0x00, 0x00, 0x41, 0xa5, 0x00, 0x00, 0xfd, 0x29, 0x00, 0x00, 0x2b, 0xff, + 0xff, 0x00, 0x2a, 0xff, 0xff, 0x00, 0xe7, 0x29, 0x00, 0x00, 0x43, 0xa5, + 0x00, 0x00, 0x2a, 0xa5, 0x00, 0x00, 0xbb, 0xff, 0xff, 0x00, 0x27, 0xff, + 0xff, 0x00, 0xb9, 0xff, 0xff, 0x00, 0x25, 0xff, 0xff, 0x00, 0x15, 0xa5, + 0x00, 0x00, 0x12, 0xa5, 0x00, 0x02, 0x24, 0x4c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x01, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x54, 0x00, 0x00, 0x01, 0x74, 0x00, + 0x00, 0x01, 0x26, 0x00, 0x00, 0x01, 0x25, 0x00, 0x00, 0x01, 0x40, 0x00, + 0x00, 0x01, 0x3f, 0x00, 0x00, 0x00, 0xda, 0xff, 0xff, 0x00, 0xdb, 0xff, + 0xff, 0x00, 0xe1, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x00, 0xc1, 0xff, + 0xff, 0x01, 0x08, 0x00, 0x00, 0x00, 0xc2, 0xff, 0xff, 0x00, 0xc7, 0xff, + 0xff, 0x00, 0xd1, 0xff, 0xff, 0x00, 0xca, 0xff, 0xff, 0x00, 0xf8, 0xff, + 0xff, 0x00, 0xaa, 0xff, 0xff, 0x00, 0xb0, 0xff, 0xff, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x8c, 0xff, 0xff, 0x01, 0xc4, 0xff, 0xff, 0x00, 0xa0, 0xff, + 0xff, 0x01, 0xf9, 0xff, 0xff, 0x02, 0x1a, 0x70, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x20, 0x00, 0x00, 0x00, 0xe0, 0xff, + 0xff, 0x01, 0x50, 0x00, 0x00, 0x01, 0x0f, 0x00, 0x00, 0x00, 0xf1, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30, 0x00, 0x00, 0x00, 0xd0, 0xff, + 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x0b, 0x00, 0x01, 0x60, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0xd0, 0x97, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0xf8, 0xff, + 0xff, 0x02, 0x05, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0xf4, + 0xff, 0x00, 0x9e, 0xe7, 0xff, 0x00, 0xc2, 0x89, 0x00, 0x00, 0xdb, 0xe7, + 0xff, 0x00, 0x92, 0xe7, 0xff, 0x00, 0x93, 0xe7, 0xff, 0x00, 0x9c, 0xe7, + 0xff, 0x00, 0x9d, 0xe7, 0xff, 0x00, 0xa4, 0xe7, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x8a, 0x00, 0x00, 0x04, 0x8a, 0x00, 0x00, 0xe6, 0x0e, + 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc5, 0xff, 0xff, 0x01, 0x41, 0xe2, 0xff, 0x02, 0x1d, 0x8f, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x56, 0x00, 0x00, 0x01, 0xaa, 0xff, 0xff, 0x00, 0x4a, 0x00, + 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x70, 0x00, + 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x01, 0xb6, 0xff, + 0xff, 0x01, 0xf7, 0xff, 0xff, 0x00, 0xdb, 0xe3, 0xff, 0x01, 0x9c, 0xff, + 0xff, 0x01, 0x90, 0xff, 0xff, 0x01, 0x80, 0xff, 0xff, 0x01, 0x82, 0xff, + 0xff, 0x02, 0x05, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, + 0x00, 0x00, 0xf0, 0xff, 0xff, 0x01, 0x1c, 0x00, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x01, 0xa3, 0xe2, 0xff, 0x01, 0x41, 0xdf, 0xff, 0x01, 0xba, 0xdf, + 0xff, 0x00, 0xe4, 0xff, 0xff, 0x02, 0x0b, 0xb1, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x30, 0x00, 0x00, 0x00, 0xd0, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0xd6, 0xff, 0x01, 0x1a, 0xf1, + 0xff, 0x01, 0x19, 0xd6, 0xff, 0x00, 0xd5, 0xd5, 0xff, 0x00, 0xd8, 0xd5, + 0xff, 0x01, 0xe4, 0xd5, 0xff, 0x01, 0x03, 0xd6, 0xff, 0x01, 0xe1, 0xd5, + 0xff, 0x01, 0xe2, 0xd5, 0xff, 0x01, 0xc1, 0xd5, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xa0, 0xe3, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x02, 0x0c, 0xbc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0xbc, 0x5a, + 0xff, 0x01, 0xa0, 0x03, 0x00, 0x01, 0xfc, 0x75, 0xff, 0x01, 0xd8, 0x5a, + 0xff, 0x00, 0x30, 0x00, 0x00, 0x01, 0xb1, 0x5a, 0xff, 0x01, 0xb5, 0x5a, + 0xff, 0x01, 0xbf, 0x5a, 0xff, 0x01, 0xee, 0x5a, 0xff, 0x01, 0xd6, 0x5a, + 0xff, 0x01, 0xeb, 0x5a, 0xff, 0x01, 0xd0, 0xff, 0xff, 0x01, 0xbd, 0x5a, + 0xff, 0x01, 0xc8, 0x75, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x68, + 0xff, 0x00, 0x60, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, + 0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x28, 0x00, + 0x00, 0x00, 0xd8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, + 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, + 0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, + 0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x00, + 0x00, 0x00, 0xde, 0xff, 0xff, 0x30, 0x0c, 0x31, 0x0d, 0x78, 0x0e, 0x7f, + 0x0f, 0x80, 0x10, 0x81, 0x11, 0x86, 0x12, 0x89, 0x13, 0x8a, 0x13, 0x8e, + 0x14, 0x8f, 0x15, 0x90, 0x16, 0x93, 0x13, 0x94, 0x17, 0x95, 0x18, 0x96, + 0x19, 0x97, 0x1a, 0x9a, 0x1b, 0x9c, 0x19, 0x9d, 0x1c, 0x9e, 0x1d, 0x9f, + 0x1e, 0xa6, 0x1f, 0xa9, 0x1f, 0xae, 0x1f, 0xb1, 0x20, 0xb2, 0x20, 0xb7, + 0x21, 0xbf, 0x22, 0xc5, 0x23, 0xc8, 0x23, 0xcb, 0x23, 0xdd, 0x24, 0xf2, + 0x23, 0xf6, 0x25, 0xf7, 0x26, 0x20, 0x2d, 0x3a, 0x2e, 0x3d, 0x2f, 0x3e, + 0x30, 0x3f, 0x31, 0x40, 0x31, 0x43, 0x32, 0x44, 0x33, 0x45, 0x34, 0x50, + 0x35, 0x51, 0x36, 0x52, 0x37, 0x53, 0x38, 0x54, 0x39, 0x59, 0x3a, 0x5b, + 0x3b, 0x5c, 0x3c, 0x61, 0x3d, 0x63, 0x3e, 0x65, 0x3f, 0x66, 0x40, 0x68, + 0x41, 0x69, 0x42, 0x6a, 0x40, 0x6b, 0x43, 0x6c, 0x44, 0x6f, 0x42, 0x71, + 0x45, 0x72, 0x46, 0x75, 0x47, 0x7d, 0x48, 0x82, 0x49, 0x87, 0x4a, 0x89, + 0x4b, 0x8a, 0x4c, 0x8b, 0x4c, 0x8c, 0x4d, 0x92, 0x4e, 0x9d, 0x4f, 0x9e, + 0x50, 0x45, 0x57, 0x7b, 0x1d, 0x7c, 0x1d, 0x7d, 0x1d, 0x7f, 0x58, 0x86, + 0x59, 0x88, 0x5a, 0x89, 0x5a, 0x8a, 0x5a, 0x8c, 0x5b, 0x8e, 0x5c, 0x8f, + 0x5c, 0xac, 0x5d, 0xad, 0x5e, 0xae, 0x5e, 0xaf, 0x5e, 0xc2, 0x5f, 0xcc, + 0x60, 0xcd, 0x61, 0xce, 0x61, 0xcf, 0x62, 0xd0, 0x63, 0xd1, 0x64, 0xd5, + 0x65, 0xd6, 0x66, 0xd7, 0x67, 0xf0, 0x68, 0xf1, 0x69, 0xf2, 0x6a, 0xf3, + 0x6b, 0xf4, 0x6c, 0xf5, 0x6d, 0xf9, 0x6e, 0xfd, 0x2d, 0xfe, 0x2d, 0xff, + 0x2d, 0x50, 0x69, 0x51, 0x69, 0x52, 0x69, 0x53, 0x69, 0x54, 0x69, 0x55, + 0x69, 0x56, 0x69, 0x57, 0x69, 0x58, 0x69, 0x59, 0x69, 0x5a, 0x69, 0x5b, + 0x69, 0x5c, 0x69, 0x5d, 0x69, 0x5e, 0x69, 0x5f, 0x69, 0x82, 0x00, 0x83, + 0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, + 0x00, 0xc0, 0x75, 0xcf, 0x76, 0x80, 0x89, 0x81, 0x8a, 0x82, 0x8b, 0x85, + 0x8c, 0x86, 0x8d, 0x70, 0x9d, 0x71, 0x9d, 0x76, 0x9e, 0x77, 0x9e, 0x78, + 0x9f, 0x79, 0x9f, 0x7a, 0xa0, 0x7b, 0xa0, 0x7c, 0xa1, 0x7d, 0xa1, 0xb3, + 0xa2, 0xba, 0xa3, 0xbb, 0xa3, 0xbc, 0xa4, 0xbe, 0xa5, 0xc3, 0xa2, 0xcc, + 0xa4, 0xda, 0xa6, 0xdb, 0xa6, 0xe5, 0x6a, 0xea, 0xa7, 0xeb, 0xa7, 0xec, + 0x6e, 0xf3, 0xa2, 0xf8, 0xa8, 0xf9, 0xa8, 0xfa, 0xa9, 0xfb, 0xa9, 0xfc, + 0xa4, 0x26, 0xb0, 0x2a, 0xb1, 0x2b, 0xb2, 0x4e, 0xb3, 0x84, 0x08, 0x62, + 0xba, 0x63, 0xbb, 0x64, 0xbc, 0x65, 0xbd, 0x66, 0xbe, 0x6d, 0xbf, 0x6e, + 0xc0, 0x6f, 0xc1, 0x70, 0xc2, 0x7e, 0xc3, 0x7f, 0xc3, 0x7d, 0xcf, 0x8d, + 0xd0, 0x94, 0xd1, 0xab, 0xd2, 0xac, 0xd3, 0xad, 0xd4, 0xb0, 0xd5, 0xb1, + 0xd6, 0xb2, 0xd7, 0xc4, 0xd8, 0xc5, 0xd9, 0xc6, 0xda, 0x07, 0x08, 0x09, + 0x0a, 0x0b, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x0d, 0x06, 0x06, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x0f, 0x10, 0x11, 0x12, 0x06, 0x13, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x14, 0x15, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x16, 0x17, 0x06, 0x06, 0x06, + 0x18, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x19, 0x06, 0x06, 0x06, 0x06, 0x1a, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x1b, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x1c, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x1d, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x1e, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x01, 0x00, 0x54, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x07, 0x2b, + 0x2b, 0x5b, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x4a, 0x56, 0x56, + 0x05, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x24, 0x50, 0x79, 0x31, 0x50, 0x31, 0x50, + 0x31, 0x38, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x4e, 0x31, 0x02, 0x4e, 0x0d, 0x0d, 0x4e, + 0x03, 0x4e, 0x00, 0x24, 0x6e, 0x00, 0x4e, 0x31, 0x26, 0x6e, 0x51, 0x4e, + 0x24, 0x50, 0x4e, 0x39, 0x14, 0x81, 0x1b, 0x1d, 0x1d, 0x53, 0x31, 0x50, + 0x31, 0x50, 0x0d, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x1b, 0x53, 0x24, + 0x50, 0x31, 0x02, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, + 0x7b, 0x14, 0x79, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x2d, 0x2b, 0x49, 0x03, + 0x48, 0x03, 0x78, 0x5c, 0x7b, 0x14, 0x00, 0x96, 0x0a, 0x01, 0x2b, 0x28, + 0x06, 0x06, 0x00, 0x2a, 0x06, 0x2a, 0x2a, 0x2b, 0x07, 0xbb, 0xb5, 0x2b, + 0x1e, 0x00, 0x2b, 0x07, 0x2b, 0x2b, 0x2b, 0x01, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x01, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0xcd, 0x46, 0xcd, 0x2b, 0x00, 0x25, + 0x2b, 0x07, 0x01, 0x06, 0x01, 0x55, 0x56, 0x56, 0x56, 0x56, 0x56, 0x55, + 0x56, 0x56, 0x02, 0x24, 0x81, 0x81, 0x81, 0x81, 0x81, 0x15, 0x81, 0x81, + 0x81, 0x00, 0x00, 0x2b, 0x00, 0xb2, 0xd1, 0xb2, 0xd1, 0xb2, 0xd1, 0xb2, + 0xd1, 0x00, 0x00, 0xcd, 0xcc, 0x01, 0x00, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, + 0x83, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xac, + 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x1c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x02, 0x00, 0x00, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x4e, + 0x31, 0x50, 0x31, 0x50, 0x4e, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x02, 0x87, 0xa6, 0x87, + 0xa6, 0x87, 0xa6, 0x87, 0xa6, 0x87, 0xa6, 0x87, 0xa6, 0x87, 0xa6, 0x87, + 0xa6, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x00, 0x00, 0x00, 0x54, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x54, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x0c, 0x00, 0x0c, 0x2a, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x07, 0x2a, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x56, 0x56, 0x6c, + 0x81, 0x15, 0x00, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x07, 0x6c, 0x03, + 0x41, 0x2b, 0x2b, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x2c, 0x56, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x6c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x25, 0x06, 0x25, 0x06, + 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, + 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, + 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, + 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x56, 0x7a, 0x9e, + 0x26, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, + 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, + 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x25, 0x06, 0x01, 0x2b, 0x2b, 0x4f, + 0x56, 0x56, 0x2c, 0x2b, 0x7f, 0x56, 0x56, 0x39, 0x2b, 0x2b, 0x55, 0x56, + 0x56, 0x2b, 0x2b, 0x4f, 0x56, 0x56, 0x2c, 0x2b, 0x7f, 0x56, 0x56, 0x81, + 0x37, 0x75, 0x5b, 0x7b, 0x5c, 0x2b, 0x2b, 0x4f, 0x56, 0x56, 0x02, 0xac, + 0x04, 0x00, 0x00, 0x39, 0x2b, 0x2b, 0x55, 0x56, 0x56, 0x2b, 0x2b, 0x4f, + 0x56, 0x56, 0x2c, 0x2b, 0x2b, 0x56, 0x56, 0x32, 0x13, 0x81, 0x57, 0x00, + 0x6f, 0x81, 0x7e, 0xc9, 0xd7, 0x7e, 0x2d, 0x81, 0x81, 0x0e, 0x7e, 0x39, + 0x7f, 0x6f, 0x57, 0x00, 0x81, 0x81, 0x7e, 0x15, 0x00, 0x7e, 0x03, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x07, + 0x2b, 0x24, 0x2b, 0x97, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x80, 0x81, 0x81, 0x81, 0x81, 0x39, 0xbb, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x01, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x81, 0xc9, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, + 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xd0, 0x0d, 0x00, 0x4e, + 0x31, 0x02, 0xb4, 0xc1, 0xc1, 0xd7, 0xd7, 0x24, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0xd7, 0xd7, 0x53, 0xc1, 0x47, 0xd4, 0xd7, + 0xd7, 0xd7, 0x05, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x07, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x4e, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, + 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x31, 0x50, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x79, 0x5c, 0x7b, 0x5c, 0x7b, 0x4f, + 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, + 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x7b, 0x5c, 0x2d, 0x2b, 0x2b, 0x79, + 0x14, 0x5c, 0x7b, 0x5c, 0x2d, 0x79, 0x2a, 0x5c, 0x27, 0x5c, 0x7b, 0x5c, + 0x7b, 0x5c, 0x7b, 0xa4, 0x00, 0x0a, 0xb4, 0x5c, 0x7b, 0x5c, 0x7b, 0x4f, + 0x03, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x07, 0x00, 0x48, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x55, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x07, + 0x00, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x07, 0x00, 0x00, 0x00, 0x00, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x55, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x27, 0x51, 0x6f, 0x77, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x8e, 0x92, + 0x97, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xb4, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc6, 0xc9, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0x00, 0x00, 0x00, + 0x00, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, + 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, + 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x20, 0x00, + 0x00, 0x02, 0x20, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, + 0x00, 0x05, 0x20, 0x00, 0x00, 0x06, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00, + 0x00, 0x09, 0x20, 0x00, 0x00, 0x0a, 0x20, 0x00, 0x00, 0x28, 0x20, 0x00, + 0x00, 0x29, 0x20, 0x00, 0x00, 0x5f, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x05, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x00, 0x0c, 0x0b, 0x73, 0x74, 0x64, 0x6c, 0x69, 0x62, 0x2e, 0x77, + 0x61, 0x73, 0x6d, 0x01, 0xc9, 0x04, 0x2c, 0x00, 0x2a, 0x5f, 0x5f, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x73, 0x69, + 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x31, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x5f, + 0x67, 0x65, 0x74, 0x01, 0x30, 0x5f, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x73, 0x69, 0x5f, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x31, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x73, 0x5f, 0x67, 0x65, 0x74, 0x02, 0x2b, 0x5f, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x73, 0x69, 0x5f, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x31, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x65, 0x78, + 0x69, 0x74, 0x03, 0x11, 0x5f, 0x5f, 0x77, 0x61, 0x73, 0x6d, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x04, 0x13, 0x75, + 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x77, 0x65, 0x61, + 0x6b, 0x3a, 0x6d, 0x61, 0x69, 0x6e, 0x05, 0x12, 0x5f, 0x5f, 0x77, 0x61, + 0x73, 0x6d, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x06, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x07, 0x0a, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x08, 0x06, + 0x6d, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x09, 0x04, 0x66, 0x72, 0x65, 0x65, + 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x0b, 0x07, 0x72, 0x65, + 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x0c, 0x05, 0x5f, 0x45, 0x78, 0x69, 0x74, + 0x0d, 0x0b, 0x5f, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x76, 0x6f, 0x69, + 0x64, 0x0e, 0x0f, 0x5f, 0x5f, 0x77, 0x61, 0x73, 0x69, 0x5f, 0x61, 0x72, + 0x67, 0x73, 0x5f, 0x67, 0x65, 0x74, 0x0f, 0x15, 0x5f, 0x5f, 0x77, 0x61, + 0x73, 0x69, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x73, 0x5f, 0x67, 0x65, 0x74, 0x10, 0x10, 0x5f, 0x5f, 0x77, 0x61, 0x73, + 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x11, + 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x12, 0x11, 0x5f, 0x5f, 0x77, 0x61, + 0x73, 0x6d, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x74, 0x6f, 0x72, + 0x73, 0x13, 0x06, 0x6d, 0x65, 0x6d, 0x63, 0x70, 0x79, 0x14, 0x06, 0x6d, + 0x65, 0x6d, 0x73, 0x65, 0x74, 0x15, 0x06, 0x73, 0x74, 0x72, 0x6c, 0x65, + 0x6e, 0x16, 0x08, 0x69, 0x73, 0x77, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x17, + 0x06, 0x6d, 0x65, 0x6d, 0x63, 0x6d, 0x70, 0x18, 0x06, 0x6d, 0x65, 0x6d, + 0x63, 0x68, 0x72, 0x19, 0x06, 0x73, 0x74, 0x72, 0x63, 0x6d, 0x70, 0x1a, + 0x08, 0x74, 0x6f, 0x77, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x1b, 0x07, 0x63, + 0x61, 0x73, 0x65, 0x6d, 0x61, 0x70, 0x1c, 0x08, 0x74, 0x6f, 0x77, 0x75, + 0x70, 0x70, 0x65, 0x72, 0x1d, 0x07, 0x73, 0x74, 0x72, 0x6e, 0x63, 0x6d, + 0x70, 0x1e, 0x08, 0x69, 0x73, 0x77, 0x75, 0x70, 0x70, 0x65, 0x72, 0x1f, + 0x07, 0x6d, 0x65, 0x6d, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x08, 0x69, 0x73, + 0x77, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x21, 0x07, 0x69, 0x73, 0x62, 0x6c, + 0x61, 0x6e, 0x6b, 0x22, 0x08, 0x69, 0x73, 0x77, 0x62, 0x6c, 0x61, 0x6e, + 0x6b, 0x23, 0x08, 0x69, 0x73, 0x77, 0x64, 0x69, 0x67, 0x69, 0x74, 0x24, + 0x07, 0x73, 0x74, 0x72, 0x6e, 0x63, 0x61, 0x74, 0x25, 0x09, 0x5f, 0x5f, + 0x73, 0x74, 0x70, 0x6e, 0x63, 0x70, 0x79, 0x26, 0x07, 0x73, 0x74, 0x72, + 0x6e, 0x63, 0x70, 0x79, 0x27, 0x09, 0x69, 0x73, 0x77, 0x78, 0x64, 0x69, + 0x67, 0x69, 0x74, 0x28, 0x06, 0x77, 0x63, 0x73, 0x6c, 0x65, 0x6e, 0x29, + 0x06, 0x77, 0x63, 0x73, 0x63, 0x68, 0x72, 0x2a, 0x08, 0x69, 0x73, 0x77, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x2b, 0x08, 0x69, 0x73, 0x77, 0x61, 0x6c, + 0x6e, 0x75, 0x6d, 0x07, 0x33, 0x02, 0x00, 0x0f, 0x5f, 0x5f, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x01, + 0x1f, 0x47, 0x4f, 0x54, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x5f, 0x5f, 0x6d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x09, 0x0a, 0x01, 0x00, + 0x07, 0x2e, 0x72, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x00, 0x8e, 0x01, 0x09, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x73, 0x02, 0x08, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x01, 0x03, 0x43, 0x31, 0x31, + 0x00, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x2d, + 0x62, 0x79, 0x01, 0x05, 0x63, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x31, 0x39, + 0x2e, 0x31, 0x2e, 0x35, 0x2d, 0x77, 0x61, 0x73, 0x69, 0x2d, 0x73, 0x64, + 0x6b, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x6c, + 0x76, 0x6d, 0x2f, 0x6c, 0x6c, 0x76, 0x6d, 0x2d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x20, 0x61, 0x62, 0x34, 0x62, 0x35, 0x61, 0x32, 0x64, + 0x62, 0x35, 0x38, 0x32, 0x39, 0x35, 0x38, 0x61, 0x66, 0x31, 0x65, 0x65, + 0x33, 0x30, 0x38, 0x61, 0x37, 0x39, 0x30, 0x63, 0x66, 0x64, 0x62, 0x34, + 0x32, 0x62, 0x64, 0x32, 0x34, 0x37, 0x32, 0x30, 0x29, 0x00, 0x56, 0x0f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x05, 0x2b, 0x0b, 0x62, 0x75, 0x6c, 0x6b, 0x2d, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2b, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2b, 0x0f, 0x6d, 0x75, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x2d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x2b, 0x0f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2b, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x2d, 0x65, 0x78, + 0x74 +}; +unsigned int STDLIB_WASM_LEN = 15673; + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/wasm_store.c b/non-source/foreign/tree-sitter/lib/src/wasm_store.c new file mode 100644 index 00000000..d018a68c --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/wasm_store.c @@ -0,0 +1,1935 @@ +#include "tree_sitter/api.h" +#include "./parser.h" +#include + +#ifdef TREE_SITTER_FEATURE_WASM + +#include "./alloc.h" +#include "./array.h" +#include "./atomic.h" +#include "./language.h" +#include "./lexer.h" +#include "./wasm/wasm-stdlib.h" +#include "./wasm_store.h" + +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4100) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#endif + +#define array_len(a) (sizeof(a) / sizeof(a[0])) + +// The following symbols from the C and C++ standard libraries are available +// for external scanners to use. +const char *STDLIB_SYMBOLS[] = { + #include "./stdlib-symbols.txt" +}; + +// The contents of the `dylink.0` custom section of a wasm module, +// as specified by the current WebAssembly dynamic linking ABI proposal. +typedef struct { + uint32_t memory_size; + uint32_t memory_align; + uint32_t table_size; + uint32_t table_align; +} WasmDylinkInfo; + +// WasmLanguageId - A pointer used to identify a language. This language id is +// reference-counted, so that its ownership can be shared between the language +// itself and the instances of the language that are held in wasm stores. +typedef struct { + volatile uint32_t ref_count; + volatile uint32_t is_language_deleted; +} WasmLanguageId; + +// LanguageWasmModule - Additional data associated with a wasm-backed +// `TSLanguage`. This data is read-only and does not reference a particular +// wasm store, so it can be shared by all users of a `TSLanguage`. A pointer to +// this is stored on the language itself. +typedef struct { + volatile uint32_t ref_count; + WasmLanguageId *language_id; + wasmtime_module_t *module; + const char *name; + char *symbol_name_buffer; + char *field_name_buffer; + WasmDylinkInfo dylink_info; +} LanguageWasmModule; + +// LanguageWasmInstance - Additional data associated with an instantiation of +// a `TSLanguage` in a particular wasm store. The wasm store holds one of +// these structs for each language that it has instantiated. +typedef struct { + WasmLanguageId *language_id; + wasmtime_instance_t instance; + int32_t external_states_address; + int32_t lex_main_fn_index; + int32_t lex_keyword_fn_index; + int32_t scanner_create_fn_index; + int32_t scanner_destroy_fn_index; + int32_t scanner_serialize_fn_index; + int32_t scanner_deserialize_fn_index; + int32_t scanner_scan_fn_index; +} LanguageWasmInstance; + +typedef struct { + uint32_t reset_heap; + uint32_t proc_exit; + uint32_t abort; + uint32_t assert_fail; + uint32_t notify_memory_growth; + uint32_t debug_message; + uint32_t at_exit; + uint32_t args_get; + uint32_t args_sizes_get; +} BuiltinFunctionIndices; + +// TSWasmStore - A struct that allows a given `Parser` to use wasm-backed +// languages. This struct is mutable, and can only be used by one parser at a +// time. +struct TSWasmStore { + wasm_engine_t *engine; + wasmtime_store_t *store; + wasmtime_table_t function_table; + wasmtime_memory_t memory; + TSLexer *current_lexer; + LanguageWasmInstance *current_instance; + Array(LanguageWasmInstance) language_instances; + uint32_t current_memory_offset; + uint32_t current_function_table_offset; + uint32_t *stdlib_fn_indices; + BuiltinFunctionIndices builtin_fn_indices; + wasmtime_global_t stack_pointer_global; + wasm_globaltype_t *const_i32_type; + bool has_error; + uint32_t lexer_address; +}; + +typedef Array(char) StringData; + +// LanguageInWasmMemory - The memory layout of a `TSLanguage` when compiled to +// wasm32. This is used to copy static language data out of the wasm memory. +typedef struct { + uint32_t abi_version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + int32_t parse_table; + int32_t small_parse_table; + int32_t small_parse_table_map; + int32_t parse_actions; + int32_t symbol_names; + int32_t field_names; + int32_t field_map_slices; + int32_t field_map_entries; + int32_t symbol_metadata; + int32_t public_symbol_map; + int32_t alias_map; + int32_t alias_sequences; + int32_t lex_modes; + int32_t lex_fn; + int32_t keyword_lex_fn; + TSSymbol keyword_capture_token; + struct { + int32_t states; + int32_t symbol_map; + int32_t create; + int32_t destroy; + int32_t scan; + int32_t serialize; + int32_t deserialize; + } external_scanner; + int32_t primary_state_ids; + int32_t name; + int32_t reserved_words; + uint16_t max_reserved_word_set_size; + uint32_t supertype_count; + int32_t supertype_symbols; + int32_t supertype_map_slices; + int32_t supertype_map_entries; + TSLanguageMetadata metadata; +} LanguageInWasmMemory; + +// LexerInWasmMemory - The memory layout of a `TSLexer` when compiled to wasm32. +// This is used to copy mutable lexing state in and out of the wasm memory. +typedef struct { + int32_t lookahead; + TSSymbol result_symbol; + int32_t advance; + int32_t mark_end; + int32_t get_column; + int32_t is_at_included_range_start; + int32_t eof; +} LexerInWasmMemory; + +// Linear memory layout: +// [ <-- stack | stdlib statics | lexer | language statics --> | serialization_buffer | heap --> ] +#define MAX_MEMORY_SIZE (128 * 1024 * 1024 / MEMORY_PAGE_SIZE) + +/************************ + * WasmDylinkMemoryInfo + ***********************/ + +static uint8_t read_u8(const uint8_t **p) { + return *(*p)++; +} + +static inline uint64_t read_uleb128(const uint8_t **p, const uint8_t *end) { + uint64_t value = 0; + unsigned shift = 0; + do { + if (*p == end) return UINT64_MAX; + value += (uint64_t)(**p & 0x7f) << shift; + shift += 7; + } while (*((*p)++) >= 128); + return value; +} + +static bool wasm_dylink_info__parse( + const uint8_t *bytes, + size_t length, + WasmDylinkInfo *info +) { + const uint8_t WASM_MAGIC_NUMBER[4] = {0, 'a', 's', 'm'}; + const uint8_t WASM_VERSION[4] = {1, 0, 0, 0}; + const uint8_t WASM_CUSTOM_SECTION = 0x0; + const uint8_t WASM_DYLINK_MEM_INFO = 0x1; + + const uint8_t *p = bytes; + const uint8_t *end = bytes + length; + + if (length < 8) return false; + if (memcmp(p, WASM_MAGIC_NUMBER, 4) != 0) return false; + p += 4; + if (memcmp(p, WASM_VERSION, 4) != 0) return false; + p += 4; + + while (p < end) { + uint8_t section_id = read_u8(&p); + uint32_t section_length = read_uleb128(&p, end); + const uint8_t *section_end = p + section_length; + if (section_end > end) return false; + + if (section_id == WASM_CUSTOM_SECTION) { + uint32_t name_length = read_uleb128(&p, section_end); + const uint8_t *name_end = p + name_length; + if (name_end > section_end) return false; + + if (name_length == 8 && memcmp(p, "dylink.0", 8) == 0) { + p = name_end; + while (p < section_end) { + uint8_t subsection_type = read_u8(&p); + uint32_t subsection_size = read_uleb128(&p, section_end); + const uint8_t *subsection_end = p + subsection_size; + if (subsection_end > section_end) return false; + if (subsection_type == WASM_DYLINK_MEM_INFO) { + info->memory_size = read_uleb128(&p, subsection_end); + info->memory_align = read_uleb128(&p, subsection_end); + info->table_size = read_uleb128(&p, subsection_end); + info->table_align = read_uleb128(&p, subsection_end); + return true; + } + p = subsection_end; + } + } + } + p = section_end; + } + return false; +} + +/******************************************* + * Native callbacks exposed to wasm modules + *******************************************/ + + static wasm_trap_t *callback__abort( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + return wasmtime_trap_new("wasm module called abort", 24); +} + +static wasm_trap_t *callback__debug_message( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + wasmtime_context_t *context = wasmtime_caller_context(caller); + TSWasmStore *store = env; + ts_assert(args_and_results_len == 2); + uint32_t string_address = args_and_results[0].i32; + uint32_t value = args_and_results[1].i32; + uint8_t *memory = wasmtime_memory_data(context, &store->memory); + printf("DEBUG: %s %u\n", &memory[string_address], value); + return NULL; +} + +static wasm_trap_t *callback__noop( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + return NULL; +} + +static wasm_trap_t *callback__lexer_advance( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + wasmtime_context_t *context = wasmtime_caller_context(caller); + ts_assert(args_and_results_len == 2); + + TSWasmStore *store = env; + TSLexer *lexer = store->current_lexer; + bool skip = args_and_results[1].i32; + lexer->advance(lexer, skip); + + uint8_t *memory = wasmtime_memory_data(context, &store->memory); + memcpy(&memory[store->lexer_address], &lexer->lookahead, sizeof(lexer->lookahead)); + return NULL; +} + +static wasm_trap_t *callback__lexer_mark_end( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + TSWasmStore *store = env; + TSLexer *lexer = store->current_lexer; + lexer->mark_end(lexer); + return NULL; +} + +static wasm_trap_t *callback__lexer_get_column( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + TSWasmStore *store = env; + TSLexer *lexer = store->current_lexer; + uint32_t result = lexer->get_column(lexer); + args_and_results[0].i32 = result; + return NULL; +} + +static wasm_trap_t *callback__lexer_is_at_included_range_start( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + TSWasmStore *store = env; + TSLexer *lexer = store->current_lexer; + bool result = lexer->is_at_included_range_start(lexer); + args_and_results[0].i32 = result; + return NULL; +} + +static wasm_trap_t *callback__lexer_eof( + void *env, + wasmtime_caller_t* caller, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + TSWasmStore *store = env; + TSLexer *lexer = store->current_lexer; + bool result = lexer->eof(lexer); + args_and_results[0].i32 = result; + return NULL; +} + +typedef struct { + uint32_t *storage_location; + wasmtime_func_unchecked_callback_t callback; + wasm_functype_t *type; +} FunctionDefinition; + +static void *copy(const void *data, size_t size) { + void *result = ts_malloc(size); + memcpy(result, data, size); + return result; +} + +static void *copy_unsized_static_array( + const uint8_t *data, + int32_t start_address, + const int32_t all_addresses[], + size_t address_count +) { + int32_t end_address = 0; + for (unsigned i = 0; i < address_count; i++) { + if (all_addresses[i] > start_address) { + if (!end_address || all_addresses[i] < end_address) { + end_address = all_addresses[i]; + } + } + } + + if (!end_address) return NULL; + size_t size = end_address - start_address; + void *result = ts_malloc(size); + memcpy(result, &data[start_address], size); + return result; +} + +static void *copy_strings( + const uint8_t *data, + int32_t array_address, + size_t count, + StringData *string_data +) { + const char **result = ts_malloc(count * sizeof(char *)); + for (unsigned i = 0; i < count; i++) { + int32_t address; + memcpy(&address, &data[array_address + i * sizeof(address)], sizeof(address)); + if (address == 0) { + result[i] = (const char *)-1; + } else { + const uint8_t *string = &data[address]; + uint32_t len = strlen((const char *)string); + result[i] = (const char *)(uintptr_t)string_data->size; + array_extend(string_data, len + 1, string); + } + } + for (unsigned i = 0; i < count; i++) { + if (result[i] == (const char *)-1) { + result[i] = NULL; + } else { + result[i] = string_data->contents + (uintptr_t)result[i]; + } + } + return result; +} + +static void *copy_string( + const uint8_t *data, + int32_t address +) { + const char *string = (const char *)&data[address]; + size_t len = strlen(string); + char *result = ts_malloc(len + 1); + memcpy(result, string, len + 1); + return result; +} + +static bool name_eq(const wasm_name_t *name, const char *string) { + return strncmp(string, name->data, name->size) == 0; +} + +static inline wasm_functype_t* wasm_functype_new_4_0( + wasm_valtype_t* p1, + wasm_valtype_t* p2, + wasm_valtype_t* p3, + wasm_valtype_t* p4 +) { + wasm_valtype_t* ps[4] = {p1, p2, p3, p4}; + wasm_valtype_vec_t params, results; + wasm_valtype_vec_new(¶ms, 4, ps); + wasm_valtype_vec_new_empty(&results); + return wasm_functype_new(¶ms, &results); +} + +#define format(output, ...) \ + do { \ + size_t message_length = snprintf((char *)NULL, 0, __VA_ARGS__); \ + *output = ts_malloc(message_length + 1); \ + snprintf(*output, message_length + 1, __VA_ARGS__); \ + } while (0) + +WasmLanguageId *language_id_new(void) { + WasmLanguageId *self = ts_malloc(sizeof(WasmLanguageId)); + self->is_language_deleted = false; + self->ref_count = 1; + return self; +} + +WasmLanguageId *language_id_clone(WasmLanguageId *self) { + atomic_inc(&self->ref_count); + return self; +} + +void language_id_delete(WasmLanguageId *self) { + if (atomic_dec(&self->ref_count) == 0) { + ts_free(self); + } +} + +static wasmtime_extern_t get_builtin_extern( + wasmtime_table_t *table, + unsigned index +) { + return (wasmtime_extern_t) { + .kind = WASMTIME_EXTERN_FUNC, + .of.func = (wasmtime_func_t) { + .store_id = table->store_id, + .__private = index + } + }; +} + +static bool ts_wasm_store__provide_builtin_import( + TSWasmStore *self, + const wasm_name_t *import_name, + wasmtime_extern_t *import +) { + wasmtime_error_t *error = NULL; + wasmtime_context_t *context = wasmtime_store_context(self->store); + + // Dynamic linking parameters + if (name_eq(import_name, "__memory_base")) { + wasmtime_val_t value = WASM_I32_VAL(self->current_memory_offset); + wasmtime_global_t global; + error = wasmtime_global_new(context, self->const_i32_type, &value, &global); + ts_assert(!error); + *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_GLOBAL, .of.global = global}; + } else if (name_eq(import_name, "__table_base")) { + wasmtime_val_t value = WASM_I32_VAL(self->current_function_table_offset); + wasmtime_global_t global; + error = wasmtime_global_new(context, self->const_i32_type, &value, &global); + ts_assert(!error); + *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_GLOBAL, .of.global = global}; + } else if (name_eq(import_name, "__stack_pointer")) { + *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_GLOBAL, .of.global = self->stack_pointer_global}; + } else if (name_eq(import_name, "__indirect_function_table")) { + *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_TABLE, .of.table = self->function_table}; + } else if (name_eq(import_name, "memory")) { + *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_MEMORY, .of.memory = self->memory}; + } + + // Builtin functions + else if (name_eq(import_name, "__assert_fail")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.assert_fail); + } else if (name_eq(import_name, "__cxa_atexit")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.at_exit); + } else if (name_eq(import_name, "args_get")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.args_get); + } else if (name_eq(import_name, "args_sizes_get")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.args_sizes_get); + } else if (name_eq(import_name, "abort")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.abort); + } else if (name_eq(import_name, "proc_exit")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.proc_exit); + } else if (name_eq(import_name, "emscripten_notify_memory_growth")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.notify_memory_growth); + } else if (name_eq(import_name, "tree_sitter_debug_message")) { + *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.debug_message); + } else { + return false; + } + + return true; +} + +static bool ts_wasm_store__call_module_initializer( + TSWasmStore *self, + const wasm_name_t *export_name, + wasmtime_extern_t *export, + wasm_trap_t **trap +) { + if ( + name_eq(export_name, "_initialize") || + name_eq(export_name, "__wasm_apply_data_relocs") || + name_eq(export_name, "__wasm_call_ctors") + ) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + wasmtime_func_t initialization_func = export->of.func; + wasmtime_error_t *error = wasmtime_func_call(context, &initialization_func, NULL, 0, NULL, 0, trap); + ts_assert(!error); + return true; + } else { + return false; + } +} + +TSWasmStore *ts_wasm_store_new(TSWasmEngine *engine, TSWasmError *wasm_error) { + TSWasmStore *self = ts_calloc(1, sizeof(TSWasmStore)); + wasmtime_store_t *store = wasmtime_store_new(engine, self, NULL); + wasmtime_context_t *context = wasmtime_store_context(store); + wasmtime_error_t *error = NULL; + wasm_trap_t *trap = NULL; + wasm_message_t message = WASM_EMPTY_VEC; + wasm_exporttype_vec_t export_types = WASM_EMPTY_VEC; + wasm_importtype_vec_t import_types = WASM_EMPTY_VEC; + wasmtime_extern_t *imports = NULL; + wasmtime_module_t *stdlib_module = NULL; + wasm_memorytype_t *memory_type = NULL; + wasm_tabletype_t *table_type = NULL; + + // Define functions called by scanners via function pointers on the lexer. + LexerInWasmMemory lexer = { + .lookahead = 0, + .result_symbol = 0, + }; + FunctionDefinition lexer_definitions[] = { + { + (uint32_t *)&lexer.advance, + callback__lexer_advance, + wasm_functype_new_2_0(wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + { + (uint32_t *)&lexer.mark_end, + callback__lexer_mark_end, + wasm_functype_new_1_0(wasm_valtype_new_i32()) + }, + { + (uint32_t *)&lexer.get_column, + callback__lexer_get_column, + wasm_functype_new_1_1(wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + { + (uint32_t *)&lexer.is_at_included_range_start, + callback__lexer_is_at_included_range_start, + wasm_functype_new_1_1(wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + { + (uint32_t *)&lexer.eof, + callback__lexer_eof, + wasm_functype_new_1_1(wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + }; + + // Define builtin functions that can be imported by scanners. + BuiltinFunctionIndices builtin_fn_indices; + FunctionDefinition builtin_definitions[] = { + { + &builtin_fn_indices.proc_exit, + callback__abort, + wasm_functype_new_1_0(wasm_valtype_new_i32()) + }, + { + &builtin_fn_indices.abort, + callback__abort, + wasm_functype_new_0_0() + }, + { + &builtin_fn_indices.assert_fail, + callback__abort, + wasm_functype_new_4_0(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + { + &builtin_fn_indices.notify_memory_growth, + callback__noop, + wasm_functype_new_1_0(wasm_valtype_new_i32()) + }, + { + &builtin_fn_indices.debug_message, + callback__debug_message, + wasm_functype_new_2_0(wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + { + &builtin_fn_indices.at_exit, + callback__noop, + wasm_functype_new_3_1(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + { + &builtin_fn_indices.args_get, + callback__noop, + wasm_functype_new_2_1(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + { + &builtin_fn_indices.args_sizes_get, + callback__noop, + wasm_functype_new_2_1(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32()) + }, + }; + + // Create all of the wasm functions. + unsigned builtin_definitions_len = array_len(builtin_definitions); + unsigned lexer_definitions_len = array_len(lexer_definitions); + for (unsigned i = 0; i < builtin_definitions_len; i++) { + FunctionDefinition *definition = &builtin_definitions[i]; + wasmtime_func_t func; + wasmtime_func_new_unchecked(context, definition->type, definition->callback, self, NULL, &func); + *definition->storage_location = func.__private; + wasm_functype_delete(definition->type); + } + for (unsigned i = 0; i < lexer_definitions_len; i++) { + FunctionDefinition *definition = &lexer_definitions[i]; + wasmtime_func_t func; + wasmtime_func_new_unchecked(context, definition->type, definition->callback, self, NULL, &func); + *definition->storage_location = func.__private; + wasm_functype_delete(definition->type); + } + + // Compile the stdlib module. + error = wasmtime_module_new(engine, STDLIB_WASM, STDLIB_WASM_LEN, &stdlib_module); + if (error) { + wasmtime_error_message(error, &message); + wasm_error->kind = TSWasmErrorKindCompile; + format( + &wasm_error->message, + "failed to compile wasm stdlib: %.*s", + (int)message.size, message.data + ); + goto error; + } + + // Retrieve the stdlib module's imports. + wasmtime_module_imports(stdlib_module, &import_types); + + // Find the initial number of memory pages needed by the stdlib. + const wasm_memorytype_t *stdlib_memory_type = NULL; + for (unsigned i = 0; i < import_types.size; i++) { + wasm_importtype_t *import_type = import_types.data[i]; + const wasm_name_t *import_name = wasm_importtype_name(import_type); + if (name_eq(import_name, "memory")) { + const wasm_externtype_t *type = wasm_importtype_type(import_type); + stdlib_memory_type = wasm_externtype_as_memorytype_const(type); + } + } + if (!stdlib_memory_type) { + wasm_error->kind = TSWasmErrorKindCompile; + format( + &wasm_error->message, + "wasm stdlib is missing the 'memory' import" + ); + goto error; + } + + // Initialize store's memory + uint64_t initial_memory_pages = wasmtime_memorytype_minimum(stdlib_memory_type); + wasm_limits_t memory_limits = {.min = initial_memory_pages, .max = MAX_MEMORY_SIZE}; + memory_type = wasm_memorytype_new(&memory_limits); + wasmtime_memory_t memory; + error = wasmtime_memory_new(context, memory_type, &memory); + if (error) { + wasmtime_error_message(error, &message); + wasm_error->kind = TSWasmErrorKindAllocate; + format( + &wasm_error->message, + "failed to allocate wasm memory: %.*s", + (int)message.size, message.data + ); + goto error; + } + wasm_memorytype_delete(memory_type); + memory_type = NULL; + + // Initialize store's function table + wasm_limits_t table_limits = {.min = 1, .max = wasm_limits_max_default}; + table_type = wasm_tabletype_new(wasm_valtype_new(WASM_FUNCREF), &table_limits); + wasmtime_val_t initializer = {.kind = WASMTIME_FUNCREF}; + wasmtime_table_t function_table; + error = wasmtime_table_new(context, table_type, &initializer, &function_table); + if (error) { + wasmtime_error_message(error, &message); + wasm_error->kind = TSWasmErrorKindAllocate; + format( + &wasm_error->message, + "failed to allocate wasm table: %.*s", + (int)message.size, message.data + ); + goto error; + } + wasm_tabletype_delete(table_type); + table_type = NULL; + + unsigned stdlib_symbols_len = array_len(STDLIB_SYMBOLS); + + // Define globals for the stack and heap start addresses. + wasm_globaltype_t *const_i32_type = wasm_globaltype_new(wasm_valtype_new_i32(), WASM_CONST); + wasm_globaltype_t *var_i32_type = wasm_globaltype_new(wasm_valtype_new_i32(), WASM_VAR); + + wasmtime_val_t stack_pointer_value = WASM_I32_VAL(0); + wasmtime_global_t stack_pointer_global; + error = wasmtime_global_new(context, var_i32_type, &stack_pointer_value, &stack_pointer_global); + ts_assert(!error); + + *self = (TSWasmStore) { + .engine = wasmtime_engine_clone(engine), + .store = store, + .memory = memory, + .function_table = function_table, + .language_instances = array_new(), + .stdlib_fn_indices = ts_calloc(stdlib_symbols_len, sizeof(uint32_t)), + .builtin_fn_indices = builtin_fn_indices, + .stack_pointer_global = stack_pointer_global, + .current_memory_offset = 0, + .current_function_table_offset = 0, + .const_i32_type = const_i32_type, + }; + + // Set up the imports for the stdlib module. + imports = ts_calloc(import_types.size, sizeof(wasmtime_extern_t)); + for (unsigned i = 0; i < import_types.size; i++) { + wasm_importtype_t *type = import_types.data[i]; + const wasm_name_t *import_name = wasm_importtype_name(type); + if (!ts_wasm_store__provide_builtin_import(self, import_name, &imports[i])) { + wasm_error->kind = TSWasmErrorKindInstantiate; + format( + &wasm_error->message, + "unexpected import in wasm stdlib: %.*s\n", + (int)import_name->size, import_name->data + ); + goto error; + } + } + + // Instantiate the stdlib module. + wasmtime_instance_t instance; + error = wasmtime_instance_new(context, stdlib_module, imports, import_types.size, &instance, &trap); + ts_free(imports); + imports = NULL; + if (error) { + wasmtime_error_message(error, &message); + wasm_error->kind = TSWasmErrorKindInstantiate; + format( + &wasm_error->message, + "failed to instantiate wasm stdlib module: %.*s", + (int)message.size, message.data + ); + goto error; + } + if (trap) { + wasm_trap_message(trap, &message); + wasm_error->kind = TSWasmErrorKindInstantiate; + format( + &wasm_error->message, + "trapped when instantiating wasm stdlib module: %.*s", + (int)message.size, message.data + ); + goto error; + } + wasm_importtype_vec_delete(&import_types); + + // Process the stdlib module's exports. + for (unsigned i = 0; i < stdlib_symbols_len; i++) { + self->stdlib_fn_indices[i] = UINT32_MAX; + } + wasmtime_module_exports(stdlib_module, &export_types); + for (unsigned i = 0; i < export_types.size; i++) { + wasm_exporttype_t *export_type = export_types.data[i]; + const wasm_name_t *name = wasm_exporttype_name(export_type); + + char *export_name; + size_t name_len; + wasmtime_extern_t export = {.kind = WASM_EXTERN_GLOBAL}; + bool exists = wasmtime_instance_export_nth(context, &instance, i, &export_name, &name_len, &export); + ts_assert(exists); + + if (export.kind == WASMTIME_EXTERN_GLOBAL) { + if (name_eq(name, "__stack_pointer")) { + self->stack_pointer_global = export.of.global; + } + } + + if (export.kind == WASMTIME_EXTERN_FUNC) { + if (ts_wasm_store__call_module_initializer(self, name, &export, &trap)) { + if (trap) { + wasm_trap_message(trap, &message); + wasm_error->kind = TSWasmErrorKindInstantiate; + format( + &wasm_error->message, + "trap when calling stdlib relocation function: %.*s\n", + (int)message.size, message.data + ); + goto error; + } + continue; + } + + if (name_eq(name, "reset_heap")) { + self->builtin_fn_indices.reset_heap = export.of.func.__private; + continue; + } + + for (unsigned j = 0; j < stdlib_symbols_len; j++) { + if (name_eq(name, STDLIB_SYMBOLS[j])) { + self->stdlib_fn_indices[j] = export.of.func.__private; + break; + } + } + } + } + + if (self->builtin_fn_indices.reset_heap == UINT32_MAX) { + wasm_error->kind = TSWasmErrorKindInstantiate; + format( + &wasm_error->message, + "missing malloc reset function in wasm stdlib" + ); + goto error; + } + + for (unsigned i = 0; i < stdlib_symbols_len; i++) { + if (self->stdlib_fn_indices[i] == UINT32_MAX) { + wasm_error->kind = TSWasmErrorKindInstantiate; + format( + &wasm_error->message, + "missing exported symbol in wasm stdlib: %s", + STDLIB_SYMBOLS[i] + ); + goto error; + } + } + + wasm_exporttype_vec_delete(&export_types); + wasmtime_module_delete(stdlib_module); + + // Add all of the lexer callback functions to the function table. Store their function table + // indices on the in-memory lexer. + uint64_t table_index; + error = wasmtime_table_grow(context, &function_table, lexer_definitions_len, &initializer, &table_index); + if (error) { + wasmtime_error_message(error, &message); + wasm_error->kind = TSWasmErrorKindAllocate; + format( + &wasm_error->message, + "failed to grow wasm table to initial size: %.*s", + (int)message.size, message.data + ); + goto error; + } + for (unsigned i = 0; i < lexer_definitions_len; i++) { + FunctionDefinition *definition = &lexer_definitions[i]; + wasmtime_func_t func = {function_table.store_id, *definition->storage_location}; + wasmtime_val_t func_val = {.kind = WASMTIME_FUNCREF, .of.funcref = func}; + error = wasmtime_table_set(context, &function_table, table_index, &func_val); + ts_assert(!error); + *(int32_t *)(definition->storage_location) = table_index; + table_index++; + } + + self->current_function_table_offset = table_index; + self->lexer_address = initial_memory_pages * MEMORY_PAGE_SIZE; + self->current_memory_offset = self->lexer_address + sizeof(LexerInWasmMemory); + + // Grow the memory enough to hold the builtin lexer and serialization buffer. + uint32_t new_pages_needed = (self->current_memory_offset - self->lexer_address - 1) / MEMORY_PAGE_SIZE + 1; + uint64_t prev_memory_size; + wasmtime_memory_grow(context, &memory, new_pages_needed, &prev_memory_size); + + uint8_t *memory_data = wasmtime_memory_data(context, &memory); + memcpy(&memory_data[self->lexer_address], &lexer, sizeof(lexer)); + return self; + +error: + ts_free(self); + if (stdlib_module) wasmtime_module_delete(stdlib_module); + if (store) wasmtime_store_delete(store); + if (import_types.size) wasm_importtype_vec_delete(&import_types); + if (memory_type) wasm_memorytype_delete(memory_type); + if (table_type) wasm_tabletype_delete(table_type); + if (trap) wasm_trap_delete(trap); + if (error) wasmtime_error_delete(error); + if (message.size) wasm_byte_vec_delete(&message); + if (export_types.size) wasm_exporttype_vec_delete(&export_types); + if (imports) ts_free(imports); + return NULL; +} + +void ts_wasm_store_delete(TSWasmStore *self) { + if (!self) return; + ts_free(self->stdlib_fn_indices); + wasm_globaltype_delete(self->const_i32_type); + wasmtime_store_delete(self->store); + wasm_engine_delete(self->engine); + for (unsigned i = 0; i < self->language_instances.size; i++) { + LanguageWasmInstance *instance = array_get(&self->language_instances, i); + language_id_delete(instance->language_id); + } + array_delete(&self->language_instances); + ts_free(self); +} + +size_t ts_wasm_store_language_count(const TSWasmStore *self) { + size_t result = 0; + for (unsigned i = 0; i < self->language_instances.size; i++) { + const WasmLanguageId *id = array_get(&self->language_instances, i)->language_id; + if (!id->is_language_deleted) { + result++; + } + } + return result; +} + +static uint32_t ts_wasm_store__heap_address(TSWasmStore *self) { + return self->current_memory_offset + TREE_SITTER_SERIALIZATION_BUFFER_SIZE; +} + +static uint32_t ts_wasm_store__serialization_buffer_address(TSWasmStore *self) { + return self->current_memory_offset; +} + +static bool ts_wasm_store__instantiate( + TSWasmStore *self, + wasmtime_module_t *module, + const char *language_name, + const WasmDylinkInfo *dylink_info, + wasmtime_instance_t *result, + int32_t *language_address, + char **error_message +) { + wasmtime_error_t *error = NULL; + wasm_trap_t *trap = NULL; + wasm_message_t message = WASM_EMPTY_VEC; + char *language_function_name = NULL; + wasmtime_extern_t *imports = NULL; + wasmtime_context_t *context = wasmtime_store_context(self->store); + + // Grow the function table to make room for the new functions. + wasmtime_val_t initializer = {.kind = WASMTIME_FUNCREF}; + uint64_t prev_table_size; + error = wasmtime_table_grow(context, &self->function_table, dylink_info->table_size, &initializer, &prev_table_size); + if (error) { + format(error_message, "invalid function table size %u", dylink_info->table_size); + goto error; + } + + // Grow the memory to make room for the new data. + uint32_t needed_memory_size = ts_wasm_store__heap_address(self) + dylink_info->memory_size; + uint32_t current_memory_size = wasmtime_memory_data_size(context, &self->memory); + if (needed_memory_size > current_memory_size) { + uint32_t pages_to_grow = ( + needed_memory_size - current_memory_size + MEMORY_PAGE_SIZE - 1) / + MEMORY_PAGE_SIZE; + uint64_t prev_memory_size; + error = wasmtime_memory_grow(context, &self->memory, pages_to_grow, &prev_memory_size); + if (error) { + format(error_message, "invalid memory size %u", dylink_info->memory_size); + goto error; + } + } + + // Construct the language function name as string. + format(&language_function_name, "tree_sitter_%s", language_name); + + const uint64_t store_id = self->function_table.store_id; + + // Build the imports list for the module. + wasm_importtype_vec_t import_types = WASM_EMPTY_VEC; + wasmtime_module_imports(module, &import_types); + imports = ts_calloc(import_types.size, sizeof(wasmtime_extern_t)); + + for (unsigned i = 0; i < import_types.size; i++) { + const wasm_importtype_t *import_type = import_types.data[i]; + const wasm_name_t *import_name = wasm_importtype_name(import_type); + if (import_name->size == 0) { + format(error_message, "empty import name"); + goto error; + } + + if (ts_wasm_store__provide_builtin_import(self, import_name, &imports[i])) { + continue; + } + + bool defined_in_stdlib = false; + for (unsigned j = 0; j < array_len(STDLIB_SYMBOLS); j++) { + if (name_eq(import_name, STDLIB_SYMBOLS[j])) { + uint16_t address = self->stdlib_fn_indices[j]; + imports[i] = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_FUNC, .of.func = {store_id, address}}; + defined_in_stdlib = true; + break; + } + } + + if (!defined_in_stdlib) { + format( + error_message, + "invalid import '%.*s'\n", + (int)import_name->size, import_name->data + ); + goto error; + } + } + + wasmtime_instance_t instance; + error = wasmtime_instance_new(context, module, imports, import_types.size, &instance, &trap); + wasm_importtype_vec_delete(&import_types); + ts_free(imports); + imports = NULL; + if (error) { + wasmtime_error_message(error, &message); + format( + error_message, + "error instantiating wasm module: %.*s\n", + (int)message.size, message.data + ); + goto error; + } + if (trap) { + wasm_trap_message(trap, &message); + format( + error_message, + "trap when instantiating wasm module: %.*s\n", + (int)message.size, message.data + ); + goto error; + } + + self->current_memory_offset += dylink_info->memory_size; + self->current_function_table_offset += dylink_info->table_size; + + // Process the module's exports. + bool found_language = false; + wasmtime_extern_t language_extern; + wasm_exporttype_vec_t export_types = WASM_EMPTY_VEC; + wasmtime_module_exports(module, &export_types); + for (unsigned i = 0; i < export_types.size; i++) { + wasm_exporttype_t *export_type = export_types.data[i]; + const wasm_name_t *name = wasm_exporttype_name(export_type); + + size_t name_len; + char *export_name; + wasmtime_extern_t export = {.kind = WASM_EXTERN_GLOBAL}; + bool exists = wasmtime_instance_export_nth(context, &instance, i, &export_name, &name_len, &export); + ts_assert(exists); + + // If the module exports an initialization or data-relocation function, call it. + if (ts_wasm_store__call_module_initializer(self, name, &export, &trap)) { + if (trap) { + wasm_trap_message(trap, &message); + format( + error_message, + "trap when calling data relocation function: %.*s\n", + (int)message.size, message.data + ); + goto error; + } + } + + // Find the main language function for the module. + else if (name_eq(name, language_function_name)) { + language_extern = export; + found_language = true; + } + } + wasm_exporttype_vec_delete(&export_types); + + if (!found_language) { + format( + error_message, + "module did not contain language function: %s", + language_function_name + ); + goto error; + } + + // Invoke the language function to get the static address of the language object. + wasmtime_func_t language_func = language_extern.of.func; + wasmtime_val_t language_address_val; + error = wasmtime_func_call(context, &language_func, NULL, 0, &language_address_val, 1, &trap); + ts_assert(!error); + if (trap) { + wasm_trap_message(trap, &message); + format( + error_message, + "trapped when calling language function: %s: %.*s\n", + language_function_name, (int)message.size, message.data + ); + goto error; + } + + if (language_address_val.kind != WASMTIME_I32) { + format( + error_message, + "language function did not return an integer: %s\n", + language_function_name + ); + goto error; + } + + ts_free(language_function_name); + *result = instance; + *language_address = language_address_val.of.i32; + return true; + +error: + if (language_function_name) ts_free(language_function_name); + if (message.size) wasm_byte_vec_delete(&message); + if (error) wasmtime_error_delete(error); + if (trap) wasm_trap_delete(trap); + if (imports) ts_free(imports); + return false; +} + +static bool ts_wasm_store__sentinel_lex_fn(TSLexer *_lexer, TSStateId state) { + return false; +} + +const TSLanguage *ts_wasm_store_load_language( + TSWasmStore *self, + const char *language_name, + const char *wasm, + uint32_t wasm_len, + TSWasmError *wasm_error +) { + WasmDylinkInfo dylink_info; + wasmtime_module_t *module = NULL; + wasmtime_error_t *error = NULL; + wasm_error->kind = TSWasmErrorKindNone; + + if (!wasm_dylink_info__parse((const unsigned char *)wasm, wasm_len, &dylink_info)) { + wasm_error->kind = TSWasmErrorKindParse; + format(&wasm_error->message, "failed to parse dylink section of wasm module"); + goto error; + } + + // Compile the wasm code. + error = wasmtime_module_new(self->engine, (const uint8_t *)wasm, wasm_len, &module); + if (error) { + wasm_message_t message; + wasmtime_error_message(error, &message); + wasm_error->kind = TSWasmErrorKindCompile; + format(&wasm_error->message, "error compiling wasm module: %.*s", (int)message.size, message.data); + wasm_byte_vec_delete(&message); + goto error; + } + + // Instantiate the module in this store. + wasmtime_instance_t instance; + int32_t language_address; + if (!ts_wasm_store__instantiate( + self, + module, + language_name, + &dylink_info, + &instance, + &language_address, + &wasm_error->message + )) { + wasm_error->kind = TSWasmErrorKindInstantiate; + goto error; + } + + // Copy all of the static data out of the language object in wasm memory, + // constructing a native language object. + LanguageInWasmMemory wasm_language; + wasmtime_context_t *context = wasmtime_store_context(self->store); + const uint8_t *memory = wasmtime_memory_data(context, &self->memory); + memcpy(&wasm_language, &memory[language_address], sizeof(LanguageInWasmMemory)); + + bool has_supertypes = + wasm_language.abi_version > LANGUAGE_VERSION_WITH_RESERVED_WORDS && + wasm_language.supertype_count > 0; + + int32_t addresses[] = { + wasm_language.parse_table, + wasm_language.small_parse_table, + wasm_language.small_parse_table_map, + wasm_language.parse_actions, + wasm_language.symbol_names, + wasm_language.field_names, + wasm_language.field_map_slices, + wasm_language.field_map_entries, + wasm_language.symbol_metadata, + wasm_language.public_symbol_map, + wasm_language.alias_map, + wasm_language.alias_sequences, + wasm_language.lex_modes, + wasm_language.lex_fn, + wasm_language.keyword_lex_fn, + wasm_language.primary_state_ids, + wasm_language.name, + wasm_language.reserved_words, + has_supertypes ? wasm_language.supertype_symbols : 0, + has_supertypes ? wasm_language.supertype_map_entries : 0, + has_supertypes ? wasm_language.supertype_map_slices : 0, + wasm_language.external_token_count > 0 ? wasm_language.external_scanner.states : 0, + wasm_language.external_token_count > 0 ? wasm_language.external_scanner.symbol_map : 0, + wasm_language.external_token_count > 0 ? wasm_language.external_scanner.create : 0, + wasm_language.external_token_count > 0 ? wasm_language.external_scanner.destroy : 0, + wasm_language.external_token_count > 0 ? wasm_language.external_scanner.scan : 0, + wasm_language.external_token_count > 0 ? wasm_language.external_scanner.serialize : 0, + wasm_language.external_token_count > 0 ? wasm_language.external_scanner.deserialize : 0, + language_address, + self->current_memory_offset, + }; + uint32_t address_count = array_len(addresses); + + TSLanguage *language = ts_calloc(1, sizeof(TSLanguage)); + StringData symbol_name_buffer = array_new(); + StringData field_name_buffer = array_new(); + + *language = (TSLanguage) { + .abi_version = wasm_language.abi_version, + .symbol_count = wasm_language.symbol_count, + .alias_count = wasm_language.alias_count, + .token_count = wasm_language.token_count, + .external_token_count = wasm_language.external_token_count, + .state_count = wasm_language.state_count, + .large_state_count = wasm_language.large_state_count, + .production_id_count = wasm_language.production_id_count, + .field_count = wasm_language.field_count, + .supertype_count = wasm_language.supertype_count, + .max_alias_sequence_length = wasm_language.max_alias_sequence_length, + .keyword_capture_token = wasm_language.keyword_capture_token, + .metadata = wasm_language.metadata, + .parse_table = copy( + &memory[wasm_language.parse_table], + wasm_language.large_state_count * wasm_language.symbol_count * sizeof(uint16_t) + ), + .parse_actions = copy_unsized_static_array( + memory, + wasm_language.parse_actions, + addresses, + address_count + ), + .symbol_names = copy_strings( + memory, + wasm_language.symbol_names, + wasm_language.symbol_count + wasm_language.alias_count, + &symbol_name_buffer + ), + .symbol_metadata = copy( + &memory[wasm_language.symbol_metadata], + (wasm_language.symbol_count + wasm_language.alias_count) * sizeof(TSSymbolMetadata) + ), + .public_symbol_map = copy( + &memory[wasm_language.public_symbol_map], + (wasm_language.symbol_count + wasm_language.alias_count) * sizeof(TSSymbol) + ), + .lex_modes = copy( + &memory[wasm_language.lex_modes], + wasm_language.state_count * sizeof(TSLexerMode) + ), + }; + + if (language->field_count > 0 && language->production_id_count > 0) { + language->field_map_slices = copy( + &memory[wasm_language.field_map_slices], + wasm_language.production_id_count * sizeof(TSMapSlice) + ); + + // Determine the number of field map entries by finding the greatest index + // in any of the slices. + uint32_t field_map_entry_count = 0; + for (uint32_t i = 0; i < wasm_language.production_id_count; i++) { + TSMapSlice slice = language->field_map_slices[i]; + uint32_t slice_end = slice.index + slice.length; + if (slice_end > field_map_entry_count) { + field_map_entry_count = slice_end; + } + } + + language->field_map_entries = copy( + &memory[wasm_language.field_map_entries], + field_map_entry_count * sizeof(TSFieldMapEntry) + ); + language->field_names = copy_strings( + memory, + wasm_language.field_names, + wasm_language.field_count + 1, + &field_name_buffer + ); + } + + if (has_supertypes) { + language->supertype_symbols = copy( + &memory[wasm_language.supertype_symbols], + wasm_language.supertype_count * sizeof(TSSymbol) + ); + + // Determine the number of supertype map slices by finding the greatest + // supertype ID. + int largest_supertype = 0; + for (unsigned i = 0; i < language->supertype_count; i++) { + TSSymbol supertype = language->supertype_symbols[i]; + if (supertype > largest_supertype) { + largest_supertype = supertype; + } + } + + language->supertype_map_slices = copy( + &memory[wasm_language.supertype_map_slices], + (largest_supertype + 1) * sizeof(TSMapSlice) + ); + + TSSymbol last_supertype = language->supertype_symbols[language->supertype_count - 1]; + TSMapSlice last_slice = language->supertype_map_slices[last_supertype]; + uint32_t supertype_map_entry_count = last_slice.index + last_slice.length; + + language->supertype_map_entries = copy( + &memory[wasm_language.supertype_map_entries], + supertype_map_entry_count * sizeof(char *) + ); + } + + if (language->max_alias_sequence_length > 0 && language->production_id_count > 0) { + // The alias map contains symbols, alias counts, and aliases, terminated by a null symbol. + int32_t alias_map_size = 0; + for (;;) { + TSSymbol symbol; + memcpy(&symbol, &memory[wasm_language.alias_map + alias_map_size], sizeof(symbol)); + alias_map_size += sizeof(TSSymbol); + if (symbol == 0) break; + uint16_t value_count; + memcpy(&value_count, &memory[wasm_language.alias_map + alias_map_size], sizeof(value_count)); + alias_map_size += value_count * sizeof(TSSymbol); + } + language->alias_map = copy( + &memory[wasm_language.alias_map], + alias_map_size * sizeof(TSSymbol) + ); + language->alias_sequences = copy( + &memory[wasm_language.alias_sequences], + wasm_language.production_id_count * wasm_language.max_alias_sequence_length * sizeof(TSSymbol) + ); + } + + if (language->state_count > language->large_state_count) { + uint32_t small_state_count = wasm_language.state_count - wasm_language.large_state_count; + language->small_parse_table_map = copy( + &memory[wasm_language.small_parse_table_map], + small_state_count * sizeof(uint32_t) + ); + language->small_parse_table = copy_unsized_static_array( + memory, + wasm_language.small_parse_table, + addresses, + address_count + ); + } + + if (language->abi_version >= LANGUAGE_VERSION_WITH_PRIMARY_STATES) { + language->primary_state_ids = copy( + &memory[wasm_language.primary_state_ids], + wasm_language.state_count * sizeof(TSStateId) + ); + } + + if (language->abi_version >= LANGUAGE_VERSION_WITH_RESERVED_WORDS) { + language->name = copy_string(memory, wasm_language.name); + language->reserved_words = copy( + &memory[wasm_language.reserved_words], + wasm_language.max_reserved_word_set_size * sizeof(TSSymbol) + ); + language->max_reserved_word_set_size = wasm_language.max_reserved_word_set_size; + } + + if (language->external_token_count > 0) { + language->external_scanner.symbol_map = copy( + &memory[wasm_language.external_scanner.symbol_map], + wasm_language.external_token_count * sizeof(TSSymbol) + ); + language->external_scanner.states = (void *)(uintptr_t)wasm_language.external_scanner.states; + } + + unsigned name_len = strlen(language_name); + char *name = ts_malloc(name_len + 1); + memcpy(name, language_name, name_len); + name[name_len] = '\0'; + + LanguageWasmModule *language_module = ts_malloc(sizeof(LanguageWasmModule)); + *language_module = (LanguageWasmModule) { + .language_id = language_id_new(), + .module = module, + .name = name, + .symbol_name_buffer = symbol_name_buffer.contents, + .field_name_buffer = field_name_buffer.contents, + .dylink_info = dylink_info, + .ref_count = 1, + }; + + // The lex functions are not used for wasm languages. Use those two fields + // to mark this language as WASM-based and to store the language's + // WASM-specific data. + language->lex_fn = ts_wasm_store__sentinel_lex_fn; + language->keyword_lex_fn = (bool (*)(TSLexer *, TSStateId))language_module; + + // Clear out any instances of languages that have been deleted. + for (unsigned i = 0; i < self->language_instances.size; i++) { + WasmLanguageId *id = array_get(&self->language_instances, i)->language_id; + if (id->is_language_deleted) { + language_id_delete(id); + array_erase(&self->language_instances, i); + i--; + } + } + + // Store this store's instance of this language module. + array_push(&self->language_instances, ((LanguageWasmInstance) { + .language_id = language_id_clone(language_module->language_id), + .instance = instance, + .external_states_address = wasm_language.external_scanner.states, + .lex_main_fn_index = wasm_language.lex_fn, + .lex_keyword_fn_index = wasm_language.keyword_lex_fn, + .scanner_create_fn_index = wasm_language.external_scanner.create, + .scanner_destroy_fn_index = wasm_language.external_scanner.destroy, + .scanner_serialize_fn_index = wasm_language.external_scanner.serialize, + .scanner_deserialize_fn_index = wasm_language.external_scanner.deserialize, + .scanner_scan_fn_index = wasm_language.external_scanner.scan, + })); + + return language; + +error: + if (module) wasmtime_module_delete(module); + return NULL; +} + +bool ts_wasm_store_add_language( + TSWasmStore *self, + const TSLanguage *language, + uint32_t *index +) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + const LanguageWasmModule *language_module = (void *)language->keyword_lex_fn; + + // Search for this store's instance of the language module. Also clear out any + // instances of languages that have been deleted. + bool exists = false; + for (unsigned i = 0; i < self->language_instances.size; i++) { + WasmLanguageId *id = array_get(&self->language_instances, i)->language_id; + if (id->is_language_deleted) { + language_id_delete(id); + array_erase(&self->language_instances, i); + i--; + } else if (id == language_module->language_id) { + exists = true; + *index = i; + } + } + + // If the language module has not been instantiated in this store, then add + // it to this store. + if (!exists) { + *index = self->language_instances.size; + char *message; + wasmtime_instance_t instance; + int32_t language_address; + if (!ts_wasm_store__instantiate( + self, + language_module->module, + language_module->name, + &language_module->dylink_info, + &instance, + &language_address, + &message + )) { + ts_free(message); + return false; + } + + LanguageInWasmMemory wasm_language; + const uint8_t *memory = wasmtime_memory_data(context, &self->memory); + memcpy(&wasm_language, &memory[language_address], sizeof(LanguageInWasmMemory)); + array_push(&self->language_instances, ((LanguageWasmInstance) { + .language_id = language_id_clone(language_module->language_id), + .instance = instance, + .external_states_address = wasm_language.external_scanner.states, + .lex_main_fn_index = wasm_language.lex_fn, + .lex_keyword_fn_index = wasm_language.keyword_lex_fn, + .scanner_create_fn_index = wasm_language.external_scanner.create, + .scanner_destroy_fn_index = wasm_language.external_scanner.destroy, + .scanner_serialize_fn_index = wasm_language.external_scanner.serialize, + .scanner_deserialize_fn_index = wasm_language.external_scanner.deserialize, + .scanner_scan_fn_index = wasm_language.external_scanner.scan, + })); + } + + return true; +} + +void ts_wasm_store_reset_heap(TSWasmStore *self) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + wasmtime_func_t func = { + self->function_table.store_id, + self->builtin_fn_indices.reset_heap + }; + wasm_trap_t *trap = NULL; + wasmtime_val_t args[1] = { + {.of.i32 = ts_wasm_store__heap_address(self), .kind = WASMTIME_I32}, + }; + + wasmtime_error_t *error = wasmtime_func_call(context, &func, args, 1, NULL, 0, &trap); + ts_assert(!error); + ts_assert(!trap); +} + +bool ts_wasm_store_start(TSWasmStore *self, TSLexer *lexer, const TSLanguage *language) { + uint32_t instance_index; + if (!ts_wasm_store_add_language(self, language, &instance_index)) return false; + self->current_lexer = lexer; + self->current_instance = array_get(&self->language_instances, instance_index); + self->has_error = false; + ts_wasm_store_reset_heap(self); + return true; +} + +void ts_wasm_store_reset(TSWasmStore *self) { + self->current_lexer = NULL; + self->current_instance = NULL; + self->has_error = false; + ts_wasm_store_reset_heap(self); +} + +static void ts_wasm_store__call( + TSWasmStore *self, + int32_t function_index, + wasmtime_val_raw_t *args_and_results, + size_t args_and_results_len +) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + wasmtime_val_t value; + bool succeeded = wasmtime_table_get(context, &self->function_table, function_index, &value); + ts_assert(succeeded); + ts_assert(value.kind == WASMTIME_FUNCREF); + wasmtime_func_t func = value.of.funcref; + + wasm_trap_t *trap = NULL; + wasmtime_error_t *error = wasmtime_func_call_unchecked(context, &func, args_and_results, args_and_results_len, &trap); + if (error) { + // wasm_message_t message; + // wasmtime_error_message(error, &message); + // fprintf( + // stderr, + // "error in wasm module: %.*s\n", + // (int)message.size, message.data + // ); + wasmtime_error_delete(error); + self->has_error = true; + } else if (trap) { + // wasm_message_t message; + // wasm_trap_message(trap, &message); + // fprintf( + // stderr, + // "trap in wasm module: %.*s\n", + // (int)message.size, message.data + // ); + wasm_trap_delete(trap); + self->has_error = true; + } +} + +// The data fields of TSLexer, without the function pointers. +// +// This portion of the struct needs to be copied in and out +// of wasm memory before and after calling a scan function. +typedef struct { + int32_t lookahead; + TSSymbol result_symbol; +} TSLexerDataPrefix; + +static bool ts_wasm_store__call_lex_function(TSWasmStore *self, unsigned function_index, TSStateId state) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + uint8_t *memory_data = wasmtime_memory_data(context, &self->memory); + memcpy( + &memory_data[self->lexer_address], + self->current_lexer, + sizeof(TSLexerDataPrefix) + ); + + wasmtime_val_raw_t args[2] = { + {.i32 = self->lexer_address}, + {.i32 = state}, + }; + ts_wasm_store__call(self, function_index, args, 2); + if (self->has_error) return false; + bool result = args[0].i32; + + memcpy( + self->current_lexer, + &memory_data[self->lexer_address], + sizeof(TSLexerDataPrefix) + ); + return result; +} + +bool ts_wasm_store_call_lex_main(TSWasmStore *self, TSStateId state) { + return ts_wasm_store__call_lex_function( + self, + self->current_instance->lex_main_fn_index, + state + ); +} + +bool ts_wasm_store_call_lex_keyword(TSWasmStore *self, TSStateId state) { + return ts_wasm_store__call_lex_function( + self, + self->current_instance->lex_keyword_fn_index, + state + ); +} + +uint32_t ts_wasm_store_call_scanner_create(TSWasmStore *self) { + wasmtime_val_raw_t args[1] = {{.i32 = 0}}; + ts_wasm_store__call(self, self->current_instance->scanner_create_fn_index, args, 1); + if (self->has_error) return 0; + return args[0].i32; +} + +void ts_wasm_store_call_scanner_destroy(TSWasmStore *self, uint32_t scanner_address) { + if (self->current_instance) { + wasmtime_val_raw_t args[1] = {{.i32 = scanner_address}}; + ts_wasm_store__call(self, self->current_instance->scanner_destroy_fn_index, args, 1); + } +} + +bool ts_wasm_store_call_scanner_scan( + TSWasmStore *self, + uint32_t scanner_address, + uint32_t valid_tokens_ix +) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + uint8_t *memory_data = wasmtime_memory_data(context, &self->memory); + + memcpy( + &memory_data[self->lexer_address], + self->current_lexer, + sizeof(TSLexerDataPrefix) + ); + + uint32_t valid_tokens_address = + self->current_instance->external_states_address + + (valid_tokens_ix * sizeof(bool)); + wasmtime_val_raw_t args[3] = { + {.i32 = scanner_address}, + {.i32 = self->lexer_address}, + {.i32 = valid_tokens_address} + }; + ts_wasm_store__call(self, self->current_instance->scanner_scan_fn_index, args, 3); + if (self->has_error) return false; + + memcpy( + self->current_lexer, + &memory_data[self->lexer_address], + sizeof(TSLexerDataPrefix) + ); + return args[0].i32; +} + +uint32_t ts_wasm_store_call_scanner_serialize( + TSWasmStore *self, + uint32_t scanner_address, + char *buffer +) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + uint8_t *memory_data = wasmtime_memory_data(context, &self->memory); + uint32_t serialization_buffer_address = ts_wasm_store__serialization_buffer_address(self); + + wasmtime_val_raw_t args[2] = { + {.i32 = scanner_address}, + {.i32 = serialization_buffer_address}, + }; + ts_wasm_store__call(self, self->current_instance->scanner_serialize_fn_index, args, 2); + if (self->has_error) return 0; + + uint32_t length = args[0].i32; + if (length > TREE_SITTER_SERIALIZATION_BUFFER_SIZE) { + self->has_error = true; + return 0; + } + + if (length > 0) { + memcpy( + ((Lexer *)self->current_lexer)->debug_buffer, + &memory_data[serialization_buffer_address], + length + ); + } + return length; +} + +void ts_wasm_store_call_scanner_deserialize( + TSWasmStore *self, + uint32_t scanner_address, + const char *buffer, + unsigned length +) { + wasmtime_context_t *context = wasmtime_store_context(self->store); + uint8_t *memory_data = wasmtime_memory_data(context, &self->memory); + uint32_t serialization_buffer_address = ts_wasm_store__serialization_buffer_address(self); + + if (length > 0) { + memcpy( + &memory_data[serialization_buffer_address], + buffer, + length + ); + } + + wasmtime_val_raw_t args[3] = { + {.i32 = scanner_address}, + {.i32 = serialization_buffer_address}, + {.i32 = length}, + }; + ts_wasm_store__call(self, self->current_instance->scanner_deserialize_fn_index, args, 3); +} + +bool ts_wasm_store_has_error(const TSWasmStore *self) { + return self->has_error; +} + +bool ts_language_is_wasm(const TSLanguage *self) { + return self->lex_fn == ts_wasm_store__sentinel_lex_fn; +} + +static inline LanguageWasmModule *ts_language__wasm_module(const TSLanguage *self) { + return (LanguageWasmModule *)self->keyword_lex_fn; +} + +void ts_wasm_language_retain(const TSLanguage *self) { + LanguageWasmModule *module = ts_language__wasm_module(self); + ts_assert(module->ref_count > 0); + atomic_inc(&module->ref_count); +} + +void ts_wasm_language_release(const TSLanguage *self) { + LanguageWasmModule *module = ts_language__wasm_module(self); + ts_assert(module->ref_count > 0); + if (atomic_dec(&module->ref_count) == 0) { + // Update the language id to reflect that the language is deleted. This allows any wasm stores + // that hold wasm instances for this language to delete those instances. + atomic_inc(&module->language_id->is_language_deleted); + language_id_delete(module->language_id); + + ts_free((void *)module->field_name_buffer); + ts_free((void *)module->symbol_name_buffer); + ts_free((void *)module->name); + wasmtime_module_delete(module->module); + ts_free(module); + + ts_free((void *)self->alias_map); + ts_free((void *)self->alias_sequences); + ts_free((void *)self->external_scanner.symbol_map); + ts_free((void *)self->field_map_entries); + ts_free((void *)self->field_map_slices); + ts_free((void *)self->supertype_symbols); + ts_free((void *)self->supertype_map_entries); + ts_free((void *)self->supertype_map_slices); + ts_free((void *)self->field_names); + ts_free((void *)self->lex_modes); + ts_free((void *)self->name); + ts_free((void *)self->reserved_words); + ts_free((void *)self->parse_actions); + ts_free((void *)self->parse_table); + ts_free((void *)self->primary_state_ids); + ts_free((void *)self->public_symbol_map); + ts_free((void *)self->small_parse_table); + ts_free((void *)self->small_parse_table_map); + ts_free((void *)self->symbol_metadata); + ts_free((void *)self->symbol_names); + ts_free((void *)self); + } +} + +#ifdef _MSC_VER +#pragma warning(pop) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#else + +// If the WASM feature is not enabled, define dummy versions of all of the +// wasm-related functions. + +void ts_wasm_store_delete(TSWasmStore *self) { + (void)self; +} + +bool ts_wasm_store_start( + TSWasmStore *self, + TSLexer *lexer, + const TSLanguage *language +) { + (void)self; + (void)lexer; + (void)language; + return false; +} + +void ts_wasm_store_reset(TSWasmStore *self) { + (void)self; +} + +bool ts_wasm_store_call_lex_main(TSWasmStore *self, TSStateId state) { + (void)self; + (void)state; + return false; +} + +bool ts_wasm_store_call_lex_keyword(TSWasmStore *self, TSStateId state) { + (void)self; + (void)state; + return false; +} + +uint32_t ts_wasm_store_call_scanner_create(TSWasmStore *self) { + (void)self; + return 0; +} + +void ts_wasm_store_call_scanner_destroy( + TSWasmStore *self, + uint32_t scanner_address +) { + (void)self; + (void)scanner_address; +} + +bool ts_wasm_store_call_scanner_scan( + TSWasmStore *self, + uint32_t scanner_address, + uint32_t valid_tokens_ix +) { + (void)self; + (void)scanner_address; + (void)valid_tokens_ix; + return false; +} + +uint32_t ts_wasm_store_call_scanner_serialize( + TSWasmStore *self, + uint32_t scanner_address, + char *buffer +) { + (void)self; + (void)scanner_address; + (void)buffer; + return 0; +} + +void ts_wasm_store_call_scanner_deserialize( + TSWasmStore *self, + uint32_t scanner_address, + const char *buffer, + unsigned length +) { + (void)self; + (void)scanner_address; + (void)buffer; + (void)length; +} + +bool ts_wasm_store_has_error(const TSWasmStore *self) { + (void)self; + return false; +} + +bool ts_language_is_wasm(const TSLanguage *self) { + (void)self; + return false; +} + +void ts_wasm_language_retain(const TSLanguage *self) { + (void)self; +} + +void ts_wasm_language_release(const TSLanguage *self) { + (void)self; +} + +#endif diff --git a/non-source/foreign/tree-sitter/lib/src/wasm_store.h b/non-source/foreign/tree-sitter/lib/src/wasm_store.h new file mode 100644 index 00000000..0fd17e0d --- /dev/null +++ b/non-source/foreign/tree-sitter/lib/src/wasm_store.h @@ -0,0 +1,31 @@ +#ifndef TREE_SITTER_WASM_H_ +#define TREE_SITTER_WASM_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "tree_sitter/api.h" +#include "./parser.h" + +bool ts_wasm_store_start(TSWasmStore *self, TSLexer *lexer, const TSLanguage *language); +void ts_wasm_store_reset(TSWasmStore *self); +bool ts_wasm_store_has_error(const TSWasmStore *self); + +bool ts_wasm_store_call_lex_main(TSWasmStore *self, TSStateId state); +bool ts_wasm_store_call_lex_keyword(TSWasmStore *self, TSStateId state); + +uint32_t ts_wasm_store_call_scanner_create(TSWasmStore *self); +void ts_wasm_store_call_scanner_destroy(TSWasmStore *self, uint32_t scanner_address); +bool ts_wasm_store_call_scanner_scan(TSWasmStore *self, uint32_t scanner_address, uint32_t valid_tokens_ix); +uint32_t ts_wasm_store_call_scanner_serialize(TSWasmStore *self, uint32_t scanner_address, char *buffer); +void ts_wasm_store_call_scanner_deserialize(TSWasmStore *self, uint32_t scanner, const char *buffer, unsigned length); + +void ts_wasm_language_retain(const TSLanguage *self); +void ts_wasm_language_release(const TSLanguage *self); + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_WASM_H_